Wikifunctions
wikifunctionswiki
https://www.wikifunctions.org/wiki/Wikifunctions:Main_Page
MediaWiki 1.46.0-wmf.21
first-letter
Media
Special
Talk
User
User talk
Wikifunctions
Wikifunctions talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
TimedText
TimedText talk
Module
Module talk
Translations
Translations talk
Event
Event talk
Z1563
0
789
261408
150633
2026-03-28T07:10:07Z
Malaalaa
10702
short description and aliase added
261408
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z1563"
},
"Z2K2": {
"Z1K1": "Z60",
"Z60K1": "wal"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wolaytta"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Wolaytta"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "Wolayta"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "wolaita"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Wolayttattuwa"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Omotic language in Ethiopia "
}
]
}
}
2s00x03jv46dz746pfymcqgtzipj3us
Wikifunctions:Project chat
4
1184
261224
260894
2026-03-27T14:27:59Z
YoshiRulz
10156
/* Language tags */ new section
261224
wikitext
text/x-wiki
{{shortcut|[[WF:CHAT]]}}
__NEWSECTIONLINK__
[[Category:Help]] <!-- please do not remove this line -->
Welcome to the Project chat, a place to discuss any and all aspects of Wikifunctions: the project itself, policy and proposals, individual data items, technical issues, etc.
Other places to find help:
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report a technical problem]]
* [[Wikifunctions:FAQ]]
{{Autoarchive resolved section
|age = 1
|archive = ((FULLPAGENAME))/Archive/((year))/((month:##))
|timeout=30
}}
{{Archives|{{#tag:div|<br />{{Flatlist|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1|hideredirects=1}}
|class=mw-collapsible-content|style=font-size:92%;}}|class="mw-collapsible mw-collapsible-toggle mw-collapsed"}}
|prefix=WF:Project chat/Archive/
}}
== Projektin nimi suomeksi ==
Hei kaikki! Tämä on mielenkiintoinen projekti. Loin tänne funktion {{Z|Z31661}}, näyttäisi toimivan hyvin.
Ehdotan, että [[Wikidata:Q104587954|Wikifunctions]] olisi suomeksi ”Wikifunktiot” (wikifunktiot.org). Tällä hetkellä projektin nimi on jätetty kääntämättä keskellä suomenkielisiä sanoja useissa paikoissa etusivulla ja muualla. Jatkossa voisi toivon mukaan tehdä sanasta muuttujan, jotta sanan voi vaihtaa yhdessä paikassa ja se vaihtuu automaattisesti kaikkialla. Suomen kielen taivutus tekee siitä tosin hieman monimutkaista. –[[User:Onioniton|Onioniton]] ([[User talk:Onioniton|talk]]) 13:10, 15 February 2026 (UTC) Edit [[User:Onioniton|Onioniton]] ([[User talk:Onioniton|talk]]) 19:15, 18 February 2026 (UTC)
:''{{#function:Z31676|Q104587954|Z1051}}'' should be the project’s label in {{Z|Z1051}} from {{Q|Q2013}} or a fallback label if (as appears to be the case) there is no label in that language. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:12, 15 February 2026 (UTC)
::Tein lekseemin [[Wikidata:Lexeme:L1555911|L1555911]] jolla on tarvittavat muodot, sen pitäisi olla linkitetty {{Q|Q104587954}}iin. Toivottavasti tein sen oikein, otin mallia [[Wikidata:Lexeme:L1553994|L1553994:stä]]. En ole aiemmin muokannut Wikidataa. –[[User:Onioniton|Onioniton]] ([[User talk:Onioniton|talk]]) 15:55, 17 February 2026 (UTC)
:::You might like to refine [https://www.wikifunctions.org/wiki/Z24450?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z24450%22%2C%22Z24450K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6825%22%2C%22Z6825K1%22%3A%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L1555911%22%7D%7D%2C%22Z24450K2%22%3A%5B%22Z6091%22%2C%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q18514%22%7D%2C%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q146786%22%7D%2C%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q131105%22%7D%2C%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q146233%22%7D%2C%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q857325%22%7D%2C%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q282031%22%7D%2C%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q394253%22%7D%2C%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q474668%22%7D%5D%2C%22Z24450K3%22%3A%5B%22Z60%22%5D%7D this function call]. I promoted the plural forms, since you specified the nominative plural as the lemma. I look forward to seeing a proper Finnish noun declension function soon. See [https://www.wikifunctions.org/wiki/Z26333?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z26333%22%2C%22Z26333K1%22%3A%22mensa%22%2C%22Z26333K2%22%3A%22Z1051%22%7D this Latin example] or take a look at {{Z|Z28602}}. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:16, 18 February 2026 (UTC)
::::Unfortunately this looks to be undoable for me because of consonant gradation (genitive of kaappi → kaapin, notice the dropped p). I'm unsure about the lemma, I think it's a normal [[Wikipedia:Plurale tantum|plurale tantum]], just a proper noun. I'm not a professional linguist. –[[User:Onioniton|Onioniton]] ([[User talk:Onioniton|talk]]) 16:03, 19 February 2026 (UTC)
:Hei [[User:Onioniton|Onioniton]]! Yleensä kai monikielisten Wikimedia-hankkeiden nimet ollaan jätetty kääntämättä suomen kielelle (vrt. [[:c:|Wikimedia Commons]], [[species:|Wikispecies]]). Wikimedia-hankkeille, joista on monia eri kieliversiota (suomenkielinen Wikisanakirja, Wikimatkat, Wikisitaatit, Wikikirjasto jne.) on keksitty suomenkielinen nimi. Pitäisin mieluummin tästä linjasta kiinni, mutta jos Wikifunktiot-suomennokselle on laajempaa tukea, niin sekin sopii minulle. Tietyt tämän hankkeen käyttöliittymän tekstit käännetään [https://translatewiki.net/wiki/Special:SearchTranslations?query=wikifunctions&language=fi translatewiki.netissä] (vaatii erillisen rekisteröitymisen), joten muutokset täytyy tehdä sinnekin, jos suomenkieliseen nimeen halutaan vaihtaa.
:''[Discussing whether or not we should localize the project name in Finnish]'' [[User:Samoasambia|Samoasambia]] ([[User talk:Samoasambia|talk]]) 21:52, 2 March 2026 (UTC)
::Hei ja kiitos vastauksesta. En tiennyt tästä, ymmärrän logiikan. Varmaan parasta tosiaan pitäytyä nykyisessä tavassa. –[[User:Onioniton|Onioniton]] ([[User talk:Onioniton|talk]]) 14:36, 4 March 2026 (UTC)
== How does Wikifunctions get lexemes from Wikidata entries? ==
How does Wikifunctions get the lexemes from Wikidata entries? I don't see them in e.g. [[wikidata:Q515|Wikidata entry for 'city']], but something like [[Z28254]], entering city and German gives an answer. Where does Wikifunctions get it from? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 13:47, 27 February 2026 (UTC)
:Ultimately, it’s always {{Z|Z6830}}, which looks for Lexemes that link to a given Wikidata item, rather than the other way round (see [[:phab:T383631]]). [[Special:Search/: z14k2 z6830|These implementations]] call [[Z6830]]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:59, 27 February 2026 (UTC)
== How to get right lexeme? ==
I made a lexeme for নগর as trying out some of the functions gave out কোট as Bangla of city when the word is closer to fort. However, trying out the functions again, it still shows কোট as city. I made sure to connect the word to the Wikidata item for city. How do I fix this? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 02:06, 28 February 2026 (UTC)
:Function calls' results are cached and anything fetched from Wikidata is also cached. I don't think there's a way to clear that cache, you'll just have to wait for it to expire. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:13, 28 February 2026 (UTC)
:We don’t have a proper solution for the case where more than one lexeme links to the same item. One approach is to use {{Z|Z27332}}, but that can still lead to a tie. I recall some discussion about using some measure of affinity between an item label (here, নগর) and each of the identified lexemes, and we might now extend that to consider the text for sitelinks (নগর, for Wikipedia). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:27, 1 March 2026 (UTC)
==Wikidata sitelink project key could be a lightweight enum?==
On {{Z|Z6039}}, one of the keys (Z6039K3) has a fixed limited set of values. I wonder if these should be enumerated in a lightweight enum? Is there a reason magic strings have been chosen? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:03, 6 March 2026 (UTC)
:For the record, I answered this question on telegram as follows:
:''It was desired to get this out quickly, and the thinking was (1) it might be sufficient to document the small set of allowed string values in the Z6039 type description (and mention that in Z6839), and (2) it's a fairly specialized function where the function callers are likely to be experienced and thus might not care about getting explicit guidance when specifying a value, (3) there is not likely to be another use for a new enum type for the Wikidata project types'' [maybe questionable]'', and (4) maybe we should defer this until T405810 has been done.''
:Also, these strings aren't completely "magic": they are used consistently in URLs across languages, and they come back consistently from Wikidata as substrings of the ''site'' property of sitelinks.
:However, i agree it would be preferable to have an enum type, and T420122 has been created for this. (Sorry for responding so slowly.) [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 19:57, 23 March 2026 (UTC)
== Add Belgian French ==
Belgian French (fr-be) was recently added to MediaWiki.
[[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 07:02, 6 March 2026 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #238 is out: Citations and Copy and Paste ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we introduce the possibility of creating a function that deals with references and a Wikifunctions internal clipboard, where you can temporarily store any piece of code in order to paste it somewhere else, and we take a look at the latest software developments.
Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]!
Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 17:28, 6 March 2026 (UTC)
<!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30119120 -->
:Is there a function in Wikifunctions to get all sources to a statement in a Wikidata item. At the moment my main activity in the Wikimedia projects is adding sources to Wikidata statements. For this case I got the following kind of [https://w.wiki/JFec query] to get all qualifiers and sources for a specific statment in explicit mentioned items in the query. There are already templates for citing sources in different Wikipedia language versions. For example the template [https://en.wikipedia.org/wiki/Template:Cite_web Cite web] is used in 298 Wikipedia language versions. So it is a widely used template and I wish a implementation for it in Wikifunctions. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:31, 8 March 2026 (UTC)
::{{Z|31984}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:08, 9 March 2026 (UTC)
{{tracked|T404652}}
::Yes and no. Importing of Wikidata references is currently turned off. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:27, 9 March 2026 (UTC)
<br clear="all"/>{{phab|T419350}}
:I found [[phab:T419350|a bug]] where the clipboard feature becomes unusable.<!-- --><br>Also, it's a bit disappointing that it doesn't use the real clipboard, not even as an option for egress. If you're invoking a function and you can get it to "compile", then "Copy result link" already lets you copy out the full canonical form... [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 02:58, 10 March 2026 (UTC)
::@[[User:YoshiRulz|YoshiRulz]] Thanks for reporting, I noticed the team about it. I will see if we can fix it soon. [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 10:26, 11 March 2026 (UTC)
== Source code of built-in functions ==
{{phab|T419501}}
I looked at [[Z950]], what is a integrated implementation. There is the following [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/blob/main/src/builtins.js?ref_type=heads file] in Wikifunctions repo in Gitlab what contains built-in functions. Is it possible to update the Text displayed at integrated implementations with a link to a Wikifunctions page about integrated implementations. From there it is then possible to link to the source code. As I think it the specific location of the relevant source code can change. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:56, 8 March 2026 (UTC)
: I would also like to see that, so I've opened a feature request for it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:47, 10 March 2026 (UTC)
:Yes, I think it’s [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/blob/main/src/transpilation/builtins.js now here]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:14, 18 March 2026 (UTC)
== Composition editor not working ==
[[File:Composition editor not working properly.png|alt=this is why i use python in wikifunctions|thumb]]
When using the composition editor, some functions just don't show up. In the image, I try to add [[Z19241]] to my function and it doesn't work. I also tried using the ZID but it still doesn't work. What is wrong with this editor?? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:09, 12 March 2026 (UTC)
:The selector only lists functions that have a return type that is compatible with the context. It’s hard to tell what the context is from the image, because it’s obscured by the dropdown. I was able to find and select {{Z|Z19241}} in a context that expected a [[Z6]] or [[Z1]]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:50, 12 March 2026 (UTC)
:I think the screenshot is enough to tell what your mistake was: You're trying to set the ''type'' of the argument to be the result of a function call. Normally it's only [[Z881]] that you would need to do that for. Open the triple-dot menu at one level higher. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:27, 12 March 2026 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #239 is out: A new composition language ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we talk about the revamp of the composition language on Wikifunctions, with its potential for further improvements.
Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]!
Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 16:19, 12 March 2026 (UTC)
<!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30229736 -->
:I wish it will be possible to write compositions in a way like spreadsheets functions. When I read the title of the Newsletter I expected it to be about that topic and then I learned it is as far as I understand about how the functions are interpreted in the background. How to work with different types of input and output is different. In Spreadsheet I sometimes experience such problems and there are other cases where an automatic type conversion happens. How to find the right type is one of the difficulties in Wikifunctions when creating functions at the moment. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 22:22, 13 March 2026 (UTC)
== Inappropriate test case ==
The test case {{Z|31210}} seems to not be appropriate for Wiki functions and unnecessarily political. Can it be changed? [[User:AbsoluteHypotenuse|AbsoluteHypotenuse]] ([[User talk:AbsoluteHypotenuse|talk]]) 00:03, 14 March 2026 (UTC)
:Deleted as unnecessarily political and derogatory. CC @[[User:Feeglgeef|Feeglgeef]]. Again, feel free to create another appropriate test case. <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:<[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]></span> 03:32, 14 March 2026 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #240 is out: Abstract Wikipedia is now in Beta ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-19|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we celebrate the launch of the [https://abstract.wikipedia.org/ preliminary Beta version of Abstract Wikipedia], and we take a look at the latest software developments.
Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]!
Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 18:23, 19 March 2026 (UTC)
<!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30229736 -->
== How to debug type mismatch ==
Hi,
I tried creating the following implementation: [[Z32382]]. Test failure reports there is a type mismatch (expected: "Z6005"; actual: "Z6004"), but after carefully checking each of the functions' definitions that I use in this composition, I still can't see where this mismatch might occur.
Can you please help me on this one? [[User:Poslovitch|Poslovitch]] ([[User talk:Poslovitch|talk]]) 14:37, 22 March 2026 (UTC)
:{{done}}, I think. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:53, 22 March 2026 (UTC)
::Looks like it is working indeed, thank you @[[User:GrounderUK|GrounderUK]]! I see you replaced the use of function [[Z30591]] by [[Z22483]]. Do you reckon I should avoid using the "reference" types and stick to the non-"reference" types? [[User:Poslovitch|Poslovitch]] ([[User talk:Poslovitch|talk]]) 16:59, 22 March 2026 (UTC)
:::You have to use the right one for the given context. In general, if you don’t need to look inside the object, it’s better to use references. In this case, though, you’re looking at the features of the form, so you do need to look inside the lexeme annd its reference is directly accessible. Note, for example, that you do not look inside the singular or plural items; you just branch according to their references. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:45, 22 March 2026 (UTC)
::::Alright, I get it now, thanks :) [[User:Poslovitch|Poslovitch]] ([[User talk:Poslovitch|talk]]) 19:27, 22 March 2026 (UTC)
== How to represent verbs ==
I made a function, {{Z|Z32425}} which uses a verb, but I noticed that there isn't a Wikidata QID for 'contains'. How should verbs be represented in Wikifunctions/Abstract Wikipedia? Should verb lexemes be connected to Wikidata properties, like 'contain' being connected to {{P|P527}}, should they be connected to the noun form, like 'contain' being connected to {{L|L5539}} & {{Q|Q987767}}, or should they be connected some other way? — [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:30, 23 March 2026 (UTC)
: You could ask at [[d:WT:lexicographical data]]; but based on my experience adding [[WF:human languages/Z1882|Láadan]] lexemes, which can change part of speech depending on affixes: there is a property '[[d:property:P9970|predicate for]]' placed in the sense field which links a verb to its semantic item (I think {{q|6014822}} would be the target in your example). — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 16:17, 23 March 2026 (UTC)
== Broken function ==
Can someone please revert the most recent revision (by [[User:GrounderUK]]) on [[Z29362]]? It appears that it always returns void, breaking a lot of abstract wiki in the process. [[User:MetalBreaksAndBends|MetalBreaksAndBends]] ([[User talk:MetalBreaksAndBends|talk]]) 18:13, 25 March 2026 (UTC)
:This implementation is broken, but it's disconnected, no? Shouldn't be breaking abstractwiki. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 21:29, 25 March 2026 (UTC)
::Looks like someone disconnected it after I wrote that comment, but before you wrote yours. [[User:MetalBreaksAndBends|MetalBreaksAndBends]] ([[User talk:MetalBreaksAndBends|talk]]) 22:24, 25 March 2026 (UTC)
:It seems to have been reconnected, but the issue looks like it has started working again, per all passed tests. <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:<[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]></span> 08:04, 26 March 2026 (UTC)
:This was the result of a [[:phab: T421322|breaking change in the software]]. I didn’t amend the implementation until after it had been disconnected, and all tests passed after the change. I think the issue is now resolved, but I’ll link this comment to the Phabricator ticket for “lessons learned”. Sorry I didn’t pick this up earlier, but this particular software change was unexpected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:46, 26 March 2026 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #241 is out: First few days of Abstract Wikipedia Beta; Status of Composition Language v2 ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-26|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss the first early edits on [https://abstract.wikipedia.org/ Abstract Wikipedia], we share the status of Composition Language v2, and we take a look at the latest software developments.
Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]!
Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 16:48, 26 March 2026 (UTC)
<!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30289284 -->
== Language tags ==
I would appreciate input on [[Talk:Z14326#Case-sensitivity]] re: the exact semantics of {{Z|60}}'s identity key. CC @[[User:99of9|99of9]] since you connected one of the tests but not the others. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:27, 27 March 2026 (UTC)
6cx5tmb3pp0m8oxqlvknrh3i9520mg7
Module:Documentation/styles.css
828
1513
261476
118101
2026-03-28T11:07:56Z
Escargot bleu
1060
dark mode
261476
sanitized-css
text/css
/* {{PP-template}} */
.ts-doc-sandbox .mbox-image {
padding:.75em 0 .75em .75em;
}
.ts-doc-doc {
clear: both;
background-color: var(--background-color-success-subtle, #ecfcf4);
border: 1px solid var(--border-color-base, #a2a9b1);
margin-top: 1em;
padding: 5px;
}
.ts-doc-header {
padding-bottom: 3px;
border-bottom: 1px solid var(--border-color-base, #a2a9b1);
margin-bottom: 1ex;
}
.ts-doc-header .ts-tlinks-tlinks {
display: inline-block;
line-height: 24px;
margin-left: 1em;
}
.ts-doc-header .ts-tlinks-tlinks a.external {
color: var(--color-link, #0645ad);
}
.ts-doc-header .ts-tlinks-tlinks a.external:visited {
color: var(--color-link--visited, #0b0080);
}
.ts-doc-header .ts-tlinks-tlinks a.external:active {
color: var(--color-link--active, #faa700);
}
.ts-doc-content:after {
content: '';
clear: both;
display: block;
}
.ts-doc-heading {
display: inline-block;
padding-left: 55px;
background: center left/50px no-repeat;
background-image: url(https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/50px-Test_Template_Info-Icon_-_Version_%282%29.svg.png);
background-image: url(https://upload.wikimedia.org/wikipedia/commons/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg);
font-size: 1.5em;
}
.ts-doc-content > *:first-child,
.ts-doc-footer > *:first-child {
margin-top: .5em;
}
.ts-doc-content > *:last-child,
.ts-doc-footer > *:last-child {
margin-bottom: .5em;
}
.ts-doc-footer {
background-color: var(--background-color-success-subtle, #ecfcf4);
border: 1px solid var(--border-color-base, #a2a9b1);
padding: .25em 1em;
margin-top: .2em;
font-style: italic;
}
.ts-doc-footer small {
font-style: normal;
}
.ts-doc-sandbox {
clear: both;
}
ra0kmpplibxlvwyca7tnaeis6gp9yh8
Wikifunctions:Status
4
1684
261195
259499
2026-03-27T12:32:44Z
Jayson500
61311
JAYSON.BASINILLO.JANTICO.AGE24/BIRT'YEAR4/17/2000.DEPLOMENTO.DETAILS.PERSONAL.ACCOUNT.HOME.PAGE.LINK.ID.APPSTORE.GOVHP.CULISEUM.SCEDULE.TIME.CALENDAR.WORSPACE.HOME.WORK AT.SCHOOL PROCESOR.INSPECTORING.NSO.PSA.PSN.USER
261195
wikitext
text/x-wiki
{{AW Content}}
This page aims to give a reasonably current view on the '''current status''' of Wikifunctions. If something does not work, this page is a good first stop to check if that is a known issue.
This page is not the complete source of details. A more immediate view is the [[phab:project/view/4876/|"Abstract Wikipedia" Phabricator board]]. This page just aims to provide a good and more easily understandable overview of major known issues and problems.
See [[Wikifunctions:Report a technical problem]] for details on how to report a bug or make a feature request.
'''Summary''': This page is not complete. We don't plan to list every single user facing issue, but merely the main ones.
== Is anything currently very broken? ==
: ''No current known P0 or P1 issues!''
== What are we working on this Quarter? (April–June 2025) ==
{{Notice|Updates on this Quarter's work, and the new Quarter's work to come, are first published in the community newsletter.}}
Each Quarter, we set out in a [[Wikifunctions:Status updates|Weekly Update]] our plans, and then report on how we're doing.
The current work plan, for April–June 2025, was published in [[Wikifunctions:Status updates/2025-04-05|2025-04-05]]:
* ([[phab:T390543|T390543]]) If we establish and meet '''performance standards''', we can have confidence that rolling out Wikifunctions access to more wikis will not disrupt those wikis' experiences or colleagues' work
** ([[phab:T390548|T390548]]) '''Establish an SLO''' for the Wikifunctions integration into Wikimedia projects' wikitext pages, to assure reader experience quality is maintained during roll-out
** ([[phab:T390549|T390549]]) Implement Object and Wikidata entity '''caching mechanisms in the function-orchestrator''' to drive up user experienced performance when making function calls
** ([[phab:T390550|T390550]]) Implement Object and Wikidata entity '''batching mechanisms in the function-orchestrator''' to drive up user experienced performance when making function calls and reduce load on production wikis
* ([[phab:T390544|T390544]]) If we '''roll out Wikifunctions access to more Wikimedia wikis''', we will see wider use to deliver content and learn how well it works with different languages and communities to address content gaps
** ([[phab:T390551|T390551]]) Make embedded Wikifunctions available in '''at least five more Wikimedia projects''', to learn from other languages and communities
** ([[phab:T390552|T390552]]) Listen to '''feedback from the pilot Dagbani Wikipedia community''' and adapt features, so that we can identify blockers to further rollout, and increase value to editors and readers, and so help the community
* ([[phab:T390545|T390545]]) Improve features related to the '''Wikifunctions integration''', so that wiki editors can use Wikifunctions in articles with more confidence.
** ([[phab:T390553|T390553]]) Support '''default values''' when fields are left blank for date inputs in the Wikifunctions integration so that editors can use it more simply
** ([[phab:T390554|T390554]]) Show '''read-mode errors''' from the Wikifunctions integration inline rather than in a box, so that editors can be less disrupted when something is wrong
** ([[phab:T390555|T390555]]) Show a '''preview''' of the function call result in the Wikifunctions integration dialog, so that editors can adjust their uses more swiftly
** ([[phab:T390557|T390557]]) Display the local and cross-wiki '''pages on which a Function is used''', so that Wikifunctions users can see the impact of their changes
* ([[phab:T390546|T390546]]) Extend features to '''use Wikidata items more fluently''', so that Wikifunctions editors can do more things and so address content gaps more readily.
** ([[phab:T390558|T390558]]) Support a '''light-weight enum Type''' alternative in the Wikifunctions front-end and in the Wikifunctions integration so that editors can use them more easily
** ([[phab:T390559|T390559]]) Extend support for Wikidata items to cover '''unitful values and other types''', so that function creators can take advantage of more of the content features of Wikidata
** ([[phab:T390560|T390560]]) Improve the '''performance in the Wikifunctions front-end''', so that function creators and users can use complex and large Objects such as those from Wikidata without difficulty
* ([[phab:T390547|T390547]]) '''Build plans''' in the Abstract Wikipedia team on how to address common concerns and proposed feature expansions, so that we can be prepared for taking this on in future.
** ([[phab:T390561|T390561]]) Experiment with how we might support '''rich content as output''', including in the Wikifunctions integration, so that we can see how to support future use cases. Develop a plan based on this.
** ([[phab:T390563|T390563]]) Develop a plan for how we might support '''macro-languages like Chinese''', so that we can see how to support them as groups in future
** ([[phab:T390564|T390564]]) Discuss with the Wikifunctions community and others '''where we might host Abstract Content''' in the future, so that we can prepare for that work
On top of the above planned work, we'll also have some "essential work", where we respond to bug fixes and emergency situations following our standard protocols, aimed at reducing disruption for the Wikifunctions community and its users.
You can see [[phab:project/view/7414/|our team's Phabricator board for the current Quarter]] for more detailed tracking of how things are going.
== Longer-term plans ==
: ''These are issues that we hope to work on in the future, as part of the bigger plans for Wikifunctions and Abstract Wikipedia. We will prioritise between them based on your feedback and ideas.''
=== Type creation is locked-down to staff ===
{{Tracked|T343469}}
For now, we only support a limited number and nature of types, and creation is limited to only staff. There are a number of built-in functions, ''e.g.'' [[Z811|first element of a list]], [[Z881|typed list]], and many others, which are currently not well-supported for custom types, which we are looking at addressing. Generic types and generic functions require a bit of development and bug-fixing, and are not ready yet.
=== Function pages don't show you where or how much they're used ===
{{Tracked|T282915}}
This would be an important way for the Wikifunctions community to decide how to focus effort and warn users of changes, like how the [[commons:Special:GlobalUsage|GlobalUsage tool]] guides the Commons community.
=== Diffs are ugly, so it's hard to do vandalism patrolling or community moderation ===
{{Tracked|T284473}}
For now, diffs "work" but show ugly blobs of JSON rather than nice, understandable, formatted results. We want an experience like Wikidata's or better.
=== Search is ugly, so it's a problem to find things ===
{{Tracked|T271963}}
For now, the search "works" but shows ugly blobs of JSON rather than a nice, understandable, formatted result, and you can't filter by type of object (''e.g.'' "show me only Implementations that match my search").
<small>Note: You can include the required type’s reference (''e.g.'' "Z14") prefixed by the literal "Z1K1 " (case insensitive) in your search. For example, [[Special:Search/: suffix Z1K1 Z14|: suffix "z1k1 Z14"]] will tend to find Implementations containing the string "suffix" (because Functions and Test cases are unlikely to contain a string that is equivalent to "z1k1 Z14", whereas all Implementations contain <code>"Z1K1": "Z14"</code> in their JSON representations and this is equivalent to "z1k1 Z14").</small>
{{DEFAULTSORT:KERNEL OFFICER }}
[[Category:Maintenance| 2024+2025+2026+2031]]
q7ig34xu7m9lc31eqm0ybv7mdmt4c4w
261198
261195
2026-03-27T12:39:43Z
Tenshi Hinanawi
12610
Reverted 1 edit by [[Special:Contributions/Jayson500|Jayson500]] ([[User talk:Jayson500|talk]]) (TwinkleGlobal)
261198
wikitext
text/x-wiki
{{AW Content}}
This page aims to give a reasonably current view on the '''current status''' of Wikifunctions. If something does not work, this page is a good first stop to check if that is a known issue.
This page is not the complete source of details. A more immediate view is the [[phab:project/view/4876/|"Abstract Wikipedia" Phabricator board]]. This page just aims to provide a good and more easily understandable overview of major known issues and problems.
See [[Wikifunctions:Report a technical problem]] for details on how to report a bug or make a feature request.
'''Summary''': This page is not complete. We don't plan to list every single user facing issue, but merely the main ones.
== Is anything currently very broken? ==
: ''No current known P0 or P1 issues!''
== What are we working on this Quarter? (April–June 2025) ==
{{Notice|Updates on this Quarter's work, and the new Quarter's work to come, are first published in the community newsletter.}}
Each Quarter, we set out in a [[Wikifunctions:Status updates|Weekly Update]] our plans, and then report on how we're doing.
The current work plan, for April–June 2025, was published in [[Wikifunctions:Status updates/2025-04-05|2025-04-05]]:
* ([[phab:T390543|T390543]]) If we establish and meet '''performance standards''', we can have confidence that rolling out Wikifunctions access to more wikis will not disrupt those wikis' experiences or colleagues' work
** ([[phab:T390548|T390548]]) '''Establish an SLO''' for the Wikifunctions integration into Wikimedia projects' wikitext pages, to assure reader experience quality is maintained during roll-out
** ([[phab:T390549|T390549]]) Implement Object and Wikidata entity '''caching mechanisms in the function-orchestrator''' to drive up user experienced performance when making function calls
** ([[phab:T390550|T390550]]) Implement Object and Wikidata entity '''batching mechanisms in the function-orchestrator''' to drive up user experienced performance when making function calls and reduce load on production wikis
* ([[phab:T390544|T390544]]) If we '''roll out Wikifunctions access to more Wikimedia wikis''', we will see wider use to deliver content and learn how well it works with different languages and communities to address content gaps
** ([[phab:T390551|T390551]]) Make embedded Wikifunctions available in '''at least five more Wikimedia projects''', to learn from other languages and communities
** ([[phab:T390552|T390552]]) Listen to '''feedback from the pilot Dagbani Wikipedia community''' and adapt features, so that we can identify blockers to further rollout, and increase value to editors and readers, and so help the community
* ([[phab:T390545|T390545]]) Improve features related to the '''Wikifunctions integration''', so that wiki editors can use Wikifunctions in articles with more confidence.
** ([[phab:T390553|T390553]]) Support '''default values''' when fields are left blank for date inputs in the Wikifunctions integration so that editors can use it more simply
** ([[phab:T390554|T390554]]) Show '''read-mode errors''' from the Wikifunctions integration inline rather than in a box, so that editors can be less disrupted when something is wrong
** ([[phab:T390555|T390555]]) Show a '''preview''' of the function call result in the Wikifunctions integration dialog, so that editors can adjust their uses more swiftly
** ([[phab:T390557|T390557]]) Display the local and cross-wiki '''pages on which a Function is used''', so that Wikifunctions users can see the impact of their changes
* ([[phab:T390546|T390546]]) Extend features to '''use Wikidata items more fluently''', so that Wikifunctions editors can do more things and so address content gaps more readily.
** ([[phab:T390558|T390558]]) Support a '''light-weight enum Type''' alternative in the Wikifunctions front-end and in the Wikifunctions integration so that editors can use them more easily
** ([[phab:T390559|T390559]]) Extend support for Wikidata items to cover '''unitful values and other types''', so that function creators can take advantage of more of the content features of Wikidata
** ([[phab:T390560|T390560]]) Improve the '''performance in the Wikifunctions front-end''', so that function creators and users can use complex and large Objects such as those from Wikidata without difficulty
* ([[phab:T390547|T390547]]) '''Build plans''' in the Abstract Wikipedia team on how to address common concerns and proposed feature expansions, so that we can be prepared for taking this on in future.
** ([[phab:T390561|T390561]]) Experiment with how we might support '''rich content as output''', including in the Wikifunctions integration, so that we can see how to support future use cases. Develop a plan based on this.
** ([[phab:T390563|T390563]]) Develop a plan for how we might support '''macro-languages like Chinese''', so that we can see how to support them as groups in future
** ([[phab:T390564|T390564]]) Discuss with the Wikifunctions community and others '''where we might host Abstract Content''' in the future, so that we can prepare for that work
On top of the above planned work, we'll also have some "essential work", where we respond to bug fixes and emergency situations following our standard protocols, aimed at reducing disruption for the Wikifunctions community and its users.
You can see [[phab:project/view/7414/|our team's Phabricator board for the current Quarter]] for more detailed tracking of how things are going.
== Longer-term plans ==
: ''These are issues that we hope to work on in the future, as part of the bigger plans for Wikifunctions and Abstract Wikipedia. We will prioritise between them based on your feedback and ideas.''
=== Type creation is locked-down to staff ===
{{Tracked|T343469}}
For now, we only support a limited number and nature of types, and creation is limited to only staff. There are a number of built-in functions, ''e.g.'' [[Z811|first element of a list]], [[Z881|typed list]], and many others, which are currently not well-supported for custom types, which we are looking at addressing. Generic types and generic functions require a bit of development and bug-fixing, and are not ready yet.
=== Function pages don't show you where or how much they're used ===
{{Tracked|T282915}}
This would be an important way for the Wikifunctions community to decide how to focus effort and warn users of changes, like how the [[commons:Special:GlobalUsage|GlobalUsage tool]] guides the Commons community.
=== Diffs are ugly, so it's hard to do vandalism patrolling or community moderation ===
{{Tracked|T284473}}
For now, diffs "work" but show ugly blobs of JSON rather than nice, understandable, formatted results. We want an experience like Wikidata's or better.
=== Search is ugly, so it's a problem to find things ===
{{Tracked|T271963}}
For now, the search "works" but shows ugly blobs of JSON rather than a nice, understandable, formatted result, and you can't filter by type of object (''e.g.'' "show me only Implementations that match my search").
<small>Note: You can include the required type’s reference (''e.g.'' "Z14") prefixed by the literal "Z1K1 " (case insensitive) in your search. For example, [[Special:Search/: suffix Z1K1 Z14|: suffix "z1k1 Z14"]] will tend to find Implementations containing the string "suffix" (because Functions and Test cases are unlikely to contain a string that is equivalent to "z1k1 Z14", whereas all Implementations contain <code>"Z1K1": "Z14"</code> in their JSON representations and this is equivalent to "z1k1 Z14").</small>
[[Category:Maintenance| ]]
quzy8da7t19w6n7svgjc7rpagd28koi
Wikifunctions:Community portal
4
1724
261228
261093
2026-03-27T14:40:54Z
Tenshi Hinanawi
12610
Reconnected
261228
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
==== Connection / Disconnection requests ====
Can someone connect {{Z|32068}} and {{Z|15974}} to their tests and implementations. Thanks in advance. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 23:24, 14 March 2026 (UTC)
:In the first function, there’s some issue with Maybe but I don’t think that’s the implementation. But I do think the error-handling for Maybe needs fixing. I’ll check back tomorrow and dig deeper if need be. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:48, 14 March 2026 (UTC)
::I fixed the error raising and checking, but the test is still failing for some reason? [[phab:T419920]] again? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:54, 14 March 2026 (UTC)
:::It certainly looks like a conversion failure going into {{Z|Z22123}}. I made a [[Z32083|new implementation]] of {{Z|Z22120}} which is now “preferred”. If everything behaves itself, [[Z22123]] can be reconnected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:24, 15 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:56, 20 March 2026 (UTC)
Can someone connect {{Z|32208}}, {{Z|32199}}, and {{Z|32204}}'s testcases and implementations? thanks in advance! --[[User:VivianIsBee|VivianIsBee]] ([[User talk:VivianIsBee|talk]]) 14:33, 20 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:48, 20 March 2026 (UTC)
Can someone connect {{Z|32355}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 08:15, 22 March 2026 (UTC)
:I haven't connected the implementation yet, because it doesn't seem to pass any of the test cases. If the implementation has any issues, then fix them first. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:24, 22 March 2026 (UTC)
::Thanks. I fixed. One testcase has passed now. But another testcase still says "The lexeme doesn't have forms" although I added a lexical form about 20 hour ago. I suppose cashed data may not have been refreshed yet. So can you please connect implementation so that I can check precisely? [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 05:47, 23 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:32, 23 March 2026 (UTC)
Can someone connect {{Z|32442}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 22:38, 23 March 2026 (UTC)
:Did you mean to include spaces between "words" with your Implementation, or was that a copy-paste error? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:24, 24 March 2026 (UTC)
::Thanks. That's a copy-paste error. I deleted one space.[[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 06:55, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 24 March 2026 (UTC)
Request to connect {{Z|32212}}, {{Z|32213}}, {{Z|32214}}, {{Z|32216}}, and {{Z|32240}}, all related to defining role sentence in Chinese for all variants. [[User:1F616EMO|1F616EMO]] ([[User talk:1F616EMO|talk]]) 03:21, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:28, 24 March 2026 (UTC)
Can someone disconnect {{Z|10816}}'s Python implementation? Need to fix one of the test case errors. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 19:47, 26 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:59, 26 March 2026 (UTC)
::Fixed the Python implementation, if anyone could reconnect that again. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 20:11, 26 March 2026 (UTC)
:::Noting that this was reconnected. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 14:40, 27 March 2026 (UTC)
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
l6tpflp5xfs959qzwesblmn7k3h35ji
261410
261228
2026-03-28T07:18:52Z
ChaoticVermillion
31127
adding request
261410
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
:What is wrong with my implementation at {{Z|Z32851}}? Btw, it would be really useful if errors said which dependency produced the error, instead of just saying "Error in evaluation". [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 07:18, 28 March 2026 (UTC)
==== Connection / Disconnection requests ====
Can someone connect {{Z|32068}} and {{Z|15974}} to their tests and implementations. Thanks in advance. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 23:24, 14 March 2026 (UTC)
:In the first function, there’s some issue with Maybe but I don’t think that’s the implementation. But I do think the error-handling for Maybe needs fixing. I’ll check back tomorrow and dig deeper if need be. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:48, 14 March 2026 (UTC)
::I fixed the error raising and checking, but the test is still failing for some reason? [[phab:T419920]] again? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:54, 14 March 2026 (UTC)
:::It certainly looks like a conversion failure going into {{Z|Z22123}}. I made a [[Z32083|new implementation]] of {{Z|Z22120}} which is now “preferred”. If everything behaves itself, [[Z22123]] can be reconnected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:24, 15 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:56, 20 March 2026 (UTC)
Can someone connect {{Z|32208}}, {{Z|32199}}, and {{Z|32204}}'s testcases and implementations? thanks in advance! --[[User:VivianIsBee|VivianIsBee]] ([[User talk:VivianIsBee|talk]]) 14:33, 20 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:48, 20 March 2026 (UTC)
Can someone connect {{Z|32355}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 08:15, 22 March 2026 (UTC)
:I haven't connected the implementation yet, because it doesn't seem to pass any of the test cases. If the implementation has any issues, then fix them first. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:24, 22 March 2026 (UTC)
::Thanks. I fixed. One testcase has passed now. But another testcase still says "The lexeme doesn't have forms" although I added a lexical form about 20 hour ago. I suppose cashed data may not have been refreshed yet. So can you please connect implementation so that I can check precisely? [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 05:47, 23 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:32, 23 March 2026 (UTC)
Can someone connect {{Z|32442}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 22:38, 23 March 2026 (UTC)
:Did you mean to include spaces between "words" with your Implementation, or was that a copy-paste error? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:24, 24 March 2026 (UTC)
::Thanks. That's a copy-paste error. I deleted one space.[[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 06:55, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 24 March 2026 (UTC)
Request to connect {{Z|32212}}, {{Z|32213}}, {{Z|32214}}, {{Z|32216}}, and {{Z|32240}}, all related to defining role sentence in Chinese for all variants. [[User:1F616EMO|1F616EMO]] ([[User talk:1F616EMO|talk]]) 03:21, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:28, 24 March 2026 (UTC)
Can someone disconnect {{Z|10816}}'s Python implementation? Need to fix one of the test case errors. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 19:47, 26 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:59, 26 March 2026 (UTC)
::Fixed the Python implementation, if anyone could reconnect that again. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 20:11, 26 March 2026 (UTC)
:::Noting that this was reconnected. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 14:40, 27 March 2026 (UTC)
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
ss3skip59vvia22t2kgvgu2vljhcqze
261416
261410
2026-03-28T08:14:32Z
YoshiRulz
10156
/* Tasks listed by users */ Reply
261416
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
:What is wrong with my implementation at {{Z|Z32851}}? Btw, it would be really useful if errors said which dependency produced the error, instead of just saying "Error in evaluation". [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 07:18, 28 March 2026 (UTC)
::You were catching the wrong {{Z|50}}, but then the error should have bubbled up so you could see it. I think there's something broken in the site w/ {{Z|11}} right now since [[Z32804|I ran into a similar problem yesterday]]. (And to contradict my note there, while debugging your implementation I saw the same behaviour regardless of if I used [[Z26107]] or a literal Z11, so it must be a bug in WikiLambda.) [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 08:14, 28 March 2026 (UTC)
==== Connection / Disconnection requests ====
Can someone connect {{Z|32068}} and {{Z|15974}} to their tests and implementations. Thanks in advance. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 23:24, 14 March 2026 (UTC)
:In the first function, there’s some issue with Maybe but I don’t think that’s the implementation. But I do think the error-handling for Maybe needs fixing. I’ll check back tomorrow and dig deeper if need be. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:48, 14 March 2026 (UTC)
::I fixed the error raising and checking, but the test is still failing for some reason? [[phab:T419920]] again? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:54, 14 March 2026 (UTC)
:::It certainly looks like a conversion failure going into {{Z|Z22123}}. I made a [[Z32083|new implementation]] of {{Z|Z22120}} which is now “preferred”. If everything behaves itself, [[Z22123]] can be reconnected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:24, 15 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:56, 20 March 2026 (UTC)
Can someone connect {{Z|32208}}, {{Z|32199}}, and {{Z|32204}}'s testcases and implementations? thanks in advance! --[[User:VivianIsBee|VivianIsBee]] ([[User talk:VivianIsBee|talk]]) 14:33, 20 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:48, 20 March 2026 (UTC)
Can someone connect {{Z|32355}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 08:15, 22 March 2026 (UTC)
:I haven't connected the implementation yet, because it doesn't seem to pass any of the test cases. If the implementation has any issues, then fix them first. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:24, 22 March 2026 (UTC)
::Thanks. I fixed. One testcase has passed now. But another testcase still says "The lexeme doesn't have forms" although I added a lexical form about 20 hour ago. I suppose cashed data may not have been refreshed yet. So can you please connect implementation so that I can check precisely? [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 05:47, 23 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:32, 23 March 2026 (UTC)
Can someone connect {{Z|32442}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 22:38, 23 March 2026 (UTC)
:Did you mean to include spaces between "words" with your Implementation, or was that a copy-paste error? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:24, 24 March 2026 (UTC)
::Thanks. That's a copy-paste error. I deleted one space.[[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 06:55, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 24 March 2026 (UTC)
Request to connect {{Z|32212}}, {{Z|32213}}, {{Z|32214}}, {{Z|32216}}, and {{Z|32240}}, all related to defining role sentence in Chinese for all variants. [[User:1F616EMO|1F616EMO]] ([[User talk:1F616EMO|talk]]) 03:21, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:28, 24 March 2026 (UTC)
Can someone disconnect {{Z|10816}}'s Python implementation? Need to fix one of the test case errors. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 19:47, 26 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:59, 26 March 2026 (UTC)
::Fixed the Python implementation, if anyone could reconnect that again. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 20:11, 26 March 2026 (UTC)
:::Noting that this was reconnected. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 14:40, 27 March 2026 (UTC)
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
hl3muqlso9wtiirm1c4cahbs9htj10a
261444
261416
2026-03-28T10:23:39Z
Redmin
52094
/* Tasks listed by users */ Reply
261444
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:::I have fixed the errors and added a new test case. Please connect the implementation and all the test cases now. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:23, 28 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
:What is wrong with my implementation at {{Z|Z32851}}? Btw, it would be really useful if errors said which dependency produced the error, instead of just saying "Error in evaluation". [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 07:18, 28 March 2026 (UTC)
::You were catching the wrong {{Z|50}}, but then the error should have bubbled up so you could see it. I think there's something broken in the site w/ {{Z|11}} right now since [[Z32804|I ran into a similar problem yesterday]]. (And to contradict my note there, while debugging your implementation I saw the same behaviour regardless of if I used [[Z26107]] or a literal Z11, so it must be a bug in WikiLambda.) [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 08:14, 28 March 2026 (UTC)
==== Connection / Disconnection requests ====
Can someone connect {{Z|32068}} and {{Z|15974}} to their tests and implementations. Thanks in advance. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 23:24, 14 March 2026 (UTC)
:In the first function, there’s some issue with Maybe but I don’t think that’s the implementation. But I do think the error-handling for Maybe needs fixing. I’ll check back tomorrow and dig deeper if need be. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:48, 14 March 2026 (UTC)
::I fixed the error raising and checking, but the test is still failing for some reason? [[phab:T419920]] again? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:54, 14 March 2026 (UTC)
:::It certainly looks like a conversion failure going into {{Z|Z22123}}. I made a [[Z32083|new implementation]] of {{Z|Z22120}} which is now “preferred”. If everything behaves itself, [[Z22123]] can be reconnected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:24, 15 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:56, 20 March 2026 (UTC)
Can someone connect {{Z|32208}}, {{Z|32199}}, and {{Z|32204}}'s testcases and implementations? thanks in advance! --[[User:VivianIsBee|VivianIsBee]] ([[User talk:VivianIsBee|talk]]) 14:33, 20 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:48, 20 March 2026 (UTC)
Can someone connect {{Z|32355}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 08:15, 22 March 2026 (UTC)
:I haven't connected the implementation yet, because it doesn't seem to pass any of the test cases. If the implementation has any issues, then fix them first. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:24, 22 March 2026 (UTC)
::Thanks. I fixed. One testcase has passed now. But another testcase still says "The lexeme doesn't have forms" although I added a lexical form about 20 hour ago. I suppose cashed data may not have been refreshed yet. So can you please connect implementation so that I can check precisely? [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 05:47, 23 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:32, 23 March 2026 (UTC)
Can someone connect {{Z|32442}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 22:38, 23 March 2026 (UTC)
:Did you mean to include spaces between "words" with your Implementation, or was that a copy-paste error? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:24, 24 March 2026 (UTC)
::Thanks. That's a copy-paste error. I deleted one space.[[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 06:55, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 24 March 2026 (UTC)
Request to connect {{Z|32212}}, {{Z|32213}}, {{Z|32214}}, {{Z|32216}}, and {{Z|32240}}, all related to defining role sentence in Chinese for all variants. [[User:1F616EMO|1F616EMO]] ([[User talk:1F616EMO|talk]]) 03:21, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:28, 24 March 2026 (UTC)
Can someone disconnect {{Z|10816}}'s Python implementation? Need to fix one of the test case errors. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 19:47, 26 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:59, 26 March 2026 (UTC)
::Fixed the Python implementation, if anyone could reconnect that again. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 20:11, 26 March 2026 (UTC)
:::Noting that this was reconnected. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 14:40, 27 March 2026 (UTC)
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
6cby4xcm2g4mog2uj6jtm2zxqnaou0k
261463
261444
2026-03-28T10:59:40Z
Redmin
52094
/* Task centre */ +req
261463
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:::I have fixed the errors and added a new test case. Please connect the implementation and all the test cases now. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:23, 28 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
:What is wrong with my implementation at {{Z|Z32851}}? Btw, it would be really useful if errors said which dependency produced the error, instead of just saying "Error in evaluation". [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 07:18, 28 March 2026 (UTC)
::You were catching the wrong {{Z|50}}, but then the error should have bubbled up so you could see it. I think there's something broken in the site w/ {{Z|11}} right now since [[Z32804|I ran into a similar problem yesterday]]. (And to contradict my note there, while debugging your implementation I saw the same behaviour regardless of if I used [[Z26107]] or a literal Z11, so it must be a bug in WikiLambda.) [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 08:14, 28 March 2026 (UTC)
==== Connection / Disconnection requests ====
Can someone connect {{Z|32068}} and {{Z|15974}} to their tests and implementations. Thanks in advance. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 23:24, 14 March 2026 (UTC)
:In the first function, there’s some issue with Maybe but I don’t think that’s the implementation. But I do think the error-handling for Maybe needs fixing. I’ll check back tomorrow and dig deeper if need be. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:48, 14 March 2026 (UTC)
::I fixed the error raising and checking, but the test is still failing for some reason? [[phab:T419920]] again? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:54, 14 March 2026 (UTC)
:::It certainly looks like a conversion failure going into {{Z|Z22123}}. I made a [[Z32083|new implementation]] of {{Z|Z22120}} which is now “preferred”. If everything behaves itself, [[Z22123]] can be reconnected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:24, 15 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:56, 20 March 2026 (UTC)
Can someone connect {{Z|32208}}, {{Z|32199}}, and {{Z|32204}}'s testcases and implementations? thanks in advance! --[[User:VivianIsBee|VivianIsBee]] ([[User talk:VivianIsBee|talk]]) 14:33, 20 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:48, 20 March 2026 (UTC)
Can someone connect {{Z|32355}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 08:15, 22 March 2026 (UTC)
:I haven't connected the implementation yet, because it doesn't seem to pass any of the test cases. If the implementation has any issues, then fix them first. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:24, 22 March 2026 (UTC)
::Thanks. I fixed. One testcase has passed now. But another testcase still says "The lexeme doesn't have forms" although I added a lexical form about 20 hour ago. I suppose cashed data may not have been refreshed yet. So can you please connect implementation so that I can check precisely? [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 05:47, 23 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:32, 23 March 2026 (UTC)
Can someone connect {{Z|32442}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 22:38, 23 March 2026 (UTC)
:Did you mean to include spaces between "words" with your Implementation, or was that a copy-paste error? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:24, 24 March 2026 (UTC)
::Thanks. That's a copy-paste error. I deleted one space.[[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 06:55, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 24 March 2026 (UTC)
Request to connect {{Z|32212}}, {{Z|32213}}, {{Z|32214}}, {{Z|32216}}, and {{Z|32240}}, all related to defining role sentence in Chinese for all variants. [[User:1F616EMO|1F616EMO]] ([[User talk:1F616EMO|talk]]) 03:21, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:28, 24 March 2026 (UTC)
Can someone disconnect {{Z|10816}}'s Python implementation? Need to fix one of the test case errors. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 19:47, 26 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:59, 26 March 2026 (UTC)
::Fixed the Python implementation, if anyone could reconnect that again. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 20:11, 26 March 2026 (UTC)
:::Noting that this was reconnected. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 14:40, 27 March 2026 (UTC)
Can someone please disconnect {{Z|26572}}? It needs to be edited to add the Bengali equivalent of a period to the end of the sentence. Thanks. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:59, 28 March 2026 (UTC)
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
obm9ho6n88v8z4emdzd7ih8zl7mu2v5
261465
261463
2026-03-28T11:01:02Z
Redmin
52094
/* Task centre */ Fix ZID
261465
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:::I have fixed the errors and added a new test case. Please connect the implementation and all the test cases now. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:23, 28 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
:What is wrong with my implementation at {{Z|Z32851}}? Btw, it would be really useful if errors said which dependency produced the error, instead of just saying "Error in evaluation". [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 07:18, 28 March 2026 (UTC)
::You were catching the wrong {{Z|50}}, but then the error should have bubbled up so you could see it. I think there's something broken in the site w/ {{Z|11}} right now since [[Z32804|I ran into a similar problem yesterday]]. (And to contradict my note there, while debugging your implementation I saw the same behaviour regardless of if I used [[Z26107]] or a literal Z11, so it must be a bug in WikiLambda.) [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 08:14, 28 March 2026 (UTC)
==== Connection / Disconnection requests ====
Can someone connect {{Z|32068}} and {{Z|15974}} to their tests and implementations. Thanks in advance. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 23:24, 14 March 2026 (UTC)
:In the first function, there’s some issue with Maybe but I don’t think that’s the implementation. But I do think the error-handling for Maybe needs fixing. I’ll check back tomorrow and dig deeper if need be. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:48, 14 March 2026 (UTC)
::I fixed the error raising and checking, but the test is still failing for some reason? [[phab:T419920]] again? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:54, 14 March 2026 (UTC)
:::It certainly looks like a conversion failure going into {{Z|Z22123}}. I made a [[Z32083|new implementation]] of {{Z|Z22120}} which is now “preferred”. If everything behaves itself, [[Z22123]] can be reconnected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:24, 15 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:56, 20 March 2026 (UTC)
Can someone connect {{Z|32208}}, {{Z|32199}}, and {{Z|32204}}'s testcases and implementations? thanks in advance! --[[User:VivianIsBee|VivianIsBee]] ([[User talk:VivianIsBee|talk]]) 14:33, 20 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:48, 20 March 2026 (UTC)
Can someone connect {{Z|32355}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 08:15, 22 March 2026 (UTC)
:I haven't connected the implementation yet, because it doesn't seem to pass any of the test cases. If the implementation has any issues, then fix them first. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:24, 22 March 2026 (UTC)
::Thanks. I fixed. One testcase has passed now. But another testcase still says "The lexeme doesn't have forms" although I added a lexical form about 20 hour ago. I suppose cashed data may not have been refreshed yet. So can you please connect implementation so that I can check precisely? [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 05:47, 23 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:32, 23 March 2026 (UTC)
Can someone connect {{Z|32442}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 22:38, 23 March 2026 (UTC)
:Did you mean to include spaces between "words" with your Implementation, or was that a copy-paste error? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:24, 24 March 2026 (UTC)
::Thanks. That's a copy-paste error. I deleted one space.[[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 06:55, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 24 March 2026 (UTC)
Request to connect {{Z|32212}}, {{Z|32213}}, {{Z|32214}}, {{Z|32216}}, and {{Z|32240}}, all related to defining role sentence in Chinese for all variants. [[User:1F616EMO|1F616EMO]] ([[User talk:1F616EMO|talk]]) 03:21, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:28, 24 March 2026 (UTC)
Can someone disconnect {{Z|10816}}'s Python implementation? Need to fix one of the test case errors. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 19:47, 26 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:59, 26 March 2026 (UTC)
::Fixed the Python implementation, if anyone could reconnect that again. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 20:11, 26 March 2026 (UTC)
:::Noting that this was reconnected. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 14:40, 27 March 2026 (UTC)
Can someone please disconnect {{Z|26574}}? It needs to be edited to add the Bengali equivalent of a period to the end of the sentence. Thanks. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:59, 28 March 2026 (UTC)
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
do5cyfimjd0wpwa05t7yd2sb3uzqrbo
261471
261465
2026-03-28T11:05:39Z
ChaoticVermillion
31127
/* Connection / Disconnection requests */ Reply
261471
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:::I have fixed the errors and added a new test case. Please connect the implementation and all the test cases now. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:23, 28 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
:What is wrong with my implementation at {{Z|Z32851}}? Btw, it would be really useful if errors said which dependency produced the error, instead of just saying "Error in evaluation". [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 07:18, 28 March 2026 (UTC)
::You were catching the wrong {{Z|50}}, but then the error should have bubbled up so you could see it. I think there's something broken in the site w/ {{Z|11}} right now since [[Z32804|I ran into a similar problem yesterday]]. (And to contradict my note there, while debugging your implementation I saw the same behaviour regardless of if I used [[Z26107]] or a literal Z11, so it must be a bug in WikiLambda.) [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 08:14, 28 March 2026 (UTC)
==== Connection / Disconnection requests ====
Can someone connect {{Z|32068}} and {{Z|15974}} to their tests and implementations. Thanks in advance. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 23:24, 14 March 2026 (UTC)
:In the first function, there’s some issue with Maybe but I don’t think that’s the implementation. But I do think the error-handling for Maybe needs fixing. I’ll check back tomorrow and dig deeper if need be. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:48, 14 March 2026 (UTC)
::I fixed the error raising and checking, but the test is still failing for some reason? [[phab:T419920]] again? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:54, 14 March 2026 (UTC)
:::It certainly looks like a conversion failure going into {{Z|Z22123}}. I made a [[Z32083|new implementation]] of {{Z|Z22120}} which is now “preferred”. If everything behaves itself, [[Z22123]] can be reconnected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:24, 15 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:56, 20 March 2026 (UTC)
Can someone connect {{Z|32208}}, {{Z|32199}}, and {{Z|32204}}'s testcases and implementations? thanks in advance! --[[User:VivianIsBee|VivianIsBee]] ([[User talk:VivianIsBee|talk]]) 14:33, 20 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:48, 20 March 2026 (UTC)
Can someone connect {{Z|32355}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 08:15, 22 March 2026 (UTC)
:I haven't connected the implementation yet, because it doesn't seem to pass any of the test cases. If the implementation has any issues, then fix them first. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:24, 22 March 2026 (UTC)
::Thanks. I fixed. One testcase has passed now. But another testcase still says "The lexeme doesn't have forms" although I added a lexical form about 20 hour ago. I suppose cashed data may not have been refreshed yet. So can you please connect implementation so that I can check precisely? [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 05:47, 23 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:32, 23 March 2026 (UTC)
Can someone connect {{Z|32442}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 22:38, 23 March 2026 (UTC)
:Did you mean to include spaces between "words" with your Implementation, or was that a copy-paste error? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:24, 24 March 2026 (UTC)
::Thanks. That's a copy-paste error. I deleted one space.[[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 06:55, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 24 March 2026 (UTC)
Request to connect {{Z|32212}}, {{Z|32213}}, {{Z|32214}}, {{Z|32216}}, and {{Z|32240}}, all related to defining role sentence in Chinese for all variants. [[User:1F616EMO|1F616EMO]] ([[User talk:1F616EMO|talk]]) 03:21, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:28, 24 March 2026 (UTC)
Can someone disconnect {{Z|10816}}'s Python implementation? Need to fix one of the test case errors. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 19:47, 26 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:59, 26 March 2026 (UTC)
::Fixed the Python implementation, if anyone could reconnect that again. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 20:11, 26 March 2026 (UTC)
:::Noting that this was reconnected. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 14:40, 27 March 2026 (UTC)
Can someone please disconnect {{Z|26574}}? It needs to be edited to add the Bengali equivalent of a period to the end of the sentence. Thanks. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:59, 28 March 2026 (UTC)
:Disconnected. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:05, 28 March 2026 (UTC)
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
l1fsswkk1oitdna8cu4f68l6k8idvsc
261478
261471
2026-03-28T11:09:36Z
Redmin
52094
/* Connection / Disconnection requests */ Reply
261478
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:::I have fixed the errors and added a new test case. Please connect the implementation and all the test cases now. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:23, 28 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
:What is wrong with my implementation at {{Z|Z32851}}? Btw, it would be really useful if errors said which dependency produced the error, instead of just saying "Error in evaluation". [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 07:18, 28 March 2026 (UTC)
::You were catching the wrong {{Z|50}}, but then the error should have bubbled up so you could see it. I think there's something broken in the site w/ {{Z|11}} right now since [[Z32804|I ran into a similar problem yesterday]]. (And to contradict my note there, while debugging your implementation I saw the same behaviour regardless of if I used [[Z26107]] or a literal Z11, so it must be a bug in WikiLambda.) [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 08:14, 28 March 2026 (UTC)
==== Connection / Disconnection requests ====
Can someone connect {{Z|32068}} and {{Z|15974}} to their tests and implementations. Thanks in advance. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 23:24, 14 March 2026 (UTC)
:In the first function, there’s some issue with Maybe but I don’t think that’s the implementation. But I do think the error-handling for Maybe needs fixing. I’ll check back tomorrow and dig deeper if need be. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:48, 14 March 2026 (UTC)
::I fixed the error raising and checking, but the test is still failing for some reason? [[phab:T419920]] again? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:54, 14 March 2026 (UTC)
:::It certainly looks like a conversion failure going into {{Z|Z22123}}. I made a [[Z32083|new implementation]] of {{Z|Z22120}} which is now “preferred”. If everything behaves itself, [[Z22123]] can be reconnected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:24, 15 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:56, 20 March 2026 (UTC)
Can someone connect {{Z|32208}}, {{Z|32199}}, and {{Z|32204}}'s testcases and implementations? thanks in advance! --[[User:VivianIsBee|VivianIsBee]] ([[User talk:VivianIsBee|talk]]) 14:33, 20 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:48, 20 March 2026 (UTC)
Can someone connect {{Z|32355}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 08:15, 22 March 2026 (UTC)
:I haven't connected the implementation yet, because it doesn't seem to pass any of the test cases. If the implementation has any issues, then fix them first. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:24, 22 March 2026 (UTC)
::Thanks. I fixed. One testcase has passed now. But another testcase still says "The lexeme doesn't have forms" although I added a lexical form about 20 hour ago. I suppose cashed data may not have been refreshed yet. So can you please connect implementation so that I can check precisely? [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 05:47, 23 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:32, 23 March 2026 (UTC)
Can someone connect {{Z|32442}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 22:38, 23 March 2026 (UTC)
:Did you mean to include spaces between "words" with your Implementation, or was that a copy-paste error? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:24, 24 March 2026 (UTC)
::Thanks. That's a copy-paste error. I deleted one space.[[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 06:55, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 24 March 2026 (UTC)
Request to connect {{Z|32212}}, {{Z|32213}}, {{Z|32214}}, {{Z|32216}}, and {{Z|32240}}, all related to defining role sentence in Chinese for all variants. [[User:1F616EMO|1F616EMO]] ([[User talk:1F616EMO|talk]]) 03:21, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:28, 24 March 2026 (UTC)
Can someone disconnect {{Z|10816}}'s Python implementation? Need to fix one of the test case errors. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 19:47, 26 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:59, 26 March 2026 (UTC)
::Fixed the Python implementation, if anyone could reconnect that again. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 20:11, 26 March 2026 (UTC)
:::Noting that this was reconnected. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 14:40, 27 March 2026 (UTC)
Can someone please disconnect {{Z|26574}}? It needs to be edited to add the Bengali equivalent of a period to the end of the sentence. Thanks. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:59, 28 March 2026 (UTC)
:Disconnected. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:05, 28 March 2026 (UTC)
::Thanks! And I am sorry forgot this before but the tests need to be fixed as well, could you please disconnect them, too? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 11:09, 28 March 2026 (UTC)
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
or4f9yf4otqvk44lwewy1ycwuq5r3y4
261482
261478
2026-03-28T11:15:11Z
ChaoticVermillion
31127
/* Connection / Disconnection requests */ Reply
261482
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:::I have fixed the errors and added a new test case. Please connect the implementation and all the test cases now. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:23, 28 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
:What is wrong with my implementation at {{Z|Z32851}}? Btw, it would be really useful if errors said which dependency produced the error, instead of just saying "Error in evaluation". [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 07:18, 28 March 2026 (UTC)
::You were catching the wrong {{Z|50}}, but then the error should have bubbled up so you could see it. I think there's something broken in the site w/ {{Z|11}} right now since [[Z32804|I ran into a similar problem yesterday]]. (And to contradict my note there, while debugging your implementation I saw the same behaviour regardless of if I used [[Z26107]] or a literal Z11, so it must be a bug in WikiLambda.) [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 08:14, 28 March 2026 (UTC)
==== Connection / Disconnection requests ====
Can someone connect {{Z|32068}} and {{Z|15974}} to their tests and implementations. Thanks in advance. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 23:24, 14 March 2026 (UTC)
:In the first function, there’s some issue with Maybe but I don’t think that’s the implementation. But I do think the error-handling for Maybe needs fixing. I’ll check back tomorrow and dig deeper if need be. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:48, 14 March 2026 (UTC)
::I fixed the error raising and checking, but the test is still failing for some reason? [[phab:T419920]] again? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:54, 14 March 2026 (UTC)
:::It certainly looks like a conversion failure going into {{Z|Z22123}}. I made a [[Z32083|new implementation]] of {{Z|Z22120}} which is now “preferred”. If everything behaves itself, [[Z22123]] can be reconnected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:24, 15 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:56, 20 March 2026 (UTC)
Can someone connect {{Z|32208}}, {{Z|32199}}, and {{Z|32204}}'s testcases and implementations? thanks in advance! --[[User:VivianIsBee|VivianIsBee]] ([[User talk:VivianIsBee|talk]]) 14:33, 20 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:48, 20 March 2026 (UTC)
Can someone connect {{Z|32355}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 08:15, 22 March 2026 (UTC)
:I haven't connected the implementation yet, because it doesn't seem to pass any of the test cases. If the implementation has any issues, then fix them first. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:24, 22 March 2026 (UTC)
::Thanks. I fixed. One testcase has passed now. But another testcase still says "The lexeme doesn't have forms" although I added a lexical form about 20 hour ago. I suppose cashed data may not have been refreshed yet. So can you please connect implementation so that I can check precisely? [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 05:47, 23 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:32, 23 March 2026 (UTC)
Can someone connect {{Z|32442}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 22:38, 23 March 2026 (UTC)
:Did you mean to include spaces between "words" with your Implementation, or was that a copy-paste error? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:24, 24 March 2026 (UTC)
::Thanks. That's a copy-paste error. I deleted one space.[[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 06:55, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 24 March 2026 (UTC)
Request to connect {{Z|32212}}, {{Z|32213}}, {{Z|32214}}, {{Z|32216}}, and {{Z|32240}}, all related to defining role sentence in Chinese for all variants. [[User:1F616EMO|1F616EMO]] ([[User talk:1F616EMO|talk]]) 03:21, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:28, 24 March 2026 (UTC)
Can someone disconnect {{Z|10816}}'s Python implementation? Need to fix one of the test case errors. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 19:47, 26 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:59, 26 March 2026 (UTC)
::Fixed the Python implementation, if anyone could reconnect that again. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 20:11, 26 March 2026 (UTC)
:::Noting that this was reconnected. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 14:40, 27 March 2026 (UTC)
Can someone please disconnect {{Z|26574}}? It needs to be edited to add the Bengali equivalent of a period to the end of the sentence. Thanks. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:59, 28 March 2026 (UTC)
:Disconnected. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:05, 28 March 2026 (UTC)
::Thanks! And I am sorry forgot this before but the tests need to be fixed as well, could you please disconnect them, too? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 11:09, 28 March 2026 (UTC)
:::I just added the periods to the tests myself. Tell me if I am incorrect in their placement. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:15, 28 March 2026 (UTC)
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
q6wtfwmnl8clm7f9ibn18nzmxr3ruoo
261491
261482
2026-03-28T11:53:54Z
Redmin
52094
/* Connection / Disconnection requests */ Reply
261491
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:::I have fixed the errors and added a new test case. Please connect the implementation and all the test cases now. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:23, 28 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
:What is wrong with my implementation at {{Z|Z32851}}? Btw, it would be really useful if errors said which dependency produced the error, instead of just saying "Error in evaluation". [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 07:18, 28 March 2026 (UTC)
::You were catching the wrong {{Z|50}}, but then the error should have bubbled up so you could see it. I think there's something broken in the site w/ {{Z|11}} right now since [[Z32804|I ran into a similar problem yesterday]]. (And to contradict my note there, while debugging your implementation I saw the same behaviour regardless of if I used [[Z26107]] or a literal Z11, so it must be a bug in WikiLambda.) [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 08:14, 28 March 2026 (UTC)
==== Connection / Disconnection requests ====
Can someone connect {{Z|32068}} and {{Z|15974}} to their tests and implementations. Thanks in advance. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 23:24, 14 March 2026 (UTC)
:In the first function, there’s some issue with Maybe but I don’t think that’s the implementation. But I do think the error-handling for Maybe needs fixing. I’ll check back tomorrow and dig deeper if need be. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:48, 14 March 2026 (UTC)
::I fixed the error raising and checking, but the test is still failing for some reason? [[phab:T419920]] again? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:54, 14 March 2026 (UTC)
:::It certainly looks like a conversion failure going into {{Z|Z22123}}. I made a [[Z32083|new implementation]] of {{Z|Z22120}} which is now “preferred”. If everything behaves itself, [[Z22123]] can be reconnected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:24, 15 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:56, 20 March 2026 (UTC)
Can someone connect {{Z|32208}}, {{Z|32199}}, and {{Z|32204}}'s testcases and implementations? thanks in advance! --[[User:VivianIsBee|VivianIsBee]] ([[User talk:VivianIsBee|talk]]) 14:33, 20 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:48, 20 March 2026 (UTC)
Can someone connect {{Z|32355}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 08:15, 22 March 2026 (UTC)
:I haven't connected the implementation yet, because it doesn't seem to pass any of the test cases. If the implementation has any issues, then fix them first. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:24, 22 March 2026 (UTC)
::Thanks. I fixed. One testcase has passed now. But another testcase still says "The lexeme doesn't have forms" although I added a lexical form about 20 hour ago. I suppose cashed data may not have been refreshed yet. So can you please connect implementation so that I can check precisely? [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 05:47, 23 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:32, 23 March 2026 (UTC)
Can someone connect {{Z|32442}}'s testcases and implementations? Thanks in advance! [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 22:38, 23 March 2026 (UTC)
:Did you mean to include spaces between "words" with your Implementation, or was that a copy-paste error? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:24, 24 March 2026 (UTC)
::Thanks. That's a copy-paste error. I deleted one space.[[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 06:55, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 24 March 2026 (UTC)
Request to connect {{Z|32212}}, {{Z|32213}}, {{Z|32214}}, {{Z|32216}}, and {{Z|32240}}, all related to defining role sentence in Chinese for all variants. [[User:1F616EMO|1F616EMO]] ([[User talk:1F616EMO|talk]]) 03:21, 24 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:28, 24 March 2026 (UTC)
Can someone disconnect {{Z|10816}}'s Python implementation? Need to fix one of the test case errors. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 19:47, 26 March 2026 (UTC)
:{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:59, 26 March 2026 (UTC)
::Fixed the Python implementation, if anyone could reconnect that again. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 20:11, 26 March 2026 (UTC)
:::Noting that this was reconnected. [[User: Tenshi Hinanawi|Tenshi!]] ([[User talk: Tenshi Hinanawi|Talk page]]) 14:40, 27 March 2026 (UTC)
Can someone please disconnect {{Z|26574}}? It needs to be edited to add the Bengali equivalent of a period to the end of the sentence. Thanks. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:59, 28 March 2026 (UTC)
:Disconnected. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:05, 28 March 2026 (UTC)
::Thanks! And I am sorry forgot this before but the tests need to be fixed as well, could you please disconnect them, too? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 11:09, 28 March 2026 (UTC)
:::I just added the periods to the tests myself. Tell me if I am incorrect in their placement. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:15, 28 March 2026 (UTC)
::::Done, thanks for updating the tests but one other change is needed: in Z26606, the expected string should be 'কাজী নজরুল ইসলাম একজন কবি ছিলেন।' now because I updated the function to indicate when a person is deceased. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 11:53, 28 March 2026 (UTC)
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
19yzrh0cgbgenini4qm4k1vwc7fs2yb
Template:Section resolved/standard module
10
3532
261466
49663
2026-03-28T11:02:20Z
Escargot bleu
1060
dark mode
261466
wikitext
text/x-wiki
Standard module for [[Template:Section resolved]].
<onlyinclude>{|style="clear:both;display:table;font-size:90%;line-height:normal;margin:2px 0;background:var(--background-color-neutral-subtle, #f8f9fa);color:inherit;border:1px solid var(--border-color-base, #a2a9b1);padding:2px"
|-
|[[File:OOjs UI icon check-constructive.svg|link=|bottom|Checkmark]] {{Autotranslate|base=Section resolved/i18n}} {{{1|}}} {{{{{subst|}}}#if: {{{2|}}}
| ({{{2|}}})
}}{{Clear}}
|}</onlyinclude>
[[Category:Archival templates|Resolved/standard module]]
[[Category:Autotranslated templates]]
jmdlp6p5qccwb5fglalu78zh80krxle
Wikifunctions:Requests for user groups
4
3790
261341
260645
2026-03-27T22:50:47Z
Feeglgeef
8776
/* Higa4 */ Reply
261341
wikitext
text/x-wiki
{{shortcut|[[WF:RFG]]|[[WF:PERM]]|[[WF:RFUG]]}}
This is the place to request specific user groups:
{{ombox
| image = [[File:Echo user-rights icon.svg|60x60px|alt=|link=]]
| text = '''How to make a request'''
#Edit the section for the user group you wish to request
#Copy the following and ''append'' it to the text-area:
##Requests without required discussion: <code><nowiki>{{subst:rfg|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Functioneer requests (required 48-hour discussion): <code><nowiki>{{subst:rfg|3=1|length=2 days|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Requests with required 1-week discussion: <code><nowiki>{{subst:rfg|3=1|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
#Replace <code>reason</code> with a rationale based on the guidelines specified for the user group
}}
:''Archived requests can be found at [[Wikifunctions:Requests for user groups/Archive]]''
{{Autoarchive resolved section
|age =1
|archive =((FULLPAGENAME))/Archive/((year))/((month:##))
|level =3
}}
== Functioneer ==
{{see also|Wikifunctions:Functioneers}}
=== Higa4 ===
:{{UL2.0|1=Higa4|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 14:03, 26 March 2026 (UTC)''
:I want to be a functioneer because I'm going to add several functions for Japanese and I hope I can connect for myself to check testcases smoothly. [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 14:03, 24 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:50, 27 March 2026 (UTC)
=== Mormegil ===
:{{UL2.0|1=Mormegil|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 08:50, 27 March 2026 (UTC)''
:I’d like to get the functioneer bit (I’ve had it before when experimenting with Wikifunctions in 2023) to work on a couple of natural language generating functions for Czech. (See the first pieces at [[Z32588]], [[Z32548]].) Thanks. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:50, 25 March 2026 (UTC)
==Autopatroller==
{{See also|Wikifunctions:Autopatrollers}}
==Administrator==
{{see also|Wikifunctions:Administrators}}
==Interface administrator==
{{see also|Wikifunctions:Interface administrators}}
==Translation administrator==
{{see also|Wikifunctions:Translation administrators}}
==Bureaucrat==
{{see also|Wikifunctions:Bureaucrats}}
== Miscellaneous requests ==
==See also==
* [[Wikifunctions:User groups]]
** [[mw:Help:Wikifunctions/User rights]] for additional context about functioneers, maintainers, sysops, and bureaucrats
[[Category:User groups|*]]
pl7d60eywwkk9hp32o3b2a5b0uqyxs2
261342
261341
2026-03-27T22:52:16Z
Feeglgeef
8776
/* Mormegil */ Reply
261342
wikitext
text/x-wiki
{{shortcut|[[WF:RFG]]|[[WF:PERM]]|[[WF:RFUG]]}}
This is the place to request specific user groups:
{{ombox
| image = [[File:Echo user-rights icon.svg|60x60px|alt=|link=]]
| text = '''How to make a request'''
#Edit the section for the user group you wish to request
#Copy the following and ''append'' it to the text-area:
##Requests without required discussion: <code><nowiki>{{subst:rfg|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Functioneer requests (required 48-hour discussion): <code><nowiki>{{subst:rfg|3=1|length=2 days|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Requests with required 1-week discussion: <code><nowiki>{{subst:rfg|3=1|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
#Replace <code>reason</code> with a rationale based on the guidelines specified for the user group
}}
:''Archived requests can be found at [[Wikifunctions:Requests for user groups/Archive]]''
{{Autoarchive resolved section
|age =1
|archive =((FULLPAGENAME))/Archive/((year))/((month:##))
|level =3
}}
== Functioneer ==
{{see also|Wikifunctions:Functioneers}}
=== Higa4 ===
:{{UL2.0|1=Higa4|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 14:03, 26 March 2026 (UTC)''
:I want to be a functioneer because I'm going to add several functions for Japanese and I hope I can connect for myself to check testcases smoothly. [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 14:03, 24 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:50, 27 March 2026 (UTC)
=== Mormegil ===
:{{UL2.0|1=Mormegil|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 08:50, 27 March 2026 (UTC)''
:I’d like to get the functioneer bit (I’ve had it before when experimenting with Wikifunctions in 2023) to work on a couple of natural language generating functions for Czech. (See the first pieces at [[Z32588]], [[Z32548]].) Thanks. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:50, 25 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:52, 27 March 2026 (UTC)
==Autopatroller==
{{See also|Wikifunctions:Autopatrollers}}
==Administrator==
{{see also|Wikifunctions:Administrators}}
==Interface administrator==
{{see also|Wikifunctions:Interface administrators}}
==Translation administrator==
{{see also|Wikifunctions:Translation administrators}}
==Bureaucrat==
{{see also|Wikifunctions:Bureaucrats}}
== Miscellaneous requests ==
==See also==
* [[Wikifunctions:User groups]]
** [[mw:Help:Wikifunctions/User rights]] for additional context about functioneers, maintainers, sysops, and bureaucrats
[[Category:User groups|*]]
ksdhp024mx5m6cdmmxt5fe3dz6pz0ym
261343
261342
2026-03-27T22:53:07Z
GearsDatapacks
46130
/* Functioneer */ Request
261343
wikitext
text/x-wiki
{{shortcut|[[WF:RFG]]|[[WF:PERM]]|[[WF:RFUG]]}}
This is the place to request specific user groups:
{{ombox
| image = [[File:Echo user-rights icon.svg|60x60px|alt=|link=]]
| text = '''How to make a request'''
#Edit the section for the user group you wish to request
#Copy the following and ''append'' it to the text-area:
##Requests without required discussion: <code><nowiki>{{subst:rfg|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Functioneer requests (required 48-hour discussion): <code><nowiki>{{subst:rfg|3=1|length=2 days|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Requests with required 1-week discussion: <code><nowiki>{{subst:rfg|3=1|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
#Replace <code>reason</code> with a rationale based on the guidelines specified for the user group
}}
:''Archived requests can be found at [[Wikifunctions:Requests for user groups/Archive]]''
{{Autoarchive resolved section
|age =1
|archive =((FULLPAGENAME))/Archive/((year))/((month:##))
|level =3
}}
== Functioneer ==
{{see also|Wikifunctions:Functioneers}}
=== Higa4 ===
:{{UL2.0|1=Higa4|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 14:03, 26 March 2026 (UTC)''
:I want to be a functioneer because I'm going to add several functions for Japanese and I hope I can connect for myself to check testcases smoothly. [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 14:03, 24 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:50, 27 March 2026 (UTC)
=== Mormegil ===
:{{UL2.0|1=Mormegil|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 08:50, 27 March 2026 (UTC)''
:I’d like to get the functioneer bit (I’ve had it before when experimenting with Wikifunctions in 2023) to work on a couple of natural language generating functions for Czech. (See the first pieces at [[Z32588]], [[Z32548]].) Thanks. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:50, 25 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:52, 27 March 2026 (UTC)
=== GearsDatapacks ===
:{{UL2.0|1=GearsDatapacks|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 22:52, 29 March 2026 (UTC)''
:I've been contributing a decent amount on [[abstract:Abstract Wikipedia:Main page|Abstract Wikipedia]] and noticed a few functions that could be added. I've begun implementing these functions, but due to the complex nature of natural language I often need to go back and improve the implementation later. If I were a functioneer, I could do this more easily, as well as connecting implementations once they are ready to be used. {{[[User:GearsDatapacks|GearsDatapacks]]|[[User talk:GearsDatapacks|talk]]|[[Special:Contributions/GearsDatapacks|contribs]]}} 22:52, 27 March 2026 (UTC)
==Autopatroller==
{{See also|Wikifunctions:Autopatrollers}}
==Administrator==
{{see also|Wikifunctions:Administrators}}
==Interface administrator==
{{see also|Wikifunctions:Interface administrators}}
==Translation administrator==
{{see also|Wikifunctions:Translation administrators}}
==Bureaucrat==
{{see also|Wikifunctions:Bureaucrats}}
== Miscellaneous requests ==
==See also==
* [[Wikifunctions:User groups]]
** [[mw:Help:Wikifunctions/User rights]] for additional context about functioneers, maintainers, sysops, and bureaucrats
[[Category:User groups|*]]
oonh67m7ud02buzsfvi1apvm8msc8zq
261344
261343
2026-03-27T22:56:14Z
Feeglgeef
8776
/* GearsDatapacks */ Reply
261344
wikitext
text/x-wiki
{{shortcut|[[WF:RFG]]|[[WF:PERM]]|[[WF:RFUG]]}}
This is the place to request specific user groups:
{{ombox
| image = [[File:Echo user-rights icon.svg|60x60px|alt=|link=]]
| text = '''How to make a request'''
#Edit the section for the user group you wish to request
#Copy the following and ''append'' it to the text-area:
##Requests without required discussion: <code><nowiki>{{subst:rfg|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Functioneer requests (required 48-hour discussion): <code><nowiki>{{subst:rfg|3=1|length=2 days|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Requests with required 1-week discussion: <code><nowiki>{{subst:rfg|3=1|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
#Replace <code>reason</code> with a rationale based on the guidelines specified for the user group
}}
:''Archived requests can be found at [[Wikifunctions:Requests for user groups/Archive]]''
{{Autoarchive resolved section
|age =1
|archive =((FULLPAGENAME))/Archive/((year))/((month:##))
|level =3
}}
== Functioneer ==
{{see also|Wikifunctions:Functioneers}}
=== Higa4 ===
:{{UL2.0|1=Higa4|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 14:03, 26 March 2026 (UTC)''
:I want to be a functioneer because I'm going to add several functions for Japanese and I hope I can connect for myself to check testcases smoothly. [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 14:03, 24 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:50, 27 March 2026 (UTC)
=== Mormegil ===
:{{UL2.0|1=Mormegil|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 08:50, 27 March 2026 (UTC)''
:I’d like to get the functioneer bit (I’ve had it before when experimenting with Wikifunctions in 2023) to work on a couple of natural language generating functions for Czech. (See the first pieces at [[Z32588]], [[Z32548]].) Thanks. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:50, 25 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:52, 27 March 2026 (UTC)
=== GearsDatapacks ===
:{{UL2.0|1=GearsDatapacks|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 22:52, 29 March 2026 (UTC)''
:I've been contributing a decent amount on [[abstract:Abstract Wikipedia:Main page|Abstract Wikipedia]] and noticed a few functions that could be added. I've begun implementing these functions, but due to the complex nature of natural language I often need to go back and improve the implementation later. If I were a functioneer, I could do this more easily, as well as connecting implementations once they are ready to be used. {{[[User:GearsDatapacks|GearsDatapacks]]|[[User talk:GearsDatapacks|talk]]|[[Special:Contributions/GearsDatapacks|contribs]]}} 22:52, 27 March 2026 (UTC)
::{{s}}: local contributions are a bit weak but their impactful work on AWP justifies the user group. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:56, 27 March 2026 (UTC)
==Autopatroller==
{{See also|Wikifunctions:Autopatrollers}}
==Administrator==
{{see also|Wikifunctions:Administrators}}
==Interface administrator==
{{see also|Wikifunctions:Interface administrators}}
==Translation administrator==
{{see also|Wikifunctions:Translation administrators}}
==Bureaucrat==
{{see also|Wikifunctions:Bureaucrats}}
== Miscellaneous requests ==
==See also==
* [[Wikifunctions:User groups]]
** [[mw:Help:Wikifunctions/User rights]] for additional context about functioneers, maintainers, sysops, and bureaucrats
[[Category:User groups|*]]
41vo9xr74drswjizicjjx2seuxhpcq8
261345
261344
2026-03-27T23:00:07Z
Ameisenigel
44
/* Higa4 */ done
261345
wikitext
text/x-wiki
{{shortcut|[[WF:RFG]]|[[WF:PERM]]|[[WF:RFUG]]}}
This is the place to request specific user groups:
{{ombox
| image = [[File:Echo user-rights icon.svg|60x60px|alt=|link=]]
| text = '''How to make a request'''
#Edit the section for the user group you wish to request
#Copy the following and ''append'' it to the text-area:
##Requests without required discussion: <code><nowiki>{{subst:rfg|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Functioneer requests (required 48-hour discussion): <code><nowiki>{{subst:rfg|3=1|length=2 days|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Requests with required 1-week discussion: <code><nowiki>{{subst:rfg|3=1|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
#Replace <code>reason</code> with a rationale based on the guidelines specified for the user group
}}
:''Archived requests can be found at [[Wikifunctions:Requests for user groups/Archive]]''
{{Autoarchive resolved section
|age =1
|archive =((FULLPAGENAME))/Archive/((year))/((month:##))
|level =3
}}
== Functioneer ==
{{see also|Wikifunctions:Functioneers}}
=== Higa4 ===
:{{UL2.0|1=Higa4|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 14:03, 26 March 2026 (UTC)''
:I want to be a functioneer because I'm going to add several functions for Japanese and I hope I can connect for myself to check testcases smoothly. [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 14:03, 24 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:50, 27 March 2026 (UTC)
:{{done}} --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 23:00, 27 March 2026 (UTC)
{{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 23:00, 27 March 2026 (UTC)}}
=== Mormegil ===
:{{UL2.0|1=Mormegil|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 08:50, 27 March 2026 (UTC)''
:I’d like to get the functioneer bit (I’ve had it before when experimenting with Wikifunctions in 2023) to work on a couple of natural language generating functions for Czech. (See the first pieces at [[Z32588]], [[Z32548]].) Thanks. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:50, 25 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:52, 27 March 2026 (UTC)
=== GearsDatapacks ===
:{{UL2.0|1=GearsDatapacks|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 22:52, 29 March 2026 (UTC)''
:I've been contributing a decent amount on [[abstract:Abstract Wikipedia:Main page|Abstract Wikipedia]] and noticed a few functions that could be added. I've begun implementing these functions, but due to the complex nature of natural language I often need to go back and improve the implementation later. If I were a functioneer, I could do this more easily, as well as connecting implementations once they are ready to be used. {{[[User:GearsDatapacks|GearsDatapacks]]|[[User talk:GearsDatapacks|talk]]|[[Special:Contributions/GearsDatapacks|contribs]]}} 22:52, 27 March 2026 (UTC)
::{{s}}: local contributions are a bit weak but their impactful work on AWP justifies the user group. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:56, 27 March 2026 (UTC)
==Autopatroller==
{{See also|Wikifunctions:Autopatrollers}}
==Administrator==
{{see also|Wikifunctions:Administrators}}
==Interface administrator==
{{see also|Wikifunctions:Interface administrators}}
==Translation administrator==
{{see also|Wikifunctions:Translation administrators}}
==Bureaucrat==
{{see also|Wikifunctions:Bureaucrats}}
== Miscellaneous requests ==
==See also==
* [[Wikifunctions:User groups]]
** [[mw:Help:Wikifunctions/User rights]] for additional context about functioneers, maintainers, sysops, and bureaucrats
[[Category:User groups|*]]
b5l8rl0crijxyu6otquui4c2j4ylv3b
261346
261345
2026-03-27T23:01:20Z
Ameisenigel
44
/* Mormegil */ done
261346
wikitext
text/x-wiki
{{shortcut|[[WF:RFG]]|[[WF:PERM]]|[[WF:RFUG]]}}
This is the place to request specific user groups:
{{ombox
| image = [[File:Echo user-rights icon.svg|60x60px|alt=|link=]]
| text = '''How to make a request'''
#Edit the section for the user group you wish to request
#Copy the following and ''append'' it to the text-area:
##Requests without required discussion: <code><nowiki>{{subst:rfg|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Functioneer requests (required 48-hour discussion): <code><nowiki>{{subst:rfg|3=1|length=2 days|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Requests with required 1-week discussion: <code><nowiki>{{subst:rfg|3=1|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
#Replace <code>reason</code> with a rationale based on the guidelines specified for the user group
}}
:''Archived requests can be found at [[Wikifunctions:Requests for user groups/Archive]]''
{{Autoarchive resolved section
|age =1
|archive =((FULLPAGENAME))/Archive/((year))/((month:##))
|level =3
}}
== Functioneer ==
{{see also|Wikifunctions:Functioneers}}
=== Higa4 ===
:{{UL2.0|1=Higa4|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 14:03, 26 March 2026 (UTC)''
:I want to be a functioneer because I'm going to add several functions for Japanese and I hope I can connect for myself to check testcases smoothly. [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 14:03, 24 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:50, 27 March 2026 (UTC)
:{{done}} --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 23:00, 27 March 2026 (UTC)
{{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 23:00, 27 March 2026 (UTC)}}
=== Mormegil ===
:{{UL2.0|1=Mormegil|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 08:50, 27 March 2026 (UTC)''
:I’d like to get the functioneer bit (I’ve had it before when experimenting with Wikifunctions in 2023) to work on a couple of natural language generating functions for Czech. (See the first pieces at [[Z32588]], [[Z32548]].) Thanks. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:50, 25 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:52, 27 March 2026 (UTC)
:{{done}} --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 23:01, 27 March 2026 (UTC)
{{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 23:01, 27 March 2026 (UTC)}}
=== GearsDatapacks ===
:{{UL2.0|1=GearsDatapacks|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 22:52, 29 March 2026 (UTC)''
:I've been contributing a decent amount on [[abstract:Abstract Wikipedia:Main page|Abstract Wikipedia]] and noticed a few functions that could be added. I've begun implementing these functions, but due to the complex nature of natural language I often need to go back and improve the implementation later. If I were a functioneer, I could do this more easily, as well as connecting implementations once they are ready to be used. {{[[User:GearsDatapacks|GearsDatapacks]]|[[User talk:GearsDatapacks|talk]]|[[Special:Contributions/GearsDatapacks|contribs]]}} 22:52, 27 March 2026 (UTC)
::{{s}}: local contributions are a bit weak but their impactful work on AWP justifies the user group. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:56, 27 March 2026 (UTC)
==Autopatroller==
{{See also|Wikifunctions:Autopatrollers}}
==Administrator==
{{see also|Wikifunctions:Administrators}}
==Interface administrator==
{{see also|Wikifunctions:Interface administrators}}
==Translation administrator==
{{see also|Wikifunctions:Translation administrators}}
==Bureaucrat==
{{see also|Wikifunctions:Bureaucrats}}
== Miscellaneous requests ==
==See also==
* [[Wikifunctions:User groups]]
** [[mw:Help:Wikifunctions/User rights]] for additional context about functioneers, maintainers, sysops, and bureaucrats
[[Category:User groups|*]]
fh1lr569ynkywuufqwshlyinktuujsj
261409
261346
2026-03-28T07:11:48Z
EatingCarBatteries
61191
/* Functioneer */
261409
wikitext
text/x-wiki
{{shortcut|[[WF:RFG]]|[[WF:PERM]]|[[WF:RFUG]]}}
This is the place to request specific user groups:
{{ombox
| image = [[File:Echo user-rights icon.svg|60x60px|alt=|link=]]
| text = '''How to make a request'''
#Edit the section for the user group you wish to request
#Copy the following and ''append'' it to the text-area:
##Requests without required discussion: <code><nowiki>{{subst:rfg|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Functioneer requests (required 48-hour discussion): <code><nowiki>{{subst:rfg|3=1|length=2 days|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
##Requests with required 1-week discussion: <code><nowiki>{{subst:rfg|3=1|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code>
#Replace <code>reason</code> with a rationale based on the guidelines specified for the user group
}}
:''Archived requests can be found at [[Wikifunctions:Requests for user groups/Archive]]''
{{Autoarchive resolved section
|age =1
|archive =((FULLPAGENAME))/Archive/((year))/((month:##))
|level =3
}}
== Functioneer ==
{{see also|Wikifunctions:Functioneers}}
=== Higa4 ===
:{{UL2.0|1=Higa4|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 14:03, 26 March 2026 (UTC)''
:I want to be a functioneer because I'm going to add several functions for Japanese and I hope I can connect for myself to check testcases smoothly. [[User:Higa4|Higa4]] ([[User talk:Higa4|talk]]) 14:03, 24 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:50, 27 March 2026 (UTC)
:{{done}} --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 23:00, 27 March 2026 (UTC)
{{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 23:00, 27 March 2026 (UTC)}}
=== Mormegil ===
:{{UL2.0|1=Mormegil|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 08:50, 27 March 2026 (UTC)''
:I’d like to get the functioneer bit (I’ve had it before when experimenting with Wikifunctions in 2023) to work on a couple of natural language generating functions for Czech. (See the first pieces at [[Z32588]], [[Z32548]].) Thanks. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:50, 25 March 2026 (UTC)
::{{s}}: sufficient contributions, including especially valuable multilingual ones. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:52, 27 March 2026 (UTC)
:{{done}} --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 23:01, 27 March 2026 (UTC)
{{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 23:01, 27 March 2026 (UTC)}}
=== GearsDatapacks ===
:{{UL2.0|1=GearsDatapacks|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:''Discussion open until: 22:52, 29 March 2026 (UTC)''
:I've been contributing a decent amount on [[abstract:Abstract Wikipedia:Main page|Abstract Wikipedia]] and noticed a few functions that could be added. I've begun implementing these functions, but due to the complex nature of natural language I often need to go back and improve the implementation later. If I were a functioneer, I could do this more easily, as well as connecting implementations once they are ready to be used. {{[[User:GearsDatapacks|GearsDatapacks]]|[[User talk:GearsDatapacks|talk]]|[[Special:Contributions/GearsDatapacks|contribs]]}} 22:52, 27 March 2026 (UTC)
::{{s}}: local contributions are a bit weak but their impactful work on AWP justifies the user group. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:56, 27 March 2026 (UTC)
=== EatingCarBatteries ===
:{{UL2.0|1=EatingCarBatteries|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}}
:While I am still new to this game, I feel like I'm picking up creating composition functions fast. I was told to apply for perms in the AW Telegram after creating a sentence-case plural section title function. [[User:EatingCarBatteries|EatingCarBatteries]] ([[User talk:EatingCarBatteries|talk]]) 07:11, 28 March 2026 (UTC)
==Autopatroller==
{{See also|Wikifunctions:Autopatrollers}}
==Administrator==
{{see also|Wikifunctions:Administrators}}
==Interface administrator==
{{see also|Wikifunctions:Interface administrators}}
==Translation administrator==
{{see also|Wikifunctions:Translation administrators}}
==Bureaucrat==
{{see also|Wikifunctions:Bureaucrats}}
== Miscellaneous requests ==
==See also==
* [[Wikifunctions:User groups]]
** [[mw:Help:Wikifunctions/User rights]] for additional context about functioneers, maintainers, sysops, and bureaucrats
[[Category:User groups|*]]
34u3p9okzowk1coevwv7wbu3a7ld7fy
Wikifunctions:Type proposals
4
24480
261184
256484
2026-03-27T12:01:33Z
DVrandecic (WMF)
7
done two more grammatical voices
261184
wikitext
text/x-wiki
{{see also|d:Special:ListDatatypes}}
{{shortcut|[[WF:TP]]}}
This page is to discuss and decide on proposals for new [[WF:types|Types]], and for changing existing ones.
Before proposing, you should familiarize yourself with the [[WF:Function model|Function model]].
Types are currently being created by Wikifunctions staff. Over time these rights will be handed over to the community.
== Proposals for new types to be created ==
=== Implementation in progress ===
=== In discussion ===
* [[WF:type proposals/complex128|complex128]]
* [[WF:type proposals/SI units|SI units]]
* [[WF:type proposals/Unit of measurement|Unit of measurement]]
* [[WF:type proposals/Moment in time|Moment in time]]
* [[WF:type proposals/Julian calendar date|Julian calendar date]]
* [[WF:type proposals/Grapheme|Grapheme]]
* [[WF:type proposals/Wikifunctions object reference|Wikifunctions object reference]]
* [[WF:type proposals/Value with error|Value with error]]
* [[WF:type proposals/configuration of functions for given types|configuration of functions for given types]]
* [[WF:type proposals/Geometrical point|Geometrical point]]
* [[WF:type proposals/Syntactic type|Syntactic type]]
* [[WF:type proposals/Currency|Currency]]
* [[WF:type proposals/Named parameters list|Named parameters list]]
==== Lightweight Wikidata enumerations ====
* [[WF:type proposals/French tenses|French tenses]]
* [[WF:type proposals/French subjects|French subjects]]
* [[WF:type proposals/Timezone|Timezone]]
* [[WF:type proposals/Italian auxiliary verb|Italian auxiliary verb]]
* [[WF:type proposals/Italian simple preposition|Italian simple preposition]]
* [[WF:type proposals/Italian tense|Italian tense]]
* [[WF:type proposals/Unicode General Category|Unicode General Category]]
* [[WF:type proposals/Taxon rank|Taxon rank]]
* [[WF:type proposals/Word order|Word order]]
* [[WF:Type_proposals/IPA_phone_base_glyph|IPA phone]]
* [[WF:Type_proposals/Season|Season]]
* [[WF:Type_proposals/Zodiac sign|Zodiac sign]]
* [[WF:Type_proposals/Simple temporal entity|Simple temporal entity]]
=== Being prepared ===
=== Stalled ===
* [[WF:type proposals/Typed string|Typed string]]
* [[WF:type proposals/Wikidata value|Wikidata value]]
* [[WF:type proposals/Wikidata string-based value|Wikidata string-based value]]
* [[WF:type proposals/bytes|bytes]]
* [[WF:type proposals/Percentage|Percentage]]
=== Something to think about ===
* Symbol and expression (as in a [[w:computer algebra system|computer algebra system]]) - currently no idea yet
* [[WF:type proposals/Alphabet|Alphabet]]
* [[WF:type proposals/Context|Context]]
* [[WF:type proposals/Imperial Units|Imperial Units]]
* months in calendars
** [[WF:type proposals/Bengali month|Bengali month]]
** [[WF:type proposals/Darian month|Darian month]]
** [[WF:type proposals/Hebrew month|Hebrew month]]
** [[WF:type proposals/Hindu month|Hindu month]]
** [[WF:type proposals/Nepali month|Nepali month]]
** [[WF:type proposals/Sindhi month|Sindhi month]]
** [[WF:type proposals/Tamil month|Tamil month]]
* [[WF:type proposals/Multilingual gloss|Multilingual gloss]]
* [[WF:type proposals/Position on Earth|Position on Earth]]
* [[WF:type proposals/URL|URL]]
==== Wikidata integration ====
(These are just the types we will need that are not listed somewhere else)
* Wikidata qualifier
* Wikidata Data type
* Wikidata sitelink
* Unknown value
* Entity schema
==== "Heavy" data ====
Heavy data is those that can be more than 1.5MB (where medium data are between 60KB and 1.5MB). This includes most real-world files (jpg, mp3, pdf, zip, exe) and raw forms of data containing in such files (e.g. 1024*768 RGB image has 2359296 bytes in raw form). Wikifunctions currently have limited support for medium data and little support for heavy data (and neither support file uploading for computation). See [[WF:type proposals/bytes#Uses|bytes § Uses]] for more information.
* Image (raster): basically, a 2D or 3D array of number (though we ''do'' need a type to represent both the array and image mode)
* Audio and signal: basically, one number (sampling rate) and one or more (1D) arrays of number, one per channel (though we ''do'' need a type to represent all of them)
* Video: audio plus series of image
=== Unclear necessity / probably unnecessary ===
* Multidimensional array: can be represented as list of lists, but a dedicated edit interface would be nice (and way to enforce an array not to be jagged)
* Typed tuple: can be represented as nested [[Z882]]
* Set: use list instead
* Multiset: use list instead
* Multimap: use list of [[Z882]] instead (see also simple map [[Z883]])
== Types that have already been Implemented ==
{{main|WF:type}}
* [[WF:type proposals/Grammatical voice (a/m/p)|Grammatical voice (a/m/p)]]
* [[WF:type proposals/Grammatical voice (a/mp)|Grammatical voice (a/mp)]]
* [[WF:type proposals/RGBA color|RGBA color]]
* [[WF:type proposals/Grammatical number (singular/paucal/multal)|Grammatical number (singular/paucal/multal)]]
* [[WF:type proposals/Grammatical definiteness|Grammatical definiteness]]
* [[WF:type proposals/Grammatical voice (a/p)|Grammatical voice (a/p)]]
* [[WF:type proposals/Grammatical affirmation and negation|Grammatical affirmation and negation]]
* [[WF:type proposals/Grammatical cases (n/g/d/a)|Grammatical cases (n/g/d/a)]]
* [[WF:type proposals/Grammatical degree of comparison (p/c/s)|Grammatical degree of comparison (p/c/s)]]
* [[WF:type proposals/Chemical element|Chemical element]]
* [[WF:type proposals/Wikidata based types|Wikidata based types]] as {{Z|Z6001}}, {{Z|Z6002}}, {{Z|Z6003}}, {{Z|Z6004}}, {{Z|Z6005}}
** [[WF:type proposals/Wikidata lexeme senses|Wikidata lexeme senses]] as {{Z|Z6006}}
** [[WF:type proposals/Wikidata time|Wikidata time]] as {{Z|Z6064}}
** [[WF:type proposals/Wikidata quantity|Wikidata quantity]] as {{Z|Z6010}}
** [[WF:type proposals/Wikidata geocoordinates|Wikidata geocoordinates]] as {{Z|Z6011}}
* [[WF:type proposals/Grammatical number (singular/dual/plural)|Grammatical number (singular/dual/plural)]] as {{Z|Z28215}}
* [[WF:type proposals/Breton mutation|Breton mutation]] as {{Z|Z27971}}
* [[WF:type proposals/Grammatical person (1/2/3)|Grammatical person (1/2/3)]] as {{Z|Z27970}}
* [[WF:type proposals/Grammatical gender (a/i)|Grammatical gender (a/i)]] as {{Z|Z26935}}
* [[WF:type proposals/Grammatical number (s/p)|Grammatical number (s/p)]] as {{Z|Z26934}}
* [[WF:type proposals/Hijri calendar month|Hijri calendar month]] as {{Z|Z26582}}
* [[WF:type proposals/Grammatical gender (m/f)|Grammatical gender (m/f)]] as {{Z|Z25340}}
* [[WF:type proposals/Grammatical gender (m/f/n)|Grammatical gender (m/f/n)]] as {{Z|Z25501}}
* [[WF:type proposals/Grammatical gender (c/n)|Grammatical gender (c/n)]] as {{Z|Z25502}}
* [[WF:type proposals/Natural number|Natural number]] as {{Z|Z13518}}
* [[WF:type_proposals/Gregorian calendar month|Gregorian calendar month]] as {{Z|Z16098}}
* [[WF:type proposals/Sign|Sign]] as {{Z|Z16659}}
* [[WF:type proposals/Igbo calendar month|Igbo calendar month]] as {{Z|Z16927}}
* [[WF:type proposals/Integer|Integer]] as {{Z|Z16683}}
* [[WF:type proposals/Day of the week|Day of the week]] as {{Z|Z17402}}
* [[WF:type proposals/Gregorian era|Gregorian era]] as {{Z|Z17813}}
* [[WF:type proposals/Rational number|Rational number]] as {{Z|Z19677}}
* [[WF:type proposals/Gregorian year|Gregorian year]] as {{Z|Z20159}}
* [[WF:type proposals/Day of Roman year|Day of Roman year]] as {{Z|Z20342}}
* [[WF:type proposals/Gregorian calendar date|Gregorian calendar date]] as {{Z|Z20420}}
* [[WF:type proposals/float64|float64]] as {{Z|Z20838}}
* [[WF:type proposals/Kleenean|Kleenean]] as {{Z|Z22112}}
* [[WF:type proposals/Byte|Byte]] as {{Z|Z80}}
* [[WF:type proposals/Unicode codepoint|Unicode codepoint]] as {{Z|Z86}}
== Proposals for changing existing types ==
=== Changes to existing types ===
* ...
== Templates ==
* [[WF:type proposals/(unnamed – new Type)|unnamed – new Type]]
* [[WF:type proposals/(unnamed – new lightweight Wikidata enumeration)|unnamed – new lightweight Wikidata enumeration]]
* [[WF:type proposals/(unnamed – modification of an existing Type)|unnamed – modification of an existing Type]]
[[category:project concept]]
hwl3m104fhiy236z9kp3fp7cuxvymwy
Z14046
0
25858
261226
212570
2026-03-27T14:34:28Z
YoshiRulz
10156
Added Z32804 to the approved list of test cases
261226
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14046"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z1",
"Z17K2": "Z14046K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "element"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Ihe"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Element"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "élément"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z14048",
"Z27673",
"Z32804"
],
"Z8K4": [
"Z14",
"Z14047"
],
"Z8K5": "Z14046"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "element to list"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Ihe iji depụta "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Element zu Liste"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "élément vers liste"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"listify",
"make list from element",
"create list from element",
"list from element",
"object to list",
"unary cons",
"unary prepend",
"singleton list"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "makes a single-element list from the given element"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "na-eme ndepụta otu ihe site na mmewere enyere"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "erstellt anhand des angegebenen Elements eine Liste"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "crée une liste d'un seul élément à partir de l'élément donné"
}
]
}
}
3kepxkdm6y7kwjxkp5tywnj7cc6h8se
261229
261226
2026-03-27T14:51:36Z
YoshiRulz
10156
Removed Z32804 from the approved list of test cases
261229
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14046"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z1",
"Z17K2": "Z14046K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "element"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Ihe"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Element"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "élément"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z14048",
"Z27673"
],
"Z8K4": [
"Z14",
"Z14047"
],
"Z8K5": "Z14046"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "element to list"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Ihe iji depụta "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Element zu Liste"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "élément vers liste"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"listify",
"make list from element",
"create list from element",
"list from element",
"object to list",
"unary cons",
"unary prepend",
"singleton list"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "makes a single-element list from the given element"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "na-eme ndepụta otu ihe site na mmewere enyere"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "erstellt anhand des angegebenen Elements eine Liste"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "crée une liste d'un seul élément à partir de l'élément donné"
}
]
}
}
ef35t5n319abgb73dhpghq0fghx0w3y
Wikifunctions:Cardinal numbers
4
30177
261269
259484
2026-03-27T17:42:28Z
Mormegil
150
+cs, Hindi seems approved
261269
wikitext
text/x-wiki
<languages/>
{{Move|Wikifunctions:Catalogue/Natural language operations/Cardinal numbers|reason=This page is a list of functions, but is outside the catalogue}}
<translate>
<!--T:1-->
We are looking to have functions to create the names of numbers in many different languages. The [[<tvar name="1">Special:MyLanguage/Wikifunctions:Status updates/2024-05-15</tvar>|newsletter from 15 May 2024]] made a Call for Functions!
<!--T:2-->
On this page, we collect and list the existing functions and related objects in order to coordinate the work.
<!--T:3-->
The functions take as input a [[<tvar name="1">Z13518</tvar>|natural number]] and return a [[<tvar name="2">Z6</tvar>|string]]. There can be more than one function per language.
== Languages covered == <!--T:4-->
<!--T:5-->
There are <tvar name=num>{{FORMATNUM:27}}</tvar> so far.
</translate>
{| class="wikitable sortable"
|+ <translate><!--T:6--> functions by [[<tvar name="1">Special:ListObjectsByType/Z60</tvar>|language]]</translate>
|-
! <translate><!--T:7--> Language</translate> !! <translate><!--T:8--> Function</translate> !! <translate><!--T:9--> Tested</translate> !! <translate><!--T:10--> Implemented</translate> !! <translate><!--T:11--> Planning</translate>
|-
| {{z|Z1002}} || {{z|Z13587}} || ✅ || ✅ || [[WF:human languages/Z1002#natural number|WF:HL]]
|-
| {{z|Z1004}} || {{z|Z16093}} || ✅ || ✅ || [[WF:human languages/Z1004#natural number|WF:HL]]
|-
| {{z|Z1011}} || {{z|Z16150}} || ✅ || ✅ || [[WF:human languages/Z1011#natural number|WF:HL]]
|-
| {{z|Z1014}} || {{z|Z16053}} || ✅ || ✅ || [[WF:human languages/Z1014#natural number|WF:HL]]
|-
| {{z|Z1025}} || {{z|Z15965}} || ✅ || ✅ || [[WF:human languages/Z1025#natural number|WF:HL]]
|-
| {{z|Z1045}} || {{z|Z16172}} || ✅ || ✅ || [[WF:human languages/Z1045#natural number|WF:HL]]
|-
| {{z|Z1062}} || {{z|Z32780}} || ✅ || ⛓️💥 || [[WF:human languages/Z1062#natural number|WF:HL]]
|-
| {{z|Z1146}} || {{z|Z16163}} || ✅ || ✅ || [[WF:human languages/Z1146#natural number|WF:HL]]
|-
| {{z|Z1272}} || {{z|Z16085}} || ✅ || ✅ || [[WF:human languages/Z1272#natural number|WF:HL]]
|-
| {{z|Z1332}} || {{z|Z15953}} || ✅ || ✅ || [[WF:human languages/Z1332#natural number|WF:HL]]
|-
| {{z|Z1430}} || {{z|Z15963}} || ✅ || ✅ || [[WF:human languages/Z1430#natural number|WF:HL]]
|-
| {{z|Z1531}} || {{z|Z15567}} || ✅ || ✅ || [[WF:human languages/Z1531#natural number|WF:HL]]
|-
| {{z|Z1534}} || {{z|Z16185}} || ✅ || ✅ || [[WF:human languages/Z1534#natural number|WF:HL]]
|-
| {{z|Z1592}} || {{z|Z16008}} || ❌ || ✅ || [[WF:human languages/Z1592#natural number|WF:HL]]
|-
| {{z|Z1624}} || {{z|Z16184}} || ✅ || ✅ || [[WF:human languages/Z1624#natural number|WF:HL]]
|-
| {{z|Z1882}} || {{z|Z16313}} || ✅ || ❌ || [[WF:human languages/Z1882#natural number|WF:HL]]
|-
| {{z|Z1381}} || {{z|Z16398}} || ❌ || ❌ || [[WF:human languages/Z1381#natural number|WF:HL]]
|-
| {{z|Z1003}} || {{z|Z16431}} || ✅ || ✅ || [[WF:human languages/Z1003#natural number|WF:HL]]
|-
| {{z|Z1472}} || {{z|Z16443}} || ✅ || ✅ || [[WF:human languages/Z1003#natural number|WF:HL]]
|-
| {{z|Z1099}} || {{z|Z16409}} || ✅ || ✅ || [[WF:human languages/Z1099#natural number|WF:HL]]
|-
| {{z|Z1282}} || {{z|Z16608}} || ✅ || ✅ || [[WF:human languages/Z1381#natural number|WF:HL]]
|-
| {{Z|Z1820}} || {{Z|Z19334}} || ✅ || ✅ || [[WF:human languages/Z1820#natural number|WF:HL]]
|-
| {{z|Z1012}} || {{z|Z19484}} || ✅ || ✅ || [[WF:human languages/Z1012#natural number|WF:HL]]
|-
| {{Z|Z1787}} || {{Z|Z23003}} || ✅ || ✅ || [[WF:human languages/Z1787#natural number|WF:HL]]
|-
| {{Z|Z1158}} || {{Z|Z24618}} || ✅ || ✅ || [[WF:human languages/Z1158#natural number|WF:HL]]
|-
| {{Z|Z1078}} || {{Z|Z18546}} || ✅ || ✅ || [[WF:human languages/Z1078#natural number|WF:HL]]
|-
| {{Z|Z1762}} || {{Z|Z22455}} || ✅ || ✅ || [[WF:human languages/Z1762#natural number|WF:HL]]
|}
<translate>
== See also == <!--T:12-->
</translate>
* {{Z|Z16435}}
* {{Z+|Z16437}}
* {{Z|Z14526}}
anmcfxt19c0ajn0yflndjxuzrnujlzu
Wikifunctions:Catalogue/String operations
4
41922
261483
259915
2026-03-28T11:26:56Z
EJPPhilippines
9359
/* Other transformations */
261483
wikitext
text/x-wiki
[[File:Wikifunctions-logo-string-operations.svg|200px|right]]
{{see also|WF:Catalogue/Character operations}}
== Strings ==
These are functions that deal with {{Z+|Z6}}
=== String evaluation operations ===
These functions perform simple tests on a text string to tell you if something else needs to be done, or they already are in an expected format.
* {{Z+|Z11040}}
* {{Z+|Z17036}}
* {{Z+|Z17030}}
* {{Z+|Z10008}}
* {{Z+|Z24331}}
* {{Z+|Z10083}}
* {{Z+|Z10715}}
** {{Z+|Z28182}}
* {{Z+|Z10336}}
* {{Z+|Z11349}}
* {{Z+|Z10346}}
* {{Z+|Z11383}}
* {{Z+|Z10375}}
* {{Z+|Z10363}}
* {{Z+|Z10897}}
* {{Z+|Z10324}}
* {{Z+|Z25592}}
* {{Z+|Z11082}}
** {{Z+|Z32556}}
* {{Z+|Z11678}}
* {{Z+|Z11684}}
* {{Z+|Z12626}}
* {{Z+|Z10096}}
* {{Z+|Z19170}}
* {{Z+|Z19191}}
* {{Z+|Z19217}}
* {{Z+|Z25847}}
=== String comparison operations ===
* {{Z+|Z866}}
* {{Z+|Z10539}}
* {{Z+|Z10379}}
* {{Z+|Z10070}}
* {{Z+|Z14450}}
* {{Z+|Z31826}}
** {{Z+|Z31268}}
* {{Z+|Z10615}}
* {{Z+|Z10618}}
* {{Z+|Z11690}}
* {{Z+|Z11519}}
* {{Z+|Z11693}}
* {{Z+|Z14483}}
* {{Z+|Z13119}}
* {{Z+|Z10973}}
* {{Z+|Z11573}}
*{{Z+|Z13482}}
*{{Z+|Z14083}}
* {{Z+|Z19177}}
* {{Z+|Z11328}}
* {{Z+|Z10393}}
=== String discard functions ===
* {{Z+|Z11410}}
* {{Z+|Z11412}}
* {{Z+|Z11418}}
* {{Z+|Z11420}}
* {{Z+|Z11414}}
* {{Z+|Z11416}}
* {{Z+|Z11422}}
* {{Z+|Z11424}}
* {{Z+|Z31955}}
** {{Z+|Z31880}}
* {{Z+|Z11170}}
==== String character discard functions ====
These reduce a string by discarding certain characters.
* {{Z+|Z10052}}
* {{Z+|Z10079}}
** {{Z+|Z10084}}
** {{Z+|Z10095}}
* {{Z+|Z11531}}
* {{Z+|Z14119}}
* {{Z+|Z11193}}
* {{Z+|Z31145}}
** {{Z+|Z32065}}
** {{Z+|Z10901}}
* {{Z+|Z31845}}
** {{Z+|Z11060}}
* {{Z+|Z14456}}
* {{Z+|Z11879}}
* {{Z+|Z26414}}
* {{Z+|Z15996}}
* {{Z+|Z14460}}
* {{Z+|Z14636}}
* {{Z+|Z24472}}
** {{Z+|Z14244}}
* {{Z+|Z28630}}
** {{Z+|Z14592}}
* {{Z+|Z29506}}
* {{Z+|Z22344}}
* {{Z+|Z14463}}
* {{Z+|Z14494}}
* {{Z+|Z10171}}
* {{Z+|Z14515}}
* {{Z+|Z14520}}
* {{Z+|Z11102}}
** {{Z+|Z19185}}
* {{Z+|Z22507}}
=== Simple String transformations ===
These perform character replacements and other basic operations.
==== Add suffix ====
* {{Z+|Z27528}}
* {{Z+|Z27529}}
==== Replace suffix ====
* {{Z+|Z27159}}
* {{Z+|Z11178}}
* {{Z+|Z18092}}
* {{Z+|Z18026}}
* {{Z+|Z17827}}
* {{Z+|Z17915}}
* {{Z+|Z17918}}
* {{Z+|Z27517}}
* {{Z+|Z27522}}
* {{Z+|Z27525}}
* {{Z+|Z27534}}
* {{Z+|Z27535}}
* {{Z+|Z27536}}
* {{Z+|Z27537}}
* {{Z+|Z27546}}
==== Add string suffix if not already present ====
* {{Z+|Z17973}}
* {{Z+|Z18066}}
* {{Z+|Z18050}}
* {{Z+|Z18042}}
* {{Z+|Z18039}}
* {{Z+|Z18036}}
* {{Z+|Z18020}}
* {{Z+|Z18017}}
* {{Z+|Z17952}}
* {{Z+|Z17942}}
* {{Z+|Z17939}}
* {{Z+|Z17749}}
* {{Z+|Z17904}}
* {{Z+|Z17948}}
* {{Z+|Z17791}}
==== Other transformations ====
* {{Z+|Z10000}}
** {{Z+|Z27182}}
** {{Z+|Z21394}}
** {{Z+|Z12899}}
** {{Z+|Z22504}}
** {{Z+|Z22514}}
** {{Z+|Z27385}}
** {{Z+|Z19654}}
* {{Z+|Z22699}}
* {{Z+|Z10012}}
* {{Z+|Z10075}}
* {{Z+|Z14613}}
* {{Z+|Z11145}}
* {{Z+|Z11151}}
* {{Z+|Z10753}}
** {{Z+|Z12624}}
** {{Z+|Z10911}}
* {{Z+|Z25829}}
** {{Z+|Z25833}}
** {{Z+|Z25853}}
* {{Z+|Z12316}}
* {{Z+|Z10193}}
** {{Z+|Z29153}}
** {{Z+|Z29890}}
* {{Z+|Z18898}}
* {{Z+|Z10251}}
* {{Z+|Z10290}}
* {{Z+|Z10816}}
* {{Z+|Z10281}}
* {{Z+|Z10366}}
* {{Z+|Z10373}}
* {{Z+|Z10761}}
* {{Z+|Z10774}}
* {{Z+|Z10944}}
* {{Z+|Z10956}}
* {{Z+|Z10309}}
* {{Z+|Z10970}}
* {{Z+|Z13060}}
* {{Z+|Z22717}}
* {{Z+|Z25614}}
* {{Z+|Z27053}}
* {{Z+|Z32085}}
==== Color operations ====
* {{Z+|Z12997}}
* {{Z+|Z13017}}
* {{Z+|Z17664}}
* {{z+|Z17687}}
* {{Z+|Z17713}}
* {{Z+|Z13023}}
* {{Z+|Z13028}}
* {{Z+|Z18184}}
* {{Z+|Z18189}}
* {{Z+|Z18196}}
* {{Z+|Z18204}}
* {{Z+|Z18208}}
* {{Z+|Z18212}}
* {{Z+|Z18263}}
* {{Z+|Z18268}}
* {{Z+|Z18296}}
* {{Z+|Z18300}}
====String presentation transformations====
* {{Z+|Z10018}}
* {{Z+|Z10047}}
* {{Z+|Z19612}}
* {{Z+|Z11484}}
* {{Z+|Z11490}}
* {{Z+|Z13473}}
* {{Z+|Z14770}}
* {{Z+|Z10108}}
* {{Z+|Z22511}}
* {{Z+|Z31471}}
=== Uncommon String operations ===
These functions perform more advanced transformations, hold more states and showcase the more advanced capabilities of Wikifunctions.
* {{Z+|Z11492}}
* {{Z+|Z11501}}
=== Cryptography ===
==== Caesar cipher ====
(alphabet needs to be specified when calling these functions)
* {{Z+|Z12812}}
* {{Z+|Z10846}}
* {{Z+|Z10627}} [[:en:ROT13|ROT13 encrypt/decrypt]]
* {{Z+|Z10851}}
* {{Z+|Z17530}}
* {{Z+|Z17526}}
* {{Z+|Z20669}}
* {{Z+|Z23869}}
==== Substitution ciphers ====
* {{Z+|Z22725}}
* {{Z+|Z22728}}
==== Vigenère cipher ====
* {{Z+|Z23848}}
* {{Z+|Z23851}}
* {{Z+|Z23953}}
* {{Z+|Z23956}}
==== Cryptographic hash functions ====
(would be better with types representing a stream of bytes)
* {{Z+|Z10148}} [[wikidata:Q47476577|SHA-1]]
* {{Z+|Z10124}} [[wikidata:Q47465971|SHA-256]]
* {{Z+|Z10132}} [[wikidata:Q47465971|SHA-384]]
* {{Z+|Z10067}} [[wikidata:Q47465971|SHA-512]]
=== Experimental String operations ===
TODO: Explain why these exist and when people might use them.
* {{Z+|Z10022}}
* {{Z+|Z11003}}
* {{Z+|Z11007}}
* {{Z+|Z14189}}
* {{Z+|Z14195}}
* {{Z+|Z10057}}
* {{Z+|Z10062}} (needed to demonstrate base64 encode/decode examples)
* {{Z+|Z12941}}
=== Wikitext and Mediawiki string operations ===
* {{Z+|Z11019}}
* {{Z+|Z11139}}
* {{Z+|Z10919}}
* {{Z+|Z11156}}
* {{Z+|Z17954}}
* {{Z+|Z17956}}
=== Comma-separated operations ===
* {{Z+|Z11094}}
== HTML fragments ==
See [[Wikifunctions:Catalogue/Programming functions#HTML fragments]]
[[Category:Lists of functions]]
0lcgobcdasuyqkygmdnpi4ba4czlyr7
Wikifunctions:Catalogue/Natural language operations
4
41925
261477
261103
2026-03-28T11:08:15Z
EJPPhilippines
9359
/* Individual languages */ Add Hebrew and Portuguese
261477
wikitext
text/x-wiki
[[File:Wikifunctions-logo-natural-language.svg|200px|right]]
See context in [[m:Special:MyLanguage/Abstract_Wikipedia/Updates/2023-09-08|m:Abstract Wikipedia/Updates/2023-09-08]].
== Global ==
* [[Wikifunctions:Catalogue/Natural language operations/Global language functions|Global language functions]]
* [[Wikifunctions:Catalogue/Lightweight_Wikidata_enumeration_operations#Natural_language_features|Enumerations of language features]] (gender/case, plurality, tense, etc.)
== Function categories ==
* [[Wikifunctions:Cardinal numbers|Cardinal numbers]]
== Individual languages ==
<div style="column-width: 244px;">
* [[Wikifunctions:Catalogue/Natural language operations/Arabic|Arabic]]
* [[Wikifunctions:Catalogue/Natural language operations/Armenian|Armenian]]
* [[Wikifunctions:Catalogue/Natural language operations/Bangla|Bangla]]
* [[Wikifunctions:Catalogue/Natural language operations/Basque|Basque]]
* [[Wikifunctions:Catalogue/Natural language operations/Brahui|Brahui]]
* [[Wikifunctions:Catalogue/Natural language operations/Breton|Breton]]
* [[Wikifunctions:Catalogue/Natural language operations/Cantonese - Simplified Han script|Cantonese - Simplified Han script]]
* [[Wikifunctions:Catalogue/Natural language operations/Cantonese - Traditional Han script|Cantonese - Traditional Han script]]
* [[Wikifunctions:Catalogue/Natural language operations/Church Slavonic|Church Slavonic]]
* [[Wikifunctions:Catalogue/Natural language operations/Croatian|Croatian]]
* [[Wikifunctions:Catalogue/Natural language operations/Czech|Czech]]
* [[Wikifunctions:Catalogue/Natural language operations/Dagbani|Dagbani]]
* [[Wikifunctions:Catalogue/Natural language operations/Dutch|Dutch]]
* [[Wikifunctions:Catalogue/Natural language operations/English|English]]
* [[Wikifunctions:Catalogue/Natural language operations/Esperanto|Esperanto]]
* [[Wikifunctions:Catalogue/Natural language operations/Finnish|Finnish]]
* [[Wikifunctions:Catalogue/Natural language operations/French|French]]
* [[Wikifunctions:Catalogue/Natural language operations/German|German]]
* [[Wikifunctions:Catalogue/Natural language operations/Hebrew|Hebrew]]
* [[Wikifunctions:Catalogue/Natural language operations/Hindi|Hindi]]
* [[Wikifunctions:Catalogue/Natural language operations/Hindustani|Hindustani]]
* [[Wikifunctions:Catalogue/Natural language operations/Hungarian|Hungarian]]
* [[Wikifunctions:Catalogue/Natural language operations/Igbo|Igbo]]
* [[Wikifunctions:Catalogue/Natural language operations/Indonesian|Indonesian]]
* [[Wikifunctions:Catalogue/Natural language operations/Italian|Italian]]
* [[Wikifunctions:Catalogue/Natural language operations/Japanese|Japanese]]
* [[Wikifunctions:Catalogue/Natural language operations/Korean|Korean]]
* [[Wikifunctions:Catalogue/Natural language operations/Klingon|Klingon]]
* [[Wikifunctions:Catalogue/Natural language operations/Kurdish|Kurdish]]
* [[Wikifunctions:Catalogue/Natural language operations/Latin|Latin]]
* [[Wikifunctions:Catalogue/Natural language operations/Low German|Low German]]
* [[Wikifunctions:Catalogue/Natural language operations/Luxembourgish|Luxembourgish]]
* [[Wikifunctions:Catalogue/Natural language operations/Malay|Malay]]
* [[Wikifunctions:Catalogue/Natural language operations/Malayalam|Malayalam]]
* [[Wikifunctions:Catalogue/Natural language operations/Mandarin - Simplified Han script|Mandarin - Simplified Han script]]
* [[Wikifunctions:Catalogue/Natural language operations/Moroccan Arabic|Moroccan Arabic]]
* [[Wikifunctions:Catalogue/Natural language operations/New Persian|New Persian]]
* [[Wikifunctions:Catalogue/Natural language operations/Old Church Slavonic|Old Church Slavonic]]
* [[Wikifunctions:Catalogue/Natural language operations/Polish|Polish]]
* [[Wikifunctions:Catalogue/Natural language operations/Portuguese|Portuguese]]
* [[Wikifunctions:Catalogue/Natural language operations/Punjabi|Punjabi]]
* [[Wikifunctions:Catalogue/Natural language operations/Quechua|Quechua]]
* [[Wikifunctions:Catalogue/Natural language operations/Rohingya|Rohingya]]
* [[Wikifunctions:Catalogue/Natural language operations/Russian|Russian]]
* [[Wikifunctions:Catalogue/Natural language operations/Scottish Gaelic|Scottish Gaelic]]
* [[Wikifunctions:Catalogue/Natural language operations/Serbian|Serbian]]
* [[Wikifunctions:Catalogue/Natural language operations/Sindhi|Sindhi]]
* [[Wikifunctions:Catalogue/Natural language operations/Spanish|Spanish]]
* [[Wikifunctions:Catalogue/Natural language operations/Swedish|Swedish]]
* [[Wikifunctions:Catalogue/Natural language operations/Tagalog|Tagalog]]
* [[Wikifunctions:Catalogue/Natural language operations/Toki Pona|Toki Pona]]
* [[Wikifunctions:Catalogue/Natural language operations/Turkish|Turkish]]
* [[Wikifunctions:Catalogue/Natural language operations/Ukrainian|Ukrainian]]
* [[Wikifunctions:Catalogue/Natural language operations/Uzbek|Uzbek]]
</div>
== Dos and don'ts ==
;Do
* Create wrappers and helper functions to reduce the complexity of individual compositions
* Do cooperate with other members of the community
* Do use Wikidata item references as input on the top NLG functions to enable Abstract Wikipedia content to use them.
;Don't
* Use {{z|Z6095}} as input or output for NLG functions (use {{z|Z6005}} instead)
== See also ==
*[[Wikifunctions:Human languages]], for a list of languages sorted by language families and classification
[[Category:Lists of functions]]
[[Category:Natural languages]]
niip8nlf31tow6vqst5h4x2ra1snnze
Wikifunctions:Catalogue/Natural language operations/Global language functions
4
41926
261458
259300
2026-03-28T10:47:43Z
EJPPhilippines
9359
261458
wikitext
text/x-wiki
See also the [[Wikifunctions:Catalogue/Wikidata operations|Wikidata operations]], particularly for Lexemes, Senses, and Forms.
== Sentence and fragment generation ==
{{main|WF:NLG functions}}
{{see also|WF:Abstract Wikipedia/2025 fragment experiments}}
* {{Z+|Z26039}}
* {{Z+|Z26095}}
* {{Z+|Z26627}}
* {{Z+|Z28797}}
* {{Z+|Z28803}}
* {{Z+|Z29743}}
* {{Z+|Z31405}}
* {{Z+|Z32321}}
* {{Z+|Z32208}}
** {{Z+|Z32204}}
* {{Z+|Z32229}}
* {{Z+|Z32283}}
** {{Z+|Z32308}}
* {{Z+|Z32276}}
* {{Z+|Z32297}}
* {{Z+|Z32326}}
=== Cross-lingual sentence creation ===
* {{Z+|Z22664}}
* {{Z+|Z26955}}
* {{Z+|Z27137}}
* {{Z+|Z27885}}
** {{Z+|Z30159}}
* {{Z+|Z28254}}
=== Helpers ===
;Genders
* {{z+|Z26676}}
* {{z+|Z30539}}
* {{z+|Z28089}}
* {{z+|Z26745}}
* {{z+|Z23067}}
* {{z+|Z26364}}
* {{z+|Z25754}}
* {{z+|Z20616}}
== Numbers ==
* {{Z+|Z16437}}
* {{Z+|Z26829}}
== Natural language ==
* {{Z+|Z860}}
* {{Z+|Z29958}}
** {{Z+|Z29649}}
* {{Z+|Z14326}}
* {{Z+|Z14321}}
** {{Z+|Z29750}}
* {{Z+|Z24097}}
* {{Z+|Z28282}}
* {{Z+|Z29654}}
* {{Z+|Z30043}}
== Monolingual text and stringset ==
* {{Z+|Z14392}}
* {{Z+|Z12877}}
* {{Z+|Z14396}}
** {{Z+|Z21583}}
** {{Z+|Z29749}}
* {{Z+|Z19254}}
* {{Z+|Z19279}}
* {{Z+|Z23236}}
* {{Z+|Z26107}}
** {{Z+|Z861}}
== Multilingual text and stringset ==
* {{Z+|Z19312}}
* {{Z+|Z19254}}
* {{Z+|Z19272}}
* {{Z+|Z19279}}
* {{Z+|Z23236}}
* {{Z+|Z27893}}
** {{Z+|Z27905}}
== Select a language and language configurator ==
* {{Z+|Z14310}}
* {{Z+|Z14311}}
* {{Z+|Z14548}}
* {{Z+|Z23156}}
* {{Z+|Z23159}}
* {{Z+|Z23143}}
[[Category:Lists of functions]]
te3wl4xgr5tcj9gejq18akowu7oznwh
Wikifunctions:Catalogue/Natural language operations/English
4
41934
261460
231707
2026-03-28T10:48:55Z
EJPPhilippines
9359
/* Sentence and fragment generation */
261460
wikitext
text/x-wiki
== Sentence and fragment generation ==
* {{Z+|Z26088}}
* {{Z+|Z23410}}
* {{Z+|Z21765}}
* {{Z+|Z26570}}
* {{Z+|Z20597}}
* {{Z+|Z28784}}
* {{Z+|Z32199}}
* {{Z+|Z32230}}
* {{Z+|Z32244}}
* {{Z+|Z32249}}
== Verbs ==
* {{Z+|Z24676}}
* {{Z+|Z24687}}
== Morphology ==
=== Possessives ===
* {{Z+|Z11302}}
* {{Z+|Z19125}}
=== Grammatical Number ===
* {{Z+|Z11089}}
* {{Z+|Z11218}}
* {{Z+|Z13177}}
* {{Z+|Z22490}}
=== Other ===
* {{Z+|Z21739}}
* {{Z+|Z11390}}
* {{Z+|Z11646}}
* {{Z+|Z11795}}
* {{Z+|Z12203}}
** {{Z+|Z29851}}
*** {{Z+|Z29852}}
* {{Z+|Z13087}}
* {{Z+|Z13280}}
* {{Z+|Z13262}}
* {{Z+|Z13254}}
== Numbers ==
* {{Z+|Z13587}}
* {{Z+|Z14526}}
* {{Z+|Z13596}}
* {{Z+|Z14726}}
* {{Z+|Z14531}}
* {{Z+|Z14523}}
== Other ==
* {{Z+|Z23827}}
* {{Z+|Z18852}}
* {{Z+|Z18859}}
[[Category:Lists of functions]]
[[Category:English]]
phc7mkl6x7vo50496ds7srte2dqgw1b
Wikifunctions:Catalogue/Natural language operations/French
4
41937
261464
258414
2026-03-28T11:00:00Z
EJPPhilippines
9359
Reorganize sections and add Z32371
261464
wikitext
text/x-wiki
==Sentence and fragment generation==
* {{Z+|Z26562}}
* {{Z+|Z32166}}
* {{Z+|Z32371}}
==Morphology==
===Nouns===
* {{Z+|Z11548}}
* {{Z+|Z22281}} [WIP, the output is currently a boolean and don't deal with complex case, like nouns with multiple genders)
===Verbs===
====Verb groups====
* {{Z+|Z12436}}
* {{Z+|Z12439}}
* {{Z+|Z12440}}
====Verb conjugation====
* {{Z+|Z21599}}
* {{Z+|Z21617}}
* {{Z+|Z21624}}
* {{Z+|Z21632}}
===Adjectives and adverbs===
* {{Z+|Z11590}}
* {{Z+|Z11589}}
===Articles and determiners===
* {{Z+|Z32169}}
==Numbers==
* {{Z+|Z16093}}
[[Category:Lists of functions]]
[[Category:French]]
hlmiik7qt3kj1xu5ontya5zvnnv60zb
Wikifunctions:Catalogue/Natural language operations/Japanese
4
41942
261468
256830
2026-03-28T11:03:42Z
EJPPhilippines
9359
261468
wikitext
text/x-wiki
* {{Z+|Z10878}}
* {{Z+|Z10883}}
* {{Z+|Z10927}}
* {{Z+|Z32355}}
[[Category:Lists of functions]]
[[Category:Japanese]]
3oxym7i1ui8gsjlhks7644qpzzg79cl
Wikifunctions:Catalogue/List operations
4
41955
261457
256265
2026-03-28T10:44:57Z
EJPPhilippines
9359
/* Basic list/iterable functions */
261457
wikitext
text/x-wiki
* {{Z+|Z881}}
== Basic list/iterable functions ==
* {{Z+|Z18636}}
* {{Z+|Z12681}}
** {{Z+|Z31612}}
** {{Z+|Z31605}}
* {{Z+|Z31592}}
* {{Z+|Z889}}
** {{Z+|Z18646}}
** {{Z+|Z30692}}
* {{Z+|Z811}}
** {{Z+|Z22839}}
* {{Z+|Z29446}}
* {{Z+|Z16360}}
* {{Z+|Z12964}}
* {{Z+|Z813}}
* {{Z+|Z23120}}
** {{Z+|Z30075}}
* {{Z+|Z12696}}
* {{Z+|Z31294}}
** {{Z+|Z21613}}
** {{Z+|Z28715}}
* {{Z+|Z31763}}
** {{Z+|Z31758}}
* {{Z+|Z31600}}
* {{Z+|Z12684}}
* {{Z+|Z12735}}
* {{Z+|Z12698}}
* {{Z+|Z12738}}
* {{Z+|Z27685}}
* {{Z+|Z30164}}
** {{Z+|Z12755}}
** {{Z+|Z32302}}
** {{Z+|Z12759}}
** {{Z+|Z21212}}
** {{Z+|Z12851}}
*** {{Z+|Z12864}}
*** {{Z+|Z13310}}
* {{Z+|Z13708}}
* {{Z+|Z13397}}
* {{Z+|Z26904}}
* {{Z+|Z29413}}
* {{Z+|Z29429}}
* {{Z+|Z31818}}
== Complex list/iterable functions ==
* {{Z+|Z12741}}
* {{Z+|Z12846}}
* {{Z+|Z13752}}
* {{Z+|Z22874}}
* {{Z+|Z31575}}
** {{Z+|Z31583}}
* {{Z+|Z30975}}
** {{Z+|Z30977}}
** {{Z+|Z31002}}
* {{Z+|Z30976}}
** {{Z+|Z30978}}
** {{Z+|Z31003}}
* {{Z+|Z31013}}
** {{Z+|Z31019}}
** {{Z+|Z10393}}
** {{Z+|Z31026}}
* {{Z+|Z19536}}
* {{Z+|Z29286}}
* {{Z+|Z29324}}
* {{Z+|Z29409}}
== Linear Algebra ==
Since we don't have specific types for vectors or matrices, vectors are represented as a list and matrices as a list of lists (to be interpreted as a list of rows).
* {{Z+|Z31587}}
** {{Z+|Z31585}}
* {{Z+|Z17670}}
* {{Z+|Z17675}}
* {{Z+|Z20659}}
* {{Z+|Z21903}}
=== Rational vector operations ===
* {{Z+|Z24166}}
* {{Z+|Z24055}}
* {{Z+|Z24060}}
* {{Z+|Z24185}}
* {{Z+|Z24285}}
* {{Z+|Z24342}}
* {{Z+|Z24346}}
=== Rational matrix operations ===
Lists of lists don't work, so expect most of these functions to be unusable.
* {{Z+|Z24291}} (useful for creating 1x1 matrixes)
* {{Z+|Z24251}}
* {{Z+|Z24290}}
* {{Z+|Z30282}}
* {{Z+|Z24171}}
* {{Z+|Z24176}}
* {{Z+|Z24162}}
* {{Z+|Z24436}}
* {{Z+|Z24239}}
* {{Z+|Z24299}}
* {{Z+|Z31747}}
* {{Z+|Z31749}}
* {{Z+|Z31752}}
=== Rational matrixes and vectors operations ===
* {{Z+|Z24177}}
* {{Z+|Z24182}}
* {{Z+|Z24191}}
* {{Z+|Z24236}}
* {{Z+|Z29308}}
== Functions expecting a list argument ==
* {{Z+|Z15142}}
* [[Special:Search/: "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1"|Complete list of functions]]
** [[Special:Search/: "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1" !"Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z1"| Functions specifying a “properly typed” list argument]]
** [[Special:Search/: "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z1"|Functions not specifying the type for their list argument (Z1-typed or “untyped”)]]
== Functions with list outputs ==
*[[Special:Search/: "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1"|Complete list of functions]]
**[[Special:Search/: "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1" !"Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z1|Functions specifying a “properly typed” output list]]
**[[Special:Search/: "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z1"|Functions not specifying the type for the output list (Z1-typed or “untyped”)]]
# If a function specifies an output list with a type other than [[Z1]] (that is, it specifies a "properly typed" list), mismatched elements cause an error if the implementation is in code.
# If all objects in an output list have the same type, the list takes that type instead of being Z1-typed. This only happens if the implementation is in code. For compositions, you can use {{Z|Z18475}} to get the same result.
#If a code implementation needs custom-converted objects (provided by a {{Z|Z46}}), any list input must be properly typed (objects in a Z1-typed list are not converted). Similarly, any list output must be properly typed (not [[Z1]] in the function specification) or else conversion into a Wikifunctions object will fail.
#If a code implementation does not need converted objects, you can use {{Z|Z28691}} to convert a properly typed list to Z1-typed (but this is [[Wikifunctions:Project_chat/Archive/2024/07#Typed_lists_now_open_beyond_Booleans_and_Strings|not officially supported]]). (The list will remain properly typed if there are no custom converters to code. Use {{Z|Z17895}} to make the list Z1-typed unconditionally.)
* {{Z+|Z18475}}
** {{Z+|Z24855}}
** {{Z+|Z24849}}
* {{Z+|Z28691}}
* {{Z+|Z17895}}
* {{Z+|Z18729}}
* {{Z+|Z18759}}
** {{Z|Z18479}}
** {{Z|Z12668}}
** {{Z|Z17770}}
** {{Z|Z17774}}
** {{Z|Z17778}}
* {{Z+|Z21821}}
** {{Z+|Z24387}}
** {{Z+|Z23921}}
* {{Z+|Z24382}}
* {{Z+|Z21389}}
** {{Z+|Z14046}}
* {{Z+|Z12961}}
** {{Z|Z18597}}
** {{Z|Z18276}}
** {{Z|Z24150}}
*** {{Z|Z24655}}
* {{Z+|Z31345}}
** {{Z+|Z31340}}
* {{Z+|Z31369}}
* {{Z+|Z31364}}
* {{Z+|Z12967}}
** {{Z|Z18284}}
* {{Z+|Z13366}}
* {{Z+|Z13369}}
** {{Z+|Z31874}}
* {{Z+|Z13373}}
* {{Z+|Z13429}}
* {{Z+|Z13362}}
* {{Z+|Z26556}}
* {{Z+|Z24203}}
* {{Z+|Z31355}}
** {{Z+|Z25526}}
** {{Z+|Z22179}}
* {{Z+|Z12767}}
** {{Z|Z27665}}
** {{Z|Z18755}}
** {{Z|Z18288}}
** {{Z+|Z31721}}
* {{Z+|Z12676}}
** {{Z|Z23606}}
* {{Z+|Z29795}}
* {{Z+|Z13155}}
* {{Z+|Z13224}}
* {{Z+|Z13247}}
* {{Z+|Z12856}}
* {{Z+|Z13081}}
** {{Z|Z18291}}
* {{Z+|Z13078}}
**{{Z|Z19202}}
**{{Z|Z19205}}
* {{Z+|Z22865}}
* {{Z+|Z29725}}
* Sort ascending
** {{Z+|Z27612}}
** {{Z+|Z19510}}
** {{Z|Z17869}}
** {{Z|Z17873}}
** {{Z|Z12671}}
** {{Z|Z18281}}
* {{Z+|Z17670}}
* {{Z+|Z17675}}
* {{Z+|Z27413}}
* {{Z+|Z28316}}
* {{Z+|Z29400}}
** {{Z+|Z31809}}
** {{Z+|Z28735}}
* {{Z+|Z18194}}
* {{Z+|Z21809}}
== In-built functions with list outputs ==
These operate on object-typed lists, so may not need a different version for each type. However, code implementations cannot currently generate lists of objects (other than string/boolean). So code implementations will not work on these functions.
* {{Z+|Z873}}
**{{Z+|Z24846}}
* {{Z+|Z872}}
** {{Z+|Z24849}}
* {{Z|Z876}} (actually left-associative ''fold'')
** {{Z|Z12781}} (actually left-associative ''reduce'')
*** {{Z|Z20089}} w/ initial empty check
** {{Z|Z12753}} (actually right-associative ''reduce'')
* {{Z+|Z810}}
* {{Z+|Z812}}
[[Category:Lists of functions]]
qo9841wysfhm37ecsx52pl1n91ce1c9
Z19654
0
42367
261275
183554
2026-03-27T18:28:19Z
YoshiRulz
10156
Fix typo in en desc
261275
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19654"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z19654K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "String"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "Un chaine"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z19654K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Every N chars"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "L’intervalle n"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z19654K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "String to add"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "La chaine à insérer"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z19656",
"Z20583"
],
"Z8K4": [
"Z14",
"Z19655",
"Z24314"
],
"Z8K5": "Z19654"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Add chars every n chars"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "insérer un caractère tous les n caractères"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Broader version of Z19645"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "Version plus générique de Z19643."
}
]
}
}
m7q4tswijev4gg054e3jzv9gltt3yne
261276
261275
2026-03-27T18:28:26Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
261276
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19654"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z19654K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "String"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "Un chaine"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z19654K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Every N chars"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "L’intervalle n"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z19654K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "String to add"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "La chaine à insérer"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z19656",
"Z20583"
],
"Z8K4": [
"Z14",
"Z24314",
"Z19655"
],
"Z8K5": "Z19654"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Add chars every n chars"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "insérer un caractère tous les n caractères"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Broader version of Z19645"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "Version plus générique de Z19643."
}
]
}
}
49yst4k5j2qv3q1s2qo0253vfae6ihv
Z19711
0
42463
261256
253800
2026-03-27T17:09:08Z
YoshiRulz
10156
Clarify en label and aliases
261256
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19711"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z19711K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "rational number to invert"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre rationnel à inverser"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "numero"
}
]
}
}
],
"Z8K2": "Z19677",
"Z8K3": [
"Z20",
"Z19712",
"Z19713",
"Z19746",
"Z19776"
],
"Z8K4": [
"Z14",
"Z19745",
"Z19714",
"Z19743"
],
"Z8K5": "Z19711"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "multiplicative inverse of Rational number"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "inverser un nombre rationnel"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "inverso di numero razionale"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"q^(-1)",
"reciprocal of Rational number"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"inverti numero razionale"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "a/b donne b/a"
}
]
}
}
n36wgeilx1jun7iosacaa7d9ne5jfln
Talk:Z21760
1
48237
261298
159507
2026-03-27T19:29:53Z
Arlo Barnes
1231
/* duplicate of */ new section
261298
wikitext
text/x-wiki
[[Category:Multiple language NLG functions]]
== duplicate of ==
{{z|22664}}? [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 19:29, 27 March 2026 (UTC)
n0lcfui8znzw0ofq7h5j1gm2jcd44aj
261307
261298
2026-03-27T19:42:21Z
GrounderUK
50
/* duplicate of */ Reply …no
261307
wikitext
text/x-wiki
[[Category:Multiple language NLG functions]]
== duplicate of ==
{{z|22664}}? [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 19:29, 27 March 2026 (UTC)
:The functions have different signatures (lexemes vs item references) and the adjectival usage is different (attributive vs predicative). More systematic naming is certainly called for! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:42, 27 March 2026 (UTC)
59ok6hqms2e27qpr23jzze5hzqr5hob
Z22399
0
49540
261220
180825
2026-03-27T14:04:34Z
YoshiRulz
10156
Added Z22400 to the approved list of implementations
261220
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22399"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6004",
"Z17K2": "Z22399K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lexeme form"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "forma di lessema"
}
]
}
}
],
"Z8K2": "Z12",
"Z8K3": [
"Z20",
"Z22401",
"Z22429",
"Z22436",
"Z22443"
],
"Z8K4": [
"Z14",
"Z22415",
"Z22400"
],
"Z8K5": "Z22399"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "representations of lexeme form"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "rappresentazioni di forma di lessema"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "語形の表現"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"lexeme form representations",
"multilingual representations of lexeme form",
"strings in multilingual text of lexeme form"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the multilingual text that contains the representations (key Z6004K3) of the specified lexeme form"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Restituisce il testo multilingue che contiene la rappresentazione (chiave Z6004K3) della forma del lessema specificata"
}
]
}
}
45cmh3dl8qwf4y4rznenoerl3ertzn1
261221
261220
2026-03-27T14:05:52Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
261221
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22399"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6004",
"Z17K2": "Z22399K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lexeme form"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "forma di lessema"
}
]
}
}
],
"Z8K2": "Z12",
"Z8K3": [
"Z20",
"Z22401",
"Z22429",
"Z22436",
"Z22443"
],
"Z8K4": [
"Z14",
"Z22400",
"Z22415"
],
"Z8K5": "Z22399"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "representations of lexeme form"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "rappresentazioni di forma di lessema"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "語形の表現"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"lexeme form representations",
"multilingual representations of lexeme form",
"strings in multilingual text of lexeme form"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the multilingual text that contains the representations (key Z6004K3) of the specified lexeme form"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Restituisce il testo multilingue che contiene la rappresentazione (chiave Z6004K3) della forma del lessema specificata"
}
]
}
}
p7sz3ql114dxs16dki0y8zx01h1bni3
Wikifunctions:Type proposals/Syntactic type
4
50854
261419
194096
2026-03-28T08:17:49Z
Denny
81
/* Discussion and comments */ Reply
261419
wikitext
text/x-wiki
The [[Wikifunctions:Status updates/2024-12-12|sketch towards Abstract Wikipedia]] discusses our path to natural language generation. But it works directly on Wikidata Lexemes. Wikidata Lexemes can be very versatile: they can be French verbs, Hausa nouns, or Malayalam adjectives. At the same time, Lexemes in Wikidata are not particularly constrained and can differ vastly in how complete their forms are.
This has a number of disadvantages. Three important disadvantages for our use case are:
# a function can say it takes or returns a Lexeme, and while its description or name can make it clear that this is supposed to take an English noun, the system cannot guide the user in actually ensuring that. Instead it would be open to taking any Lexeme, and a function may need to do some checks to ensure the language, part of speech, and available forms are correct.
# it is difficult to write tests that don’t implicitly depend on the completeness of Wikidata. Lexemes are always Wikidata Lexemes, and therefore we cannot create test Lexemes in Wikifunctions.
# we lose the advantages of a more strictly typed system, e.g. as guidance in composition, in being more tightly restricted in selecting a function, etc.
It also has advantages, foremost a significant reduction in the number of types.
== From Lexemes to Syntactic Types ==
We suggest introducing types for language and part of speech pairs (not for all of them, but for [[:en:Part of speech#Open and closed classes|open classes]]). To give a simple example, we could have a type for "English noun", which then can be used with only the appropriate functions: we can ask for the singular or plural, maybe the possessive, but we cannot ask for the past tense or for the superlative or the accusative form of an English noun.
This would also allow combining, for example, explicitly stated forms with morphological functions.
An English noun now can have several constructors: most notably, it would take a Lexeme that is an English noun, and use that to create the English noun object. But it could also use a string and treat it as the lemma of the noun (for example, in order to represent neologisms), or take two strings (one for the singular and one for the plural), or take the label of an item on Wikidata, or it may take a Lexeme with a noun from another language (in order to form a loan word), or it could take an English verb and ''noun'' it (for example to go from "verb" to "verbing"). An English noun or adjective could be created from a place name, or from a person's name. This allows us to be much more flexible and cover the tail-end of the lexicon with alternative approaches.
Such a type would allow us to create functions that build sentences from more specific parts of speech, reducing ambiguity and making it easier to compose sentences. This makes it easier to write the sentence generating functions, and it makes it easier and more predictable to use such functions.
Note that besides actual parts of speech, in many languages we would also have types for relevant phrases (e.g. noun phrases, verb phrases, etc.).
This has the disadvantage that we would need to create a lot of types. That would benefit from allowing the community to create types, in order to scale better.
(Note: the name "syntactic type" isn't very good. These types are language-specific types for representing grammatically typed building blocks of natural language. If you can come up with a better name, please do!)
== A common building block for creating linguistic types ==
We introduce a type that is helpful in representing many syntactic types in many languages, together with one particular function operating on this type. We introduce the "table" type and the "merge" function.
Note that the following proposal is heavily inspired by the book and software [[:en:Grammatical Framework (programming language)|Grammatical Framework]].
=== Table type ===
A table type consists of two parts: a list of inherent features, and a list of options. Features are grammatical features, represented by either Wikidata item references or Wikifunction enumerations representing the same. Options are a map of a list of features to a list of word forms.
The inherent features, the keys in the options map, and the structure of the dictionary of forms are all constrained by the syntactical type. For example, a typical German noun has one inherent feature (its grammatical gender: masculine, feminine or neuter), and usually eight options: two for the grammatical number (singular or plural), and four for the case (nominative, accusative, dative, genitive), leading to two times four = eight options. Since German nouns are usually continuous (i.e. they are not separated by other words, in contrast to some German verbs), the dictionary of forms for each option has a single entry.
Here is an example of a table for the German noun "Stadt" (meaning city):
{| class="wikitable"
| '''''inherent'''''
| colspan="4" | feminine
|-
| '''''options'''''|| '''nominative'''
|'''genitive'''
|'''dative'''
|'''accusative'''
|-
|'''singular'''
|Stadt
|Stadt
|Stadt
|Stadt
|-
|'''plural'''
|Städte
|Städte
|Städten
|Städte
|}
German adjectives on the other hand have no inherent grammatical features, but many options: for the grammatical gender, the grammatical number, the definiteness, the level of comparison (positive, comparative, superlative), etc.
Here is an example of a table for the German noun "süddeutsch" (meaning southern German). Note that the Adjective "süddeutsch" does not necessarily have its own Lexeme, but may have been constructed by a cardinal direction ("Süden", meaning south) and a Demonym ("deutsch", meaning German). See the table on [[wikt:süddeutsch|English Wiktionary for süddeutsch]].
This is why they are called tables, because these words are usually represented as tables in dictionaries and grammar books, with the different grammatical dimensions representing the grammatical values. The grammatical features do not need to always be combinatorial. (For example, an English verb may have different forms for the different grammatical person and number, but only in the present tense, not in the past tense).
=== Merge function ===
The merge function takes two tables and returns a table.
The inherent features of each of the tables is used to filter the options in each other tables. In addition, the dictionaries of forms are combined together to create a new map of forms.
For example, if we wanted to create the noun phrase ''"eine süddeutsche Stadt"'' (meaning "a city in the south of Germany"), we build a function that takes the noun and the adjective from the previous section and merges them, creating a German noun phrase. Since German noun phrases are continuous, it can immediately concatenate the different forms and other words (in this example the indefinite article "ein" or "eine", again based on the inherent feature of the noun).
The result of the merge is still open with regards to the case, but would have an inherent gender (feminine) and number (singular). A function that takes the noun phrase as an input for a specific sentence can then select the right case depending on the phrase's function in the sentence (e.g. if we wanted to make a sentence such as ''“Anton kommt aus einer süddeutschen Stadt.”'' (meaning “Anton comes from a city in the south of Germany”), we would select the dative case. For a different sentence such as ''“Anton zieht in eine süddeutsche Stadt.”'' (meaning “Anton moves to a city in the south of Germany”), we would need the accusative case. The predicate and the proposition together would determine which case is needed.
Most concrete natural language generation functions can be built by using the merge function, thus reducing the implementation work in many languages.
== Summary ==
The table type and the merge function would become the backbone for natural language generation, enabling the support of agreement which is crucial in many languages.
Just to give an example how this could look like, still using German as the example:
* We would create a type for German nouns, which consists of a table type that has
** one inherent feature, the grammatical gender with the three values feminine, masculine and neuter ([[Wikifunctions:Type proposals/Grammatical gender (m/f/n)|proposed here]])
** And options based on a two-valued grammatical number and a specific four-valued grammatical case
* We would create a type for German adjectives, which consists of a table type that has
** No inherent features
** And options based on the three-valued grammatical gender mentioned above, the two-valued grammatical number, the definiteness (two-valued), and the four German cases
* We would create types for German noun phrases, verb phrases, and for sentences
We furthermore would create a number of functions. Relevant for our example are the following functions:
* Create a sentence from a noun phrase and a verb phrase
* Create a verb phrase from a German verb, proposition, and a noun phrase for the object in the given case
* Create a noun phrase from an adjective and a noun
Now we can create a noun phrase from the adjective and noun given in the example above. Internally, that would use the merge function we have described above.
That one can be used as the argument for a verb phrase which takes the verb ''“kommen”'', the German proposition “aus”, the noun phrase we just constructed, and it states that the latter has to be dative. We would select the dative for the verb phrase and concatenate the parts of the sentence.
Finally, we can build the whole sentence from a noun phrase (which we may just create on Wikifunctions from the string ''“Anton”'', since there is currently no such German proper noun) and we would get the sentence ''“Anton kommt aus einer süddeutschen Stadt”''.
Without introducing syntactic type, we miss a crucial abstraction level here, which makes it much more fragile to implement the generation of such sentences.
This proposal [[Wikifunctions:Status updates/2024-12-12#Stage 2: Lexeme-based generation|lives within Stage 2 of the path towards Abstract Wikipedia]]. Note that this does not yet presuppose nor determine how abstract content will be structured. But no matter what the answer to that question will be, it makes it easier to scale up writing functions that can generate sentences in many languages.
== Discussion and comments ==
Please use the reply link to add your comments --[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:02, 18 February 2025 (UTC)
:'''Why have language-specific types?''' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:08, 18 February 2025 (UTC)
::It makes more sense to me to extend the Z11 pattern, so that we have, for example, monolingual noun (phrase) variant and monolingual verb (phrase) variant. It may be considered a disadvantage that such an approach does not prevent a German noun pattern from being used in a French noun phrase. However, when considering phrases rather than lexeme forms, it is not clear that focusing on syntax rather than semantics is the better approach. A noun phrase representing an indirect object, for example, may have a different form or position from a direct object whether or not any word is marked by a specific inflection. Whether we describe this as “indirect object”, “dative” or something else hardly matters, but since we intend to generate natural language from language-neutral semantic representations, I think it makes more sense to refine by semantic function first, language second and syntactic considerations last. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:59, 18 February 2025 (UTC)
:::Oh, I am not saying that syntactic types should be done ''instead'' of semantic or abstract types. I think that both are necessary. The suggestion here is firmly on the syntactic side. I totally agree that we also need something to express the semantic side as well.
:::If I understand your suggestion, it is that we should figure out the semantic step first, before we get to the syntactic layer. Hmm, I see your point. I was thinking we could build up from the concrete towards the abstract. But maybe the other approach has benefits that I missed, and we should leave this rest for now and see if we need it once the abstract content questions are a bit more settled. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:20, 19 February 2025 (UTC)
::::''It’s hard to say exactly what I mean and harder still to mean exactly what I say.'' I’m not saying that we should figure out the semantic step first, I’m saying that the syntactic step is downstream of the semantic in the NLG pipeline. We need to think ourselves a little upstream of the Great Lexemification Rapids to provide sufficient context to evaluate options, I think. I believe that there is sufficient overlap between the semantic and syntactic challenges that it is at least plausible that the solutions can evolve along similar lines. But I see the end-to-end pipeline as a sequence of successive refinements, where the availability of Wikidata content and Wikifunctions capabilities together determine the available refinements in any particular case. It is conceptually convenient to consider that at each stage a function converts content objects from one type to the next, the advantage of which is that the functions available for the next refinement are readily apparent, but it will be convenient, in practice (I’m sure), to avoid multiplying up these types by the available languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:04, 19 February 2025 (UTC)
* Strongly {{o}}, this adds debt of creating new enums and pollutes the wiki. I would be fine with this if there were software changes to make the footprint of an enum smaller. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:35, 18 February 2025 (UTC)
*:That's not a bad idea, to make enums more light weight. You mentioned it before. @[[User:Jdforrester (WMF)|Jdforrester (WMF)]] was already suggesting something -- let's see what'll come out of that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 February 2025 (UTC)
* {{o}}, even if there wasn't so much 'debt'/'pollution', since the extra complexity appears unnecessarily limiting and is unlikely to handle morphological exceptions (whether due to syntactic or semantic constraints) in a given language. Languages that are more analytic (and thus with closer to one form per lexeme), and those that are more agglutinative/polysynthetic (and thus with separate inflectional morpheme lexemes), are also unlikely to benefit from such types. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:25, 18 February 2025 (UTC)
*:That's actually a great point -- there is no need to do it for all languages, and for all parts of speech, but only for the ones where it makes sense! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:16, 19 February 2025 (UTC)
:'''Wikifunctions lexemes?''' I’ve always assumed that we would need a type for representing lexemes that are absent from Wikidata or incomplete. We sort of agreed in our discussion on [[Wikifunctions:Type proposals/Wikidata based types]]. How does the current proposal align with or shape our approach to this? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:39, 20 February 2025 (UTC)
::Yes, I think so too. And one of the constructors for that type should be a Wikidata Lexeme. So that we can then use the resulting type in constructing phrases.
::So, basically, we could have that new type Wf lexeme, and it can be created either from a Wikidata Lexeme, or from a Wikidata Item, or from a string (or set of strings), and these then would be usable for building a phrase. It seems we agree on that part.
::What I am saying additionally is that we shouldn't have a single type for Wikifunctions lexeme, but several, based on their part of speech. But I am happy to find already agreement on the first step. I think that eventually we'll get to the whole way anyway :) --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:19, 26 February 2025 (UTC)
:::Yes, I agree with a Lexeme type for different parts of speech; I’m just not convinced that we need separate sets of Lexeme types for each language. So we have Noun but not English noun. Clearly, a function that operates only on Nouns for the English language could usefully distinguish by type from one that operates on Nouns for the German language. One way of doing this is to pair the Noun type with the relevant language, as a “generic” type. To be clear, though, I don’t object to there being multiple Noun (and other part-of-speech) types to cater for the different patterns that languages follow with regard to number, gender, case etc., so long as the types correspond to the patterns followed rather than the languages that follow those patterns. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:14, 26 February 2025 (UTC)
:'''comment''' I'm not sure what to think. On one hand, sure an English noun and a German noun is not the same thing and should be handled differently ; but on the other noun, even English nouns are not all the same ("dog"@en has singular and plural while "clothes"@en has only a plural as it's a plurale tantum) and English and German adverbs are the same. So a type "lexical category + language" seems both too wide and too narrow. Also, why not go more "atomic" and having two types : one for category and one for language? Cheers, [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 08:16, 24 February 2025 (UTC)
:'''Comment''': I don't think that I understood how exactly is the table with Stadt, Städte, Städten, etc. is generated. Is the "Städten" string, for example, supposed to be generated by code stored on Wikifunctions? Or is this proposed type supposed to be a representation for Wikifunctions of the data that is already within Wikidata? --[[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 14:17, 3 March 2025 (UTC)
:{{oppose}}, since (as already pointed in previous comments) the bottom-up strategy implied by this proposal to language generation creates a lot of useless computation and memory (with a complexity that could grow exponentially), other than failing to account the exceptions that all natural languages are filled with. I think that generally to generate human language text we should instead use a top-down approach (starting from an abstract representation of an entire sentence and from there generate the single components), since I think it's also closer on how our brain actually generates sentences. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 13:37, 16 June 2025 (UTC)
::After one more year of experience with more complex types, I agree with your point. The proposal does require a lot of unnecessary computation, in particular, it requires to compute many strings that are in the end just frown away. That's a consequence of the rather eager evaluation strategy of the system.
::How can we avoid that? We could quote the parts that are not used until they are. This kind of simulates a lazy evaluation. (I am just thinking out loud here, I don't know what the solutions is). --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 08:17, 28 March 2026 (UTC)
f7eok4zbmf38l5ggbvx60edtzt0s9q9
261422
261419
2026-03-28T08:21:42Z
Denny
81
/* Discussion and comments */ Reply
261422
wikitext
text/x-wiki
The [[Wikifunctions:Status updates/2024-12-12|sketch towards Abstract Wikipedia]] discusses our path to natural language generation. But it works directly on Wikidata Lexemes. Wikidata Lexemes can be very versatile: they can be French verbs, Hausa nouns, or Malayalam adjectives. At the same time, Lexemes in Wikidata are not particularly constrained and can differ vastly in how complete their forms are.
This has a number of disadvantages. Three important disadvantages for our use case are:
# a function can say it takes or returns a Lexeme, and while its description or name can make it clear that this is supposed to take an English noun, the system cannot guide the user in actually ensuring that. Instead it would be open to taking any Lexeme, and a function may need to do some checks to ensure the language, part of speech, and available forms are correct.
# it is difficult to write tests that don’t implicitly depend on the completeness of Wikidata. Lexemes are always Wikidata Lexemes, and therefore we cannot create test Lexemes in Wikifunctions.
# we lose the advantages of a more strictly typed system, e.g. as guidance in composition, in being more tightly restricted in selecting a function, etc.
It also has advantages, foremost a significant reduction in the number of types.
== From Lexemes to Syntactic Types ==
We suggest introducing types for language and part of speech pairs (not for all of them, but for [[:en:Part of speech#Open and closed classes|open classes]]). To give a simple example, we could have a type for "English noun", which then can be used with only the appropriate functions: we can ask for the singular or plural, maybe the possessive, but we cannot ask for the past tense or for the superlative or the accusative form of an English noun.
This would also allow combining, for example, explicitly stated forms with morphological functions.
An English noun now can have several constructors: most notably, it would take a Lexeme that is an English noun, and use that to create the English noun object. But it could also use a string and treat it as the lemma of the noun (for example, in order to represent neologisms), or take two strings (one for the singular and one for the plural), or take the label of an item on Wikidata, or it may take a Lexeme with a noun from another language (in order to form a loan word), or it could take an English verb and ''noun'' it (for example to go from "verb" to "verbing"). An English noun or adjective could be created from a place name, or from a person's name. This allows us to be much more flexible and cover the tail-end of the lexicon with alternative approaches.
Such a type would allow us to create functions that build sentences from more specific parts of speech, reducing ambiguity and making it easier to compose sentences. This makes it easier to write the sentence generating functions, and it makes it easier and more predictable to use such functions.
Note that besides actual parts of speech, in many languages we would also have types for relevant phrases (e.g. noun phrases, verb phrases, etc.).
This has the disadvantage that we would need to create a lot of types. That would benefit from allowing the community to create types, in order to scale better.
(Note: the name "syntactic type" isn't very good. These types are language-specific types for representing grammatically typed building blocks of natural language. If you can come up with a better name, please do!)
== A common building block for creating linguistic types ==
We introduce a type that is helpful in representing many syntactic types in many languages, together with one particular function operating on this type. We introduce the "table" type and the "merge" function.
Note that the following proposal is heavily inspired by the book and software [[:en:Grammatical Framework (programming language)|Grammatical Framework]].
=== Table type ===
A table type consists of two parts: a list of inherent features, and a list of options. Features are grammatical features, represented by either Wikidata item references or Wikifunction enumerations representing the same. Options are a map of a list of features to a list of word forms.
The inherent features, the keys in the options map, and the structure of the dictionary of forms are all constrained by the syntactical type. For example, a typical German noun has one inherent feature (its grammatical gender: masculine, feminine or neuter), and usually eight options: two for the grammatical number (singular or plural), and four for the case (nominative, accusative, dative, genitive), leading to two times four = eight options. Since German nouns are usually continuous (i.e. they are not separated by other words, in contrast to some German verbs), the dictionary of forms for each option has a single entry.
Here is an example of a table for the German noun "Stadt" (meaning city):
{| class="wikitable"
| '''''inherent'''''
| colspan="4" | feminine
|-
| '''''options'''''|| '''nominative'''
|'''genitive'''
|'''dative'''
|'''accusative'''
|-
|'''singular'''
|Stadt
|Stadt
|Stadt
|Stadt
|-
|'''plural'''
|Städte
|Städte
|Städten
|Städte
|}
German adjectives on the other hand have no inherent grammatical features, but many options: for the grammatical gender, the grammatical number, the definiteness, the level of comparison (positive, comparative, superlative), etc.
Here is an example of a table for the German noun "süddeutsch" (meaning southern German). Note that the Adjective "süddeutsch" does not necessarily have its own Lexeme, but may have been constructed by a cardinal direction ("Süden", meaning south) and a Demonym ("deutsch", meaning German). See the table on [[wikt:süddeutsch|English Wiktionary for süddeutsch]].
This is why they are called tables, because these words are usually represented as tables in dictionaries and grammar books, with the different grammatical dimensions representing the grammatical values. The grammatical features do not need to always be combinatorial. (For example, an English verb may have different forms for the different grammatical person and number, but only in the present tense, not in the past tense).
=== Merge function ===
The merge function takes two tables and returns a table.
The inherent features of each of the tables is used to filter the options in each other tables. In addition, the dictionaries of forms are combined together to create a new map of forms.
For example, if we wanted to create the noun phrase ''"eine süddeutsche Stadt"'' (meaning "a city in the south of Germany"), we build a function that takes the noun and the adjective from the previous section and merges them, creating a German noun phrase. Since German noun phrases are continuous, it can immediately concatenate the different forms and other words (in this example the indefinite article "ein" or "eine", again based on the inherent feature of the noun).
The result of the merge is still open with regards to the case, but would have an inherent gender (feminine) and number (singular). A function that takes the noun phrase as an input for a specific sentence can then select the right case depending on the phrase's function in the sentence (e.g. if we wanted to make a sentence such as ''“Anton kommt aus einer süddeutschen Stadt.”'' (meaning “Anton comes from a city in the south of Germany”), we would select the dative case. For a different sentence such as ''“Anton zieht in eine süddeutsche Stadt.”'' (meaning “Anton moves to a city in the south of Germany”), we would need the accusative case. The predicate and the proposition together would determine which case is needed.
Most concrete natural language generation functions can be built by using the merge function, thus reducing the implementation work in many languages.
== Summary ==
The table type and the merge function would become the backbone for natural language generation, enabling the support of agreement which is crucial in many languages.
Just to give an example how this could look like, still using German as the example:
* We would create a type for German nouns, which consists of a table type that has
** one inherent feature, the grammatical gender with the three values feminine, masculine and neuter ([[Wikifunctions:Type proposals/Grammatical gender (m/f/n)|proposed here]])
** And options based on a two-valued grammatical number and a specific four-valued grammatical case
* We would create a type for German adjectives, which consists of a table type that has
** No inherent features
** And options based on the three-valued grammatical gender mentioned above, the two-valued grammatical number, the definiteness (two-valued), and the four German cases
* We would create types for German noun phrases, verb phrases, and for sentences
We furthermore would create a number of functions. Relevant for our example are the following functions:
* Create a sentence from a noun phrase and a verb phrase
* Create a verb phrase from a German verb, proposition, and a noun phrase for the object in the given case
* Create a noun phrase from an adjective and a noun
Now we can create a noun phrase from the adjective and noun given in the example above. Internally, that would use the merge function we have described above.
That one can be used as the argument for a verb phrase which takes the verb ''“kommen”'', the German proposition “aus”, the noun phrase we just constructed, and it states that the latter has to be dative. We would select the dative for the verb phrase and concatenate the parts of the sentence.
Finally, we can build the whole sentence from a noun phrase (which we may just create on Wikifunctions from the string ''“Anton”'', since there is currently no such German proper noun) and we would get the sentence ''“Anton kommt aus einer süddeutschen Stadt”''.
Without introducing syntactic type, we miss a crucial abstraction level here, which makes it much more fragile to implement the generation of such sentences.
This proposal [[Wikifunctions:Status updates/2024-12-12#Stage 2: Lexeme-based generation|lives within Stage 2 of the path towards Abstract Wikipedia]]. Note that this does not yet presuppose nor determine how abstract content will be structured. But no matter what the answer to that question will be, it makes it easier to scale up writing functions that can generate sentences in many languages.
== Discussion and comments ==
Please use the reply link to add your comments --[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:02, 18 February 2025 (UTC)
:'''Why have language-specific types?''' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:08, 18 February 2025 (UTC)
::It makes more sense to me to extend the Z11 pattern, so that we have, for example, monolingual noun (phrase) variant and monolingual verb (phrase) variant. It may be considered a disadvantage that such an approach does not prevent a German noun pattern from being used in a French noun phrase. However, when considering phrases rather than lexeme forms, it is not clear that focusing on syntax rather than semantics is the better approach. A noun phrase representing an indirect object, for example, may have a different form or position from a direct object whether or not any word is marked by a specific inflection. Whether we describe this as “indirect object”, “dative” or something else hardly matters, but since we intend to generate natural language from language-neutral semantic representations, I think it makes more sense to refine by semantic function first, language second and syntactic considerations last. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:59, 18 February 2025 (UTC)
:::Oh, I am not saying that syntactic types should be done ''instead'' of semantic or abstract types. I think that both are necessary. The suggestion here is firmly on the syntactic side. I totally agree that we also need something to express the semantic side as well.
:::If I understand your suggestion, it is that we should figure out the semantic step first, before we get to the syntactic layer. Hmm, I see your point. I was thinking we could build up from the concrete towards the abstract. But maybe the other approach has benefits that I missed, and we should leave this rest for now and see if we need it once the abstract content questions are a bit more settled. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:20, 19 February 2025 (UTC)
::::''It’s hard to say exactly what I mean and harder still to mean exactly what I say.'' I’m not saying that we should figure out the semantic step first, I’m saying that the syntactic step is downstream of the semantic in the NLG pipeline. We need to think ourselves a little upstream of the Great Lexemification Rapids to provide sufficient context to evaluate options, I think. I believe that there is sufficient overlap between the semantic and syntactic challenges that it is at least plausible that the solutions can evolve along similar lines. But I see the end-to-end pipeline as a sequence of successive refinements, where the availability of Wikidata content and Wikifunctions capabilities together determine the available refinements in any particular case. It is conceptually convenient to consider that at each stage a function converts content objects from one type to the next, the advantage of which is that the functions available for the next refinement are readily apparent, but it will be convenient, in practice (I’m sure), to avoid multiplying up these types by the available languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:04, 19 February 2025 (UTC)
* Strongly {{o}}, this adds debt of creating new enums and pollutes the wiki. I would be fine with this if there were software changes to make the footprint of an enum smaller. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:35, 18 February 2025 (UTC)
*:That's not a bad idea, to make enums more light weight. You mentioned it before. @[[User:Jdforrester (WMF)|Jdforrester (WMF)]] was already suggesting something -- let's see what'll come out of that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 February 2025 (UTC)
* {{o}}, even if there wasn't so much 'debt'/'pollution', since the extra complexity appears unnecessarily limiting and is unlikely to handle morphological exceptions (whether due to syntactic or semantic constraints) in a given language. Languages that are more analytic (and thus with closer to one form per lexeme), and those that are more agglutinative/polysynthetic (and thus with separate inflectional morpheme lexemes), are also unlikely to benefit from such types. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:25, 18 February 2025 (UTC)
*:That's actually a great point -- there is no need to do it for all languages, and for all parts of speech, but only for the ones where it makes sense! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:16, 19 February 2025 (UTC)
:'''Wikifunctions lexemes?''' I’ve always assumed that we would need a type for representing lexemes that are absent from Wikidata or incomplete. We sort of agreed in our discussion on [[Wikifunctions:Type proposals/Wikidata based types]]. How does the current proposal align with or shape our approach to this? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:39, 20 February 2025 (UTC)
::Yes, I think so too. And one of the constructors for that type should be a Wikidata Lexeme. So that we can then use the resulting type in constructing phrases.
::So, basically, we could have that new type Wf lexeme, and it can be created either from a Wikidata Lexeme, or from a Wikidata Item, or from a string (or set of strings), and these then would be usable for building a phrase. It seems we agree on that part.
::What I am saying additionally is that we shouldn't have a single type for Wikifunctions lexeme, but several, based on their part of speech. But I am happy to find already agreement on the first step. I think that eventually we'll get to the whole way anyway :) --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:19, 26 February 2025 (UTC)
:::Yes, I agree with a Lexeme type for different parts of speech; I’m just not convinced that we need separate sets of Lexeme types for each language. So we have Noun but not English noun. Clearly, a function that operates only on Nouns for the English language could usefully distinguish by type from one that operates on Nouns for the German language. One way of doing this is to pair the Noun type with the relevant language, as a “generic” type. To be clear, though, I don’t object to there being multiple Noun (and other part-of-speech) types to cater for the different patterns that languages follow with regard to number, gender, case etc., so long as the types correspond to the patterns followed rather than the languages that follow those patterns. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:14, 26 February 2025 (UTC)
:'''comment''' I'm not sure what to think. On one hand, sure an English noun and a German noun is not the same thing and should be handled differently ; but on the other noun, even English nouns are not all the same ("dog"@en has singular and plural while "clothes"@en has only a plural as it's a plurale tantum) and English and German adverbs are the same. So a type "lexical category + language" seems both too wide and too narrow. Also, why not go more "atomic" and having two types : one for category and one for language? Cheers, [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 08:16, 24 February 2025 (UTC)
:'''Comment''': I don't think that I understood how exactly is the table with Stadt, Städte, Städten, etc. is generated. Is the "Städten" string, for example, supposed to be generated by code stored on Wikifunctions? Or is this proposed type supposed to be a representation for Wikifunctions of the data that is already within Wikidata? --[[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 14:17, 3 March 2025 (UTC)
::I think the best way to do so is to pick up any forms from Wikidata if they exist and use functions for those forms that are missing. It is proposed to be a kind of normalized and standardized form of the data that is mostly already available in Wikidata, but can be used with certain assurances about the structure so that functions can be written in an easier way. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 08:21, 28 March 2026 (UTC)
:{{oppose}}, since (as already pointed in previous comments) the bottom-up strategy implied by this proposal to language generation creates a lot of useless computation and memory (with a complexity that could grow exponentially), other than failing to account the exceptions that all natural languages are filled with. I think that generally to generate human language text we should instead use a top-down approach (starting from an abstract representation of an entire sentence and from there generate the single components), since I think it's also closer on how our brain actually generates sentences. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 13:37, 16 June 2025 (UTC)
::After one more year of experience with more complex types, I agree with your point. The proposal does require a lot of unnecessary computation, in particular, it requires to compute many strings that are in the end just frown away. That's a consequence of the rather eager evaluation strategy of the system.
::How can we avoid that? We could quote the parts that are not used until they are. This kind of simulates a lazy evaluation. (I am just thinking out loud here, I don't know what the solutions is). --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 08:17, 28 March 2026 (UTC)
eyjgsi2x534zs0vil9o711b24lsf115
Z23753
0
53961
261451
259793
2026-03-28T10:39:11Z
ChaoticVermillion
31127
Added Z32859 to the approved list of implementations
261451
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23753"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z23753K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "QID"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "QID"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "QID"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "QID"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "QID"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "QID"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z23753K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Sprache"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "bahasa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "jazyk"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z23755",
"Z27279",
"Z27585"
],
"Z8K4": [
"Z14",
"Z30161",
"Z30118",
"Z23754",
"Z32859"
],
"Z8K5": "Z23753"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "label of item reference in language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "参照項目の指定言語のラベル"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Bezeichnung von Datenobjekt-Referenz in Sprache"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "label butir referensi di bahasa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1272",
"Z11K2": "ime iz Wikidata za jezik"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "etichetta di riferimento a elemento in lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "štítek reference na položku v jazyce"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"QID label",
"label of QID",
"label from QID",
"label from Wikidata item reference",
"Wikidata item reference to label",
"label in language"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1830",
"Z31K2": [
"Z6",
"QIDのラベル"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1078",
"Z31K2": [
"Z6",
"label QID"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1062",
"Z31K2": [
"Z6",
"štítek Wikidat",
"QID štítek",
"štítek v jazyce"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the label string of the Wikidata item corresponding to the reference (QID) in the specified language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "指定された言語で参照(QID)に対応するウィキデータ項目のラベル文字列を返します"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gibt die Bezeichnung des Wikidata-Datenobjekts in der angegebenen Sprache aus"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "mengembalikan untaian label dari butir Wikidata dari referensi (QID) pada bahasa yang diberikan"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Restituisce la stringa dell'etichetta dell'elemento Wikidata corrispondente al riferimento (QID) nella lingua specificata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "vrátí text štítku položky Wikidat odpovídající uvedené referenci (QID) v zadaném jazyce"
}
]
}
}
be7rgg338243dv7u89t4w930t3piiet
261452
261451
2026-03-28T10:39:18Z
ChaoticVermillion
31127
Added Z32860 to the approved list of test cases
261452
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23753"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z23753K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "QID"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "QID"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "QID"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "QID"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "QID"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "QID"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z23753K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Sprache"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "bahasa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "jazyk"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z23755",
"Z27279",
"Z27585",
"Z32860"
],
"Z8K4": [
"Z14",
"Z30161",
"Z30118",
"Z23754",
"Z32859"
],
"Z8K5": "Z23753"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "label of item reference in language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "参照項目の指定言語のラベル"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Bezeichnung von Datenobjekt-Referenz in Sprache"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "label butir referensi di bahasa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1272",
"Z11K2": "ime iz Wikidata za jezik"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "etichetta di riferimento a elemento in lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "štítek reference na položku v jazyce"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"QID label",
"label of QID",
"label from QID",
"label from Wikidata item reference",
"Wikidata item reference to label",
"label in language"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1830",
"Z31K2": [
"Z6",
"QIDのラベル"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1078",
"Z31K2": [
"Z6",
"label QID"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1062",
"Z31K2": [
"Z6",
"štítek Wikidat",
"QID štítek",
"štítek v jazyce"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the label string of the Wikidata item corresponding to the reference (QID) in the specified language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "指定された言語で参照(QID)に対応するウィキデータ項目のラベル文字列を返します"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gibt die Bezeichnung des Wikidata-Datenobjekts in der angegebenen Sprache aus"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "mengembalikan untaian label dari butir Wikidata dari referensi (QID) pada bahasa yang diberikan"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Restituisce la stringa dell'etichetta dell'elemento Wikidata corrispondente al riferimento (QID) nella lingua specificata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "vrátí text štítku položky Wikidat odpovídající uvedené referenci (QID) v zadaném jazyce"
}
]
}
}
phoxe9tcmhrtjqc6pk9dbe1g71gvwfe
User:Geno (WMF)/Sandbox
2
57698
261439
257794
2026-03-28T10:06:57Z
Geno (WMF)
107
261439
wikitext
text/x-wiki
{{#function:Z28904|A new link to main page working!!}}
{{#function:Z28904|is our cache broken?}}
{{#function:Z13539|6|5000}}
r0c0ovzhlayiaft4rjour7ferprusy6
Z26043
0
60722
261360
258211
2026-03-28T00:19:12Z
Higa4
889
+ja
261360
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26043"
},
"Z2K2": {
"Z1K1": "Z14294",
"Z14294K1": [
"Z14293",
{
"Z1K1": "Z14293",
"Z14293K1": "Z26088",
"Z14293K2": [
"Z60",
"Z1002",
"Z1113",
"Z1689",
"Z1199",
"Z1437",
"Z1966",
"Z1124"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26337",
"Z14293K2": [
"Z60",
"Z1003",
"Z1423",
"Z1127",
"Z1547",
"Z1133"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26340",
"Z14293K2": [
"Z60",
"Z1237"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26572",
"Z14293K2": [
"Z60",
"Z1011"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26562",
"Z14293K2": [
"Z60",
"Z1004",
"Z1640",
"Z1757"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26617",
"Z14293K2": [
"Z60",
"Z1272"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26704",
"Z14293K2": [
"Z60",
"Z1078"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26712",
"Z14293K2": [
"Z60",
"Z1430",
"Z1231",
"Z1508",
"Z1843",
"Z1463",
"Z1859",
"Z1515"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26717",
"Z14293K2": [
"Z60",
"Z1146"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26723",
"Z14293K2": [
"Z60",
"Z1403"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26513",
"Z14293K2": [
"Z60",
"Z1787"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26671",
"Z14293K2": [
"Z60",
"Z1592"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27244",
"Z14293K2": [
"Z60",
"Z1006"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27259",
"Z14293K2": [
"Z60",
"Z1576"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27283",
"Z14293K2": [
"Z60",
"Z1643",
"Z1506"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27324",
"Z14293K2": [
"Z60",
"Z1001",
"Z1114"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27490",
"Z14293K2": [
"Z60",
"Z1099"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27924",
"Z14293K2": [
"Z60",
"Z1037",
"Z1381",
"Z1294"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z29256",
"Z14293K2": [
"Z60",
"Z1907"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30598",
"Z14293K2": [
"Z60",
"Z1531"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32671",
"Z14293K2": [
"Z60",
"Z1830"
]
}
],
"Z14294K2": "Z26088"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "config for article-less instantiating sentences"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "contoh kalimat tanpa artikel per bahasa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "instanciation de phrases sans article par langue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "instanciación de frases sin artículo por lengua"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
k199chfmf3ffaoxad5d5bn30g6fy92b
261400
261360
2026-03-28T06:56:08Z
Sun8908
9804
change whenever we get a function for conversion between traditional and simplified
261400
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26043"
},
"Z2K2": {
"Z1K1": "Z14294",
"Z14294K1": [
"Z14293",
{
"Z1K1": "Z14293",
"Z14293K1": "Z26088",
"Z14293K2": [
"Z60",
"Z1002",
"Z1113",
"Z1689",
"Z1199",
"Z1437",
"Z1966",
"Z1124"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26337",
"Z14293K2": [
"Z60",
"Z1003",
"Z1423",
"Z1127",
"Z1547",
"Z1133"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26340",
"Z14293K2": [
"Z60",
"Z1237"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26572",
"Z14293K2": [
"Z60",
"Z1011"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26562",
"Z14293K2": [
"Z60",
"Z1004",
"Z1640",
"Z1757"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26617",
"Z14293K2": [
"Z60",
"Z1272"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26704",
"Z14293K2": [
"Z60",
"Z1078"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26712",
"Z14293K2": [
"Z60",
"Z1430",
"Z1231",
"Z1508",
"Z1843",
"Z1463",
"Z1859",
"Z1515"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26717",
"Z14293K2": [
"Z60",
"Z1146"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26723",
"Z14293K2": [
"Z60",
"Z1403"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26513",
"Z14293K2": [
"Z60",
"Z1787"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z26671",
"Z14293K2": [
"Z60",
"Z1592"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27244",
"Z14293K2": [
"Z60",
"Z1006",
"Z1645",
"Z1411",
"Z1591",
"Z1504",
"Z1672",
"Z1107",
"Z1589",
"Z1406"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27259",
"Z14293K2": [
"Z60",
"Z1576"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27283",
"Z14293K2": [
"Z60",
"Z1643",
"Z1506"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27324",
"Z14293K2": [
"Z60",
"Z1001",
"Z1114"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27490",
"Z14293K2": [
"Z60",
"Z1099"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27924",
"Z14293K2": [
"Z60",
"Z1037",
"Z1381",
"Z1294"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z29256",
"Z14293K2": [
"Z60",
"Z1907"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30598",
"Z14293K2": [
"Z60",
"Z1531"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32671",
"Z14293K2": [
"Z60",
"Z1830"
]
}
],
"Z14294K2": "Z26088"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "config for article-less instantiating sentences"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "contoh kalimat tanpa artikel per bahasa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "instanciation de phrases sans article par langue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "instanciación de frases sin artículo por lengua"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sg5nbrhov4k8rhgritppq9j9m1zijqh
Z26096
0
60847
261374
258212
2026-03-28T01:42:37Z
Higa4
889
+ ja (same as article-less in Japanese)
261374
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26096"
},
"Z2K2": {
"Z1K1": "Z14294",
"Z14294K1": [
"Z14293",
{
"Z1K1": "Z14293",
"Z14293K1": "Z23410",
"Z14293K2": [
"Z60",
"Z1002"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27102",
"Z14293K2": [
"Z60",
"Z1787"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27258",
"Z14293K2": [
"Z60",
"Z1015"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27249",
"Z14293K2": [
"Z60",
"Z1430"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27396",
"Z14293K2": [
"Z60",
"Z1004"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z29356",
"Z14293K2": [
"Z60",
"Z1146"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30654",
"Z14293K2": [
"Z60",
"Z1531"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32671",
"Z14293K2": [
"Z60",
"Z1830"
]
}
],
"Z14294K2": "Z23410"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "config for article-ful instantiating sentences"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "frammento di instanziazione indefinito per lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Instanziierungssatz mit Artikel nach Sprache"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
3vwybxm0z2lorbgf7rhyqgp0mfb5ct3
261375
261374
2026-03-28T02:21:50Z
Higa4
889
del ja
261375
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26096"
},
"Z2K2": {
"Z1K1": "Z14294",
"Z14294K1": [
"Z14293",
{
"Z1K1": "Z14293",
"Z14293K1": "Z23410",
"Z14293K2": [
"Z60",
"Z1002"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27102",
"Z14293K2": [
"Z60",
"Z1787"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27258",
"Z14293K2": [
"Z60",
"Z1015"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27249",
"Z14293K2": [
"Z60",
"Z1430"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27396",
"Z14293K2": [
"Z60",
"Z1004"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z29356",
"Z14293K2": [
"Z60",
"Z1146"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30654",
"Z14293K2": [
"Z60",
"Z1531"
]
}
],
"Z14294K2": "Z23410"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "config for article-ful instantiating sentences"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "frammento di instanziazione indefinito per lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Instanziierungssatz mit Artikel nach Sprache"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
nk6wlnwz4ltf1g0un04xtnbr5v04txw
Z26570
0
61686
261425
260450
2026-03-28T08:31:50Z
Ainali
17
+sv
261425
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26570"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z26570K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "클래스"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "entité"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "entitas"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "entita"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "实体"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "entitet"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z26570K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "엔터티"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "classe"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "kelas"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "třída"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "类别"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "typ"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z26570K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "location"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "위치"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "location"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "lokasi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "umístění"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "位置"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "plats"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z26570K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "언어"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "langue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "bahasa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "jazyk"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "语言"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "språk"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z26609",
"Z26623",
"Z26625",
"Z26626",
"Z26932",
"Z27175",
"Z27176",
"Z32289",
"Z32377"
],
"Z8K4": [
"Z14",
"Z29840"
],
"Z8K5": "Z26570"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "엔터티와 클래스를 사용하여 위치 지정"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "Localiser en utilisant l'entité et la classe"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Berikan lokasi menggunakan entitas dan kelas"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "vyjádřit umístění pomocí entity a třídy"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "使用实体和类别说明位置"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Ange plats med entitet och typ"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"something is a something in somewhere",
"is a ? in ?",
"location is a class in entity",
"X is a Y in Z"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1078",
"Z31K2": [
"Z6",
"sesuatu adalah sesuatu di suatu tempat"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1645",
"Z31K2": [
"Z6",
"某物是某地的某类事物"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1592",
"Z31K2": [
"Z6",
"Ange plats med entitet och klass"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Forms a sentence stating the location and class of a given entity. E.g. \"Seoul is a city in South Korea.\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Membuat kalimat yang memberikan lokasi dan kelas dari entitas yang diberikan. Misalnya \"Seoul adalah kota di Korea Selatan.\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Vytvoří větu popisující polohu a třídu dané entity. Např. „Soul je město v Jižní Koreji.“"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "生成一句话,说明某个给定实体的类别及其所在位置。如:“首尔是韩国的一座城市。”"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Skapar en mening med plats och typ av en angiven entitet. Ex. \"Seoul är en stad i Sydkorea.\""
}
]
}
}
bsvp4nkt93u05ohr5mghpys5z56gv1x
Z26572
0
61688
261469
205118
2026-03-28T11:05:23Z
ChaoticVermillion
31127
Removed Z26574 from the approved list of implementations
261469
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26572"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z26572K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z26572K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Class"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z26573",
"Z26606",
"Z26607"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z26572"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Bangla article-less instantiating sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
b3a13a9blder2xf9m15p0d9ar0s6810
Z26573
0
61689
261479
205081
2026-03-28T11:12:30Z
ChaoticVermillion
31127
adding ।
261479
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26573"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z26572",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z26572",
"Z26572K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q1348"
},
"Z26572K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q200250"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "কলকাতা একটি মহানগরী।"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "কলকাতা একটি মহানগরী"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Q1348 হল Q200250"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
p9q0qmmlmm380qsxt8o4jnaekouq48g
261492
261479
2026-03-28T11:55:29Z
Redmin
52094
Update label
261492
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26573"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z26572",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z26572",
"Z26572K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q1348"
},
"Z26572K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q200250"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "কলকাতা একটি মহানগরী।"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "কলকাতা একটি মহানগরী"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Q1348 একটি Q200250"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
l2oif9d50imu9pu6u3415yv3cf40sa5
Z26574
0
61690
261486
205114
2026-03-28T11:33:50Z
Redmin
52094
Add '।' to the end of the sentence and conditionally add 'ছিলেন' if the entity is a dead person
261486
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26574"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z26572",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10000",
"Z10000K1": {
"Z1K1": "Z7",
"Z7K1": "Z22504",
"Z22504K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
},
"Z23753K2": "Z1011"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z26602",
"Z26602K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
}
},
"Z802K2": "একজন",
"Z802K3": "একটি"
},
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K2"
},
"Z23753K2": "Z1011"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z26696",
"Z26696K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
}
},
"Z802K2": "ছিলেন",
"Z802K3": ""
}
]
},
"Z10000K2": "।"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Basic Composition for Z26572"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
5mj5aiiz2ld6drzj7pjk8umv2430h1z
261487
261486
2026-03-28T11:34:49Z
Redmin
52094
Fix condition
261487
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26574"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z26572",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10000",
"Z10000K1": {
"Z1K1": "Z7",
"Z7K1": "Z22504",
"Z22504K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
},
"Z23753K2": "Z1011"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z26602",
"Z26602K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
}
},
"Z802K2": "একজন",
"Z802K3": "একটি"
},
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K2"
},
"Z23753K2": "Z1011"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z26696",
"Z26696K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
}
},
"Z802K2": "",
"Z802K3": "ছিলেন"
}
]
},
"Z10000K2": "।"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Basic Composition for Z26572"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
9teishe700cyyf1z2iks2uprm1uyc60
261488
261487
2026-03-28T11:47:04Z
Redmin
52094
Fix output for cases where the person is alive or the item is not a human
261488
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26574"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z26572",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10000",
"Z10000K1": {
"Z1K1": "Z7",
"Z7K1": "Z22504",
"Z22504K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
},
"Z23753K2": "Z1011"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z26602",
"Z26602K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
}
},
"Z802K2": "একজন",
"Z802K3": "একটি"
},
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K2"
},
"Z23753K2": "Z1011"
}
]
},
"Z10000K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z26696",
"Z26696K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
}
},
"Z802K2": "।",
"Z802K3": "ছিলেন।"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Basic Composition for Z26572"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
mbhsk6hzqh8rwkp0ewjkiay6bs93v05
261489
261488
2026-03-28T11:48:52Z
Redmin
52094
Improve en label
261489
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26574"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z26572",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10000",
"Z10000K1": {
"Z1K1": "Z7",
"Z7K1": "Z22504",
"Z22504K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
},
"Z23753K2": "Z1011"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z26602",
"Z26602K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
}
},
"Z802K2": "একজন",
"Z802K3": "একটি"
},
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K2"
},
"Z23753K2": "Z1011"
}
]
},
"Z10000K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z26696",
"Z26696K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
}
},
"Z802K2": "।",
"Z802K3": "ছিলেন।"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Bangla article-less instantiating sentence. comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
2ob33xs1ryress2oqv4mk33duzyw0h4
261490
261489
2026-03-28T11:50:19Z
Redmin
52094
Add space before 'ছিলেন'
261490
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26574"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z26572",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10000",
"Z10000K1": {
"Z1K1": "Z7",
"Z7K1": "Z22504",
"Z22504K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
},
"Z23753K2": "Z1011"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z26602",
"Z26602K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
}
},
"Z802K2": "একজন",
"Z802K3": "একটি"
},
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K2"
},
"Z23753K2": "Z1011"
}
]
},
"Z10000K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z26696",
"Z26696K1": {
"Z1K1": "Z18",
"Z18K1": "Z26572K1"
}
},
"Z802K2": "।",
"Z802K3": " ছিলেন।"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Bangla article-less instantiating sentence. comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
jrbdknc8rwhyo4wk2pdm2vt9bti88pc
Z26606
0
61723
261481
205116
2026-03-28T11:13:38Z
ChaoticVermillion
31127
adding ।
261481
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26606"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z26572",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z26572",
"Z26572K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q334818"
},
"Z26572K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q49757"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "কাজী নজরুল ইসলাম একজন কবি।"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "কাজী নজরুল ইসলাম একজন কবি"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qv4mt0gfeh4fybesz149bryqji9fs1s
Z26607
0
61724
261480
205117
2026-03-28T11:13:05Z
ChaoticVermillion
31127
adding ।
261480
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26607"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z26572",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z26572",
"Z26572K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q1363"
},
"Z26572K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q12443800"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "ত্রিপুরা একটি ভারতের রাজ্য।"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "ত্রিপুরা একটি ভারতের রাজ্য"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
o3n6ifwz6a7x29ayhs9az7j1bj93pk3
Z26676
0
61842
261450
221156
2026-03-28T10:38:52Z
Ainali
17
261450
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26676"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6005",
"Z17K2": "Z26676K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lexeme"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lessema"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Lexem"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "lexem"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z26676K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "grammatical gender"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "genere grammaticale"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Grammatikalisches Geschlecht"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "grammatiskt kön"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z26677",
"Z26678",
"Z26679",
"Z26680"
],
"Z8K4": [
"Z14",
"Z26683"
],
"Z8K5": "Z26676"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "grammatical gender of lexeme is exactly"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lessema ha genere grammaticale?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Grammatikalisches Geschlecht vom Lexem ist gleich"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"è genere grammaticale di lessema?",
"genere grammaticale di lessema è quello dato?"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "checks if a Wikidata lexeme is a specific grammatical gender"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Controlla se il lessema Wikidata ha il genere grammaticale dato."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Prüft ob das grammatikalische Geschlecht vom Lexem dem eingegebenen grammatikalischen Geschlecht entspricht."
}
]
}
}
qs4uhcbzpq06cp6ydfp4h9ig3h6a3gt
Wikifunctions:Catalogue/Natural language operations/Latin
4
62102
261470
206730
2026-03-28T11:05:34Z
EJPPhilippines
9359
/* Declension */
261470
wikitext
text/x-wiki
== Sentence and fragment generation ==
* {{Z+|Z26723}}
== Declension ==
* {{Z+|Z32330}}
* {{Z+|Z32340}}
** {{Z+|Z26333}}
* {{Z+|Z32343}}
* {{Z+|Z32347}}
[[Category:Lists of functions]]
[[Category:Latin]]
lkp2311zivjaawh84ertrv33mjapi5q
Z27176
0
63077
261473
234526
2026-03-28T11:07:29Z
So9q
3791
adapt to current label
261473
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z27176"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z26570",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z26570",
"Z26570K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q60"
},
"Z26570K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z26570K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q30"
},
"Z26570K4": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "New York City is a city in the United States."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[en] New York is a city in the United States."
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0tknajjdybznv9jn5l5d6gn8kxa749j
261475
261473
2026-03-28T11:07:49Z
So9q
3791
adapt
261475
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z27176"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z26570",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z26570",
"Z26570K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q60"
},
"Z26570K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z26570K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q30"
},
"Z26570K4": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "New York City is a city in the United States."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[en] New York City is a city in the United States."
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
husi2wob7anmwz3hin8gsw9llgreb7p
Talk:Z16313
1
64197
261301
216909
2026-03-27T19:34:40Z
Arlo Barnes
1231
subcat
261301
wikitext
text/x-wiki
== duplicate of Z16312? ==
@[[User:Arlo Barnes|Arlo Barnes]] is this a duplicate of [[Z16312]]? [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:03, 23 August 2025 (UTC)
: Yes, I think it was. [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 21:42, 9 September 2025 (UTC)
[[category:Láadan natural language generation functions]]
b3kf4kgsnrkv3dpgidddfeodmkikty3
Z27868
0
64498
261249
258337
2026-03-27T17:01:23Z
NikolasKHF
7673
261249
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z27868"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z27868K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "stringa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "文字列"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Untaian"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z27869",
"Z27870"
],
"Z8K4": [
"Z14",
"Z27871",
"Z31950"
],
"Z8K5": "Z27868"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "stringa in frammento HTML"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string to HTML fragment"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "文字列からHTMLフラグメントへ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "chaîne en fragment HTML"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Untaian ke fragmen HTML"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"string as HTML fragment",
"escape HTML"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Converte una stringa in un frammento HTML, convertendo i caratteri riservati"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Converts a string in an HTML fragment, escaping reserved characters"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "予約文字をエスケープしながら、文字列をHTMLフラグメントに変換"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "convertit une chaîne de caractère en fragment HTML"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Mengonversi untaian dalam fragment HTML, mengatasi karakter yang dicadangkan"
}
]
}
}
9dpil8kuog1hpbba4ryk0lh1upr0lq4
Z28020
0
65095
261447
259398
2026-03-28T10:31:54Z
Escargot bleu
1060
adding French
261447
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z28020"
},
"Z2K2": {
"Z1K1": "Z14294",
"Z14294K1": [
"Z14293",
{
"Z1K1": "Z14293",
"Z14293K1": "Z28018",
"Z14293K2": [
"Z60",
"Z1430"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z28026",
"Z14293K2": [
"Z60",
"Z1002",
"Z1199",
"Z1689",
"Z1113",
"Z1124",
"Z1437",
"Z1966"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z28049",
"Z14293K2": [
"Z60",
"Z1011"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z28052",
"Z14293K2": [
"Z60",
"Z1787"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30671",
"Z14293K2": [
"Z60",
"Z1146"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30609",
"Z14293K2": [
"Z60",
"Z1531"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32160",
"Z14293K2": [
"Z60",
"Z1186"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32212",
"Z14293K2": [
"Z60",
"Z1006",
"Z1645",
"Z1672",
"Z1411",
"Z1589",
"Z1406",
"Z1591",
"Z1504",
"Z1107"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32355",
"Z14293K2": [
"Z60",
"Z1830",
"Z1326",
"Z1171",
"Z1736"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32166",
"Z14293K2": [
"Z60",
"Z1004",
"Z1757",
"Z1640"
]
}
],
"Z14294K2": "Z28019"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "config for defining role sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
dr30zsahh2iydwd24qn1ljvk5b1nzo2
Z29370
0
68475
261261
260675
2026-03-27T17:24:26Z
YoshiRulz
10156
Removed Z31101 from the approved list of implementations
261261
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z29370"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z29370K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "function to apply"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "aplikovaná funkce"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z1",
"Z17K2": "Z29370K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "common first argument"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "společný první argument"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z1",
"Z17K2": "Z29370K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "common second argument"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "společný druhý argument"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z29370K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of third arguments"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "seznam třetích argumentů"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z29371"
],
"Z8K4": [
"Z14",
"Z29372"
],
"Z8K5": "Z29370"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "apply3 to a common 1st and 2nd arg and list of 3rd"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "aplikovat 3-funkci na společný 1. a 2. a seznam 3."
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "apply a three-parameter function to a common first and second arguments and a list of third arguments"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Aplikuje funkci se třemi argumenty, přičemž pro první a druhý argument bere fixní dodané hodnoty, pro třetí bere hodnoty dodaného seznamu. Vrátí seznam výsledků těchto volání."
}
]
}
}
td40bt82assfwhwrczhsapb0dtpq0b0
261262
261261
2026-03-27T17:25:40Z
YoshiRulz
10156
Added Z31101 to the approved list of implementations
261262
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z29370"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z29370K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "function to apply"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "aplikovaná funkce"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z1",
"Z17K2": "Z29370K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "common first argument"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "společný první argument"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z1",
"Z17K2": "Z29370K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "common second argument"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "společný druhý argument"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z29370K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of third arguments"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "seznam třetích argumentů"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z29371"
],
"Z8K4": [
"Z14",
"Z29372",
"Z31101"
],
"Z8K5": "Z29370"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "apply3 to a common 1st and 2nd arg and list of 3rd"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "aplikovat 3-funkci na společný 1. a 2. a seznam 3."
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "apply a three-parameter function to a common first and second arguments and a list of third arguments"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Aplikuje funkci se třemi argumenty, přičemž pro první a druhý argument bere fixní dodané hodnoty, pro třetí bere hodnoty dodaného seznamu. Vrátí seznam výsledků těchto volání."
}
]
}
}
n8y4p58kz8gzlh6i8z9nn9f9ed6qoam
261264
261262
2026-03-27T17:31:19Z
YoshiRulz
10156
Added Z32813 to the approved list of test cases
261264
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z29370"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z29370K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "function to apply"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "aplikovaná funkce"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z1",
"Z17K2": "Z29370K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "common first argument"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "společný první argument"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z1",
"Z17K2": "Z29370K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "common second argument"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "společný druhý argument"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z29370K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of third arguments"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "seznam třetích argumentů"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z29371",
"Z32813"
],
"Z8K4": [
"Z14",
"Z29372",
"Z31101"
],
"Z8K5": "Z29370"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "apply3 to a common 1st and 2nd arg and list of 3rd"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "aplikovat 3-funkci na společný 1. a 2. a seznam 3."
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "apply a three-parameter function to a common first and second arguments and a list of third arguments"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Aplikuje funkci se třemi argumenty, přičemž pro první a druhý argument bere fixní dodané hodnoty, pro třetí bere hodnoty dodaného seznamu. Vrátí seznam výsledků těchto volání."
}
]
}
}
brepv2w6vpkf06hxla8htua6g1h81pw
Template:Main page/News
10
68963
261393
259416
2026-03-28T06:42:30Z
ChaoticVermillion
31127
updated news (did i do this right?)
261393
wikitext
text/x-wiki
<noinclude><languages /></noinclude>
; <translate><!--T:1--> Volunteer's Corners</translate>
* <translate><!--T:2--> The next Volunteers' Corner will be at <tvar name="date-and-time"><bdi lang="en" dir="ltr">[https://zonestamp.toolforge.org/1776101400 17:30 UTC on 2026-04-13]</bdi></tvar> on <tvar name="platform"><bdi lang="en" dir="ltr">Google Meet</bdi></tvar> at <tvar name="link"><bdi lang="en" dir="ltr">[https://meet.google.com/xuy-njxh-rkw meet.google.com/xuy-njxh-rkw]</bdi></tvar>.</translate>
* <translate><!--T:3--> The [[<tvar name="1">:c:File:Abstract Wikipedia Volunteer Corner 2026-03.webm</tvar>|most recent Volunteer's Corner]] is available on Commons</translate>
; <translate><!--T:4--> Recent status updates about Wikifunctions</translate>
<!--Keep this to the most recent 5 entries-->
* <translate><!--T:24--> <tvar name="1">{{Status updates|2026-03-26}}</tvar>: First few days of Abstract Wikipedia Beta; Status of Composition Language v2</translate>
* <translate><!--T:23--> <tvar name="1">{{Status updates|2026-03-19}}</tvar>: Abstract Wikipedia in Beta</translate>
* <translate><!--T:22--> <tvar name="1">{{Status updates|2026-03-11}}</tvar>: A new composition language</translate>
* <translate><!--T:21--> <tvar name="1">{{Status updates|2026-03-06}}</tvar>: Citations and Copy and Paste</translate>
* <translate><!--T:20--> <tvar name="1">{{Status updates|2026-02-26}}</tvar>: Graceful overrides and fallbacks</translate>
[[Special:MyLanguage/Wikifunctions:Status updates|<span class="mw-ui-button mw-ui-constructive mw-ui-small"><translate><!--T:10--> More news</translate></span>]]
qafh2o6pn25edhkg012qlijyrp6n1dw
Z29843
0
69318
261190
260939
2026-03-27T12:07:35Z
Sun8908
9804
do this first, change when there is a separate function for simplified/traditional chinese, i guess.
261190
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z29843"
},
"Z2K2": {
"Z1K1": "Z14294",
"Z14294K1": [
"Z14293",
{
"Z1K1": "Z14293",
"Z14293K1": "Z26707",
"Z14293K2": [
"Z60",
"Z1011"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27219",
"Z14293K2": [
"Z60",
"Z1787"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30397",
"Z14293K2": [
"Z60",
"Z1002"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30484",
"Z14293K2": [
"Z60",
"Z1430"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30514",
"Z14293K2": [
"Z60",
"Z1541"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30534",
"Z14293K2": [
"Z60",
"Z1146"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32152",
"Z14293K2": [
"Z60",
"Z1531"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32193",
"Z14293K2": [
"Z60",
"Z1844",
"Z1226"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32219",
"Z14293K2": [
"Z60",
"Z1037",
"Z1294",
"Z1381"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32287",
"Z14293K2": [
"Z60",
"Z1005"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32371",
"Z14293K2": [
"Z60",
"Z1004",
"Z1640"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32442",
"Z14293K2": [
"Z60",
"Z1830"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32739",
"Z14293K2": [
"Z60",
"Z1157",
"Z1517"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32788",
"Z14293K2": [
"Z60",
"Z1006",
"Z1411",
"Z1406",
"Z1107",
"Z1591",
"Z1589",
"Z1504",
"Z1645",
"Z1672"
]
}
],
"Z14294K2": "Z30397"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "config for state location using entity and class"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "konfigurace pro vyjádřit umístění Z26570"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "konfigurace pro funkci „vyjádřit umístění pomocí entity a třídy“"
}
]
}
}
idabkpf1px2des5trlt9045scbzyyxw
261394
261190
2026-03-28T06:45:26Z
Sun8908
9804
re-add after connecting the implementation?
261394
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z29843"
},
"Z2K2": {
"Z1K1": "Z14294",
"Z14294K1": [
"Z14293",
{
"Z1K1": "Z14293",
"Z14293K1": "Z26707",
"Z14293K2": [
"Z60",
"Z1011"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27219",
"Z14293K2": [
"Z60",
"Z1787"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30397",
"Z14293K2": [
"Z60",
"Z1002"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30484",
"Z14293K2": [
"Z60",
"Z1430"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30514",
"Z14293K2": [
"Z60",
"Z1541"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30534",
"Z14293K2": [
"Z60",
"Z1146"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32152",
"Z14293K2": [
"Z60",
"Z1531"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32193",
"Z14293K2": [
"Z60",
"Z1844",
"Z1226"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32219",
"Z14293K2": [
"Z60",
"Z1037",
"Z1294",
"Z1381"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32287",
"Z14293K2": [
"Z60",
"Z1005"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32371",
"Z14293K2": [
"Z60",
"Z1004",
"Z1640"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32442",
"Z14293K2": [
"Z60",
"Z1830"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32739",
"Z14293K2": [
"Z60",
"Z1157",
"Z1517"
]
}
],
"Z14294K2": "Z30397"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "config for state location using entity and class"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "konfigurace pro vyjádřit umístění Z26570"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "konfigurace pro funkci „vyjádřit umístění pomocí entity a třídy“"
}
]
}
}
mcte8birv70ijywor7yq0zn57zdp4uy
261426
261394
2026-03-28T08:32:23Z
ChaoticVermillion
31127
added latin
261426
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z29843"
},
"Z2K2": {
"Z1K1": "Z14294",
"Z14294K1": [
"Z14293",
{
"Z1K1": "Z14293",
"Z14293K1": "Z26707",
"Z14293K2": [
"Z60",
"Z1011"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z27219",
"Z14293K2": [
"Z60",
"Z1787"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30397",
"Z14293K2": [
"Z60",
"Z1002"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30484",
"Z14293K2": [
"Z60",
"Z1430"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30514",
"Z14293K2": [
"Z60",
"Z1541"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z30534",
"Z14293K2": [
"Z60",
"Z1146"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32152",
"Z14293K2": [
"Z60",
"Z1531"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32193",
"Z14293K2": [
"Z60",
"Z1844",
"Z1226"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32219",
"Z14293K2": [
"Z60",
"Z1037",
"Z1294",
"Z1381"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32287",
"Z14293K2": [
"Z60",
"Z1005"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32371",
"Z14293K2": [
"Z60",
"Z1004",
"Z1640"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32442",
"Z14293K2": [
"Z60",
"Z1830"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32739",
"Z14293K2": [
"Z60",
"Z1157",
"Z1517"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32848",
"Z14293K2": [
"Z60",
"Z1403"
]
}
],
"Z14294K2": "Z30397"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "config for state location using entity and class"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "konfigurace pro vyjádřit umístění Z26570"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "konfigurace pro funkci „vyjádřit umístění pomocí entity a třídy“"
}
]
}
}
dcwbqtld231ko0g2vs81dx6a373a8c6
Z29957
0
69477
261219
238678
2026-03-27T14:03:39Z
YoshiRulz
10156
Clarify en label
261219
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z29957"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6004",
"Z17K2": "Z29957K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lexeme form"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z11"
},
"Z8K3": [
"Z20",
"Z29960",
"Z30330",
"Z30331",
"Z30340"
],
"Z8K4": [
"Z14",
"Z29959"
],
"Z8K5": "Z29957"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "get IPA transcriptions of Lexeme Form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0m93uo1pjcli59u1iwn198nuucudzal
Wikifunctions:Catalogue/HTML operations
4
69531
261455
259711
2026-03-28T10:43:25Z
EJPPhilippines
9359
261455
wikitext
text/x-wiki
Functions that are directly related to [[Help:HTML_fragments|HTML fragments]].
==Comparison and evaluation==
* {{Z+|Z877}}
* {{Z+|Z29045}}
* {{Z+|Z29572}}
** {{Z+|Z29576}}
==Conversion==
* {{Z+|Z27854}}
* {{Z+|Z27861}}
* {{Z+|Z27868}}
* {{Z+|Z19384}}
==Transformation==
* {{Z+|Z27849}}
** {{Z+|Z27926}}
** {{Z+|Z32149}}
* {{Z+|Z27873}}
* {{Z+|Z30058}}
* {{Z+|Z31465}}
** {{Z+|Z32145}}
* {{Z+|Z27878}}
* {{Z+|Z27932}}
* {{Z+|Z29052}}
* {{Z+|Z28914}}
* {{Z+|Z23293}}
* {{Z+|Z29580}}
* {{Z+|Z29582}}
* {{Z+|Z31729}}
* {{Z+|Z30954}}
* {{Z+|Z32123}}
** {{Z+|Z32163}}
* {{Z+|Z32179}}
* {{Z+|Z32180}}
** {{Z+|Z32215}}
* {{Z+|Z32234}}
==Creating and managing links==
* {{Z+|Z30016}}
* {{Z+|Z31697}}
** {{Z+|Z29588}}
* {{Z+|Z28904}}
==Linguistic applications==
* {{Z+|Z26333}}
* {{Z+|Z29055}}
* {{Z+|Z28602}}
** {{Z+|Z28928}}
* {{Z+|Z29488}}
**{{Z+|Z29557}}
* {{Z+|Z29186}}
==References and citations==
* {{Z+|Z31906}}
* {{Z+|Z31917}}
* {{Z+|Z31921}}
* {{Z+|Z32053}}
[[Category:Lists of functions]]
h5fbmq9t2h44yklltafspbz71k0wmt2
Z30349
0
70137
261437
235210
2026-03-28T10:01:29Z
Ainali
17
Added Z30356 to the approved list of implementations
261437
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30349"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6005",
"Z17K2": "Z30349K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lexeme"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "leksem"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z30351",
"Z30358",
"Z30359",
"Z30468"
],
"Z8K4": [
"Z14",
"Z30356"
],
"Z8K5": "Z30349"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "correct Swedish indefinite article"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "en eller ett?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"en or ett?"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1592",
"Z31K2": [
"Z6",
"ett eller en?"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Based on a word, returns whether \"en\" or \"ett\" should be the indefinite article."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Returnerar korrekt artikel baserat på leksemets kön."
}
]
}
}
mwefjnqdwc89lr1dhydest0b7ujt0m7
261461
261437
2026-03-28T10:53:47Z
Ainali
17
261461
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30349"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6005",
"Z17K2": "Z30349K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lexeme"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "lexem"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z30351",
"Z30358",
"Z30359",
"Z30468"
],
"Z8K4": [
"Z14",
"Z30356"
],
"Z8K5": "Z30349"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "correct Swedish indefinite article"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "en eller ett?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"en or ett?"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1592",
"Z31K2": [
"Z6",
"ett eller en?"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Based on a word, returns whether \"en\" or \"ett\" should be the indefinite article."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Returnerar korrekt artikel baserat på lexemets kön."
}
]
}
}
egyg8vz4ay1byy3dw3vs37pk0d44tab
Z30351
0
70140
261456
234336
2026-03-28T10:43:33Z
Ainali
17
261456
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30351"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z30349",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z30349",
"Z30349K1": {
"Z1K1": "Z7",
"Z7K1": "Z6825",
"Z6825K1": {
"Z1K1": "Z6095",
"Z6095K1": "L32379"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "en"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "hund -\u003E en"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
3ks9jyuiyv2g3xlbdmo61tq4zwfm4hk
261462
261456
2026-03-28T10:56:42Z
Ainali
17
rv
261462
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30351"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z30349",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z30349",
"Z30349K1": {
"Z1K1": "Z6095",
"Z6095K1": "L32379"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "en"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "hund -\u003E en"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sf2bc01p6c80uelft4z8niyz274cisd
Z30353
0
70142
261438
235201
2026-03-28T10:05:16Z
Ainali
17
261438
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30353"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6005",
"Z17K2": "Z30353K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lexeme"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "leksem"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z30354",
"Z30357"
],
"Z8K4": [
"Z14",
"Z30355"
],
"Z8K5": "Z30353"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is common gender lexeme?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "är lexemet utrum?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"is common?",
"is common grammatical gendered lexeme?"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1592",
"Z31K2": [
"Z6",
"är utrum lexem?",
"är lexem med utrum?"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
t6gcre7g6d56y18mil0yn7b1nf74gh5
261454
261438
2026-03-28T10:41:15Z
Ainali
17
261454
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30353"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6005",
"Z17K2": "Z30353K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lexeme"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "lexem"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z30354",
"Z30357"
],
"Z8K4": [
"Z14",
"Z30355"
],
"Z8K5": "Z30353"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is common gender lexeme?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "är lexemet utrum?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"is common?",
"is common grammatical gendered lexeme?"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1592",
"Z31K2": [
"Z6",
"är utrum lexem?",
"är lexem med utrum?"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
guf2y559gewnn08rk562g7ldwzwf5av
Z30355
0
70144
261441
235229
2026-03-28T10:15:55Z
Ainali
17
261441
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30355"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z30353",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z26676",
"Z26676K1": {
"Z1K1": "Z18",
"Z18K1": "Z30353K1"
},
"Z26676K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q1305037"
}
},
"Z802K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z802K3": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is common lexeme, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
t1pt18bztd24c4k0q7ln0ravchtwtpw
261445
261441
2026-03-28T10:29:10Z
Ainali
17
revert, unnecessary
261445
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30355"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z30353",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26676",
"Z26676K1": {
"Z1K1": "Z18",
"Z18K1": "Z30353K1"
},
"Z26676K2": {
"Z1K1": "Z6091",
"Z6091K1": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is common lexeme, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
dhyknky8x0zgqtzmrobif57o0z4u76p
261446
261445
2026-03-28T10:29:54Z
Ainali
17
got lost
261446
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30355"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z30353",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26676",
"Z26676K1": {
"Z1K1": "Z18",
"Z18K1": "Z30353K1"
},
"Z26676K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q1305037"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is common lexeme, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
10swao8dhi5xube8mw9tck7s2na0iqx
Z30356
0
70145
261459
235234
2026-03-28T10:48:22Z
Ainali
17
261459
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30356"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z30349",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z11542",
"Z11542K1": {
"Z1K1": "Z7",
"Z7K1": "Z30353",
"Z30353K1": {
"Z1K1": "Z7",
"Z7K1": "Z6825",
"Z6825K1": {
"Z1K1": "Z18",
"Z18K1": "Z30349K1"
}
}
},
"Z11542K2": "en",
"Z11542K3": "ett"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": " correct Swedish indefinite article, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
o10tqws6fpkev7augzbpcgmtc682u0f
Z30357
0
70146
261453
235189
2026-03-28T10:40:29Z
Ainali
17
261453
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30357"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z30353",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z30353",
"Z30353K1": {
"Z1K1": "Z7",
"Z7K1": "Z6825",
"Z6825K1": {
"Z1K1": "Z6095",
"Z6095K1": "L32882"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "land,sv -\u003E Falskt"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "land, sv = false"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
cblggf0go2yqeutnl4dtksccpvmfys7
Wikifunctions:Catalogue/Wikidata operations/Item
4
70154
261484
234375
2026-03-28T11:29:59Z
EJPPhilippines
9359
/* Wikidata item operations */
261484
wikitext
text/x-wiki
== Wikidata item operations ==
* {{Z+|Z6801}}
* {{Z+|Z19316}}
* {{Z+|Z20041}}
* {{Z+|Z23756}}
** {{Z+|Z22246}}
* {{Z+|Z6821}}
**{{Z+|Z6820}}
**{{Z+|Z30120}}
* {{Z+|Z30025}}
** {{Z+|Z29728}}
** {{Z+|Z29724}}
* {{Z+|Z22220}}
* {{Z+|Z29691}}
** {{Z+|Z29694}}
* {{Z+|Z22853}}
** {{Z+|Z23753}}
** {{Z+|Z24102}}
** {{Z+|Z24139}}
** {{Z+|Z24114}}
** {{Z+|Z27899}}
* {{Z+|Z23080}}
* {{Z+|Z21580}}
* {{Z+|Z6830}}
** {{Z+|Z23471}}
** {{Z+|Z27327}}
* {{Z+|Z22696}}
* {{Z+|Z23468}}
* {{Z+|Z22978}}
** {{Z+|Z32290}}
* {{Z+|Z23543}}
** {{Z+|Z29623}}
** {{Z+|Z29620}}
* {{Z+|Z23136}}
** {{Z+|Z25792}}
* {{Z+|Z23610}}
** {{Z+|Z23604}}
** {{Z+|Z23082}}
* {{Z+|Z23737}}
* {{Z+|Z28787}}
* {{Z+|Z25601}}
* {{Z+|Z28777}}
* {{Z+|Z27506}}
=== Search for ===
* [[Special:Search/: "Z8K2 Z6001" OR "Z8K2 Z6091"|Functions returning an explicit Wikidata item object or reference]]
** [[Special:Search/: "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6001" OR "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6091"| or a list of them]]
** [[Special:Search/: "Z8K2 Z6001"OR "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6001|or just a Wikidata item object or a list of them]]
** [[Special:Search/: "Z8K2 Z6091"|or just a Wikidata item reference]]
*** [[Special:Search/: "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6091|or a list of them]]
* [[Special:Search/: "Z17K1 Z6001" OR "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6001|Functions expecting an explicit Wikidata item object or a list of them]]
* [[Special:Search/: "Z17K1 Z6091"|Functions expecting an explicit Wikidata item reference]]
** [[Special:Search/: "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6091|or a list of them]]
[[Category:Lists of functions]]
[[Category:Wikidata]]
2rkkrzhvtk69dd9o3p59no5rgsivi18
Wikifunctions:Catalogue/Wikidata operations/Lexeme
4
70155
261485
234939
2026-03-28T11:32:39Z
EJPPhilippines
9359
/* Lexeme reference operations */
261485
wikitext
text/x-wiki
== Lexeme sense operations ==
*{{Z+|Z6826}}
*{{Z+|Z6806}}
*{{Z+|Z23112}}
*{{Z+|Z23114}}
*{{Z+|Z23116}}
*{{Z+|Z23433}}
**{{Z+|Z23489}}
*{{Z+|Z21577}}
*{{Z+|Z20673}}
* {{Z+|Z27292}}
* {{Z+|Z27340}}
=== Search for ===
* [[Special:Search/: "Z8K2 Z6006" OR "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6006" OR "Z8K2 Z6096" OR "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6096" OR "Z17K1 Z6006" OR "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6006" OR "Z17K1 Z6096" OR "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6096"|Functions expecting or returning an explicit Wikidata lexeme sense or reference, singly or in a list]]
== Lexeme sense reference operations ==
*{{Z+|Z23127}}
*{{Z+|Z23130}}
== Lexeme form operations ==
* {{Z+|Z6824}}
* {{Z+|Z6804}}
* {{Z+|Z19271}}
* {{Z+|Z22399}}
* {{Z+|Z22396}}
* {{Z+|Z22478}}
* {{Z+|Z22483}}
* {{Z+|Z23118}}
* {{Z+|Z22638}}
** {{Z+|Z22487}}
** {{Z+|Z22556}}
** {{Z+|Z27499}}
* {{Z+|Z22490}}
=== Search for ===
[[Special:Search/: "Z8K2 Z6004" OR "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6004" OR "Z8K2 Z6094" OR "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6094" OR "Z17K1 Z6004" OR "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6004" OR "Z17K1 Z6094" OR "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6094"|Functions expecting or returning an explicit Wikidata lexeme form object or reference, singly or in a list]]
== Lexeme reference operations ==
*{{Z+|Z19285}}
*{{Z+|Z6825}}
**{{Z+|Z32373}}
*{{Z+|Z19287}}
*{{Z+|Z22249}}
== Lexeme operations ==
=== Lemma operations ===
*{{Z+|Z19293}}
=== Language operations ===
*{{Z+|Z19295}}
*{{Z+|Z19276}}
=== Lexical category operations ===
*{{Z+|Z19298}}
==== Grammatical gender operations ====
*{{Z+|Z26676}}
*{{Z+|Z21739}}
*{{Z+|Z30349}}
=== Form operations ===
*{{Z+|Z19302}}
*{{Z+|Z19232}}
*{{Z+|Z19234}}
*{{Z+|Z19241}}
** {{Z+|Z27410}}
*{{Z+|Z19243}}
*{{Z+|Z19252}}
*{{Z+|Z19260}}
*{{Z+|Z22559}}
*{{Z+|Z19340}}
=== Sense operations ===
*{{Z+|Z19282}}
*{{Z+|Z23486}}
=== Other operations ===
*{{Z+|Z19300}}
*{{Z+|Z22696}}
*{{Z+|Z19285}}
=== Search for ===
[[Special:Search/: "Z8K2 Z6005" OR "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6005" OR "Z8K2 Z6095" OR "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6095" OR "Z17K1 Z6005" OR "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6005" OR "Z17K1 Z6095" OR "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6095"|Functions expecting or returning an explicit Wikidata lexeme object or reference, singly or in a list]]
* [[Special:Search/: "Z8K2 Z6005"|Functions returning an explicit Wikidata lexeme object]]
** [[Special:Search/: "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6005|or a list of them]]
* [[Special:Search/: "Z8K2 Z6095"|Functions returning an explicit Wikidata lexeme reference]]
** [[Special:Search/: "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6095|or a list of them]]
* [[Special:Search/: "Z17K1 Z6005"|Functions expecting an explicit Wikidata lexeme object]]
** [[Special:Search/: "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6005|or a list of them]]
* [[Special:Search/: "Z17K1 Z6095"|Functions expecting an explicit Wikidata lexeme reference]]
** [[Special:Search/: "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z6095|or a list of them]]
[[Category:Lists of functions]]
[[Category:Wikidata]]
89nh76t2dliznv9c83tx09y0cq5dxuj
Talk:Z14326
1
71044
261227
236777
2026-03-27T14:38:51Z
GrounderUK
50
/* Case-sensitivity */
261227
wikitext
text/x-wiki
== Case-sensitivity ==
See [[Z30680]]/[[Z30681]]/[[Z30682]].
Wikimedia subdomains are necessarily all-lowercase, which I'm guessing is why Wikidata uses all-lowercase, and that was then copied for persistent [[Z60]]s here on Wikifunctions.
But per that third test the canonical form is e.g. <code>sux-Latn</code>, <code>en-US</code>, and these should be considered equivalent to their all-lowercase counterparts.
<br>From [https://www.rfc-editor.org/rfc/rfc5646#section-2.1.1 the spec]:
<q>At all times, language tags and their subtags, including private use and extensions, are to be treated as case insensitive:
there exist conventions for the capitalization of some of the subtags, but these MUST NOT be taken to carry meaning.
[...] The format of subtags in the registry [which follows ISO standards 639-1, 3166-1, and 15924] is RECOMMENDED as the form to use in language tags.<q>
<br>So my question is: Are the elements of [[Z60]]s semantically IETF language tags or Wikimedia/Wikidata language identifiers?
{{Z|160}} doesn't seem to inspect <code>Z60K1</code> at all. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 02:16, 19 December 2025 (UTC)
:All Validator functions currently fail and mostly never did anything anyway.--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:38, 27 March 2026 (UTC)
at76vtfqo2lgfqsranfa4a1j8q5gezt
261235
261227
2026-03-27T15:17:41Z
GrounderUK
50
/* Case-sensitivity */ Reply
261235
wikitext
text/x-wiki
== Case-sensitivity ==
See [[Z30680]]/[[Z30681]]/[[Z30682]].
Wikimedia subdomains are necessarily all-lowercase, which I'm guessing is why Wikidata uses all-lowercase, and that was then copied for persistent [[Z60]]s here on Wikifunctions.
But per that third test the canonical form is e.g. <code>sux-Latn</code>, <code>en-US</code>, and these should be considered equivalent to their all-lowercase counterparts.
<br>From [https://www.rfc-editor.org/rfc/rfc5646#section-2.1.1 the spec]:
<q>At all times, language tags and their subtags, including private use and extensions, are to be treated as case insensitive:
there exist conventions for the capitalization of some of the subtags, but these MUST NOT be taken to carry meaning.
[...] The format of subtags in the registry [which follows ISO standards 639-1, 3166-1, and 15924] is RECOMMENDED as the form to use in language tags.<q>
<br>So my question is: Are the elements of [[Z60]]s semantically IETF language tags or Wikimedia/Wikidata language identifiers?
{{Z|160}} doesn't seem to inspect <code>Z60K1</code> at all. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 02:16, 19 December 2025 (UTC)
:All Validator functions currently fail and mostly never did anything anyway.--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:38, 27 March 2026 (UTC)
:The structure of language tags in persistent Z60s [[Special:Search/:"Z2K2 Z1K1 Z60 Z60K1"|appears to be strictly lowercase]]. For practical purposes, it is simpler to treat any string purporting to represent a language tag as lowercase since, outside of code, case-insensitive comparison and normalisation are relatively expensive compared to a simple call to {{Z|Z866}}, which is case sensitive.
:This function stipulates “identical” tags, so implementations inherit that behaviour unless they explicitly normalise both tags before calling it. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:17, 27 March 2026 (UTC)
ko6loew0mxxs4r5vj8s6sq1kfmiqwv3
261236
261235
2026-03-27T15:19:35Z
GrounderUK
50
/* Case-sensitivity */ merge replies
261236
wikitext
text/x-wiki
== Case-sensitivity ==
See [[Z30680]]/[[Z30681]]/[[Z30682]].
Wikimedia subdomains are necessarily all-lowercase, which I'm guessing is why Wikidata uses all-lowercase, and that was then copied for persistent [[Z60]]s here on Wikifunctions.
But per that third test the canonical form is e.g. <code>sux-Latn</code>, <code>en-US</code>, and these should be considered equivalent to their all-lowercase counterparts.
<br>From [https://www.rfc-editor.org/rfc/rfc5646#section-2.1.1 the spec]:
<q>At all times, language tags and their subtags, including private use and extensions, are to be treated as case insensitive:
there exist conventions for the capitalization of some of the subtags, but these MUST NOT be taken to carry meaning.
[...] The format of subtags in the registry [which follows ISO standards 639-1, 3166-1, and 15924] is RECOMMENDED as the form to use in language tags.<q>
<br>So my question is: Are the elements of [[Z60]]s semantically IETF language tags or Wikimedia/Wikidata language identifiers?
{{Z|160}} doesn't seem to inspect <code>Z60K1</code> at all. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 02:16, 19 December 2025 (UTC)
:All Validator functions currently fail and mostly never did anything anyway.
:The structure of language tags in persistent Z60s [[Special:Search/:"Z2K2 Z1K1 Z60 Z60K1"|appears to be strictly lowercase]]. For practical purposes, it is simpler to treat any string purporting to represent a language tag as lowercase since, outside of code, case-insensitive comparison and normalisation are relatively expensive compared to a simple call to {{Z|Z866}}, which is case sensitive.
:This function stipulates “identical” tags, so implementations inherit that behaviour unless they explicitly normalise both tags before calling it. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:17, 27 March 2026 (UTC)
m30acu26sqsaktbn9gbpkemj16idr58
261274
261236
2026-03-27T18:21:24Z
Jdforrester (WMF)
4
/* Case-sensitivity */ Reply
261274
wikitext
text/x-wiki
== Case-sensitivity ==
See [[Z30680]]/[[Z30681]]/[[Z30682]].
Wikimedia subdomains are necessarily all-lowercase, which I'm guessing is why Wikidata uses all-lowercase, and that was then copied for persistent [[Z60]]s here on Wikifunctions.
But per that third test the canonical form is e.g. <code>sux-Latn</code>, <code>en-US</code>, and these should be considered equivalent to their all-lowercase counterparts.
<br>From [https://www.rfc-editor.org/rfc/rfc5646#section-2.1.1 the spec]:
<q>At all times, language tags and their subtags, including private use and extensions, are to be treated as case insensitive:
there exist conventions for the capitalization of some of the subtags, but these MUST NOT be taken to carry meaning.
[...] The format of subtags in the registry [which follows ISO standards 639-1, 3166-1, and 15924] is RECOMMENDED as the form to use in language tags.<q>
<br>So my question is: Are the elements of [[Z60]]s semantically IETF language tags or Wikimedia/Wikidata language identifiers?
{{Z|160}} doesn't seem to inspect <code>Z60K1</code> at all. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 02:16, 19 December 2025 (UTC)
:All Validator functions currently fail and mostly never did anything anyway.
:The structure of language tags in persistent Z60s [[Special:Search/:"Z2K2 Z1K1 Z60 Z60K1"|appears to be strictly lowercase]]. For practical purposes, it is simpler to treat any string purporting to represent a language tag as lowercase since, outside of code, case-insensitive comparison and normalisation are relatively expensive compared to a simple call to {{Z|Z866}}, which is case sensitive.
:This function stipulates “identical” tags, so implementations inherit that behaviour unless they explicitly normalise both tags before calling it. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:17, 27 March 2026 (UTC)
:<blockquote>Are the elements of [[Z60|Z60s]] semantically IETF language tags or Wikimedia/Wikidata language identifiers?</blockquote>
:Neither, but closer to the former than the latter. They exist distinctly from Wikimedia/Wikidata language identifiers almost entirely so that the Abstract Wikipedia / Wikifunctions communities can choose to support languages, dialects, and variants to an arbitrary level without needing the rest of the Wikimedia movement to agree that this is a language they wish to support (''e.g.'' en-IN, or de-AT, or as has been suggested something like en-US-x-Grade5).
:Note that we don't actively normalise Z60K1 values (or Z60K2 ones, for that matter) on the back-end when evaluating requests. We could do so, but every additional line of code in hot paths like that would need consideration. It is indeed safest to assume that we should always use lowercase. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 18:21, 27 March 2026 (UTC)
p56rhu7ztf2dwus2t39sxonx21lyegn
Z31098
0
72680
261260
242213
2026-03-27T17:22:40Z
YoshiRulz
10156
Added Z32812 to the approved list of test cases
261260
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z31098"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z31098K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z31098K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of 1st arguments"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z31098K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of 2nd arguments"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z31098K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of 3rd arguments"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z31099",
"Z32812"
],
"Z8K4": [
"Z14",
"Z31100"
],
"Z8K5": "Z31098"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "apply three-parameter function pairwise to 3 lists"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
pbh99hpelh9je5onwc27ad0l4j6dihp
Z31738
0
77141
261440
260137
2026-03-28T10:13:19Z
Redmin
52094
261440
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z31738"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z31729",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z31729(Z31729K1):\n from re import search, sub, finditer, IGNORECASE\n from html.parser import HTMLParser\n content = Z31729K1.Z89K1.strip()\n \n def _has_root_centering(attrs_dict):\n \t# Check root element's attributes for centering indicators using dict\n if not attrs_dict:\n return False\n # Check align attribute\n align = attrs_dict.get('align', '')\n if align and align.lower() == 'center':\n return True\n class_attr = attrs_dict.get('class', '')\n # Check if the 'center' class is present, which is used on many Wikimedia wikis\n if class_attr and 'center' in class_attr.lower().split():\n return True\n style = attrs_dict.get('style', '')\n if style:\n style_clean = sub(r'\\s*:\\s*', ':', style)\n style_clean = sub(r'\\s*;\\s*', ';', style_clean)\n if search(r'text-align:center[;\\s]|text-align:center$', style_clean.lower()):\n return True\n return False\n \n def _has_margin_auto_centering(attrs_dict):\n \t# For tags that need margin:auto, check if they already have centering\n if not attrs_dict:\n return False\n align = attrs_dict.get('align', '')\n if align and align.lower() == 'center':\n return True\n class_attr = attrs_dict.get('class', '')\n if class_attr and 'center' in class_attr.lower().split():\n return True\n style = attrs_dict.get('style', '')\n if style:\n style_lower = style.lower()\n # Check for margin:auto\n if 'margin:auto' in style_lower or 'margin: 0 auto' in style_lower:\n return True\n return False\n \n def _parse_style(style_text):\n styles = {}\n for decl in style_text.split(';'):\n if ':' in decl:\n prop, val = decl.split(':', 1)\n prop = prop.strip()\n val = val.strip()\n if prop and val:\n styles[prop] = val\n return styles\n \n def _build_style_string(styles_dict):\n if not styles_dict:\n return ''\n return '; '.join(f\"{k}: {v}\" for k, v in styles_dict.items()) + ';'\n \n def _ensure_center_in_style(style_text):\n if not style_text:\n return 'text-align: center;'\n # Remove any existing text-align rule\n style_text = sub(r'text-align\\s*:\\s*[^;]+;?', '', style_text, flags=IGNORECASE)\n out = f'{style_text}; text-align: center;'\n if out.startswith('; '):\n out = out.replace('; ', '', 1)\n return out\n \n def _parse_attributes(attrs_text):\n attrs = {}\n if not attrs_text:\n return attrs\n pattern = r'([a-zA-Z][a-zA-Z0-9_-]*)\\s*=\\s*([\\'\"])(.*?)\\2'\n for m in finditer(pattern, attrs_text, IGNORECASE):\n name, _, value = m.groups()\n attrs[name] = value.strip()\n remaining = attrs_text\n for m in finditer(pattern, attrs_text, IGNORECASE):\n remaining = remaining.replace(m.group(0), '')\n # Look for standalone attributes\n bool_pattern = r'\\b([a-zA-Z][a-zA-Z0-9_-]*)\\b'\n for m in finditer(bool_pattern, remaining):\n name = m.group(1)\n if name not in attrs:\n attrs[name] = None\n return attrs\n \n def _build_attributes_string(attrs_dict):\n parts = []\n for name, value in attrs_dict.items():\n if value is None:\n parts.append(name)\n else:\n \t# Use double quotes, escape any existing double quotes\n escaped = value.replace('\"', '\u0026quot;')\n parts.append(f'{name}=\"{escaped}\"')\n return ' '.join(parts)\n \n def _needs_margin_auto(tag):\n \t# These elements are not centered by text-align rules.\n return tag.lower() in ('table', 'hr', 'img', 'object', 'canvas', 'iframe')\n \n def _center_element(tag, attrs_dict):\n if _needs_margin_auto(tag):\n styles = _parse_style(attrs_dict.get('style', ''))\n styles['margin'] = 'auto'\n attrs_dict['style'] = _build_style_string(styles)\n else:\n style_text = attrs_dict.get('style', '')\n attrs_dict['style'] = _ensure_center_in_style(style_text)\n return attrs_dict\n \n class MarginAutoAdder(HTMLParser):\n def __init__(self):\n super().__init__()\n self.output = []\n \n def handle_starttag(self, tag, attrs):\n attrs_dict = dict(attrs)\n if _needs_margin_auto(tag) and not _has_margin_auto_centering(attrs_dict):\n styles = _parse_style(attrs_dict.get('style', ''))\n styles['margin'] = 'auto'\n attrs_dict['style'] = _build_style_string(styles)\n attr_str = _build_attributes_string(attrs_dict)\n self.output.append(f'\u003C{tag}{\" \" + attr_str if attr_str else \"\"}\u003E')\n \n def handle_endtag(self, tag):\n self.output.append(f'\u003C/{tag}\u003E')\n \n def handle_data(self, data):\n self.output.append(data)\n \n def handle_startendtag(self, tag, attrs):\n attrs_dict = dict(attrs)\n if _needs_margin_auto(tag) and not _has_margin_auto_centering(attrs_dict):\n styles = _parse_style(attrs_dict.get('style', ''))\n styles['margin'] = 'auto'\n attrs_dict['style'] = _build_style_string(styles)\n attr_str = _build_attributes_string(attrs_dict)\n self.output.append(f'\u003C{tag}{\" \" + attr_str if attr_str else \"\"} /\u003E')\n \n class RootFinder(HTMLParser):\n def __init__(self):\n super().__init__()\n self.root_tag = None\n self.root_attrs = {}\n self.inner_html = None\n self.depth = 0\n self.collect = False\n self.collected_parts = []\n self.is_single_root = True\n self.seen_tags = set()\n self.self_closed = False\n def handle_starttag(self, tag, attrs):\n self.depth += 1\n if self.depth == 1:\n self.root_tag = tag\n self.root_attrs = dict(attrs)\n self.collect = True\n self.seen_tags.add(tag)\n elif self.collect:\n attr_dict = dict(attrs)\n attr_str = _build_attributes_string(attr_dict)\n self.collected_parts.append(f'\u003C{tag}{\" \" + attr_str if attr_str else \"\"}\u003E')\n \n def handle_endtag(self, tag):\n self.depth -= 1\n if self.depth == 0 and tag == self.root_tag:\n self.inner_html = ''.join(self.collected_parts)\n self.collect = False\n elif self.collect:\n self.collected_parts.append(f'\u003C/{tag}\u003E')\n \n def handle_data(self, data):\n if self.collect:\n self.collected_parts.append(data)\n \n def handle_startendtag(self, tag, attrs):\n if self.depth == 0 and self.root_tag is None:\n self.root_tag = tag\n self.root_attrs = dict(attrs)\n self.inner_html = ''\n self.seen_tags.add(tag)\n self.self_closed = True\n elif self.collect:\n attr_dict = dict(attrs)\n attr_str = _build_attributes_string(attr_dict)\n self.collected_parts.append(f'\u003C{tag}{\" \" + attr_str if attr_str else \"\"} /\u003E')\n \n hr_pattern = r'^\u003Chr(\\s+[^\u003E]*?)?/?\u003E$'\n if match(hr_pattern, content, IGNORECASE):\n hr_match = match(r'^\u003Chr(\\s+[^\u003E]*?)?/?\u003E$', content, IGNORECASE)\n attrs_text = hr_match.group(1) or ''\n attrs = _parse_attributes(attrs_text)\n styles = _parse_style(attrs.get('style', ''))\n styles['margin'] = 'auto'\n attrs['style'] = _build_style_string(styles)\n attr_str = _build_attributes_string(attrs)\n out = f'\u003Chr{(\" \" + attr_str) if attr_str else \"\"} /\u003E'\n return ZObject({\"Z1K1\": \"Z9\", \"Z9K1\": \"Z89\"}, Z89K1=out)\n \n finder = RootFinder()\n finder.feed(content)\n finder.close()\n\n if finder.is_single_root and finder.root_tag and finder.inner_html is not None:\n \t# First, process the inner HTML to add margin:auto to special tags\n inner_processed = finder.inner_html\n if inner_processed.strip():\n parser = MarginAutoAdder()\n parser.feed(inner_processed)\n parser.close()\n inner_processed = ''.join(parser.output)\n\n # Then, handle the root element\n root_attrs = finder.root_attrs.copy()\n if not _has_root_centering(root_attrs):\n root_attrs = _center_element(finder.root_tag, root_attrs)\n attr_str = _build_attributes_string(root_attrs)\n \n if finder.self_closed:\n result = f'\u003C{finder.root_tag}{\" \" + attr_str if attr_str else \"\"} /\u003E'\n else:\n result = f'\u003C{finder.root_tag}{\" \" + attr_str if attr_str else \"\"}\u003E{inner_processed}\u003C/{finder.root_tag}\u003E'\n \n return ZObject({\"Z1K1\": \"Z9\", \"Z9K1\": \"Z89\"}, Z89K1=result)\n \n return ZObject({\"Z1K1\": \"Z9\", \"Z9K1\": \"Z89\"}, Z89K1=content)"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "center HTML fragment, Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6ofrjvvo001t3m9svcdkdcuo0utsui3
261442
261440
2026-03-28T10:18:08Z
Redmin
52094
261442
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z31738"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z31729",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z31729(Z31729K1):\n from re import search, sub, finditer, IGNORECASE\n from html.parser import HTMLParser\n content = Z31729K1.Z89K1.strip()\n \n def _has_root_centering(attrs_dict):\n # Check root element's attributes for centering indicators using dict\n if not attrs_dict:\n return False\n # Check align attribute\n align = attrs_dict.get('align', '')\n if align and align.lower() == 'center':\n return True\n class_attr = attrs_dict.get('class', '')\n # Check if the 'center' class is present, which is used on many Wikimedia wikis\n if class_attr and 'center' in class_attr.lower().split():\n return True\n style = attrs_dict.get('style', '')\n if style:\n style_clean = sub(r'\\s*:\\s*', ':', style)\n style_clean = sub(r'\\s*;\\s*', ';', style_clean)\n if search(r'text-align:center[;\\s]|text-align:center$', style_clean.lower()):\n return True\n return False\n \n def _has_margin_auto_centering(attrs_dict):\n # For tags that need margin:auto, check if they already have centering\n if not attrs_dict:\n return False\n align = attrs_dict.get('align', '')\n if align and align.lower() == 'center':\n return True\n class_attr = attrs_dict.get('class', '')\n if class_attr and 'center' in class_attr.lower().split():\n return True\n style = attrs_dict.get('style', '')\n if style:\n style_lower = style.lower()\n # Check for margin:auto\n if 'margin:auto' in style_lower or 'margin: 0 auto' in style_lower:\n return True\n return False\n \n def _parse_style(style_text):\n styles = {}\n for decl in style_text.split(';'):\n if ':' in decl:\n prop, val = decl.split(':', 1)\n prop = prop.strip()\n val = val.strip()\n if prop and val:\n styles[prop] = val\n return styles\n \n def _build_style_string(styles_dict):\n if not styles_dict:\n return ''\n return '; '.join(f\"{k}: {v}\" for k, v in styles_dict.items()) + ';'\n \n def _ensure_center_in_style(style_text):\n if not style_text:\n return 'text-align: center;'\n # Remove any existing text-align rule\n style_text = sub(r'text-align\\s*:\\s*[^;]+;?', '', style_text, flags=IGNORECASE)\n out = f'{style_text}; text-align: center;'\n if out.startswith('; '):\n out = out.replace('; ', '', 1)\n return out\n \n def _parse_attributes(attrs_text):\n attrs = {}\n if not attrs_text:\n return attrs\n pattern = r'([a-zA-Z][a-zA-Z0-9_-]*)\\s*=\\s*([\\'\"])(.*?)\\2'\n for m in finditer(pattern, attrs_text, IGNORECASE):\n name, _, value = m.groups()\n attrs[name] = value.strip()\n remaining = attrs_text\n for m in finditer(pattern, attrs_text, IGNORECASE):\n remaining = remaining.replace(m.group(0), '')\n # Look for standalone attributes\n bool_pattern = r'\\b([a-zA-Z][a-zA-Z0-9_-]*)\\b'\n for m in finditer(bool_pattern, remaining):\n name = m.group(1)\n if name not in attrs:\n attrs[name] = None\n return attrs\n \n def _build_attributes_string(attrs_dict):\n parts = []\n for name, value in attrs_dict.items():\n if value is None:\n parts.append(name)\n else:\n # Use double quotes, escape any existing double quotes\n escaped = value.replace('\"', '\u0026quot;')\n parts.append(f'{name}=\"{escaped}\"')\n return ' '.join(parts)\n \n def _needs_margin_auto(tag):\n # These elements are not centered by text-align rules.\n return tag.lower() in ('table', 'hr', 'img', 'object', 'canvas', 'iframe')\n \n def _center_element(tag, attrs_dict):\n if _needs_margin_auto(tag):\n styles = _parse_style(attrs_dict.get('style', ''))\n styles['margin'] = 'auto'\n attrs_dict['style'] = _build_style_string(styles)\n else:\n style_text = attrs_dict.get('style', '')\n attrs_dict['style'] = _ensure_center_in_style(style_text)\n return attrs_dict\n \n class MarginAutoAdder(HTMLParser):\n def __init__(self):\n super().__init__()\n self.output = []\n \n def handle_starttag(self, tag, attrs):\n attrs_dict = dict(attrs)\n if _needs_margin_auto(tag) and not _has_margin_auto_centering(attrs_dict):\n styles = _parse_style(attrs_dict.get('style', ''))\n styles['margin'] = 'auto'\n attrs_dict['style'] = _build_style_string(styles)\n attr_str = _build_attributes_string(attrs_dict)\n self.output.append(f'\u003C{tag}{\" \" + attr_str if attr_str else \"\"}\u003E')\n \n def handle_endtag(self, tag):\n self.output.append(f'\u003C/{tag}\u003E')\n \n def handle_data(self, data):\n self.output.append(data)\n \n def handle_startendtag(self, tag, attrs):\n attrs_dict = dict(attrs)\n if _needs_margin_auto(tag) and not _has_margin_auto_centering(attrs_dict):\n styles = _parse_style(attrs_dict.get('style', ''))\n styles['margin'] = 'auto'\n attrs_dict['style'] = _build_style_string(styles)\n attr_str = _build_attributes_string(attrs_dict)\n self.output.append(f'\u003C{tag}{\" \" + attr_str if attr_str else \"\"} /\u003E')\n \n class RootFinder(HTMLParser):\n def __init__(self):\n super().__init__()\n self.root_tag = None\n self.root_attrs = {}\n self.inner_html = None\n self.depth = 0\n self.collect = False\n self.collected_parts = []\n self.is_single_root = True\n self.seen_tags = set()\n self.self_closed = False\n def handle_starttag(self, tag, attrs):\n self.depth += 1\n if self.depth == 1:\n self.root_tag = tag\n self.root_attrs = dict(attrs)\n self.collect = True\n self.seen_tags.add(tag)\n elif self.collect:\n attr_dict = dict(attrs)\n attr_str = _build_attributes_string(attr_dict)\n self.collected_parts.append(f'\u003C{tag}{\" \" + attr_str if attr_str else \"\"}\u003E')\n \n def handle_endtag(self, tag):\n self.depth -= 1\n if self.depth == 0 and tag == self.root_tag:\n self.inner_html = ''.join(self.collected_parts)\n self.collect = False\n elif self.collect:\n self.collected_parts.append(f'\u003C/{tag}\u003E')\n \n def handle_data(self, data):\n if self.collect:\n self.collected_parts.append(data)\n \n def handle_startendtag(self, tag, attrs):\n if self.depth == 0 and self.root_tag is None:\n self.root_tag = tag\n self.root_attrs = dict(attrs)\n self.inner_html = ''\n self.seen_tags.add(tag)\n self.self_closed = True\n elif self.collect:\n attr_dict = dict(attrs)\n attr_str = _build_attributes_string(attr_dict)\n self.collected_parts.append(f'\u003C{tag}{\" \" + attr_str if attr_str else \"\"} /\u003E')\n \n hr_pattern = r'^\u003Chr(\\s+[^\u003E]*?)?/?\u003E$'\n if match(hr_pattern, content, IGNORECASE):\n hr_match = match(r'^\u003Chr(\\s+[^\u003E]*?)?/?\u003E$', content, IGNORECASE)\n attrs_text = hr_match.group(1) or ''\n attrs = _parse_attributes(attrs_text)\n styles = _parse_style(attrs.get('style', ''))\n styles['margin'] = 'auto'\n attrs['style'] = _build_style_string(styles)\n attr_str = _build_attributes_string(attrs)\n out = f'\u003Chr{(\" \" + attr_str) if attr_str else \"\"} /\u003E'\n return ZObject({\"Z1K1\": \"Z9\", \"Z9K1\": \"Z89\"}, Z89K1=out)\n \n finder = RootFinder()\n finder.feed(content)\n finder.close()\n\n if finder.is_single_root and finder.root_tag and finder.inner_html is not None:\n # First, process the inner HTML to add margin:auto to special tags\n inner_processed = finder.inner_html\n if inner_processed.strip():\n parser = MarginAutoAdder()\n parser.feed(inner_processed)\n parser.close()\n inner_processed = ''.join(parser.output)\n\n # Then, handle the root element\n root_attrs = finder.root_attrs.copy()\n if not _has_root_centering(root_attrs):\n root_attrs = _center_element(finder.root_tag, root_attrs)\n attr_str = _build_attributes_string(root_attrs)\n \n if finder.self_closed:\n result = f'\u003C{finder.root_tag}{\" \" + attr_str if attr_str else \"\"} /\u003E'\n else:\n result = f'\u003C{finder.root_tag}{\" \" + attr_str if attr_str else \"\"}\u003E{inner_processed}\u003C/{finder.root_tag}\u003E'\n \n return ZObject({\"Z1K1\": \"Z9\", \"Z9K1\": \"Z89\"}, Z89K1=result)\n \n return ZObject({\"Z1K1\": \"Z9\", \"Z9K1\": \"Z89\"}, Z89K1=content)"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "center HTML fragment, Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
5b04e76xiqcmurju537toygnfoh6jmq
261443
261442
2026-03-28T10:19:44Z
Redmin
52094
261443
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z31738"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z31729",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z31729(Z31729K1):\n from re import match, search, sub, finditer, IGNORECASE\n from html.parser import HTMLParser\n content = Z31729K1.Z89K1.strip()\n \n def _has_root_centering(attrs_dict):\n # Check root element's attributes for centering indicators using dict\n if not attrs_dict:\n return False\n # Check align attribute\n align = attrs_dict.get('align', '')\n if align and align.lower() == 'center':\n return True\n class_attr = attrs_dict.get('class', '')\n # Check if the 'center' class is present, which is used on many Wikimedia wikis\n if class_attr and 'center' in class_attr.lower().split():\n return True\n style = attrs_dict.get('style', '')\n if style:\n style_clean = sub(r'\\s*:\\s*', ':', style)\n style_clean = sub(r'\\s*;\\s*', ';', style_clean)\n if search(r'text-align:center[;\\s]|text-align:center$', style_clean.lower()):\n return True\n return False\n \n def _has_margin_auto_centering(attrs_dict):\n # For tags that need margin:auto, check if they already have centering\n if not attrs_dict:\n return False\n align = attrs_dict.get('align', '')\n if align and align.lower() == 'center':\n return True\n class_attr = attrs_dict.get('class', '')\n if class_attr and 'center' in class_attr.lower().split():\n return True\n style = attrs_dict.get('style', '')\n if style:\n style_lower = style.lower()\n # Check for margin:auto\n if 'margin:auto' in style_lower or 'margin: 0 auto' in style_lower:\n return True\n return False\n \n def _parse_style(style_text):\n styles = {}\n for decl in style_text.split(';'):\n if ':' in decl:\n prop, val = decl.split(':', 1)\n prop = prop.strip()\n val = val.strip()\n if prop and val:\n styles[prop] = val\n return styles\n \n def _build_style_string(styles_dict):\n if not styles_dict:\n return ''\n return '; '.join(f\"{k}: {v}\" for k, v in styles_dict.items()) + ';'\n \n def _ensure_center_in_style(style_text):\n if not style_text:\n return 'text-align: center;'\n # Remove any existing text-align rule\n style_text = sub(r'text-align\\s*:\\s*[^;]+;?', '', style_text, flags=IGNORECASE)\n out = f'{style_text}; text-align: center;'\n if out.startswith('; '):\n out = out.replace('; ', '', 1)\n return out\n \n def _parse_attributes(attrs_text):\n attrs = {}\n if not attrs_text:\n return attrs\n pattern = r'([a-zA-Z][a-zA-Z0-9_-]*)\\s*=\\s*([\\'\"])(.*?)\\2'\n for m in finditer(pattern, attrs_text, IGNORECASE):\n name, _, value = m.groups()\n attrs[name] = value.strip()\n remaining = attrs_text\n for m in finditer(pattern, attrs_text, IGNORECASE):\n remaining = remaining.replace(m.group(0), '')\n # Look for standalone attributes\n bool_pattern = r'\\b([a-zA-Z][a-zA-Z0-9_-]*)\\b'\n for m in finditer(bool_pattern, remaining):\n name = m.group(1)\n if name not in attrs:\n attrs[name] = None\n return attrs\n \n def _build_attributes_string(attrs_dict):\n parts = []\n for name, value in attrs_dict.items():\n if value is None:\n parts.append(name)\n else:\n # Use double quotes, escape any existing double quotes\n escaped = value.replace('\"', '\u0026quot;')\n parts.append(f'{name}=\"{escaped}\"')\n return ' '.join(parts)\n \n def _needs_margin_auto(tag):\n # These elements are not centered by text-align rules.\n return tag.lower() in ('table', 'hr', 'img', 'object', 'canvas', 'iframe')\n \n def _center_element(tag, attrs_dict):\n if _needs_margin_auto(tag):\n styles = _parse_style(attrs_dict.get('style', ''))\n styles['margin'] = 'auto'\n attrs_dict['style'] = _build_style_string(styles)\n else:\n style_text = attrs_dict.get('style', '')\n attrs_dict['style'] = _ensure_center_in_style(style_text)\n return attrs_dict\n \n class MarginAutoAdder(HTMLParser):\n def __init__(self):\n super().__init__()\n self.output = []\n \n def handle_starttag(self, tag, attrs):\n attrs_dict = dict(attrs)\n if _needs_margin_auto(tag) and not _has_margin_auto_centering(attrs_dict):\n styles = _parse_style(attrs_dict.get('style', ''))\n styles['margin'] = 'auto'\n attrs_dict['style'] = _build_style_string(styles)\n attr_str = _build_attributes_string(attrs_dict)\n self.output.append(f'\u003C{tag}{\" \" + attr_str if attr_str else \"\"}\u003E')\n \n def handle_endtag(self, tag):\n self.output.append(f'\u003C/{tag}\u003E')\n \n def handle_data(self, data):\n self.output.append(data)\n \n def handle_startendtag(self, tag, attrs):\n attrs_dict = dict(attrs)\n if _needs_margin_auto(tag) and not _has_margin_auto_centering(attrs_dict):\n styles = _parse_style(attrs_dict.get('style', ''))\n styles['margin'] = 'auto'\n attrs_dict['style'] = _build_style_string(styles)\n attr_str = _build_attributes_string(attrs_dict)\n self.output.append(f'\u003C{tag}{\" \" + attr_str if attr_str else \"\"} /\u003E')\n \n class RootFinder(HTMLParser):\n def __init__(self):\n super().__init__()\n self.root_tag = None\n self.root_attrs = {}\n self.inner_html = None\n self.depth = 0\n self.collect = False\n self.collected_parts = []\n self.is_single_root = True\n self.seen_tags = set()\n self.self_closed = False\n def handle_starttag(self, tag, attrs):\n self.depth += 1\n if self.depth == 1:\n self.root_tag = tag\n self.root_attrs = dict(attrs)\n self.collect = True\n self.seen_tags.add(tag)\n elif self.collect:\n attr_dict = dict(attrs)\n attr_str = _build_attributes_string(attr_dict)\n self.collected_parts.append(f'\u003C{tag}{\" \" + attr_str if attr_str else \"\"}\u003E')\n \n def handle_endtag(self, tag):\n self.depth -= 1\n if self.depth == 0 and tag == self.root_tag:\n self.inner_html = ''.join(self.collected_parts)\n self.collect = False\n elif self.collect:\n self.collected_parts.append(f'\u003C/{tag}\u003E')\n \n def handle_data(self, data):\n if self.collect:\n self.collected_parts.append(data)\n \n def handle_startendtag(self, tag, attrs):\n if self.depth == 0 and self.root_tag is None:\n self.root_tag = tag\n self.root_attrs = dict(attrs)\n self.inner_html = ''\n self.seen_tags.add(tag)\n self.self_closed = True\n elif self.collect:\n attr_dict = dict(attrs)\n attr_str = _build_attributes_string(attr_dict)\n self.collected_parts.append(f'\u003C{tag}{\" \" + attr_str if attr_str else \"\"} /\u003E')\n \n hr_pattern = r'^\u003Chr(\\s+[^\u003E]*?)?/?\u003E$'\n if match(hr_pattern, content, IGNORECASE):\n hr_match = match(r'^\u003Chr(\\s+[^\u003E]*?)?/?\u003E$', content, IGNORECASE)\n attrs_text = hr_match.group(1) or ''\n attrs = _parse_attributes(attrs_text)\n styles = _parse_style(attrs.get('style', ''))\n styles['margin'] = 'auto'\n attrs['style'] = _build_style_string(styles)\n attr_str = _build_attributes_string(attrs)\n out = f'\u003Chr{(\" \" + attr_str) if attr_str else \"\"} /\u003E'\n return ZObject({\"Z1K1\": \"Z9\", \"Z9K1\": \"Z89\"}, Z89K1=out)\n \n finder = RootFinder()\n finder.feed(content)\n finder.close()\n\n if finder.is_single_root and finder.root_tag and finder.inner_html is not None:\n # First, process the inner HTML to add margin:auto to special tags\n inner_processed = finder.inner_html\n if inner_processed.strip():\n parser = MarginAutoAdder()\n parser.feed(inner_processed)\n parser.close()\n inner_processed = ''.join(parser.output)\n\n # Then, handle the root element\n root_attrs = finder.root_attrs.copy()\n if not _has_root_centering(root_attrs):\n root_attrs = _center_element(finder.root_tag, root_attrs)\n attr_str = _build_attributes_string(root_attrs)\n \n if finder.self_closed:\n result = f'\u003C{finder.root_tag}{\" \" + attr_str if attr_str else \"\"} /\u003E'\n else:\n result = f'\u003C{finder.root_tag}{\" \" + attr_str if attr_str else \"\"}\u003E{inner_processed}\u003C/{finder.root_tag}\u003E'\n \n return ZObject({\"Z1K1\": \"Z9\", \"Z9K1\": \"Z89\"}, Z89K1=result)\n \n return ZObject({\"Z1K1\": \"Z9\", \"Z9K1\": \"Z89\"}, Z89K1=content)"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "center HTML fragment, Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ihl445cs98gdec5ffnxzbi87497nssa
Z32011
0
77946
261434
259948
2026-03-28T09:55:18Z
Redmin
52094
Fix format
261434
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32011"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z31729",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z31729",
"Z31729K1": {
"Z1K1": "Z89",
"Z89K1": "\u003Cdiv class=\"table blah\"\u003E\n \t\u003Ctable\u003E\n\t\t\u003Ctr\u003E\u003Ctd\u003EData\u003C/td\u003E\u003C/tr\u003E\n\t\u003C/table\u003E\n\u003C/div\u003E"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Cdiv class=\"table blah\" style=\"text-align: center;\"\u003E\n\t\u003Ctable style=\"margin: auto;\"\u003E\n\t\t\u003Ctr\u003E\u003Ctd\u003EData\u003C/td\u003E\u003C/tr\u003E\n\t\u003C/table\u003E\n\u003C/div\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "center table within div"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hr06f1c1xex4j70q9nrjqd6zox9k5zo
261436
261434
2026-03-28T09:59:05Z
Redmin
52094
Fix format
261436
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32011"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z31729",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z31729",
"Z31729K1": {
"Z1K1": "Z89",
"Z89K1": "\u003Cdiv class=\"table blah\"\u003E\n\t\u003Ctable\u003E\n\t\t\u003Ctr\u003E\u003Ctd\u003EData\u003C/td\u003E\u003C/tr\u003E\n\t\u003C/table\u003E\n\u003C/div\u003E"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Cdiv class=\"table blah\" style=\"text-align: center;\"\u003E\n\t\u003Ctable style=\"margin: auto;\"\u003E\n\t\t\u003Ctr\u003E\u003Ctd\u003EData\u003C/td\u003E\u003C/tr\u003E\n\t\u003C/table\u003E\n\u003C/div\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "center table within div"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
lhrrokeo997xiyzhpurtnoahk4qelof
User:Amire80/wikifunctionsanalytics
2
78200
261329
260944
2026-03-27T21:40:27Z
Amire80
113
/* revision table */ + bug link
261329
wikitext
text/x-wiki
This is the documentation for the '''wikifunctionsanalytics''' tool.
The tool currently doesn't have much of a frontend (and maybe never will). It's just a database that can be queried through [https://quarry.wmcloud.org/query/103095 Quarry]. It includes some (hopefully) useful statistics about Wikifunctions that (probably) cannot be conveniently obtained by other means, such as special pages.
The source code for building the database is available in [[gitlab:toolforge-repos/wikifunctions-analytics|Gitlab]], which is also where you can read the detailed explanation about the motivation to build it.
This page documents the database schema and gives links to some useful example queries. You can also find some example queries in [https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics/-/blob/main/queries.sql?ref_type=heads the queries.sql file in the code repository].
Comments, patches, bug reports, etc. are obviously welcome.
At the moment, the tool is static and gets the information from a dump, so it doesn't have data for the last few days. Perpaps it will be updated to include more recent data.
== Connection ==
As of this writing, the database name that can be used in Quarry is <code>s57441__wikifunctionsanalytics_p</code>.
== Tables ==
=== edit_type table ===
This table is used as a simple list of all the possible edit types.
{| class="wikitable"
!column name
!type
!comment
|-
|edit_type
|VARCHAR(70)
|Edit type name.
|}
=== programming_language table ===
This table is used as a simple list of all the possible programming languages.
{| class="wikitable"
!column name
!type
!comment
|-
|programming_language
|VARCHAR(70)
|Programming language name.
|}
=== revision table ===
This table has a row for each non-deleted revision in the main namespace of Wikifunctions.
{| class="wikitable"
|+
!column name
!type
!comment
|-
|rev_id
|BIGINT
|Revision id. Identical to the revision ID in the wiki.
|-
|rev_timestamp
|VARCHAR(20)
|Timestamp in the fromat that the dump uses (not identical to the one used in live MediaWiki databases). Example: 2023-07-26T16:29:23Z
|-
|rev_parent
|BIGINT
|Parent revision id. (At the moment, the earliest revisions have rev_parent of 0 or NULL, although it's probably supposed to be always 0. See [[phab:T420974|bug T420974]].)
|-
|rev_comment
|VARCHAR(500)
|Edit summary.
|-
|rev_page
|VARCHAR(20)
|Page title (ZID).
|-
|rev_username
|VARCHAR(600)
|The account name of the user who made the edit.
|-
|rev_page_type_zid
|VARCHAR(20)
|The ZID of the page's type. Note that this is associated with the ''revision'', not the page; a page's type may change.
|-
|rev_page_type_name
|VARCHAR(70)
|The English name of the page's type. (Note: some obscure types maybe unrecognized. In these cases, it will have a ZID identical to what appears in rev_page_type_zid.)
|-
|rev_programming_language
|VARCHAR(70)
|For revisions of implementation pages: The English name of the programming language in which the implementation is written. Current possible values:
* JavaScript
* Python
* Lua
* Composition
* Built in implementation
* Unidentifiable implementation language
* Unidentifiable code language
(All these values can be seen in the [[User:Amire80/wikifunctionsanalytics#programming language table|programming_language table]]; [[quarry:query/103370|Quarry]].)
It's supposed to be filled on all revisions of implementation pages. On pages of other types, it's supposed to be NULL.
|-
|rev_function
|VARCHAR(20)
|For revisions of test and implementation pages: The function with which the test or the implementation is associated (whether connected or not).
On pages of other types, it's supposed to be NULL.
|-
|rev_connected_tests
|INTEGER
|For revisions of function pages: The number of connected tests. Can be zero.
NULL on non-functions pages.
(Non-connected tests are not counted at the moment, but it's planned for the future.)
|-
|rev_connected_implementations
|INTEGER
|For revisions of implementation pages: The number of connected implementation. Can be zero.
NULL on non-functions pages.
(Non-connected implementations are not counted at the moment, but it's planned for the future.)
|}
=== input table ===
This table links function revisions to input types. Every Function has zero or more inputs.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature, starting from 0.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|}
=== output table ===
This table links function revisions to output types. Every Function has one output.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|}
=== revision_edit_type table ===
This table links revisions to edit types. Every revision can have several edit types, but a combination of a revision and an edit type is supposed to be unique. At the moment, only Function, Implementation, and Test case pages have an edit type; analysis for pages of other types may be added in the future if there's demand.
{| class="wikitable"
!column name
!type
!comment
|-
|revision_edit_type_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|revision_edit_type_edit_type
|VARCHAR(70)
|The edit type. The full list of types appears in the [[User:Amire80/wikifunctionsanalytics#edit type table|edit_type table]] ([[quarry:query/103369|Quarry]]).
|-
|revision_edit_type_natural_language
|VARCHAR(70)
|On edits of string values (labels, aliases, and descriptions), the English name of the natural language of the string. NULL on other edits. (Note 1: This is a language's ''English name'', not ZID or ISO 639 code. If there's demand, it can be easily changed. Note 2: Because of a bug, a few old edits have a value of "Empty language n" in this field. They are't supposed to appear in current versions as of 2026, and can probably be mostly ignored.)
|}
== Views ==
Views provide some stored convenience queries for easy common selections. They can be queried like tables.
=== earliest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the earliest versions of each page. For full information about the earliest revision, use the [[User:Amire80/wikifunctionsanalytics#earliest revision view|earliest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== earliest_revision view ===
This view has all the columns from the revision table, but only for earliest versions of each page. This may be useful, for example, when you need information about the pages' creators. The earliest version is derived from the lowest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== latest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the latest versions of each page. For full information about the latest revision, use the [[User:Amire80/wikifunctionsanalytics#latest revision view|latest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== latest_revision view ===
This view has all the columns from the revision table, but only for latest versions of each page. This may be useful, for example, when you only need information about the current versions of the pages (current to the time of the dump). The latest version is derived from the highest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== multitype_page view ===
This view shows pages whose type changed during their history (in February 2026, there's only one such page). This is useful for quickly finding these pages and for excluding them in other queries.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|count_types
|BIGINT
|The number of types that the page had throughout its history.
|}
=== test_and_implementation view ===
This view shows all the function pages (latest versions only), with the total number of tests and implementations associated with them, as well as the number of ''connected'' tests and implementations.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|all_tests
|INTEGER
|The total number of tests associated with the function, including non-connected ones.
|-
|rev_connected_tests
|INTEGER
|The number of connected tests. Can be zero.
|-
|all_implementations
|INTEGER
|The total number of implementations associated with the function, including non-connected ones.
|-
|rev_connected_implementations
|INTEGER
|The number of connected implementation.
|}
== Example queries ==
If you find bugs in these queries, report them on the talk page. And of course, add your own!
* [[quarry:query/103074|Wikifunctions whose output type is Z12/Multilingual text]]
* [[quarry:query/103075|Wikifunctions that have an input whose type is Z12/Multilingual text]]
* [[quarry:query/103103|Most prolific Wikifunctions main namespace editors]]
* [[quarry:query/103095|Particular Wikifunctions user's edit types]]
* [[quarry:query/103079|Wikifunctions actual edit types, ordered by count]]
* [[quarry:query/103373|The most common Wikifunctions programming languages]]
* [[quarry:query/103078|Count of significant Wikifunctions changes by month]]
* [[quarry:query/103077|Wikifunctions signature change counts by user]]
* [[quarry:query/103375|Wikifunctions that don't have any inputs defined]]
* [[quarry:query/103376|Wikifunctions with the most connected tests]]
* [[quarry:query/103377|Wikifunctions with the most connected implementations]]
* [[quarry:query/103378|Wikifunctions implementation code changes per user]]
* [[quarry:query/103379|Wikifunctions implementation pages with multiple programming languages]]
* [[quarry:query/103380|Wikifunctions with the largest number of inputs]]
* [[quarry:query/103390|A Wikifunctions' user most common programming languages]]
* [[quarry:query/103391|The most frequent programmers in a Wikifunctions programming language]]
* [[quarry:query/103397|Wikifunctions with counts of all implementations and tests]]
* [[quarry:query/103406|Wikifunctions with no implementations and no tests]]
* [[quarry:query/103437|Wikifunctions with apparently invalid connected test or implementation count]] (should ideally be zero results)
* [[quarry:query/103687|Wikifunctions labels, aliases, and description changes by language]]
jdlsxa2p4votm86pu9objry9016o7u1
261330
261329
2026-03-27T21:43:36Z
Amire80
113
/* revision table */ + no text
261330
wikitext
text/x-wiki
This is the documentation for the '''wikifunctionsanalytics''' tool.
The tool currently doesn't have much of a frontend (and maybe never will). It's just a database that can be queried through [https://quarry.wmcloud.org/query/103095 Quarry]. It includes some (hopefully) useful statistics about Wikifunctions that (probably) cannot be conveniently obtained by other means, such as special pages.
The source code for building the database is available in [[gitlab:toolforge-repos/wikifunctions-analytics|Gitlab]], which is also where you can read the detailed explanation about the motivation to build it.
This page documents the database schema and gives links to some useful example queries. You can also find some example queries in [https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics/-/blob/main/queries.sql?ref_type=heads the queries.sql file in the code repository].
Comments, patches, bug reports, etc. are obviously welcome.
At the moment, the tool is static and gets the information from a dump, so it doesn't have data for the last few days. Perpaps it will be updated to include more recent data.
== Connection ==
As of this writing, the database name that can be used in Quarry is <code>s57441__wikifunctionsanalytics_p</code>.
== Tables ==
=== edit_type table ===
This table is used as a simple list of all the possible edit types.
{| class="wikitable"
!column name
!type
!comment
|-
|edit_type
|VARCHAR(70)
|Edit type name.
|}
=== programming_language table ===
This table is used as a simple list of all the possible programming languages.
{| class="wikitable"
!column name
!type
!comment
|-
|programming_language
|VARCHAR(70)
|Programming language name.
|}
=== revision table ===
This table has a row for each non-deleted revision in the main namespace of Wikifunctions. At the moment, the full JSON text of each revision is not stored in the database because it takes a lot of space and makes queries slow, and from the experience so far, it has not been very useful for analytics. If there is demand for it, it can be added.
{| class="wikitable"
|+
!column name
!type
!comment
|-
|rev_id
|BIGINT
|Revision id. Identical to the revision ID in the wiki.
|-
|rev_timestamp
|VARCHAR(20)
|Timestamp in the fromat that the dump uses (not identical to the one used in live MediaWiki databases). Example: 2023-07-26T16:29:23Z
|-
|rev_parent
|BIGINT
|Parent revision id. (At the moment, the earliest revisions have rev_parent of 0 or NULL, although it's probably supposed to be always 0. See [[phab:T420974|bug T420974]].)
|-
|rev_comment
|VARCHAR(500)
|Edit summary.
|-
|rev_page
|VARCHAR(20)
|Page title (ZID).
|-
|rev_username
|VARCHAR(600)
|The account name of the user who made the edit.
|-
|rev_page_type_zid
|VARCHAR(20)
|The ZID of the page's type. Note that this is associated with the ''revision'', not the page; a page's type may change.
|-
|rev_page_type_name
|VARCHAR(70)
|The English name of the page's type. (Note: some obscure types maybe unrecognized. In these cases, it will have a ZID identical to what appears in rev_page_type_zid.)
|-
|rev_programming_language
|VARCHAR(70)
|For revisions of implementation pages: The English name of the programming language in which the implementation is written. Current possible values:
* JavaScript
* Python
* Lua
* Composition
* Built in implementation
* Unidentifiable implementation language
* Unidentifiable code language
(All these values can be seen in the [[User:Amire80/wikifunctionsanalytics#programming language table|programming_language table]]; [[quarry:query/103370|Quarry]].)
It's supposed to be filled on all revisions of implementation pages. On pages of other types, it's supposed to be NULL.
|-
|rev_function
|VARCHAR(20)
|For revisions of test and implementation pages: The function with which the test or the implementation is associated (whether connected or not).
On pages of other types, it's supposed to be NULL.
|-
|rev_connected_tests
|INTEGER
|For revisions of function pages: The number of connected tests. Can be zero.
NULL on non-functions pages.
(Non-connected tests are not counted at the moment, but it's planned for the future.)
|-
|rev_connected_implementations
|INTEGER
|For revisions of implementation pages: The number of connected implementation. Can be zero.
NULL on non-functions pages.
(Non-connected implementations are not counted at the moment, but it's planned for the future.)
|}
=== input table ===
This table links function revisions to input types. Every Function has zero or more inputs.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature, starting from 0.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|}
=== output table ===
This table links function revisions to output types. Every Function has one output.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|}
=== revision_edit_type table ===
This table links revisions to edit types. Every revision can have several edit types, but a combination of a revision and an edit type is supposed to be unique. At the moment, only Function, Implementation, and Test case pages have an edit type; analysis for pages of other types may be added in the future if there's demand.
{| class="wikitable"
!column name
!type
!comment
|-
|revision_edit_type_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|revision_edit_type_edit_type
|VARCHAR(70)
|The edit type. The full list of types appears in the [[User:Amire80/wikifunctionsanalytics#edit type table|edit_type table]] ([[quarry:query/103369|Quarry]]).
|-
|revision_edit_type_natural_language
|VARCHAR(70)
|On edits of string values (labels, aliases, and descriptions), the English name of the natural language of the string. NULL on other edits. (Note 1: This is a language's ''English name'', not ZID or ISO 639 code. If there's demand, it can be easily changed. Note 2: Because of a bug, a few old edits have a value of "Empty language n" in this field. They are't supposed to appear in current versions as of 2026, and can probably be mostly ignored.)
|}
== Views ==
Views provide some stored convenience queries for easy common selections. They can be queried like tables.
=== earliest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the earliest versions of each page. For full information about the earliest revision, use the [[User:Amire80/wikifunctionsanalytics#earliest revision view|earliest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== earliest_revision view ===
This view has all the columns from the revision table, but only for earliest versions of each page. This may be useful, for example, when you need information about the pages' creators. The earliest version is derived from the lowest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== latest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the latest versions of each page. For full information about the latest revision, use the [[User:Amire80/wikifunctionsanalytics#latest revision view|latest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== latest_revision view ===
This view has all the columns from the revision table, but only for latest versions of each page. This may be useful, for example, when you only need information about the current versions of the pages (current to the time of the dump). The latest version is derived from the highest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== multitype_page view ===
This view shows pages whose type changed during their history (in February 2026, there's only one such page). This is useful for quickly finding these pages and for excluding them in other queries.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|count_types
|BIGINT
|The number of types that the page had throughout its history.
|}
=== test_and_implementation view ===
This view shows all the function pages (latest versions only), with the total number of tests and implementations associated with them, as well as the number of ''connected'' tests and implementations.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|all_tests
|INTEGER
|The total number of tests associated with the function, including non-connected ones.
|-
|rev_connected_tests
|INTEGER
|The number of connected tests. Can be zero.
|-
|all_implementations
|INTEGER
|The total number of implementations associated with the function, including non-connected ones.
|-
|rev_connected_implementations
|INTEGER
|The number of connected implementation.
|}
== Example queries ==
If you find bugs in these queries, report them on the talk page. And of course, add your own!
* [[quarry:query/103074|Wikifunctions whose output type is Z12/Multilingual text]]
* [[quarry:query/103075|Wikifunctions that have an input whose type is Z12/Multilingual text]]
* [[quarry:query/103103|Most prolific Wikifunctions main namespace editors]]
* [[quarry:query/103095|Particular Wikifunctions user's edit types]]
* [[quarry:query/103079|Wikifunctions actual edit types, ordered by count]]
* [[quarry:query/103373|The most common Wikifunctions programming languages]]
* [[quarry:query/103078|Count of significant Wikifunctions changes by month]]
* [[quarry:query/103077|Wikifunctions signature change counts by user]]
* [[quarry:query/103375|Wikifunctions that don't have any inputs defined]]
* [[quarry:query/103376|Wikifunctions with the most connected tests]]
* [[quarry:query/103377|Wikifunctions with the most connected implementations]]
* [[quarry:query/103378|Wikifunctions implementation code changes per user]]
* [[quarry:query/103379|Wikifunctions implementation pages with multiple programming languages]]
* [[quarry:query/103380|Wikifunctions with the largest number of inputs]]
* [[quarry:query/103390|A Wikifunctions' user most common programming languages]]
* [[quarry:query/103391|The most frequent programmers in a Wikifunctions programming language]]
* [[quarry:query/103397|Wikifunctions with counts of all implementations and tests]]
* [[quarry:query/103406|Wikifunctions with no implementations and no tests]]
* [[quarry:query/103437|Wikifunctions with apparently invalid connected test or implementation count]] (should ideally be zero results)
* [[quarry:query/103687|Wikifunctions labels, aliases, and description changes by language]]
de51jgr4px4pj8v4kfudh83frw1of5u
261331
261330
2026-03-27T21:44:05Z
Amire80
113
/* revision table */ typo
261331
wikitext
text/x-wiki
This is the documentation for the '''wikifunctionsanalytics''' tool.
The tool currently doesn't have much of a frontend (and maybe never will). It's just a database that can be queried through [https://quarry.wmcloud.org/query/103095 Quarry]. It includes some (hopefully) useful statistics about Wikifunctions that (probably) cannot be conveniently obtained by other means, such as special pages.
The source code for building the database is available in [[gitlab:toolforge-repos/wikifunctions-analytics|Gitlab]], which is also where you can read the detailed explanation about the motivation to build it.
This page documents the database schema and gives links to some useful example queries. You can also find some example queries in [https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics/-/blob/main/queries.sql?ref_type=heads the queries.sql file in the code repository].
Comments, patches, bug reports, etc. are obviously welcome.
At the moment, the tool is static and gets the information from a dump, so it doesn't have data for the last few days. Perpaps it will be updated to include more recent data.
== Connection ==
As of this writing, the database name that can be used in Quarry is <code>s57441__wikifunctionsanalytics_p</code>.
== Tables ==
=== edit_type table ===
This table is used as a simple list of all the possible edit types.
{| class="wikitable"
!column name
!type
!comment
|-
|edit_type
|VARCHAR(70)
|Edit type name.
|}
=== programming_language table ===
This table is used as a simple list of all the possible programming languages.
{| class="wikitable"
!column name
!type
!comment
|-
|programming_language
|VARCHAR(70)
|Programming language name.
|}
=== revision table ===
This table has a row for each non-deleted revision in the main namespace of Wikifunctions. At the moment, the full JSON text of each revision is not stored in the database because it takes a lot of space and makes queries slow, and from the experience so far, it has not been very useful for analytics. If there is demand for it, it can be added.
{| class="wikitable"
|+
!column name
!type
!comment
|-
|rev_id
|BIGINT
|Revision id. Identical to the revision ID in the wiki.
|-
|rev_timestamp
|VARCHAR(20)
|Timestamp in the fromat that the dump uses (not identical to the one used in live MediaWiki databases). Example: 2023-07-26T16:29:23Z
|-
|rev_parent
|BIGINT
|Parent revision id. (At the moment, the earliest revisions have rev_parent of 0 or NULL, although it's probably supposed to be always 0. See [[phab:T420974|bug T420974]].)
|-
|rev_comment
|VARCHAR(500)
|Edit summary.
|-
|rev_page
|VARCHAR(20)
|Page title (ZID).
|-
|rev_username
|VARCHAR(600)
|The account name of the user who made the edit.
|-
|rev_page_type_zid
|VARCHAR(20)
|The ZID of the page's type. Note that this is associated with the ''revision'', not the page; a page's type may change.
|-
|rev_page_type_name
|VARCHAR(70)
|The English name of the page's type. (Note: some obscure types may be unrecognized. In these cases, it will have a ZID identical to what appears in rev_page_type_zid.)
|-
|rev_programming_language
|VARCHAR(70)
|For revisions of implementation pages: The English name of the programming language in which the implementation is written. Current possible values:
* JavaScript
* Python
* Lua
* Composition
* Built in implementation
* Unidentifiable implementation language
* Unidentifiable code language
(All these values can be seen in the [[User:Amire80/wikifunctionsanalytics#programming language table|programming_language table]]; [[quarry:query/103370|Quarry]].)
It's supposed to be filled on all revisions of implementation pages. On pages of other types, it's supposed to be NULL.
|-
|rev_function
|VARCHAR(20)
|For revisions of test and implementation pages: The function with which the test or the implementation is associated (whether connected or not).
On pages of other types, it's supposed to be NULL.
|-
|rev_connected_tests
|INTEGER
|For revisions of function pages: The number of connected tests. Can be zero.
NULL on non-functions pages.
(Non-connected tests are not counted at the moment, but it's planned for the future.)
|-
|rev_connected_implementations
|INTEGER
|For revisions of implementation pages: The number of connected implementation. Can be zero.
NULL on non-functions pages.
(Non-connected implementations are not counted at the moment, but it's planned for the future.)
|}
=== input table ===
This table links function revisions to input types. Every Function has zero or more inputs.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature, starting from 0.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|}
=== output table ===
This table links function revisions to output types. Every Function has one output.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|}
=== revision_edit_type table ===
This table links revisions to edit types. Every revision can have several edit types, but a combination of a revision and an edit type is supposed to be unique. At the moment, only Function, Implementation, and Test case pages have an edit type; analysis for pages of other types may be added in the future if there's demand.
{| class="wikitable"
!column name
!type
!comment
|-
|revision_edit_type_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|revision_edit_type_edit_type
|VARCHAR(70)
|The edit type. The full list of types appears in the [[User:Amire80/wikifunctionsanalytics#edit type table|edit_type table]] ([[quarry:query/103369|Quarry]]).
|-
|revision_edit_type_natural_language
|VARCHAR(70)
|On edits of string values (labels, aliases, and descriptions), the English name of the natural language of the string. NULL on other edits. (Note 1: This is a language's ''English name'', not ZID or ISO 639 code. If there's demand, it can be easily changed. Note 2: Because of a bug, a few old edits have a value of "Empty language n" in this field. They are't supposed to appear in current versions as of 2026, and can probably be mostly ignored.)
|}
== Views ==
Views provide some stored convenience queries for easy common selections. They can be queried like tables.
=== earliest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the earliest versions of each page. For full information about the earliest revision, use the [[User:Amire80/wikifunctionsanalytics#earliest revision view|earliest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== earliest_revision view ===
This view has all the columns from the revision table, but only for earliest versions of each page. This may be useful, for example, when you need information about the pages' creators. The earliest version is derived from the lowest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== latest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the latest versions of each page. For full information about the latest revision, use the [[User:Amire80/wikifunctionsanalytics#latest revision view|latest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== latest_revision view ===
This view has all the columns from the revision table, but only for latest versions of each page. This may be useful, for example, when you only need information about the current versions of the pages (current to the time of the dump). The latest version is derived from the highest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== multitype_page view ===
This view shows pages whose type changed during their history (in February 2026, there's only one such page). This is useful for quickly finding these pages and for excluding them in other queries.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|count_types
|BIGINT
|The number of types that the page had throughout its history.
|}
=== test_and_implementation view ===
This view shows all the function pages (latest versions only), with the total number of tests and implementations associated with them, as well as the number of ''connected'' tests and implementations.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|all_tests
|INTEGER
|The total number of tests associated with the function, including non-connected ones.
|-
|rev_connected_tests
|INTEGER
|The number of connected tests. Can be zero.
|-
|all_implementations
|INTEGER
|The total number of implementations associated with the function, including non-connected ones.
|-
|rev_connected_implementations
|INTEGER
|The number of connected implementation.
|}
== Example queries ==
If you find bugs in these queries, report them on the talk page. And of course, add your own!
* [[quarry:query/103074|Wikifunctions whose output type is Z12/Multilingual text]]
* [[quarry:query/103075|Wikifunctions that have an input whose type is Z12/Multilingual text]]
* [[quarry:query/103103|Most prolific Wikifunctions main namespace editors]]
* [[quarry:query/103095|Particular Wikifunctions user's edit types]]
* [[quarry:query/103079|Wikifunctions actual edit types, ordered by count]]
* [[quarry:query/103373|The most common Wikifunctions programming languages]]
* [[quarry:query/103078|Count of significant Wikifunctions changes by month]]
* [[quarry:query/103077|Wikifunctions signature change counts by user]]
* [[quarry:query/103375|Wikifunctions that don't have any inputs defined]]
* [[quarry:query/103376|Wikifunctions with the most connected tests]]
* [[quarry:query/103377|Wikifunctions with the most connected implementations]]
* [[quarry:query/103378|Wikifunctions implementation code changes per user]]
* [[quarry:query/103379|Wikifunctions implementation pages with multiple programming languages]]
* [[quarry:query/103380|Wikifunctions with the largest number of inputs]]
* [[quarry:query/103390|A Wikifunctions' user most common programming languages]]
* [[quarry:query/103391|The most frequent programmers in a Wikifunctions programming language]]
* [[quarry:query/103397|Wikifunctions with counts of all implementations and tests]]
* [[quarry:query/103406|Wikifunctions with no implementations and no tests]]
* [[quarry:query/103437|Wikifunctions with apparently invalid connected test or implementation count]] (should ideally be zero results)
* [[quarry:query/103687|Wikifunctions labels, aliases, and description changes by language]]
m7vmfja40n74yktxb5m8932lvzcavro
261332
261331
2026-03-27T21:46:08Z
Amire80
113
minor fixes
261332
wikitext
text/x-wiki
This is the documentation for the '''wikifunctionsanalytics''' tool.
The tool currently doesn't have much of a frontend (and maybe never will). It's just a database that can be queried through [https://quarry.wmcloud.org/query/103095 Quarry]. It includes some (hopefully) useful statistics about Wikifunctions that (probably) cannot be conveniently obtained by other means, such as special pages, APIs, etc.
The source code for building the database is available in [[gitlab:toolforge-repos/wikifunctions-analytics|GitLab]], which is also where you can read the detailed explanation about the motivation to build it.
This page documents the database schema and gives links to some useful example queries. You can also find some example queries in [https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics/-/blob/main/queries.sql?ref_type=heads the queries.sql file in the code repository].
Comments, patches, bug reports, etc. are obviously welcome.
At the moment, the tool is static and gets the information from a dump, so it doesn't have data for the last few days. Perhaps it will be updated to include more recent data.
== Connection ==
As of this writing, the database name that can be used in Quarry is <code>s57441__wikifunctionsanalytics_p</code>.
== Tables ==
=== edit_type table ===
This table is used as a simple list of all the possible edit types.
{| class="wikitable"
!column name
!type
!comment
|-
|edit_type
|VARCHAR(70)
|Edit type name.
|}
=== programming_language table ===
This table is used as a simple list of all the possible programming languages.
{| class="wikitable"
!column name
!type
!comment
|-
|programming_language
|VARCHAR(70)
|Programming language name.
|}
=== revision table ===
This table has a row for each non-deleted revision in the main namespace of Wikifunctions. At the moment, the full JSON text of each revision is not stored in the database because it takes a lot of space and makes queries slow, and from the experience so far, it has not been very useful for analytics. If there is demand for it, it can be added.
{| class="wikitable"
|+
!column name
!type
!comment
|-
|rev_id
|BIGINT
|Revision id. Identical to the revision ID in the wiki.
|-
|rev_timestamp
|VARCHAR(20)
|Timestamp in the fromat that the dump uses (not identical to the one used in live MediaWiki databases). Example: 2023-07-26T16:29:23Z
|-
|rev_parent
|BIGINT
|Parent revision id. (At the moment, the earliest revisions have rev_parent of 0 or NULL, although it's probably supposed to be always 0. See [[phab:T420974|bug T420974]].)
|-
|rev_comment
|VARCHAR(500)
|Edit summary.
|-
|rev_page
|VARCHAR(20)
|Page title (ZID).
|-
|rev_username
|VARCHAR(600)
|The account name of the user who made the edit.
|-
|rev_page_type_zid
|VARCHAR(20)
|The ZID of the page's type. Note that this is associated with the ''revision'', not the page; a page's type may change.
|-
|rev_page_type_name
|VARCHAR(70)
|The English name of the page's type. (Note: some obscure types may be unrecognized. In these cases, it will have a ZID identical to what appears in rev_page_type_zid.)
|-
|rev_programming_language
|VARCHAR(70)
|For revisions of implementation pages: The English name of the programming language in which the implementation is written. Current possible values:
* JavaScript
* Python
* Lua
* Composition
* Built in implementation
* Unidentifiable implementation language
* Unidentifiable code language
(All these values can be seen in the [[User:Amire80/wikifunctionsanalytics#programming language table|programming_language table]]; [[quarry:query/103370|Quarry]].)
It's supposed to be filled on all revisions of implementation pages. On pages of other types, it's supposed to be NULL.
|-
|rev_function
|VARCHAR(20)
|For revisions of test and implementation pages: The function with which the test or the implementation is associated (whether connected or not).
On pages of other types, it's supposed to be NULL.
|-
|rev_connected_tests
|INTEGER
|For revisions of function pages: The number of connected tests. Can be zero.
NULL on non-functions pages.
(Non-connected tests are not counted at the moment, but it's planned for the future.)
|-
|rev_connected_implementations
|INTEGER
|For revisions of implementation pages: The number of connected implementation. Can be zero.
NULL on non-functions pages.
(Non-connected implementations are not counted at the moment, but it's planned for the future.)
|}
=== input table ===
This table links function revisions to input types. Every Function has zero or more inputs.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature, starting from 0.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|}
=== output table ===
This table links function revisions to output types. Every Function has one output.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|}
=== revision_edit_type table ===
This table links revisions to edit types. Every revision can have several edit types, but a combination of a revision and an edit type is supposed to be unique. At the moment, only Function, Implementation, and Test case pages have an edit type; analysis for pages of other types may be added in the future if there's demand.
{| class="wikitable"
!column name
!type
!comment
|-
|revision_edit_type_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|revision_edit_type_edit_type
|VARCHAR(70)
|The edit type. The full list of types appears in the [[User:Amire80/wikifunctionsanalytics#edit type table|edit_type table]] ([[quarry:query/103369|Quarry]]).
|-
|revision_edit_type_natural_language
|VARCHAR(70)
|On edits of string values (labels, aliases, and descriptions), the English name of the natural language of the string. NULL on other edits. (Note 1: This is a language's ''English name'', not ZID or ISO 639 code. If there's demand, it can be easily changed. Note 2: Because of a bug, a few old edits have a value of "Empty language n" in this field. They are't supposed to appear in current versions as of 2026, and can probably be mostly ignored.)
|}
== Views ==
Views provide some stored convenience queries for easy common selections. They can be queried like tables.
=== earliest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the earliest versions of each page. For full information about the earliest revision, use the [[User:Amire80/wikifunctionsanalytics#earliest revision view|earliest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== earliest_revision view ===
This view has all the columns from the revision table, but only for earliest versions of each page. This may be useful, for example, when you need information about the pages' creators. The earliest version is derived from the lowest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== latest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the latest versions of each page. For full information about the latest revision, use the [[User:Amire80/wikifunctionsanalytics#latest revision view|latest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== latest_revision view ===
This view has all the columns from the revision table, but only for latest versions of each page. This may be useful, for example, when you only need information about the current versions of the pages (current to the time of the dump). The latest version is derived from the highest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== multitype_page view ===
This view shows pages whose type changed during their history (in February 2026, there's only one such page). This is useful for quickly finding these pages and for excluding them in other queries.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|count_types
|BIGINT
|The number of types that the page had throughout its history.
|}
=== test_and_implementation view ===
This view shows all the function pages (latest versions only), with the total number of tests and implementations associated with them, as well as the number of ''connected'' tests and implementations.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|all_tests
|INTEGER
|The total number of tests associated with the function, including non-connected ones.
|-
|rev_connected_tests
|INTEGER
|The number of connected tests. Can be zero.
|-
|all_implementations
|INTEGER
|The total number of implementations associated with the function, including non-connected ones.
|-
|rev_connected_implementations
|INTEGER
|The number of connected implementation.
|}
== Example queries ==
If you find bugs in these queries, report them on the talk page. And of course, add your own!
* [[quarry:query/103074|Wikifunctions whose output type is Z12/Multilingual text]]
* [[quarry:query/103075|Wikifunctions that have an input whose type is Z12/Multilingual text]]
* [[quarry:query/103103|Most prolific Wikifunctions main namespace editors]]
* [[quarry:query/103095|Particular Wikifunctions user's edit types]]
* [[quarry:query/103079|Wikifunctions actual edit types, ordered by count]]
* [[quarry:query/103373|The most common Wikifunctions programming languages]]
* [[quarry:query/103078|Count of significant Wikifunctions changes by month]]
* [[quarry:query/103077|Wikifunctions signature change counts by user]]
* [[quarry:query/103375|Wikifunctions that don't have any inputs defined]]
* [[quarry:query/103376|Wikifunctions with the most connected tests]]
* [[quarry:query/103377|Wikifunctions with the most connected implementations]]
* [[quarry:query/103378|Wikifunctions implementation code changes per user]]
* [[quarry:query/103379|Wikifunctions implementation pages with multiple programming languages]]
* [[quarry:query/103380|Wikifunctions with the largest number of inputs]]
* [[quarry:query/103390|A Wikifunctions' user most common programming languages]]
* [[quarry:query/103391|The most frequent programmers in a Wikifunctions programming language]]
* [[quarry:query/103397|Wikifunctions with counts of all implementations and tests]]
* [[quarry:query/103406|Wikifunctions with no implementations and no tests]]
* [[quarry:query/103437|Wikifunctions with apparently invalid connected test or implementation count]] (should ideally be zero results)
* [[quarry:query/103687|Wikifunctions labels, aliases, and description changes by language]]
fem99ixiuvz18o9e4vxzjn6pmkrnam0
261333
261332
2026-03-27T21:46:40Z
Amire80
113
fix link
261333
wikitext
text/x-wiki
This is the documentation for the '''wikifunctionsanalytics''' tool.
The tool currently doesn't have much of a frontend (and maybe never will). It's just a database that can be queried through [[quarry:|Quarry]]. It includes some (hopefully) useful statistics about Wikifunctions that (probably) cannot be conveniently obtained by other means, such as special pages, APIs, etc.
The source code for building the database is available in [[gitlab:toolforge-repos/wikifunctions-analytics|GitLab]], which is also where you can read the detailed explanation about the motivation to build it.
This page documents the database schema and gives links to some useful example queries. You can also find some example queries in [https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics/-/blob/main/queries.sql?ref_type=heads the queries.sql file in the code repository].
Comments, patches, bug reports, etc. are obviously welcome.
At the moment, the tool is static and gets the information from a dump, so it doesn't have data for the last few days. Perhaps it will be updated to include more recent data.
== Connection ==
As of this writing, the database name that can be used in Quarry is <code>s57441__wikifunctionsanalytics_p</code>.
== Tables ==
=== edit_type table ===
This table is used as a simple list of all the possible edit types.
{| class="wikitable"
!column name
!type
!comment
|-
|edit_type
|VARCHAR(70)
|Edit type name.
|}
=== programming_language table ===
This table is used as a simple list of all the possible programming languages.
{| class="wikitable"
!column name
!type
!comment
|-
|programming_language
|VARCHAR(70)
|Programming language name.
|}
=== revision table ===
This table has a row for each non-deleted revision in the main namespace of Wikifunctions. At the moment, the full JSON text of each revision is not stored in the database because it takes a lot of space and makes queries slow, and from the experience so far, it has not been very useful for analytics. If there is demand for it, it can be added.
{| class="wikitable"
|+
!column name
!type
!comment
|-
|rev_id
|BIGINT
|Revision id. Identical to the revision ID in the wiki.
|-
|rev_timestamp
|VARCHAR(20)
|Timestamp in the fromat that the dump uses (not identical to the one used in live MediaWiki databases). Example: 2023-07-26T16:29:23Z
|-
|rev_parent
|BIGINT
|Parent revision id. (At the moment, the earliest revisions have rev_parent of 0 or NULL, although it's probably supposed to be always 0. See [[phab:T420974|bug T420974]].)
|-
|rev_comment
|VARCHAR(500)
|Edit summary.
|-
|rev_page
|VARCHAR(20)
|Page title (ZID).
|-
|rev_username
|VARCHAR(600)
|The account name of the user who made the edit.
|-
|rev_page_type_zid
|VARCHAR(20)
|The ZID of the page's type. Note that this is associated with the ''revision'', not the page; a page's type may change.
|-
|rev_page_type_name
|VARCHAR(70)
|The English name of the page's type. (Note: some obscure types may be unrecognized. In these cases, it will have a ZID identical to what appears in rev_page_type_zid.)
|-
|rev_programming_language
|VARCHAR(70)
|For revisions of implementation pages: The English name of the programming language in which the implementation is written. Current possible values:
* JavaScript
* Python
* Lua
* Composition
* Built in implementation
* Unidentifiable implementation language
* Unidentifiable code language
(All these values can be seen in the [[User:Amire80/wikifunctionsanalytics#programming language table|programming_language table]]; [[quarry:query/103370|Quarry]].)
It's supposed to be filled on all revisions of implementation pages. On pages of other types, it's supposed to be NULL.
|-
|rev_function
|VARCHAR(20)
|For revisions of test and implementation pages: The function with which the test or the implementation is associated (whether connected or not).
On pages of other types, it's supposed to be NULL.
|-
|rev_connected_tests
|INTEGER
|For revisions of function pages: The number of connected tests. Can be zero.
NULL on non-functions pages.
(Non-connected tests are not counted at the moment, but it's planned for the future.)
|-
|rev_connected_implementations
|INTEGER
|For revisions of implementation pages: The number of connected implementation. Can be zero.
NULL on non-functions pages.
(Non-connected implementations are not counted at the moment, but it's planned for the future.)
|}
=== input table ===
This table links function revisions to input types. Every Function has zero or more inputs.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature, starting from 0.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|}
=== output table ===
This table links function revisions to output types. Every Function has one output.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|}
=== revision_edit_type table ===
This table links revisions to edit types. Every revision can have several edit types, but a combination of a revision and an edit type is supposed to be unique. At the moment, only Function, Implementation, and Test case pages have an edit type; analysis for pages of other types may be added in the future if there's demand.
{| class="wikitable"
!column name
!type
!comment
|-
|revision_edit_type_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|revision_edit_type_edit_type
|VARCHAR(70)
|The edit type. The full list of types appears in the [[User:Amire80/wikifunctionsanalytics#edit type table|edit_type table]] ([[quarry:query/103369|Quarry]]).
|-
|revision_edit_type_natural_language
|VARCHAR(70)
|On edits of string values (labels, aliases, and descriptions), the English name of the natural language of the string. NULL on other edits. (Note 1: This is a language's ''English name'', not ZID or ISO 639 code. If there's demand, it can be easily changed. Note 2: Because of a bug, a few old edits have a value of "Empty language n" in this field. They are't supposed to appear in current versions as of 2026, and can probably be mostly ignored.)
|}
== Views ==
Views provide some stored convenience queries for easy common selections. They can be queried like tables.
=== earliest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the earliest versions of each page. For full information about the earliest revision, use the [[User:Amire80/wikifunctionsanalytics#earliest revision view|earliest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== earliest_revision view ===
This view has all the columns from the revision table, but only for earliest versions of each page. This may be useful, for example, when you need information about the pages' creators. The earliest version is derived from the lowest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== latest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the latest versions of each page. For full information about the latest revision, use the [[User:Amire80/wikifunctionsanalytics#latest revision view|latest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== latest_revision view ===
This view has all the columns from the revision table, but only for latest versions of each page. This may be useful, for example, when you only need information about the current versions of the pages (current to the time of the dump). The latest version is derived from the highest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== multitype_page view ===
This view shows pages whose type changed during their history (in February 2026, there's only one such page). This is useful for quickly finding these pages and for excluding them in other queries.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|count_types
|BIGINT
|The number of types that the page had throughout its history.
|}
=== test_and_implementation view ===
This view shows all the function pages (latest versions only), with the total number of tests and implementations associated with them, as well as the number of ''connected'' tests and implementations.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|all_tests
|INTEGER
|The total number of tests associated with the function, including non-connected ones.
|-
|rev_connected_tests
|INTEGER
|The number of connected tests. Can be zero.
|-
|all_implementations
|INTEGER
|The total number of implementations associated with the function, including non-connected ones.
|-
|rev_connected_implementations
|INTEGER
|The number of connected implementation.
|}
== Example queries ==
If you find bugs in these queries, report them on the talk page. And of course, add your own!
* [[quarry:query/103074|Wikifunctions whose output type is Z12/Multilingual text]]
* [[quarry:query/103075|Wikifunctions that have an input whose type is Z12/Multilingual text]]
* [[quarry:query/103103|Most prolific Wikifunctions main namespace editors]]
* [[quarry:query/103095|Particular Wikifunctions user's edit types]]
* [[quarry:query/103079|Wikifunctions actual edit types, ordered by count]]
* [[quarry:query/103373|The most common Wikifunctions programming languages]]
* [[quarry:query/103078|Count of significant Wikifunctions changes by month]]
* [[quarry:query/103077|Wikifunctions signature change counts by user]]
* [[quarry:query/103375|Wikifunctions that don't have any inputs defined]]
* [[quarry:query/103376|Wikifunctions with the most connected tests]]
* [[quarry:query/103377|Wikifunctions with the most connected implementations]]
* [[quarry:query/103378|Wikifunctions implementation code changes per user]]
* [[quarry:query/103379|Wikifunctions implementation pages with multiple programming languages]]
* [[quarry:query/103380|Wikifunctions with the largest number of inputs]]
* [[quarry:query/103390|A Wikifunctions' user most common programming languages]]
* [[quarry:query/103391|The most frequent programmers in a Wikifunctions programming language]]
* [[quarry:query/103397|Wikifunctions with counts of all implementations and tests]]
* [[quarry:query/103406|Wikifunctions with no implementations and no tests]]
* [[quarry:query/103437|Wikifunctions with apparently invalid connected test or implementation count]] (should ideally be zero results)
* [[quarry:query/103687|Wikifunctions labels, aliases, and description changes by language]]
59x5l100wxaj18iyl2ppcud6ih5uebr
261334
261333
2026-03-27T21:47:40Z
Amire80
113
proof reading
261334
wikitext
text/x-wiki
This is the documentation for the '''wikifunctionsanalytics''' tool.
The tool currently doesn't have much of a frontend (and maybe never will). It's just a database that can be queried through [[quarry:|Quarry]]. It includes some (hopefully) useful statistics about Wikifunctions that (probably) cannot be conveniently obtained by other means, such as special pages or APIs.
The source code for building the database is available in [[gitlab:toolforge-repos/wikifunctions-analytics|GitLab]], which is also where you can read the detailed explanation about the motivation to build it.
This page documents the database schema and gives links to some useful example queries. You can also find some example queries in [https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics/-/blob/main/queries.sql?ref_type=heads the queries.sql file in the code repository].
Comments, patches, and bug reports are obviously welcome.
At the moment, the tool is static and gets the information from a dump, so it doesn't have data for the last few days. Perhaps it will be updated to include more recent data.
== Connection ==
As of this writing, the database name that can be used in Quarry is <code>s57441__wikifunctionsanalytics_p</code>.
== Tables ==
=== edit_type table ===
This table is used as a simple list of all the possible edit types.
{| class="wikitable"
!column name
!type
!comment
|-
|edit_type
|VARCHAR(70)
|Edit type name.
|}
=== programming_language table ===
This table is used as a simple list of all the possible programming languages.
{| class="wikitable"
!column name
!type
!comment
|-
|programming_language
|VARCHAR(70)
|Programming language name.
|}
=== revision table ===
This table has a row for each non-deleted revision in the main namespace of Wikifunctions. At the moment, the full JSON text of each revision is not stored in the database because it takes a lot of space and makes queries slow, and from the experience so far, it has not been very useful for analytics. If there is demand for it, it can be added.
{| class="wikitable"
|+
!column name
!type
!comment
|-
|rev_id
|BIGINT
|Revision id. Identical to the revision ID in the wiki.
|-
|rev_timestamp
|VARCHAR(20)
|Timestamp in the fromat that the dump uses (not identical to the one used in live MediaWiki databases). Example: 2023-07-26T16:29:23Z
|-
|rev_parent
|BIGINT
|Parent revision id. (At the moment, the earliest revisions have rev_parent of 0 or NULL, although it's probably supposed to be always 0. See [[phab:T420974|bug T420974]].)
|-
|rev_comment
|VARCHAR(500)
|Edit summary.
|-
|rev_page
|VARCHAR(20)
|Page title (ZID).
|-
|rev_username
|VARCHAR(600)
|The account name of the user who made the edit.
|-
|rev_page_type_zid
|VARCHAR(20)
|The ZID of the page's type. Note that this is associated with the ''revision'', not the page; a page's type may change.
|-
|rev_page_type_name
|VARCHAR(70)
|The English name of the page's type. (Note: some obscure types may be unrecognized. In these cases, it will have a ZID identical to what appears in rev_page_type_zid.)
|-
|rev_programming_language
|VARCHAR(70)
|For revisions of implementation pages: The English name of the programming language in which the implementation is written. Current possible values:
* JavaScript
* Python
* Lua
* Composition
* Built in implementation
* Unidentifiable implementation language
* Unidentifiable code language
(All these values can be seen in the [[User:Amire80/wikifunctionsanalytics#programming language table|programming_language table]]; [[quarry:query/103370|Quarry]].)
It's supposed to be filled on all revisions of implementation pages. On pages of other types, it's supposed to be NULL.
|-
|rev_function
|VARCHAR(20)
|For revisions of test and implementation pages: The function with which the test or the implementation is associated (whether connected or not).
On pages of other types, it's supposed to be NULL.
|-
|rev_connected_tests
|INTEGER
|For revisions of function pages: The number of connected tests. Can be zero.
NULL on non-functions pages.
(Non-connected tests are not counted at the moment, but it's planned for the future.)
|-
|rev_connected_implementations
|INTEGER
|For revisions of implementation pages: The number of connected implementation. Can be zero.
NULL on non-functions pages.
(Non-connected implementations are not counted at the moment, but it's planned for the future.)
|}
=== input table ===
This table links function revisions to input types. Every Function has zero or more inputs.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature, starting from 0.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|}
=== output table ===
This table links function revisions to output types. Every Function has one output.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|}
=== revision_edit_type table ===
This table links revisions to edit types. Every revision can have several edit types, but a combination of a revision and an edit type is supposed to be unique. At the moment, only Function, Implementation, and Test case pages have an edit type; analysis for pages of other types may be added in the future if there's demand.
{| class="wikitable"
!column name
!type
!comment
|-
|revision_edit_type_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|revision_edit_type_edit_type
|VARCHAR(70)
|The edit type. The full list of types appears in the [[User:Amire80/wikifunctionsanalytics#edit type table|edit_type table]] ([[quarry:query/103369|Quarry]]).
|-
|revision_edit_type_natural_language
|VARCHAR(70)
|On edits of string values (labels, aliases, and descriptions), the English name of the natural language of the string. NULL on other edits. (Note 1: This is a language's ''English name'', not ZID or ISO 639 code. If there's demand, it can be easily changed. Note 2: Because of a bug, a few old edits have a value of "Empty language n" in this field. They are't supposed to appear in current versions as of 2026, and can probably be mostly ignored.)
|}
== Views ==
Views provide some stored convenience queries for easy common selections. They can be queried like tables.
=== earliest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the earliest versions of each page. For full information about the earliest revision, use the [[User:Amire80/wikifunctionsanalytics#earliest revision view|earliest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== earliest_revision view ===
This view has all the columns from the revision table, but only for earliest versions of each page. This may be useful, for example, when you need information about the pages' creators. The earliest version is derived from the lowest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== latest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the latest versions of each page. For full information about the latest revision, use the [[User:Amire80/wikifunctionsanalytics#latest revision view|latest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== latest_revision view ===
This view has all the columns from the revision table, but only for latest versions of each page. This may be useful, for example, when you only need information about the current versions of the pages (current to the time of the dump). The latest version is derived from the highest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== multitype_page view ===
This view shows pages whose type changed during their history (in February 2026, there's only one such page). This is useful for quickly finding these pages and for excluding them in other queries.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|count_types
|BIGINT
|The number of types that the page had throughout its history.
|}
=== test_and_implementation view ===
This view shows all the function pages (latest versions only), with the total number of tests and implementations associated with them, as well as the number of ''connected'' tests and implementations.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|all_tests
|INTEGER
|The total number of tests associated with the function, including non-connected ones.
|-
|rev_connected_tests
|INTEGER
|The number of connected tests. Can be zero.
|-
|all_implementations
|INTEGER
|The total number of implementations associated with the function, including non-connected ones.
|-
|rev_connected_implementations
|INTEGER
|The number of connected implementation.
|}
== Example queries ==
If you find bugs in these queries, report them on the talk page. And of course, add your own!
* [[quarry:query/103074|Wikifunctions whose output type is Z12/Multilingual text]]
* [[quarry:query/103075|Wikifunctions that have an input whose type is Z12/Multilingual text]]
* [[quarry:query/103103|Most prolific Wikifunctions main namespace editors]]
* [[quarry:query/103095|Particular Wikifunctions user's edit types]]
* [[quarry:query/103079|Wikifunctions actual edit types, ordered by count]]
* [[quarry:query/103373|The most common Wikifunctions programming languages]]
* [[quarry:query/103078|Count of significant Wikifunctions changes by month]]
* [[quarry:query/103077|Wikifunctions signature change counts by user]]
* [[quarry:query/103375|Wikifunctions that don't have any inputs defined]]
* [[quarry:query/103376|Wikifunctions with the most connected tests]]
* [[quarry:query/103377|Wikifunctions with the most connected implementations]]
* [[quarry:query/103378|Wikifunctions implementation code changes per user]]
* [[quarry:query/103379|Wikifunctions implementation pages with multiple programming languages]]
* [[quarry:query/103380|Wikifunctions with the largest number of inputs]]
* [[quarry:query/103390|A Wikifunctions' user most common programming languages]]
* [[quarry:query/103391|The most frequent programmers in a Wikifunctions programming language]]
* [[quarry:query/103397|Wikifunctions with counts of all implementations and tests]]
* [[quarry:query/103406|Wikifunctions with no implementations and no tests]]
* [[quarry:query/103437|Wikifunctions with apparently invalid connected test or implementation count]] (should ideally be zero results)
* [[quarry:query/103687|Wikifunctions labels, aliases, and description changes by language]]
rj6s7kfjsm9dchwry98uv2uuxblcai8
261388
261334
2026-03-28T05:27:00Z
Amire80
113
/* input table */ + input/output_type_name
261388
wikitext
text/x-wiki
This is the documentation for the '''wikifunctionsanalytics''' tool.
The tool currently doesn't have much of a frontend (and maybe never will). It's just a database that can be queried through [[quarry:|Quarry]]. It includes some (hopefully) useful statistics about Wikifunctions that (probably) cannot be conveniently obtained by other means, such as special pages or APIs.
The source code for building the database is available in [[gitlab:toolforge-repos/wikifunctions-analytics|GitLab]], which is also where you can read the detailed explanation about the motivation to build it.
This page documents the database schema and gives links to some useful example queries. You can also find some example queries in [https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics/-/blob/main/queries.sql?ref_type=heads the queries.sql file in the code repository].
Comments, patches, and bug reports are obviously welcome.
At the moment, the tool is static and gets the information from a dump, so it doesn't have data for the last few days. Perhaps it will be updated to include more recent data.
== Connection ==
As of this writing, the database name that can be used in Quarry is <code>s57441__wikifunctionsanalytics_p</code>.
== Tables ==
=== edit_type table ===
This table is used as a simple list of all the possible edit types.
{| class="wikitable"
!column name
!type
!comment
|-
|edit_type
|VARCHAR(70)
|Edit type name.
|}
=== programming_language table ===
This table is used as a simple list of all the possible programming languages.
{| class="wikitable"
!column name
!type
!comment
|-
|programming_language
|VARCHAR(70)
|Programming language name.
|}
=== revision table ===
This table has a row for each non-deleted revision in the main namespace of Wikifunctions. At the moment, the full JSON text of each revision is not stored in the database because it takes a lot of space and makes queries slow, and from the experience so far, it has not been very useful for analytics. If there is demand for it, it can be added.
{| class="wikitable"
|+
!column name
!type
!comment
|-
|rev_id
|BIGINT
|Revision id. Identical to the revision ID in the wiki.
|-
|rev_timestamp
|VARCHAR(20)
|Timestamp in the fromat that the dump uses (not identical to the one used in live MediaWiki databases). Example: 2023-07-26T16:29:23Z
|-
|rev_parent
|BIGINT
|Parent revision id. (At the moment, the earliest revisions have rev_parent of 0 or NULL, although it's probably supposed to be always 0. See [[phab:T420974|bug T420974]].)
|-
|rev_comment
|VARCHAR(500)
|Edit summary.
|-
|rev_page
|VARCHAR(20)
|Page title (ZID).
|-
|rev_username
|VARCHAR(600)
|The account name of the user who made the edit.
|-
|rev_page_type_zid
|VARCHAR(20)
|The ZID of the page's type. Note that this is associated with the ''revision'', not the page; a page's type may change.
|-
|rev_page_type_name
|VARCHAR(70)
|The English name of the page's type. (Note: some obscure types may be unrecognized. In these cases, it will have a ZID identical to what appears in rev_page_type_zid.)
|-
|rev_programming_language
|VARCHAR(70)
|For revisions of implementation pages: The English name of the programming language in which the implementation is written. Current possible values:
* JavaScript
* Python
* Lua
* Composition
* Built in implementation
* Unidentifiable implementation language
* Unidentifiable code language
(All these values can be seen in the [[User:Amire80/wikifunctionsanalytics#programming language table|programming_language table]]; [[quarry:query/103370|Quarry]].)
It's supposed to be filled on all revisions of implementation pages. On pages of other types, it's supposed to be NULL.
|-
|rev_function
|VARCHAR(20)
|For revisions of test and implementation pages: The function with which the test or the implementation is associated (whether connected or not).
On pages of other types, it's supposed to be NULL.
|-
|rev_connected_tests
|INTEGER
|For revisions of function pages: The number of connected tests. Can be zero.
NULL on non-functions pages.
(Non-connected tests are not counted at the moment, but it's planned for the future.)
|-
|rev_connected_implementations
|INTEGER
|For revisions of implementation pages: The number of connected implementation. Can be zero.
NULL on non-functions pages.
(Non-connected implementations are not counted at the moment, but it's planned for the future.)
|}
=== input table ===
This table links function revisions to input types. Every Function has zero or more inputs.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature, starting from 0.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|-
|input_type_name
|VARCHAR(70)
|The input type's English label.
|}
=== output table ===
This table links function revisions to output types. Every Function has one output.
{| class="wikitable"
!column name
!type
!comment
|-
|output_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|output_type_zid
|VARCHAR(20)
|The output type's ZID.
|-
|output_type_name
|VARCHAR(70)
|The output type's English label.
|}
=== revision_edit_type table ===
This table links revisions to edit types. Every revision can have several edit types, but a combination of a revision and an edit type is supposed to be unique. At the moment, only Function, Implementation, and Test case pages have an edit type; analysis for pages of other types may be added in the future if there's demand.
{| class="wikitable"
!column name
!type
!comment
|-
|revision_edit_type_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|revision_edit_type_edit_type
|VARCHAR(70)
|The edit type. The full list of types appears in the [[User:Amire80/wikifunctionsanalytics#edit type table|edit_type table]] ([[quarry:query/103369|Quarry]]).
|-
|revision_edit_type_natural_language
|VARCHAR(70)
|On edits of string values (labels, aliases, and descriptions), the English name of the natural language of the string. NULL on other edits. (Note 1: This is a language's ''English name'', not ZID or ISO 639 code. If there's demand, it can be easily changed. Note 2: Because of a bug, a few old edits have a value of "Empty language n" in this field. They are't supposed to appear in current versions as of 2026, and can probably be mostly ignored.)
|}
== Views ==
Views provide some stored convenience queries for easy common selections. They can be queried like tables.
=== earliest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the earliest versions of each page. For full information about the earliest revision, use the [[User:Amire80/wikifunctionsanalytics#earliest revision view|earliest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== earliest_revision view ===
This view has all the columns from the revision table, but only for earliest versions of each page. This may be useful, for example, when you need information about the pages' creators. The earliest version is derived from the lowest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== latest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the latest versions of each page. For full information about the latest revision, use the [[User:Amire80/wikifunctionsanalytics#latest revision view|latest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== latest_revision view ===
This view has all the columns from the revision table, but only for latest versions of each page. This may be useful, for example, when you only need information about the current versions of the pages (current to the time of the dump). The latest version is derived from the highest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== multitype_page view ===
This view shows pages whose type changed during their history (in February 2026, there's only one such page). This is useful for quickly finding these pages and for excluding them in other queries.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|count_types
|BIGINT
|The number of types that the page had throughout its history.
|}
=== test_and_implementation view ===
This view shows all the function pages (latest versions only), with the total number of tests and implementations associated with them, as well as the number of ''connected'' tests and implementations.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|all_tests
|INTEGER
|The total number of tests associated with the function, including non-connected ones.
|-
|rev_connected_tests
|INTEGER
|The number of connected tests. Can be zero.
|-
|all_implementations
|INTEGER
|The total number of implementations associated with the function, including non-connected ones.
|-
|rev_connected_implementations
|INTEGER
|The number of connected implementation.
|}
== Example queries ==
If you find bugs in these queries, report them on the talk page. And of course, add your own!
* [[quarry:query/103074|Wikifunctions whose output type is Z12/Multilingual text]]
* [[quarry:query/103075|Wikifunctions that have an input whose type is Z12/Multilingual text]]
* [[quarry:query/103103|Most prolific Wikifunctions main namespace editors]]
* [[quarry:query/103095|Particular Wikifunctions user's edit types]]
* [[quarry:query/103079|Wikifunctions actual edit types, ordered by count]]
* [[quarry:query/103373|The most common Wikifunctions programming languages]]
* [[quarry:query/103078|Count of significant Wikifunctions changes by month]]
* [[quarry:query/103077|Wikifunctions signature change counts by user]]
* [[quarry:query/103375|Wikifunctions that don't have any inputs defined]]
* [[quarry:query/103376|Wikifunctions with the most connected tests]]
* [[quarry:query/103377|Wikifunctions with the most connected implementations]]
* [[quarry:query/103378|Wikifunctions implementation code changes per user]]
* [[quarry:query/103379|Wikifunctions implementation pages with multiple programming languages]]
* [[quarry:query/103380|Wikifunctions with the largest number of inputs]]
* [[quarry:query/103390|A Wikifunctions' user most common programming languages]]
* [[quarry:query/103391|The most frequent programmers in a Wikifunctions programming language]]
* [[quarry:query/103397|Wikifunctions with counts of all implementations and tests]]
* [[quarry:query/103406|Wikifunctions with no implementations and no tests]]
* [[quarry:query/103437|Wikifunctions with apparently invalid connected test or implementation count]] (should ideally be zero results)
* [[quarry:query/103687|Wikifunctions labels, aliases, and description changes by language]]
tbeoqxf4p1q1xdcvx50pp1yrnubbp2u
Z32355
0
78589
261371
259720
2026-03-28T00:46:10Z
Higa4
889
Removed Z32360 from the approved list of implementations
261371
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32355"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32355K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "主題"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32355K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "role"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "役割"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32355K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "dependency"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "依存関係"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32355K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "言語"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32358",
"Z32356"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32355"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "defining role sentence in Japanese"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "役割定義文 - 日本語"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Japanese defining role sentence"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Sentences of the type \"Paris is the capital of France.\" or \"Elizabeth II is the mother of Charles III.\"."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "\"Paris is the capital of France.\"や\"Elizabeth II is the mother of Charles III.\"といった種別の文。"
}
]
}
}
rpkn5nxgtfbrnuieznhpnrvpi5c5hfk
261372
261371
2026-03-28T00:46:16Z
Higa4
889
Added Z32360 to the approved list of implementations
261372
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32355"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32355K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "主題"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32355K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "role"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "役割"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32355K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "dependency"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "依存関係"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32355K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "言語"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32358",
"Z32356"
],
"Z8K4": [
"Z14",
"Z32360"
],
"Z8K5": "Z32355"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "defining role sentence in Japanese"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "役割定義文 - 日本語"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Japanese defining role sentence"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Sentences of the type \"Paris is the capital of France.\" or \"Elizabeth II is the mother of Charles III.\"."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "\"Paris is the capital of France.\"や\"Elizabeth II is the mother of Charles III.\"といった種別の文。"
}
]
}
}
afws0jfdb6mvixyh47u271pw9177skr
Z32356
0
78590
261369
259069
2026-03-28T00:38:20Z
Higa4
889
upd ja
261369
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32356"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32355",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32355",
"Z32355K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q80011"
},
"Z32355K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q50337"
},
"Z32355K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q17"
},
"Z32355K4": "Z1830"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "千葉県は日本の都道府県である。"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "千葉県"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
tgxoh4n2hi9f6yxu4vjnxvh86d6zzpj
Z32358
0
78592
261366
259068
2026-03-28T00:36:50Z
Higa4
889
upd ja
261366
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32358"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32355",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32355",
"Z32355K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q320943"
},
"Z32355K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q15253706"
},
"Z32355K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q80011"
},
"Z32355K4": "Z1830"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "松戸市は千葉県の市である。"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "松戸市"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ksmbk3wpk3evto26gy7g6scwmy28zf3
Z32360
0
78594
261365
259721
2026-03-28T00:35:24Z
Higa4
889
upd ja
261365
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32360"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32355",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": {
"Z1K1": "Z18",
"Z18K1": "Z32355K4"
},
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z12899",
"Z12899K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32355K1"
},
"Z23753K2": {
"Z1K1": "Z18",
"Z18K1": "Z32355K4"
}
}
},
"は",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32355K3"
},
"Z23753K2": {
"Z1K1": "Z18",
"Z18K1": "Z32355K4"
}
},
"の",
{
"Z1K1": "Z7",
"Z7K1": "Z22839",
"Z22839K1": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z27410",
"Z13464K2": {
"Z1K1": "Z7",
"Z7K1": "Z23616",
"Z23616K1": {
"Z1K1": "Z18",
"Z18K1": "Z32355K2"
},
"Z23616K2": {
"Z1K1": "Z18",
"Z18K1": "Z32355K4"
}
},
"Z13464K3": [
"Z6091"
]
},
"Z22839K2": {
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32355K2"
},
"Z23753K2": {
"Z1K1": "Z18",
"Z18K1": "Z32355K4"
}
}
},
"である。"
],
"Z12899K2": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "役割定義文 - 日本語, Composition"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "defining role sentence in Japanese, Composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6vx2n710scr2pbrsu0zhbfnqb0cv7qb
Z32501
0
78749
261391
259999
2026-03-28T06:02:07Z
99of9
1622
Added Z32847 to the approved list of test cases
261391
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32501"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32501K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item QID"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32501K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "preferred language"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6091"
},
"Z17K2": "Z32501K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "preferred grammatical features"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z32502",
"Z32514",
"Z32526",
"Z32847"
],
"Z8K4": [
"Z14",
"Z32504"
],
"Z8K5": "Z32501"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "best string from item reference, language, grammar"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"semantic fallback to label",
"string of qid",
"qid to string"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Aims to return the best string representing an item that is in the required language or a close variant, and amongst those has the best matching grammatical features, or defaults to a fallback label."
}
]
}
}
6c7vfzj6t1u6j04vrqts11mfcwef1br
Z32534
0
78784
261357
259945
2026-03-28T00:09:31Z
Higa4
889
+ ja
261357
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32534"
},
"Z2K2": {
"Z1K1": "Z14294",
"Z14294K1": [
"Z14293",
{
"Z1K1": "Z14293",
"Z14293K1": "Z32536",
"Z14293K2": [
"Z60",
"Z1002",
"Z1113",
"Z1199",
"Z1437",
"Z1966",
"Z1124",
"Z1689"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32591",
"Z14293K2": [
"Z60",
"Z1004",
"Z1640",
"Z1757"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32688",
"Z14293K2": [
"Z60",
"Z1830",
"Z1326",
"Z1171",
"Z1736"
]
}
],
"Z14294K2": "Z32536"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "config for creative work - entity, class, creator"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "config oeuvre - entité, classe, créateur/trice"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fepte81e61cajhzfqagiglb156o3nr0
Z32593
0
78843
261433
260138
2026-03-28T09:50:57Z
Redmin
52094
261433
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32593"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z31729",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z31729",
"Z31729K1": {
"Z1K1": "Z89",
"Z89K1": "\u003Cdiv\u003E\n\t\u003Cdiv\u003E\n\t\t\u003Cdiv\u003E\n\t\t\t\u003Cdiv class=\"final\"\u003E\n\t\t\t\t\u003Ctable\u003E\n\t\t\t\t\t\u003Ctr\u003E\u003Ctd\u003EI am in a table four levels deep inside a div!\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E\n\t\t\t\u003C/div\u003E\n\t\t\u003C/div\u003E\n\t\u003C/div\u003E\n\u003C/div\u003E"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Cdiv style=\"text-align: center;\"\u003E\n\t\u003Cdiv\u003E\n\t\t\u003Cdiv\u003E\n\t\t\t\u003Cdiv class=\"final\" \u003E\n\t\t\t\t\u003Ctable style=\"margin: auto;\"\u003E\n\t\t\t\t\t\u003Ctr\u003E\u003Ctd\u003EI am in a table four levels deep inside a div!\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E\n\t\t\t\u003C/div\u003E\n\t\t\u003C/div\u003E\n\t\u003C/div\u003E\n\u003C/div\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "center several levels deeply nested table"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "checks if nested tables are currently centred and original format is maintained"
}
]
}
}
9sg373xy02exhvpd6zjyeffh753cwmm
261435
261433
2026-03-28T09:57:15Z
Redmin
52094
Fix format
261435
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32593"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z31729",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z31729",
"Z31729K1": {
"Z1K1": "Z89",
"Z89K1": "\u003Cdiv\u003E\n\t\u003Cdiv\u003E\n\t\t\u003Cdiv\u003E\n\t\t\t\u003Cdiv class=\"final\"\u003E\n\t\t\t\t\u003Ctable\u003E\n\t\t\t\t\t\u003Ctr\u003E\u003Ctd\u003EI am in a table four levels deep inside a div!\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E\n\t\t\t\u003C/div\u003E\n\t\t\u003C/div\u003E\n\t\u003C/div\u003E\n\u003C/div\u003E"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Cdiv style=\"text-align: center;\"\u003E\n\t\u003Cdiv\u003E\n\t\t\u003Cdiv\u003E\n\t\t\t\u003Cdiv class=\"final\"\u003E\n\t\t\t\t\u003Ctable style=\"margin: auto;\"\u003E\n\t\t\t\t\t\u003Ctr\u003E\u003Ctd\u003EI am in a table four levels deep inside a div!\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E\n\t\t\t\u003C/div\u003E\n\t\t\u003C/div\u003E\n\t\u003C/div\u003E\n\u003C/div\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "center several levels deeply nested table"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "checks if nested tables are currently centred and original format is maintained"
}
]
}
}
81ahw2reo51xnxcy2ryqpgqi27cg8r6
Z32621
0
78885
261381
260129
2026-03-28T05:03:50Z
ChaoticVermillion
31127
Added Z32624 to the approved list of implementations
261381
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32621"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32621K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32621K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verb"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32621K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32622",
"Z32623"
],
"Z8K4": [
"Z14",
"Z32624"
],
"Z8K5": "Z32621"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English verb describing noun sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"English [X]s [Y]"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Makes a sentence of the form [X]s [verb], e.g. \"Plants die.\" or \"Dogs bark.\""
}
]
}
}
3jinno5mn5v5f49e0ufkuttwdgy85ph
Z32645
0
78995
261280
261121
2026-03-27T18:43:22Z
YoshiRulz
10156
Added Z32815, Z32816 and Z32817 to the approved list of test cases
261280
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32645"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z32645K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
}
],
"Z8K2": "Z22112",
"Z8K3": [
"Z20",
"Z32646",
"Z32648",
"Z32649",
"Z32647",
"Z32650",
"Z32651",
"Z32653",
"Z32654",
"Z32655",
"Z32657",
"Z32662",
"Z32743",
"Z32777",
"Z32784",
"Z32785",
"Z32786",
"Z32815",
"Z32816",
"Z32817"
],
"Z8K4": [
"Z14",
"Z32776",
"Z32667"
],
"Z8K5": "Z32645"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item indicates definite article, English"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "From the identity of the item, decide whether the English text needs a definite article. Used in combination with other grammatical indicators. True if always \"the X\", False if never \"the\", else Maybe"
}
]
}
}
dg58sl8h8mbpcmsadvn52kbs9vco7rl
261282
261280
2026-03-27T18:49:31Z
YoshiRulz
10156
Added Z32818 to the approved list of test cases
261282
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32645"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z32645K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
}
],
"Z8K2": "Z22112",
"Z8K3": [
"Z20",
"Z32646",
"Z32648",
"Z32649",
"Z32647",
"Z32650",
"Z32651",
"Z32653",
"Z32654",
"Z32655",
"Z32657",
"Z32662",
"Z32743",
"Z32777",
"Z32784",
"Z32785",
"Z32786",
"Z32815",
"Z32816",
"Z32817",
"Z32818"
],
"Z8K4": [
"Z14",
"Z32776",
"Z32667"
],
"Z8K5": "Z32645"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item indicates definite article, English"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "From the identity of the item, decide whether the English text needs a definite article. Used in combination with other grammatical indicators. True if always \"the X\", False if never \"the\", else Maybe"
}
]
}
}
efccgevga48z7zptuwso7sw7mz11a4e
Z32671
0
79021
261358
260589
2026-03-28T00:16:59Z
Higa4
889
Added Z32680 to the approved list of implementations
261358
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32671"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32671K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32671K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "class"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z32680"
],
"Z8K5": "Z32671"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "Japanese article-less instantiating sentence"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Japanese article-less instantiating sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
i109zhpa1iw7co2o3jlrxbhgdekoye9
261359
261358
2026-03-28T00:17:05Z
Higa4
889
Added Z32682 to the approved list of test cases
261359
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32671"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32671K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32671K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "class"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z32682"
],
"Z8K4": [
"Z14",
"Z32680"
],
"Z8K5": "Z32671"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "Japanese article-less instantiating sentence"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Japanese article-less instantiating sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fxk5q27rljsqcv3tvrvhm60aq6cy5b9
Z32688
0
79038
261355
260650
2026-03-28T00:05:53Z
Higa4
889
Added Z32689 to the approved list of implementations
261355
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32688"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32688K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32688K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32688K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "creater"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z32689"
],
"Z8K5": "Z32688"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Creative work - entity, class, creator, Japanese"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fy9mf024zms0zapu809tvde046npzh7
261356
261355
2026-03-28T00:05:59Z
Higa4
889
Added Z32690 to the approved list of test cases
261356
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32688"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32688K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32688K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32688K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "creater"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32690"
],
"Z8K4": [
"Z14",
"Z32689"
],
"Z8K5": "Z32688"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Creative work - entity, class, creator, Japanese"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bjm6olu9989t6was7q2wb0t9h2bvd7a
Wikifunctions:Status updates/2026-03-26/en
4
79121
261192
261086
2026-03-27T12:11:19Z
FuzzyBot
207
Updating to match new version of source page
261192
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Previous update
| prev = 2026-03-19
| nextlabel = Next update
| next =
}}
=== First few days of Abstract Wikipedia Beta ===
Last week we kicked off the Beta of Abstract Wikipedia, and many of you came to visit and some of you came to become part of a new community. We are very excited about how things are going!
The numbers are constantly changing, but so far already more than 120 articles have been started. [[User:ChaoticVermillion|ChaoticVermillion]] has created [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages a page to commemorate the first 25 articles]. One thing we are particularly happy about is that more than 75 volunteers have made contributions to the wiki, and the wiki has seen more than 1000 edits already. We understand that contributing to Abstract Wikipedia is currently not a very user-friendly experience, and a lot of things are broken. We have already fixed a whole slew of things (see the section on Recent Changes in the software below), and we are working on many more.
Based on the initial reaction and your feedback, we are changing our plans for the upcoming quarters, to focus on bugfixes, features, and capabilities that you are raising. We are monitoring the Phabricator board, the Project chat, and the Telegram / IRC chat, and collecting your feedback and suggestions. This will be our priority in the coming months.
We are also excited to see that Wikifunctions is seeing a significant increase in the pace of new functions being created. This week we report 79 new functions! Some of them are in languages that had no functions before, and some of them are providing functionality that helps with writing Abstract Wikipedia articles.
By the way, here’s one tip: currently, caching for Abstract Wikipedia happens on the level of the “fragment”. This means that by putting several sentences into a single paragraph, the paragraph as a whole is being run, may cause time-outs, and will be cached. Instead, if, for now, you put one sentence into each fragment, caching and evaluation can be more spread out and should allow for more content. Eventually we want to fix that, but it may take a moment, so you can try out more by following this tip for now. This can be changed later again and pulled together into paragraphs if so wished.
As you might have noticed, there have been a few bugs that we've fixed and tweaks that we've made. We fixed a bug that meant that the code mis-configured some namespaces, so broke talk and User pages and published the very first articles in the wrong place ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). We switched the orchestrator's composition language temporarily back to v1 ([[:phab:T418887|T418887]]), then made some quick fixes ([[:phab:T419833|T419833]]) and then re-enabled it — see below. We switched up a hard-coded link for policies to the new initial policy list. We fixed a bug that meant the creation workflow looked in the wrong place to make sure you didn't over-write an existing page ([[:phab:T420725|T420725]]), and it worked if you browsed directly to Special:CreateAbstract/Q123456 ([[:phab:T420916|T420916]]). We adjusted the display of previews to correctly set the language's RTL status too ([[:phab:T420687|T420687]]) and we added Help links for the pages to view and create Abstract articles.We're working now on improving performance and caching, fixing the /view/ links to work, making sure Abstract Wikipedia pages show up on the Tools database views, adding to the site statistics process, and a dozen other little things. Thank you for bearing with us!
Keep giving us feedback! We really appreciate your willingness to try things out, and are very happy to see you accepting this early version of Abstract Wikipedia.
=== Status of Composition Language v2 ===
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
=== Recent Changes in the software ===
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Canberra]].
Here is the description of the talk:
: ''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''
: ''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
=== Volunteer’s Corner upcoming on 13 April 2026 ===
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
=== Fresh Functions weekly: 76 new Functions ===
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
[[Category:Status updates{{#translation:}}|2026-03-26]]
2jl0c2xnbdqwcuigftg7xtokdfrhai6
User talk:Swayam Agrahari
3
79126
261376
260902
2026-03-28T03:38:14Z
Swayam Agrahari
14101
/* Z26359 */ Reply
261376
wikitext
text/x-wiki
== Z26359 ==
Hi!
You've created [[Z26359]]. What is it supposed to be?
Its actual ''title'' is "Z26359", but its ''label'' is Z11396, which is very confusing.
And its implementation [[Z26360]] looks like an infinite loop.
Was it just a test edit or do you plan to do something with it? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:26, 26 March 2026 (UTC)
:heyy, apologies for late reply, this was just a test edit, i was just exploring wiki functions. [[User:Swayam Agrahari|Swayam Agrahari]] ([[User talk:Swayam Agrahari|talk]]) 03:38, 28 March 2026 (UTC)
0oxgoefuw5y18fz0avcw2nktsw2w6lm
261377
261376
2026-03-28T03:47:45Z
Amire80
113
/* Z26359 */ Reply
261377
wikitext
text/x-wiki
== Z26359 ==
Hi!
You've created [[Z26359]]. What is it supposed to be?
Its actual ''title'' is "Z26359", but its ''label'' is Z11396, which is very confusing.
And its implementation [[Z26360]] looks like an infinite loop.
Was it just a test edit or do you plan to do something with it? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:26, 26 March 2026 (UTC)
:heyy, apologies for late reply, this was just a test edit, i was just exploring wiki functions. [[User:Swayam Agrahari|Swayam Agrahari]] ([[User talk:Swayam Agrahari|talk]]) 03:38, 28 March 2026 (UTC)
::OK. Can it be deleted? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:47, 28 March 2026 (UTC)
dpb9mzfxjgo0rp5c8f5k4301ygu26wu
Z32734
0
79130
261234
260912
2026-03-27T15:15:47Z
YoshiRulz
10156
Added Z32805 to the approved list of test cases
261234
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32734"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z89"
}
},
"Z17K2": "Z32734K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "cell contents"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
}
},
"Z17K2": "Z32734K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "header flags"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z89"
}
},
"Z8K3": [
"Z20",
"Z32805"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32734"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "table cell elements from contents + isHeader flags"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "takes a rectangular array of HTML fragments and an identically-sized array of Booleans, and returns an array of td/th elements (True =\u003E th; False =\u003E td)"
}
]
}
}
l5do7wotiol6aragkdatyk7hlrnib9z
Z32735
0
79131
261273
260913
2026-03-27T17:56:24Z
YoshiRulz
10156
More progress, still unfinished
261273
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32735"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32734",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z17628",
"Z17628K1": {
"Z1K1": "Z7",
"Z7K1": "Z31605",
"Z31605K1": {
"Z1K1": "Z18",
"Z18K1": "Z32734K1"
}
},
"Z17628K2": {
"Z1K1": "Z7",
"Z7K1": "Z31605",
"Z31605K1": {
"Z1K1": "Z18",
"Z18K1": "Z32734K2"
}
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z29787",
"Z29787K1": "Z14779",
"Z29787K2": "Z19384",
"Z29787K3": {
"Z1K1": "Z7",
"Z7K1": "Z13436",
"Z13436K1": "Z873",
"Z13436K2": "Z27854",
"Z13436K3": {
"Z1K1": "Z18",
"Z18K1": "Z32734K1"
}
},
"Z29787K4": {
"Z1K1": "Z18",
"Z18K1": "Z32734K2"
}
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z851",
"Z851K1": "Z516",
"Z851K2": [
"Z1",
"Z32734K2",
{
"Z1K1": "Z18",
"Z18K1": "Z32734K2"
}
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "cells from contents + isHeader flags, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ro2x7hcxt8h6tdaja0rj7y23aamitdr
Wikifunctions:Catalogue/Natural language operations/Czech
4
79179
261268
261055
2026-03-27T17:36:42Z
Mormegil
150
+[[Z32780]]
261268
wikitext
text/x-wiki
* {{Z+|Z32541}}
* {{Z+|Z32698}}
* {{Z+|Z32588}}
* {{Z+|Z32780}}
[[Category:Lists of functions]]
[[Category:Czech]]
00zodl5k6m49haavpfbn2b2qr71pcj3
Translations:Wikifunctions:Status updates/2026-03-26/27/en
1198
79183
261191
261079
2026-03-27T12:11:18Z
FuzzyBot
207
Importing a new version from external source
261191
wikitext
text/x-wiki
[[$1|Toby Hudson]] will be presenting [[$2|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[$3|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[$4|National Film and Sound Archive of Australia]] in [[$5|Canberra]].
04pwtam42aaygpl4ptsiw5yx97cdlps
Z32781
0
79188
261266
261125
2026-03-27T17:35:04Z
Mormegil
150
fix expected result
261266
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32781"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32780",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32780",
"Z32780K1": {
"Z1K1": "Z13518",
"Z13518K1": "1300783"
},
"Z32780K2": {
"Z1K1": "Z25501",
"Z25501K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q499327"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "milion tři sta tisíc sedm set osmdesát tři"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "jeden milion tři sta tisíc sedm set osmdesát tři"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fdafu5sqi4npfi68o2c5r7uzeu0u0gx
Z32782
0
79189
261267
261126
2026-03-27T17:35:35Z
Mormegil
150
fix expected value
261267
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32782"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32780",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32780",
"Z32780K1": {
"Z1K1": "Z13518",
"Z13518K1": "2015001107"
},
"Z32780K2": {
"Z1K1": "Z25501",
"Z25501K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q1775461"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "dvě miliardy patnáct milionů jeden tisíc sto sedm"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "dvě miliardy patnáct milionů jeden tisíc sto sedm"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
p7r6sfilicy3ahp3dua0usumj0qhp2a
Z32787
0
79199
261218
261147
2026-03-27T13:59:26Z
YoshiRulz
10156
Added Z32802 to the approved list of test cases
261218
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32787"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6004",
"Z17K2": "Z32787K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lexeme form"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z11"
},
"Z8K3": [
"Z20",
"Z32802"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32787"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "try synthesising IPA transcription for Lexeme Form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "for languages with writing systems that match pronunciation"
}
]
}
}
8cdzwdqfubaiilty1i6lg7bgl8tr19u
261232
261218
2026-03-27T14:53:54Z
YoshiRulz
10156
Added Z32803 to the approved list of implementations
261232
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32787"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6004",
"Z17K2": "Z32787K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lexeme form"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z11"
},
"Z8K3": [
"Z20",
"Z32802"
],
"Z8K4": [
"Z14",
"Z32803"
],
"Z8K5": "Z32787"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "try synthesising IPA transcription for Lexeme Form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "for languages with writing systems that match pronunciation"
}
]
}
}
ig13o6fd3vj1zjzi0td4k84smz9ccv6
Z32790
0
79207
261185
261168
2026-03-27T12:03:29Z
Sun8908
9804
261185
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32790"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32788",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1006",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z21394",
"Z21394K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32788K1"
},
"Z23753K2": "Z1006"
},
"是位於",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32788K3"
},
"Z23753K2": "Z1006"
},
"的",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32788K2"
},
"Z23753K2": "Z1006"
},
"。"
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class, zh, compose"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
35c0nypb69qslo0b8hed1mhtcp1z4lk
Z32791
0
79208
261194
261172
2026-03-27T12:21:28Z
Sun8908
9804
261194
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32791"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32788",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32788",
"Z32788K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q7473516"
},
"Z32788K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z32788K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q17"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": {
"Z1K1": "Z60",
"Z60K1": "zh",
"Z60K2": [
"Z6"
]
},
"Z11K2": "東京是位於日本的城市。"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1006",
"Z11K2": "東京是位於日本的城市。"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0irzdc9q47mokqty7bs4w216hd4qx7k
Translations:Wikifunctions:Status updates/2026-03-26/Page display title/de
1198
79210
261174
2026-03-27T11:59:33Z
Ameisenigel
44
Created page with "Wikifunctions:Status-Updates/2026-03-26"
261174
wikitext
text/x-wiki
Wikifunctions:Status-Updates/2026-03-26
l7dm8d6efg9yaahcahr85m5wd4b2ha8
Wikifunctions:Status updates/2026-03-26/de
4
79211
261175
2026-03-27T11:59:33Z
Ameisenigel
44
Created page with "Wikifunctions:Status-Updates/2026-03-26"
261175
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = <span lang="en" dir="ltr" class="mw-content-ltr">Previous update</span>
| prev = 2026-03-19
| nextlabel = <span lang="en" dir="ltr" class="mw-content-ltr">Next update</span>
| next =
}}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== First few days of Abstract Wikipedia Beta ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week we kicked off the Beta of Abstract Wikipedia, and many of you came to visit and some of you came to become part of a new community. We are very excited about how things are going!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The numbers are constantly changing, but so far already more than 120 articles have been started. [[User:ChaoticVermillion|ChaoticVermillion]] has created [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages a page to commemorate the first 25 articles]. One thing we are particularly happy about is that more than 75 volunteers have made contributions to the wiki, and the wiki has seen more than 1000 edits already. We understand that contributing to Abstract Wikipedia is currently not a very user-friendly experience, and a lot of things are broken. We have already fixed a whole slew of things (see the section on Recent Changes in the software below), and we are working on many more.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Based on the initial reaction and your feedback, we are changing our plans for the upcoming quarters, to focus on bugfixes, features, and capabilities that you are raising. We are monitoring the Phabricator board, the Project chat, and the Telegram / IRC chat, and collecting your feedback and suggestions. This will be our priority in the coming months.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We are also excited to see that Wikifunctions is seeing a significant increase in the pace of new functions being created. This week we report 79 new functions! Some of them are in languages that had no functions before, and some of them are providing functionality that helps with writing Abstract Wikipedia articles.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
By the way, here’s one tip: currently, caching for Abstract Wikipedia happens on the level of the “fragment”. This means that by putting several sentences into a single paragraph, the paragraph as a whole is being run, may cause time-outs, and will be cached. Instead, if, for now, you put one sentence into each fragment, caching and evaluation can be more spread out and should allow for more content. Eventually we want to fix that, but it may take a moment, so you can try out more by following this tip for now. This can be changed later again and pulled together into paragraphs if so wished.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
As you might have noticed, there have been a few bugs that we've fixed and tweaks that we've made. We fixed a bug that meant that the code mis-configured some namespaces, so broke talk and User pages and published the very first articles in the wrong place ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). We switched the orchestrator's composition language temporarily back to v1 ([[:phab:T418887|T418887]]), then made some quick fixes ([[:phab:T419833|T419833]]) and then re-enabled it — see below. We switched up a hard-coded link for policies to the new initial policy list. We fixed a bug that meant the creation workflow looked in the wrong place to make sure you didn't over-write an existing page ([[:phab:T420725|T420725]]), and it worked if you browsed directly to Special:CreateAbstract/Q123456 ([[:phab:T420916|T420916]]). We adjusted the display of previews to correctly set the language's RTL status too ([[:phab:T420687|T420687]]) and we added Help links for the pages to view and create Abstract articles.We're working now on improving performance and caching, fixing the /view/ links to work, making sure Abstract Wikipedia pages show up on the Tools database views, adding to the site statistics process, and a dozen other little things. Thank you for bearing with us!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Keep giving us feedback! We really appreciate your willingness to try things out, and are very happy to see you accepting this early version of Abstract Wikipedia.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Status of Composition Language v2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Kanbarra]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is the description of the talk:
</div>
: <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Volunteer’s Corner upcoming on 13 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Fresh Functions weekly: 76 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
</div>
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
<div lang="en" dir="ltr" class="mw-content-ltr">
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
</div>
[[Category:Status updates{{#translation:}}|2026-03-26]]
nlfxjpwwai2gzrx6mmniyrlm1ok38it
261177
261175
2026-03-27T11:59:36Z
Ameisenigel
44
Created page with "Vorheriges Update"
261177
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-03-19
| nextlabel = <span lang="en" dir="ltr" class="mw-content-ltr">Next update</span>
| next =
}}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== First few days of Abstract Wikipedia Beta ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week we kicked off the Beta of Abstract Wikipedia, and many of you came to visit and some of you came to become part of a new community. We are very excited about how things are going!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The numbers are constantly changing, but so far already more than 120 articles have been started. [[User:ChaoticVermillion|ChaoticVermillion]] has created [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages a page to commemorate the first 25 articles]. One thing we are particularly happy about is that more than 75 volunteers have made contributions to the wiki, and the wiki has seen more than 1000 edits already. We understand that contributing to Abstract Wikipedia is currently not a very user-friendly experience, and a lot of things are broken. We have already fixed a whole slew of things (see the section on Recent Changes in the software below), and we are working on many more.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Based on the initial reaction and your feedback, we are changing our plans for the upcoming quarters, to focus on bugfixes, features, and capabilities that you are raising. We are monitoring the Phabricator board, the Project chat, and the Telegram / IRC chat, and collecting your feedback and suggestions. This will be our priority in the coming months.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We are also excited to see that Wikifunctions is seeing a significant increase in the pace of new functions being created. This week we report 79 new functions! Some of them are in languages that had no functions before, and some of them are providing functionality that helps with writing Abstract Wikipedia articles.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
By the way, here’s one tip: currently, caching for Abstract Wikipedia happens on the level of the “fragment”. This means that by putting several sentences into a single paragraph, the paragraph as a whole is being run, may cause time-outs, and will be cached. Instead, if, for now, you put one sentence into each fragment, caching and evaluation can be more spread out and should allow for more content. Eventually we want to fix that, but it may take a moment, so you can try out more by following this tip for now. This can be changed later again and pulled together into paragraphs if so wished.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
As you might have noticed, there have been a few bugs that we've fixed and tweaks that we've made. We fixed a bug that meant that the code mis-configured some namespaces, so broke talk and User pages and published the very first articles in the wrong place ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). We switched the orchestrator's composition language temporarily back to v1 ([[:phab:T418887|T418887]]), then made some quick fixes ([[:phab:T419833|T419833]]) and then re-enabled it — see below. We switched up a hard-coded link for policies to the new initial policy list. We fixed a bug that meant the creation workflow looked in the wrong place to make sure you didn't over-write an existing page ([[:phab:T420725|T420725]]), and it worked if you browsed directly to Special:CreateAbstract/Q123456 ([[:phab:T420916|T420916]]). We adjusted the display of previews to correctly set the language's RTL status too ([[:phab:T420687|T420687]]) and we added Help links for the pages to view and create Abstract articles.We're working now on improving performance and caching, fixing the /view/ links to work, making sure Abstract Wikipedia pages show up on the Tools database views, adding to the site statistics process, and a dozen other little things. Thank you for bearing with us!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Keep giving us feedback! We really appreciate your willingness to try things out, and are very happy to see you accepting this early version of Abstract Wikipedia.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Status of Composition Language v2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Kanbarra]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is the description of the talk:
</div>
: <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Volunteer’s Corner upcoming on 13 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Fresh Functions weekly: 76 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
</div>
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
<div lang="en" dir="ltr" class="mw-content-ltr">
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
</div>
[[Category:Status updates{{#translation:}}|2026-03-26]]
rwey6jl5yxhos44g70u0xi3aiwfcvuw
261179
261177
2026-03-27T11:59:49Z
Ameisenigel
44
Created page with "Nächstes Update"
261179
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-03-19
| nextlabel = Nächstes Update
| next =
}}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== First few days of Abstract Wikipedia Beta ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week we kicked off the Beta of Abstract Wikipedia, and many of you came to visit and some of you came to become part of a new community. We are very excited about how things are going!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The numbers are constantly changing, but so far already more than 120 articles have been started. [[User:ChaoticVermillion|ChaoticVermillion]] has created [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages a page to commemorate the first 25 articles]. One thing we are particularly happy about is that more than 75 volunteers have made contributions to the wiki, and the wiki has seen more than 1000 edits already. We understand that contributing to Abstract Wikipedia is currently not a very user-friendly experience, and a lot of things are broken. We have already fixed a whole slew of things (see the section on Recent Changes in the software below), and we are working on many more.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Based on the initial reaction and your feedback, we are changing our plans for the upcoming quarters, to focus on bugfixes, features, and capabilities that you are raising. We are monitoring the Phabricator board, the Project chat, and the Telegram / IRC chat, and collecting your feedback and suggestions. This will be our priority in the coming months.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We are also excited to see that Wikifunctions is seeing a significant increase in the pace of new functions being created. This week we report 79 new functions! Some of them are in languages that had no functions before, and some of them are providing functionality that helps with writing Abstract Wikipedia articles.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
By the way, here’s one tip: currently, caching for Abstract Wikipedia happens on the level of the “fragment”. This means that by putting several sentences into a single paragraph, the paragraph as a whole is being run, may cause time-outs, and will be cached. Instead, if, for now, you put one sentence into each fragment, caching and evaluation can be more spread out and should allow for more content. Eventually we want to fix that, but it may take a moment, so you can try out more by following this tip for now. This can be changed later again and pulled together into paragraphs if so wished.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
As you might have noticed, there have been a few bugs that we've fixed and tweaks that we've made. We fixed a bug that meant that the code mis-configured some namespaces, so broke talk and User pages and published the very first articles in the wrong place ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). We switched the orchestrator's composition language temporarily back to v1 ([[:phab:T418887|T418887]]), then made some quick fixes ([[:phab:T419833|T419833]]) and then re-enabled it — see below. We switched up a hard-coded link for policies to the new initial policy list. We fixed a bug that meant the creation workflow looked in the wrong place to make sure you didn't over-write an existing page ([[:phab:T420725|T420725]]), and it worked if you browsed directly to Special:CreateAbstract/Q123456 ([[:phab:T420916|T420916]]). We adjusted the display of previews to correctly set the language's RTL status too ([[:phab:T420687|T420687]]) and we added Help links for the pages to view and create Abstract articles.We're working now on improving performance and caching, fixing the /view/ links to work, making sure Abstract Wikipedia pages show up on the Tools database views, adding to the site statistics process, and a dozen other little things. Thank you for bearing with us!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Keep giving us feedback! We really appreciate your willingness to try things out, and are very happy to see you accepting this early version of Abstract Wikipedia.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Status of Composition Language v2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Kanbarra]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is the description of the talk:
</div>
: <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Volunteer’s Corner upcoming on 13 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Fresh Functions weekly: 76 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
</div>
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
<div lang="en" dir="ltr" class="mw-content-ltr">
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
</div>
[[Category:Status updates{{#translation:}}|2026-03-26]]
35jog9z45xa6lff8z1ddozs8n8sn6kn
261181
261179
2026-03-27T12:00:08Z
Ameisenigel
44
Created page with "=== Erste Tage der Abstrakten Wikipedia Beta ==="
261181
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-03-19
| nextlabel = Nächstes Update
| next =
}}
<span id="First_few_days_of_Abstract_Wikipedia_Beta"></span>
=== Erste Tage der Abstrakten Wikipedia Beta ===
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week we kicked off the Beta of Abstract Wikipedia, and many of you came to visit and some of you came to become part of a new community. We are very excited about how things are going!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The numbers are constantly changing, but so far already more than 120 articles have been started. [[User:ChaoticVermillion|ChaoticVermillion]] has created [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages a page to commemorate the first 25 articles]. One thing we are particularly happy about is that more than 75 volunteers have made contributions to the wiki, and the wiki has seen more than 1000 edits already. We understand that contributing to Abstract Wikipedia is currently not a very user-friendly experience, and a lot of things are broken. We have already fixed a whole slew of things (see the section on Recent Changes in the software below), and we are working on many more.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Based on the initial reaction and your feedback, we are changing our plans for the upcoming quarters, to focus on bugfixes, features, and capabilities that you are raising. We are monitoring the Phabricator board, the Project chat, and the Telegram / IRC chat, and collecting your feedback and suggestions. This will be our priority in the coming months.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We are also excited to see that Wikifunctions is seeing a significant increase in the pace of new functions being created. This week we report 79 new functions! Some of them are in languages that had no functions before, and some of them are providing functionality that helps with writing Abstract Wikipedia articles.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
By the way, here’s one tip: currently, caching for Abstract Wikipedia happens on the level of the “fragment”. This means that by putting several sentences into a single paragraph, the paragraph as a whole is being run, may cause time-outs, and will be cached. Instead, if, for now, you put one sentence into each fragment, caching and evaluation can be more spread out and should allow for more content. Eventually we want to fix that, but it may take a moment, so you can try out more by following this tip for now. This can be changed later again and pulled together into paragraphs if so wished.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
As you might have noticed, there have been a few bugs that we've fixed and tweaks that we've made. We fixed a bug that meant that the code mis-configured some namespaces, so broke talk and User pages and published the very first articles in the wrong place ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). We switched the orchestrator's composition language temporarily back to v1 ([[:phab:T418887|T418887]]), then made some quick fixes ([[:phab:T419833|T419833]]) and then re-enabled it — see below. We switched up a hard-coded link for policies to the new initial policy list. We fixed a bug that meant the creation workflow looked in the wrong place to make sure you didn't over-write an existing page ([[:phab:T420725|T420725]]), and it worked if you browsed directly to Special:CreateAbstract/Q123456 ([[:phab:T420916|T420916]]). We adjusted the display of previews to correctly set the language's RTL status too ([[:phab:T420687|T420687]]) and we added Help links for the pages to view and create Abstract articles.We're working now on improving performance and caching, fixing the /view/ links to work, making sure Abstract Wikipedia pages show up on the Tools database views, adding to the site statistics process, and a dozen other little things. Thank you for bearing with us!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Keep giving us feedback! We really appreciate your willingness to try things out, and are very happy to see you accepting this early version of Abstract Wikipedia.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Status of Composition Language v2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Kanbarra]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is the description of the talk:
</div>
: <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Volunteer’s Corner upcoming on 13 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Fresh Functions weekly: 76 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
</div>
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
<div lang="en" dir="ltr" class="mw-content-ltr">
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
</div>
[[Category:Status updates{{#translation:}}|2026-03-26]]
c32zysbf7lqy9p1yufus2hp0idjpb0p
261183
261181
2026-03-27T12:01:23Z
Ameisenigel
44
Created page with "Letzte Woche starteten wir die Beta-Version der Abstrakten Wikipedia und viele von euch haben vorbeigeschaut, einige sind sogar Teil unserer neuen Community geworden. Wir freuen uns sehr über den bisherigen Verlauf!"
261183
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-03-19
| nextlabel = Nächstes Update
| next =
}}
<span id="First_few_days_of_Abstract_Wikipedia_Beta"></span>
=== Erste Tage der Abstrakten Wikipedia Beta ===
Letzte Woche starteten wir die Beta-Version der Abstrakten Wikipedia und viele von euch haben vorbeigeschaut, einige sind sogar Teil unserer neuen Community geworden. Wir freuen uns sehr über den bisherigen Verlauf!
<div lang="en" dir="ltr" class="mw-content-ltr">
The numbers are constantly changing, but so far already more than 120 articles have been started. [[User:ChaoticVermillion|ChaoticVermillion]] has created [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages a page to commemorate the first 25 articles]. One thing we are particularly happy about is that more than 75 volunteers have made contributions to the wiki, and the wiki has seen more than 1000 edits already. We understand that contributing to Abstract Wikipedia is currently not a very user-friendly experience, and a lot of things are broken. We have already fixed a whole slew of things (see the section on Recent Changes in the software below), and we are working on many more.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Based on the initial reaction and your feedback, we are changing our plans for the upcoming quarters, to focus on bugfixes, features, and capabilities that you are raising. We are monitoring the Phabricator board, the Project chat, and the Telegram / IRC chat, and collecting your feedback and suggestions. This will be our priority in the coming months.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We are also excited to see that Wikifunctions is seeing a significant increase in the pace of new functions being created. This week we report 79 new functions! Some of them are in languages that had no functions before, and some of them are providing functionality that helps with writing Abstract Wikipedia articles.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
By the way, here’s one tip: currently, caching for Abstract Wikipedia happens on the level of the “fragment”. This means that by putting several sentences into a single paragraph, the paragraph as a whole is being run, may cause time-outs, and will be cached. Instead, if, for now, you put one sentence into each fragment, caching and evaluation can be more spread out and should allow for more content. Eventually we want to fix that, but it may take a moment, so you can try out more by following this tip for now. This can be changed later again and pulled together into paragraphs if so wished.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
As you might have noticed, there have been a few bugs that we've fixed and tweaks that we've made. We fixed a bug that meant that the code mis-configured some namespaces, so broke talk and User pages and published the very first articles in the wrong place ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). We switched the orchestrator's composition language temporarily back to v1 ([[:phab:T418887|T418887]]), then made some quick fixes ([[:phab:T419833|T419833]]) and then re-enabled it — see below. We switched up a hard-coded link for policies to the new initial policy list. We fixed a bug that meant the creation workflow looked in the wrong place to make sure you didn't over-write an existing page ([[:phab:T420725|T420725]]), and it worked if you browsed directly to Special:CreateAbstract/Q123456 ([[:phab:T420916|T420916]]). We adjusted the display of previews to correctly set the language's RTL status too ([[:phab:T420687|T420687]]) and we added Help links for the pages to view and create Abstract articles.We're working now on improving performance and caching, fixing the /view/ links to work, making sure Abstract Wikipedia pages show up on the Tools database views, adding to the site statistics process, and a dozen other little things. Thank you for bearing with us!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Keep giving us feedback! We really appreciate your willingness to try things out, and are very happy to see you accepting this early version of Abstract Wikipedia.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Status of Composition Language v2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Kanbarra]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is the description of the talk:
</div>
: <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Volunteer’s Corner upcoming on 13 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Fresh Functions weekly: 76 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
</div>
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
<div lang="en" dir="ltr" class="mw-content-ltr">
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
</div>
[[Category:Status updates{{#translation:}}|2026-03-26]]
r3gecwezz4dx9ilzjayd1fweel8x9on
261187
261183
2026-03-27T12:04:02Z
Ameisenigel
44
Created page with "Die Zahlen ändern sich ständig, aber bisher wurden bereits über 120 Artikel begonnen. [[$1|ChaoticVermillion]] hat [$2 eine Seite erstellt, um die ersten 25 Artikel zu würdigen]. Besonders erfreulich ist, dass über 75 Freiwillige zum Wiki beigetragen haben und es bereits über 1000 Bearbeitungen gab. Uns ist bewusst, dass das Mitwirken an der Abstrakten Wikipedia derzeit nicht sehr benutzerfreundlich ist und viele Dinge nicht funktionieren. Wir haben bereits zahlrei..."
261187
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-03-19
| nextlabel = Nächstes Update
| next =
}}
<span id="First_few_days_of_Abstract_Wikipedia_Beta"></span>
=== Erste Tage der Abstrakten Wikipedia Beta ===
Letzte Woche starteten wir die Beta-Version der Abstrakten Wikipedia und viele von euch haben vorbeigeschaut, einige sind sogar Teil unserer neuen Community geworden. Wir freuen uns sehr über den bisherigen Verlauf!
Die Zahlen ändern sich ständig, aber bisher wurden bereits über 120 Artikel begonnen. [[User:ChaoticVermillion|ChaoticVermillion]] hat [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages eine Seite erstellt, um die ersten 25 Artikel zu würdigen]. Besonders erfreulich ist, dass über 75 Freiwillige zum Wiki beigetragen haben und es bereits über 1000 Bearbeitungen gab. Uns ist bewusst, dass das Mitwirken an der Abstrakten Wikipedia derzeit nicht sehr benutzerfreundlich ist und viele Dinge nicht funktionieren. Wir haben bereits zahlreiche Fehler behoben (siehe den Abschnitt zu Letzten Änderungen an der Software weiter unten) und arbeiten an vielen weiteren.
<div lang="en" dir="ltr" class="mw-content-ltr">
Based on the initial reaction and your feedback, we are changing our plans for the upcoming quarters, to focus on bugfixes, features, and capabilities that you are raising. We are monitoring the Phabricator board, the Project chat, and the Telegram / IRC chat, and collecting your feedback and suggestions. This will be our priority in the coming months.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We are also excited to see that Wikifunctions is seeing a significant increase in the pace of new functions being created. This week we report 79 new functions! Some of them are in languages that had no functions before, and some of them are providing functionality that helps with writing Abstract Wikipedia articles.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
By the way, here’s one tip: currently, caching for Abstract Wikipedia happens on the level of the “fragment”. This means that by putting several sentences into a single paragraph, the paragraph as a whole is being run, may cause time-outs, and will be cached. Instead, if, for now, you put one sentence into each fragment, caching and evaluation can be more spread out and should allow for more content. Eventually we want to fix that, but it may take a moment, so you can try out more by following this tip for now. This can be changed later again and pulled together into paragraphs if so wished.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
As you might have noticed, there have been a few bugs that we've fixed and tweaks that we've made. We fixed a bug that meant that the code mis-configured some namespaces, so broke talk and User pages and published the very first articles in the wrong place ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). We switched the orchestrator's composition language temporarily back to v1 ([[:phab:T418887|T418887]]), then made some quick fixes ([[:phab:T419833|T419833]]) and then re-enabled it — see below. We switched up a hard-coded link for policies to the new initial policy list. We fixed a bug that meant the creation workflow looked in the wrong place to make sure you didn't over-write an existing page ([[:phab:T420725|T420725]]), and it worked if you browsed directly to Special:CreateAbstract/Q123456 ([[:phab:T420916|T420916]]). We adjusted the display of previews to correctly set the language's RTL status too ([[:phab:T420687|T420687]]) and we added Help links for the pages to view and create Abstract articles.We're working now on improving performance and caching, fixing the /view/ links to work, making sure Abstract Wikipedia pages show up on the Tools database views, adding to the site statistics process, and a dozen other little things. Thank you for bearing with us!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Keep giving us feedback! We really appreciate your willingness to try things out, and are very happy to see you accepting this early version of Abstract Wikipedia.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Status of Composition Language v2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Kanbarra]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is the description of the talk:
</div>
: <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Volunteer’s Corner upcoming on 13 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Fresh Functions weekly: 76 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
</div>
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
<div lang="en" dir="ltr" class="mw-content-ltr">
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
</div>
[[Category:Status updates{{#translation:}}|2026-03-26]]
a5cidy2d5pqwvqsmfkxuersngk59m3f
261189
261187
2026-03-27T12:05:15Z
Ameisenigel
44
Created page with "Aufgrund der ersten Reaktionen und eurer Rückmeldungen ändern wir unsere Pläne für die kommenden Quartale und konzentrieren uns künftig auf die von euch angesprochenen Fehlerbehebungen, Funktionen und Möglichkeiten. Wir beobachten das Phabricator-Board, die Projektdiskussion und den Telegram-/IRC-Chat und sammeln eure Rückmeldungen und Vorschläge. Dies wird in den nächsten Monaten unsere Priorität sein."
261189
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-03-19
| nextlabel = Nächstes Update
| next =
}}
<span id="First_few_days_of_Abstract_Wikipedia_Beta"></span>
=== Erste Tage der Abstrakten Wikipedia Beta ===
Letzte Woche starteten wir die Beta-Version der Abstrakten Wikipedia und viele von euch haben vorbeigeschaut, einige sind sogar Teil unserer neuen Community geworden. Wir freuen uns sehr über den bisherigen Verlauf!
Die Zahlen ändern sich ständig, aber bisher wurden bereits über 120 Artikel begonnen. [[User:ChaoticVermillion|ChaoticVermillion]] hat [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages eine Seite erstellt, um die ersten 25 Artikel zu würdigen]. Besonders erfreulich ist, dass über 75 Freiwillige zum Wiki beigetragen haben und es bereits über 1000 Bearbeitungen gab. Uns ist bewusst, dass das Mitwirken an der Abstrakten Wikipedia derzeit nicht sehr benutzerfreundlich ist und viele Dinge nicht funktionieren. Wir haben bereits zahlreiche Fehler behoben (siehe den Abschnitt zu Letzten Änderungen an der Software weiter unten) und arbeiten an vielen weiteren.
Aufgrund der ersten Reaktionen und eurer Rückmeldungen ändern wir unsere Pläne für die kommenden Quartale und konzentrieren uns künftig auf die von euch angesprochenen Fehlerbehebungen, Funktionen und Möglichkeiten. Wir beobachten das Phabricator-Board, die Projektdiskussion und den Telegram-/IRC-Chat und sammeln eure Rückmeldungen und Vorschläge. Dies wird in den nächsten Monaten unsere Priorität sein.
<div lang="en" dir="ltr" class="mw-content-ltr">
We are also excited to see that Wikifunctions is seeing a significant increase in the pace of new functions being created. This week we report 79 new functions! Some of them are in languages that had no functions before, and some of them are providing functionality that helps with writing Abstract Wikipedia articles.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
By the way, here’s one tip: currently, caching for Abstract Wikipedia happens on the level of the “fragment”. This means that by putting several sentences into a single paragraph, the paragraph as a whole is being run, may cause time-outs, and will be cached. Instead, if, for now, you put one sentence into each fragment, caching and evaluation can be more spread out and should allow for more content. Eventually we want to fix that, but it may take a moment, so you can try out more by following this tip for now. This can be changed later again and pulled together into paragraphs if so wished.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
As you might have noticed, there have been a few bugs that we've fixed and tweaks that we've made. We fixed a bug that meant that the code mis-configured some namespaces, so broke talk and User pages and published the very first articles in the wrong place ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). We switched the orchestrator's composition language temporarily back to v1 ([[:phab:T418887|T418887]]), then made some quick fixes ([[:phab:T419833|T419833]]) and then re-enabled it — see below. We switched up a hard-coded link for policies to the new initial policy list. We fixed a bug that meant the creation workflow looked in the wrong place to make sure you didn't over-write an existing page ([[:phab:T420725|T420725]]), and it worked if you browsed directly to Special:CreateAbstract/Q123456 ([[:phab:T420916|T420916]]). We adjusted the display of previews to correctly set the language's RTL status too ([[:phab:T420687|T420687]]) and we added Help links for the pages to view and create Abstract articles.We're working now on improving performance and caching, fixing the /view/ links to work, making sure Abstract Wikipedia pages show up on the Tools database views, adding to the site statistics process, and a dozen other little things. Thank you for bearing with us!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Keep giving us feedback! We really appreciate your willingness to try things out, and are very happy to see you accepting this early version of Abstract Wikipedia.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Status of Composition Language v2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Kanbarra]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is the description of the talk:
</div>
: <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Volunteer’s Corner upcoming on 13 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Fresh Functions weekly: 76 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
</div>
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
<div lang="en" dir="ltr" class="mw-content-ltr">
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
</div>
[[Category:Status updates{{#translation:}}|2026-03-26]]
qdekv8ulcdq6u1mbx7q4g47luzob3pa
261193
261189
2026-03-27T12:11:19Z
FuzzyBot
207
Updating to match new version of source page
261193
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-03-19
| nextlabel = Nächstes Update
| next =
}}
<span id="First_few_days_of_Abstract_Wikipedia_Beta"></span>
=== Erste Tage der Abstrakten Wikipedia Beta ===
Letzte Woche starteten wir die Beta-Version der Abstrakten Wikipedia und viele von euch haben vorbeigeschaut, einige sind sogar Teil unserer neuen Community geworden. Wir freuen uns sehr über den bisherigen Verlauf!
Die Zahlen ändern sich ständig, aber bisher wurden bereits über 120 Artikel begonnen. [[User:ChaoticVermillion|ChaoticVermillion]] hat [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages eine Seite erstellt, um die ersten 25 Artikel zu würdigen]. Besonders erfreulich ist, dass über 75 Freiwillige zum Wiki beigetragen haben und es bereits über 1000 Bearbeitungen gab. Uns ist bewusst, dass das Mitwirken an der Abstrakten Wikipedia derzeit nicht sehr benutzerfreundlich ist und viele Dinge nicht funktionieren. Wir haben bereits zahlreiche Fehler behoben (siehe den Abschnitt zu Letzten Änderungen an der Software weiter unten) und arbeiten an vielen weiteren.
Aufgrund der ersten Reaktionen und eurer Rückmeldungen ändern wir unsere Pläne für die kommenden Quartale und konzentrieren uns künftig auf die von euch angesprochenen Fehlerbehebungen, Funktionen und Möglichkeiten. Wir beobachten das Phabricator-Board, die Projektdiskussion und den Telegram-/IRC-Chat und sammeln eure Rückmeldungen und Vorschläge. Dies wird in den nächsten Monaten unsere Priorität sein.
<div lang="en" dir="ltr" class="mw-content-ltr">
We are also excited to see that Wikifunctions is seeing a significant increase in the pace of new functions being created. This week we report 79 new functions! Some of them are in languages that had no functions before, and some of them are providing functionality that helps with writing Abstract Wikipedia articles.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
By the way, here’s one tip: currently, caching for Abstract Wikipedia happens on the level of the “fragment”. This means that by putting several sentences into a single paragraph, the paragraph as a whole is being run, may cause time-outs, and will be cached. Instead, if, for now, you put one sentence into each fragment, caching and evaluation can be more spread out and should allow for more content. Eventually we want to fix that, but it may take a moment, so you can try out more by following this tip for now. This can be changed later again and pulled together into paragraphs if so wished.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
As you might have noticed, there have been a few bugs that we've fixed and tweaks that we've made. We fixed a bug that meant that the code mis-configured some namespaces, so broke talk and User pages and published the very first articles in the wrong place ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). We switched the orchestrator's composition language temporarily back to v1 ([[:phab:T418887|T418887]]), then made some quick fixes ([[:phab:T419833|T419833]]) and then re-enabled it — see below. We switched up a hard-coded link for policies to the new initial policy list. We fixed a bug that meant the creation workflow looked in the wrong place to make sure you didn't over-write an existing page ([[:phab:T420725|T420725]]), and it worked if you browsed directly to Special:CreateAbstract/Q123456 ([[:phab:T420916|T420916]]). We adjusted the display of previews to correctly set the language's RTL status too ([[:phab:T420687|T420687]]) and we added Help links for the pages to view and create Abstract articles.We're working now on improving performance and caching, fixing the /view/ links to work, making sure Abstract Wikipedia pages show up on the Tools database views, adding to the site statistics process, and a dozen other little things. Thank you for bearing with us!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Keep giving us feedback! We really appreciate your willingness to try things out, and are very happy to see you accepting this early version of Abstract Wikipedia.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Status of Composition Language v2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Canberra]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is the description of the talk:
</div>
: <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Volunteer’s Corner upcoming on 13 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Fresh Functions weekly: 76 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
</div>
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
<div lang="en" dir="ltr" class="mw-content-ltr">
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
</div>
[[Category:Status updates{{#translation:}}|2026-03-26]]
0g2jvdv2cfuoje9noqremaxcjcd44c9
261197
261193
2026-03-27T12:38:37Z
Ameisenigel
44
Created page with "Wir freuen uns sehr über die deutlich gestiegene Anzahl neuer Funktionen auf Wikifunctions. Diese Woche konnten wir 79 neue Funktionen vermelden! Einige davon sind für Sprachen gedacht, für die es bisher keine solchen Funktionen gab, und andere bieten Funktionen, die das Schreiben von Artikeln für die Abstrakte Wikipedia erleichtern."
261197
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-03-19
| nextlabel = Nächstes Update
| next =
}}
<span id="First_few_days_of_Abstract_Wikipedia_Beta"></span>
=== Erste Tage der Abstrakten Wikipedia Beta ===
Letzte Woche starteten wir die Beta-Version der Abstrakten Wikipedia und viele von euch haben vorbeigeschaut, einige sind sogar Teil unserer neuen Community geworden. Wir freuen uns sehr über den bisherigen Verlauf!
Die Zahlen ändern sich ständig, aber bisher wurden bereits über 120 Artikel begonnen. [[User:ChaoticVermillion|ChaoticVermillion]] hat [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages eine Seite erstellt, um die ersten 25 Artikel zu würdigen]. Besonders erfreulich ist, dass über 75 Freiwillige zum Wiki beigetragen haben und es bereits über 1000 Bearbeitungen gab. Uns ist bewusst, dass das Mitwirken an der Abstrakten Wikipedia derzeit nicht sehr benutzerfreundlich ist und viele Dinge nicht funktionieren. Wir haben bereits zahlreiche Fehler behoben (siehe den Abschnitt zu Letzten Änderungen an der Software weiter unten) und arbeiten an vielen weiteren.
Aufgrund der ersten Reaktionen und eurer Rückmeldungen ändern wir unsere Pläne für die kommenden Quartale und konzentrieren uns künftig auf die von euch angesprochenen Fehlerbehebungen, Funktionen und Möglichkeiten. Wir beobachten das Phabricator-Board, die Projektdiskussion und den Telegram-/IRC-Chat und sammeln eure Rückmeldungen und Vorschläge. Dies wird in den nächsten Monaten unsere Priorität sein.
Wir freuen uns sehr über die deutlich gestiegene Anzahl neuer Funktionen auf Wikifunctions. Diese Woche konnten wir 79 neue Funktionen vermelden! Einige davon sind für Sprachen gedacht, für die es bisher keine solchen Funktionen gab, und andere bieten Funktionen, die das Schreiben von Artikeln für die Abstrakte Wikipedia erleichtern.
<div lang="en" dir="ltr" class="mw-content-ltr">
By the way, here’s one tip: currently, caching for Abstract Wikipedia happens on the level of the “fragment”. This means that by putting several sentences into a single paragraph, the paragraph as a whole is being run, may cause time-outs, and will be cached. Instead, if, for now, you put one sentence into each fragment, caching and evaluation can be more spread out and should allow for more content. Eventually we want to fix that, but it may take a moment, so you can try out more by following this tip for now. This can be changed later again and pulled together into paragraphs if so wished.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
As you might have noticed, there have been a few bugs that we've fixed and tweaks that we've made. We fixed a bug that meant that the code mis-configured some namespaces, so broke talk and User pages and published the very first articles in the wrong place ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). We switched the orchestrator's composition language temporarily back to v1 ([[:phab:T418887|T418887]]), then made some quick fixes ([[:phab:T419833|T419833]]) and then re-enabled it — see below. We switched up a hard-coded link for policies to the new initial policy list. We fixed a bug that meant the creation workflow looked in the wrong place to make sure you didn't over-write an existing page ([[:phab:T420725|T420725]]), and it worked if you browsed directly to Special:CreateAbstract/Q123456 ([[:phab:T420916|T420916]]). We adjusted the display of previews to correctly set the language's RTL status too ([[:phab:T420687|T420687]]) and we added Help links for the pages to view and create Abstract articles.We're working now on improving performance and caching, fixing the /view/ links to work, making sure Abstract Wikipedia pages show up on the Tools database views, adding to the site statistics process, and a dozen other little things. Thank you for bearing with us!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Keep giving us feedback! We really appreciate your willingness to try things out, and are very happy to see you accepting this early version of Abstract Wikipedia.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Status of Composition Language v2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Canberra]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is the description of the talk:
</div>
: <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Volunteer’s Corner upcoming on 13 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Fresh Functions weekly: 76 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
</div>
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
<div lang="en" dir="ltr" class="mw-content-ltr">
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
</div>
[[Category:Status updates{{#translation:}}|2026-03-26]]
ls2e6psorht0vo8daz833wahf6pqbx3
261200
261197
2026-03-27T12:40:07Z
Ameisenigel
44
Created page with "Übrigens, hier ein Tipp: Aktuell erfolgt das Caching für die Abstrakte Wikipedia auf “Fragment“-Ebene. Das bedeutet: Wenn du mehrere Sätze in einen Absatz einfügst, wird der gesamte Absatz ausgeführt, was zu Zeitüberschreitungen führen kann und im Cache gespeichert wird. Wenn du stattdessen vorerst in jedes Fragment einen Satz einfügst, verteilen sich das Caching und die Auswertung gleichmäßiger, wodurch mehr Inhalte verarbeitet werden können. Wir planen,..."
261200
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-03-19
| nextlabel = Nächstes Update
| next =
}}
<span id="First_few_days_of_Abstract_Wikipedia_Beta"></span>
=== Erste Tage der Abstrakten Wikipedia Beta ===
Letzte Woche starteten wir die Beta-Version der Abstrakten Wikipedia und viele von euch haben vorbeigeschaut, einige sind sogar Teil unserer neuen Community geworden. Wir freuen uns sehr über den bisherigen Verlauf!
Die Zahlen ändern sich ständig, aber bisher wurden bereits über 120 Artikel begonnen. [[User:ChaoticVermillion|ChaoticVermillion]] hat [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages eine Seite erstellt, um die ersten 25 Artikel zu würdigen]. Besonders erfreulich ist, dass über 75 Freiwillige zum Wiki beigetragen haben und es bereits über 1000 Bearbeitungen gab. Uns ist bewusst, dass das Mitwirken an der Abstrakten Wikipedia derzeit nicht sehr benutzerfreundlich ist und viele Dinge nicht funktionieren. Wir haben bereits zahlreiche Fehler behoben (siehe den Abschnitt zu Letzten Änderungen an der Software weiter unten) und arbeiten an vielen weiteren.
Aufgrund der ersten Reaktionen und eurer Rückmeldungen ändern wir unsere Pläne für die kommenden Quartale und konzentrieren uns künftig auf die von euch angesprochenen Fehlerbehebungen, Funktionen und Möglichkeiten. Wir beobachten das Phabricator-Board, die Projektdiskussion und den Telegram-/IRC-Chat und sammeln eure Rückmeldungen und Vorschläge. Dies wird in den nächsten Monaten unsere Priorität sein.
Wir freuen uns sehr über die deutlich gestiegene Anzahl neuer Funktionen auf Wikifunctions. Diese Woche konnten wir 79 neue Funktionen vermelden! Einige davon sind für Sprachen gedacht, für die es bisher keine solchen Funktionen gab, und andere bieten Funktionen, die das Schreiben von Artikeln für die Abstrakte Wikipedia erleichtern.
Übrigens, hier ein Tipp: Aktuell erfolgt das Caching für die Abstrakte Wikipedia auf “Fragment“-Ebene. Das bedeutet: Wenn du mehrere Sätze in einen Absatz einfügst, wird der gesamte Absatz ausgeführt, was zu Zeitüberschreitungen führen kann und im Cache gespeichert wird. Wenn du stattdessen vorerst in jedes Fragment einen Satz einfügst, verteilen sich das Caching und die Auswertung gleichmäßiger, wodurch mehr Inhalte verarbeitet werden können. Wir planen, dies zukünftig zu beheben, aber es kann noch etwas dauern. Probiere daher vorerst diesen Tipp aus. Du kannst dies später jederzeit wieder ändern und die Sätze bei Bedarf zu Absätzen zusammenfassen.
<div lang="en" dir="ltr" class="mw-content-ltr">
As you might have noticed, there have been a few bugs that we've fixed and tweaks that we've made. We fixed a bug that meant that the code mis-configured some namespaces, so broke talk and User pages and published the very first articles in the wrong place ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). We switched the orchestrator's composition language temporarily back to v1 ([[:phab:T418887|T418887]]), then made some quick fixes ([[:phab:T419833|T419833]]) and then re-enabled it — see below. We switched up a hard-coded link for policies to the new initial policy list. We fixed a bug that meant the creation workflow looked in the wrong place to make sure you didn't over-write an existing page ([[:phab:T420725|T420725]]), and it worked if you browsed directly to Special:CreateAbstract/Q123456 ([[:phab:T420916|T420916]]). We adjusted the display of previews to correctly set the language's RTL status too ([[:phab:T420687|T420687]]) and we added Help links for the pages to view and create Abstract articles.We're working now on improving performance and caching, fixing the /view/ links to work, making sure Abstract Wikipedia pages show up on the Tools database views, adding to the site statistics process, and a dozen other little things. Thank you for bearing with us!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Keep giving us feedback! We really appreciate your willingness to try things out, and are very happy to see you accepting this early version of Abstract Wikipedia.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Status of Composition Language v2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Canberra]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is the description of the talk:
</div>
: <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Volunteer’s Corner upcoming on 13 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Fresh Functions weekly: 76 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
</div>
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
<div lang="en" dir="ltr" class="mw-content-ltr">
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
</div>
[[Category:Status updates{{#translation:}}|2026-03-26]]
rv96b43bj80ma8dj0b7hkqcnmeo2b7q
261202
261200
2026-03-27T12:44:07Z
Ameisenigel
44
Created page with "Wie du vielleicht bemerkt hast, haben wir einige Fehler behoben und Verbesserungen vorgenommen. Wir haben einen Fehler behoben, der zu einer fehlerhaften Konfiguration einiger Namensräume führte, wodurch die Diskussions- und Benutzerseiten nicht mehr funktionierten und die ersten Artikel am falschen Ort veröffentlicht wurden ($1, $2). Wir haben die Kompositionssprache des Orchestrierers vorübergehend auf v1 zurückgesetzt $3, anschließend einige schnelle Korrekturen..."
261202
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-03-19
| nextlabel = Nächstes Update
| next =
}}
<span id="First_few_days_of_Abstract_Wikipedia_Beta"></span>
=== Erste Tage der Abstrakten Wikipedia Beta ===
Letzte Woche starteten wir die Beta-Version der Abstrakten Wikipedia und viele von euch haben vorbeigeschaut, einige sind sogar Teil unserer neuen Community geworden. Wir freuen uns sehr über den bisherigen Verlauf!
Die Zahlen ändern sich ständig, aber bisher wurden bereits über 120 Artikel begonnen. [[User:ChaoticVermillion|ChaoticVermillion]] hat [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages eine Seite erstellt, um die ersten 25 Artikel zu würdigen]. Besonders erfreulich ist, dass über 75 Freiwillige zum Wiki beigetragen haben und es bereits über 1000 Bearbeitungen gab. Uns ist bewusst, dass das Mitwirken an der Abstrakten Wikipedia derzeit nicht sehr benutzerfreundlich ist und viele Dinge nicht funktionieren. Wir haben bereits zahlreiche Fehler behoben (siehe den Abschnitt zu Letzten Änderungen an der Software weiter unten) und arbeiten an vielen weiteren.
Aufgrund der ersten Reaktionen und eurer Rückmeldungen ändern wir unsere Pläne für die kommenden Quartale und konzentrieren uns künftig auf die von euch angesprochenen Fehlerbehebungen, Funktionen und Möglichkeiten. Wir beobachten das Phabricator-Board, die Projektdiskussion und den Telegram-/IRC-Chat und sammeln eure Rückmeldungen und Vorschläge. Dies wird in den nächsten Monaten unsere Priorität sein.
Wir freuen uns sehr über die deutlich gestiegene Anzahl neuer Funktionen auf Wikifunctions. Diese Woche konnten wir 79 neue Funktionen vermelden! Einige davon sind für Sprachen gedacht, für die es bisher keine solchen Funktionen gab, und andere bieten Funktionen, die das Schreiben von Artikeln für die Abstrakte Wikipedia erleichtern.
Übrigens, hier ein Tipp: Aktuell erfolgt das Caching für die Abstrakte Wikipedia auf “Fragment“-Ebene. Das bedeutet: Wenn du mehrere Sätze in einen Absatz einfügst, wird der gesamte Absatz ausgeführt, was zu Zeitüberschreitungen führen kann und im Cache gespeichert wird. Wenn du stattdessen vorerst in jedes Fragment einen Satz einfügst, verteilen sich das Caching und die Auswertung gleichmäßiger, wodurch mehr Inhalte verarbeitet werden können. Wir planen, dies zukünftig zu beheben, aber es kann noch etwas dauern. Probiere daher vorerst diesen Tipp aus. Du kannst dies später jederzeit wieder ändern und die Sätze bei Bedarf zu Absätzen zusammenfassen.
Wie du vielleicht bemerkt hast, haben wir einige Fehler behoben und Verbesserungen vorgenommen. Wir haben einen Fehler behoben, der zu einer fehlerhaften Konfiguration einiger Namensräume führte, wodurch die Diskussions- und Benutzerseiten nicht mehr funktionierten und die ersten Artikel am falschen Ort veröffentlicht wurden ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). Wir haben die Kompositionssprache des Orchestrierers vorübergehend auf v1 zurückgesetzt ([[:phab:T418887|T418887]]), anschließend einige schnelle Korrekturen vorgenommen ([[:phab:T419833|T419833]]) und sie dann wieder aktiviert — siehe unten. Wir haben einen fest codierten Link für Richtlinien auf die neue Liste der initialen Richtlinien geändert. Wir haben einen Fehler behoben, der dazu führte, dass der Arbeitsablauf zur Artikelerstellung an der falschen Stelle suchte, um sicherzustellen, dass du keine bestehende Seite überschreibst ([[:phab:T420725|T420725]]). Er funktionierte, wenn du direkt zu Special:CreateAbstract/Q123456 navigierst ([[:phab:T420916|T420916]]). Wir haben die Vorschauansicht angepasst, um den RTL-Status der Sprache korrekt anzuzeigen ([[:phab:T420687|T420687]]), und Hilfelinks für die Seiten zum Anzeigen und Erstellen von abstrakten Artikeln hinzugefügt. Aktuell arbeiten wir an der Verbesserung der Leistung und des Caching, der Behebung der Probleme mit den /view/-Links, der Anzeige von Seiten der Abstrakten Wikipedia in den Datenbankansichten der Tools, der Erweiterung der Website-Statistiken und einigen weiteren kleineren Optimierungen. Vielen Dank für eure Geduld!
<div lang="en" dir="ltr" class="mw-content-ltr">
Keep giving us feedback! We really appreciate your willingness to try things out, and are very happy to see you accepting this early version of Abstract Wikipedia.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Status of Composition Language v2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Canberra]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is the description of the talk:
</div>
: <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Volunteer’s Corner upcoming on 13 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Fresh Functions weekly: 76 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
</div>
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
<div lang="en" dir="ltr" class="mw-content-ltr">
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
</div>
[[Category:Status updates{{#translation:}}|2026-03-26]]
bfk1lc1jieeobh5fw2jv0hrvxinsf20
261271
261202
2026-03-27T17:49:10Z
Ameisenigel
44
Created page with "Gibt uns weiterhin Rückmeldung! Wir wissen eure Bereitschaft, Dinge auszuprobieren, sehr zu schätzen und freuen uns, dass ihr diese frühe Version der Abstrakten Wikipedia akzeptiert."
261271
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-03-19
| nextlabel = Nächstes Update
| next =
}}
<span id="First_few_days_of_Abstract_Wikipedia_Beta"></span>
=== Erste Tage der Abstrakten Wikipedia Beta ===
Letzte Woche starteten wir die Beta-Version der Abstrakten Wikipedia und viele von euch haben vorbeigeschaut, einige sind sogar Teil unserer neuen Community geworden. Wir freuen uns sehr über den bisherigen Verlauf!
Die Zahlen ändern sich ständig, aber bisher wurden bereits über 120 Artikel begonnen. [[User:ChaoticVermillion|ChaoticVermillion]] hat [https://abstract.wikipedia.org/wiki/User:ChaoticVermillion/First_Abstract_Wiki_pages eine Seite erstellt, um die ersten 25 Artikel zu würdigen]. Besonders erfreulich ist, dass über 75 Freiwillige zum Wiki beigetragen haben und es bereits über 1000 Bearbeitungen gab. Uns ist bewusst, dass das Mitwirken an der Abstrakten Wikipedia derzeit nicht sehr benutzerfreundlich ist und viele Dinge nicht funktionieren. Wir haben bereits zahlreiche Fehler behoben (siehe den Abschnitt zu Letzten Änderungen an der Software weiter unten) und arbeiten an vielen weiteren.
Aufgrund der ersten Reaktionen und eurer Rückmeldungen ändern wir unsere Pläne für die kommenden Quartale und konzentrieren uns künftig auf die von euch angesprochenen Fehlerbehebungen, Funktionen und Möglichkeiten. Wir beobachten das Phabricator-Board, die Projektdiskussion und den Telegram-/IRC-Chat und sammeln eure Rückmeldungen und Vorschläge. Dies wird in den nächsten Monaten unsere Priorität sein.
Wir freuen uns sehr über die deutlich gestiegene Anzahl neuer Funktionen auf Wikifunctions. Diese Woche konnten wir 79 neue Funktionen vermelden! Einige davon sind für Sprachen gedacht, für die es bisher keine solchen Funktionen gab, und andere bieten Funktionen, die das Schreiben von Artikeln für die Abstrakte Wikipedia erleichtern.
Übrigens, hier ein Tipp: Aktuell erfolgt das Caching für die Abstrakte Wikipedia auf “Fragment“-Ebene. Das bedeutet: Wenn du mehrere Sätze in einen Absatz einfügst, wird der gesamte Absatz ausgeführt, was zu Zeitüberschreitungen führen kann und im Cache gespeichert wird. Wenn du stattdessen vorerst in jedes Fragment einen Satz einfügst, verteilen sich das Caching und die Auswertung gleichmäßiger, wodurch mehr Inhalte verarbeitet werden können. Wir planen, dies zukünftig zu beheben, aber es kann noch etwas dauern. Probiere daher vorerst diesen Tipp aus. Du kannst dies später jederzeit wieder ändern und die Sätze bei Bedarf zu Absätzen zusammenfassen.
Wie du vielleicht bemerkt hast, haben wir einige Fehler behoben und Verbesserungen vorgenommen. Wir haben einen Fehler behoben, der zu einer fehlerhaften Konfiguration einiger Namensräume führte, wodurch die Diskussions- und Benutzerseiten nicht mehr funktionierten und die ersten Artikel am falschen Ort veröffentlicht wurden ([[:phab:T420617|T420617]], [[:phab:T420649|T420649]]). Wir haben die Kompositionssprache des Orchestrierers vorübergehend auf v1 zurückgesetzt ([[:phab:T418887|T418887]]), anschließend einige schnelle Korrekturen vorgenommen ([[:phab:T419833|T419833]]) und sie dann wieder aktiviert — siehe unten. Wir haben einen fest codierten Link für Richtlinien auf die neue Liste der initialen Richtlinien geändert. Wir haben einen Fehler behoben, der dazu führte, dass der Arbeitsablauf zur Artikelerstellung an der falschen Stelle suchte, um sicherzustellen, dass du keine bestehende Seite überschreibst ([[:phab:T420725|T420725]]). Er funktionierte, wenn du direkt zu Special:CreateAbstract/Q123456 navigierst ([[:phab:T420916|T420916]]). Wir haben die Vorschauansicht angepasst, um den RTL-Status der Sprache korrekt anzuzeigen ([[:phab:T420687|T420687]]), und Hilfelinks für die Seiten zum Anzeigen und Erstellen von abstrakten Artikeln hinzugefügt. Aktuell arbeiten wir an der Verbesserung der Leistung und des Caching, der Behebung der Probleme mit den /view/-Links, der Anzeige von Seiten der Abstrakten Wikipedia in den Datenbankansichten der Tools, der Erweiterung der Website-Statistiken und einigen weiteren kleineren Optimierungen. Vielen Dank für eure Geduld!
Gibt uns weiterhin Rückmeldung! Wir wissen eure Bereitschaft, Dinge auszuprobieren, sehr zu schätzen und freuen uns, dass ihr diese frühe Version der Abstrakten Wikipedia akzeptiert.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Status of Composition Language v2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
A couple of weeks ago, we enabled composition language v2 in production. There were some minor bugs that the team was able to triage, but there was also a set of function calls that became categorically impossible to specify. An example case is [[:phab:T419833|here]]. These function calls worked in v1 because of 1) an extremely lazy execution model and 2) lax error handling. In v2, execution order is much stricter (and more comprehensible!), and error handling has become predictable. As a result, when a [[Z7|Z7/Function call]] will cause an error, that error is immediately returned in v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have since added [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/606 a temporary layer of indirection] (hereinafter the "scope hack") to the v2 composition language. This will cause affected functions to work much in the way they did in v1. However, this is a temporary measure. It is bad for performance and it makes the Wikifunctions language semantics a bit strange.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In future, compositions that depend on error-handling functions (e.g. [[Z850|Z850/Try-catch]] and [[Z853|Z853/Get error]]) should wrap top-level [[Z7|Z7/Function calls]] in [[Z99|Z99/Quote]], then use [[Z899|Z899/Unquote]] inside of the composition. This technique is verified to work in all versions of the composition language, so it will be possible to migrate all existing functions.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Another unwanted side effect of v2 and its new strategy for error handling is that many of the failing function calls might return a different error type. While we will work to always return the most accurate and descriptive error type, it is possible that many calls that rely on [[Z850|Z850/Try-catch]] to catch a specific error type will now fail until the expected error type is corrected to the one thrown by v2.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We will document all the content issues that we come across and track their status here: [[Wikifunctions:Request for cleanup|Wikifunctions:Request for cleanup]]. Once these functions have been migrated, we will roll back the scope hack.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week on Wikifunctions, we made the following changes: When you're editing an article with the visual editor with a Wikifunctions call that creates a reference, we now show the style more clearly. We also now show the standard MediaWiki warning box when you're editing an old version of a Wikifunctions Object page ([[:phab:T364318|T364318]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Wikifunctions presentation at WikiCon Australia on 11 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[User:99of9|Toby Hudson]] will be presenting [[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]] at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026 at 12:00 local time at the [[:en:National Film and Sound Archive|National Film and Sound Archive of Australia]] in [[:en:Canberra|Canberra]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is the description of the talk:
</div>
: <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span>
: <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Thank you Toby for giving this presentation! And everyone have fun at WikiCon Australia!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Volunteer’s Corner upcoming on 13 April 2026 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1776101400 Monday, 13 April 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. We will celebrate the launch of Abstract Wikipedia Beta. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Fresh Functions weekly: 76 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 76 (!) new functions. That’s a lot more than usual, driven by the launch of Abstract Wikipedia Beta. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
</div>
* {{Z|Z32085}}
* {{Z|Z32097}}
* {{Z|Z32109}}
* {{Z|Z32123}}
* {{Z|Z32126}}
* {{Z|Z32145}}
* {{Z|Z32149}}
* {{Z|Z32152}}
* {{Z|Z32160}}
* {{Z|Z32163}}
* {{Z|Z32177}}
* {{Z|Z32179}}
* {{Z|Z32180}}
* {{Z|Z32185}}
* {{Z|Z32193}}
* {{Z|Z32199}}
* {{Z|Z32204}}
* {{Z|Z32208}}
* {{Z|Z32212}}
* {{Z|Z32215}}
* {{Z|Z32225}}
* {{Z|Z32229}}
* {{Z|Z32230}}
* {{Z|Z32234}}
* {{Z|Z32244}}
* {{Z|Z32249}}
* {{Z|Z32261}}
* {{Z|Z32290}}
* {{Z|Z32302}}
* {{Z|Z32308}}
* {{Z|Z32321}}
* {{Z|Z32326}}
* {{Z|Z32330}}
* {{Z|Z32340}}
* {{Z|Z32343}}
* {{Z|Z32347}}
* {{Z|Z32355}}
* {{Z|Z32371}}
* {{Z|Z32373}}
<div lang="en" dir="ltr" class="mw-content-ltr">
A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available.
</div>
[[Category:Status updates{{#translation:}}|2026-03-26]]
ttz6ojbhj27ckentchxsclhfdmyyw2a
Translations:Wikifunctions:Status updates/2026-03-26/1/de
1198
79212
261176
2026-03-27T11:59:35Z
Ameisenigel
44
Created page with "Vorheriges Update"
261176
wikitext
text/x-wiki
Vorheriges Update
gip3hi7u0wf8jv7dena73ndlrx52ohv
Translations:Wikifunctions:Status updates/2026-03-26/2/de
1198
79213
261178
2026-03-27T11:59:49Z
Ameisenigel
44
Created page with "Nächstes Update"
261178
wikitext
text/x-wiki
Nächstes Update
srj2pwwjkwr7a3zol9puxaaqvo0drwd
Translations:Wikifunctions:Status updates/2026-03-26/3/de
1198
79214
261180
2026-03-27T12:00:08Z
Ameisenigel
44
Created page with "=== Erste Tage der Abstrakten Wikipedia Beta ==="
261180
wikitext
text/x-wiki
=== Erste Tage der Abstrakten Wikipedia Beta ===
pvikf1l57vjd61prxkurbzyudiu3rzd
Translations:Wikifunctions:Status updates/2026-03-26/24/de
1198
79215
261182
2026-03-27T12:01:22Z
Ameisenigel
44
Created page with "Letzte Woche starteten wir die Beta-Version der Abstrakten Wikipedia und viele von euch haben vorbeigeschaut, einige sind sogar Teil unserer neuen Community geworden. Wir freuen uns sehr über den bisherigen Verlauf!"
261182
wikitext
text/x-wiki
Letzte Woche starteten wir die Beta-Version der Abstrakten Wikipedia und viele von euch haben vorbeigeschaut, einige sind sogar Teil unserer neuen Community geworden. Wir freuen uns sehr über den bisherigen Verlauf!
dfi2c2n7najlv2593usfmwj24k8h0zw
Translations:Wikifunctions:Status updates/2026-03-26/4/de
1198
79216
261186
2026-03-27T12:04:01Z
Ameisenigel
44
Created page with "Die Zahlen ändern sich ständig, aber bisher wurden bereits über 120 Artikel begonnen. [[$1|ChaoticVermillion]] hat [$2 eine Seite erstellt, um die ersten 25 Artikel zu würdigen]. Besonders erfreulich ist, dass über 75 Freiwillige zum Wiki beigetragen haben und es bereits über 1000 Bearbeitungen gab. Uns ist bewusst, dass das Mitwirken an der Abstrakten Wikipedia derzeit nicht sehr benutzerfreundlich ist und viele Dinge nicht funktionieren. Wir haben bereits zahlrei..."
261186
wikitext
text/x-wiki
Die Zahlen ändern sich ständig, aber bisher wurden bereits über 120 Artikel begonnen. [[$1|ChaoticVermillion]] hat [$2 eine Seite erstellt, um die ersten 25 Artikel zu würdigen]. Besonders erfreulich ist, dass über 75 Freiwillige zum Wiki beigetragen haben und es bereits über 1000 Bearbeitungen gab. Uns ist bewusst, dass das Mitwirken an der Abstrakten Wikipedia derzeit nicht sehr benutzerfreundlich ist und viele Dinge nicht funktionieren. Wir haben bereits zahlreiche Fehler behoben (siehe den Abschnitt zu Letzten Änderungen an der Software weiter unten) und arbeiten an vielen weiteren.
6zfvr9mgqp6jcq6le1ie4ktoxcp5gpg
Translations:Wikifunctions:Status updates/2026-03-26/5/de
1198
79217
261188
2026-03-27T12:05:14Z
Ameisenigel
44
Created page with "Aufgrund der ersten Reaktionen und eurer Rückmeldungen ändern wir unsere Pläne für die kommenden Quartale und konzentrieren uns künftig auf die von euch angesprochenen Fehlerbehebungen, Funktionen und Möglichkeiten. Wir beobachten das Phabricator-Board, die Projektdiskussion und den Telegram-/IRC-Chat und sammeln eure Rückmeldungen und Vorschläge. Dies wird in den nächsten Monaten unsere Priorität sein."
261188
wikitext
text/x-wiki
Aufgrund der ersten Reaktionen und eurer Rückmeldungen ändern wir unsere Pläne für die kommenden Quartale und konzentrieren uns künftig auf die von euch angesprochenen Fehlerbehebungen, Funktionen und Möglichkeiten. Wir beobachten das Phabricator-Board, die Projektdiskussion und den Telegram-/IRC-Chat und sammeln eure Rückmeldungen und Vorschläge. Dies wird in den nächsten Monaten unsere Priorität sein.
c19ro241vi449z064uecse1aq93gyu5
Translations:Wikifunctions:Status updates/2026-03-26/6/de
1198
79218
261196
2026-03-27T12:38:37Z
Ameisenigel
44
Created page with "Wir freuen uns sehr über die deutlich gestiegene Anzahl neuer Funktionen auf Wikifunctions. Diese Woche konnten wir 79 neue Funktionen vermelden! Einige davon sind für Sprachen gedacht, für die es bisher keine solchen Funktionen gab, und andere bieten Funktionen, die das Schreiben von Artikeln für die Abstrakte Wikipedia erleichtern."
261196
wikitext
text/x-wiki
Wir freuen uns sehr über die deutlich gestiegene Anzahl neuer Funktionen auf Wikifunctions. Diese Woche konnten wir 79 neue Funktionen vermelden! Einige davon sind für Sprachen gedacht, für die es bisher keine solchen Funktionen gab, und andere bieten Funktionen, die das Schreiben von Artikeln für die Abstrakte Wikipedia erleichtern.
o5fomsf030v79vaiq546bq009yik72w
Translations:Wikifunctions:Status updates/2026-03-26/7/de
1198
79219
261199
2026-03-27T12:40:06Z
Ameisenigel
44
Created page with "Übrigens, hier ein Tipp: Aktuell erfolgt das Caching für die Abstrakte Wikipedia auf “Fragment“-Ebene. Das bedeutet: Wenn du mehrere Sätze in einen Absatz einfügst, wird der gesamte Absatz ausgeführt, was zu Zeitüberschreitungen führen kann und im Cache gespeichert wird. Wenn du stattdessen vorerst in jedes Fragment einen Satz einfügst, verteilen sich das Caching und die Auswertung gleichmäßiger, wodurch mehr Inhalte verarbeitet werden können. Wir planen,..."
261199
wikitext
text/x-wiki
Übrigens, hier ein Tipp: Aktuell erfolgt das Caching für die Abstrakte Wikipedia auf “Fragment“-Ebene. Das bedeutet: Wenn du mehrere Sätze in einen Absatz einfügst, wird der gesamte Absatz ausgeführt, was zu Zeitüberschreitungen führen kann und im Cache gespeichert wird. Wenn du stattdessen vorerst in jedes Fragment einen Satz einfügst, verteilen sich das Caching und die Auswertung gleichmäßiger, wodurch mehr Inhalte verarbeitet werden können. Wir planen, dies zukünftig zu beheben, aber es kann noch etwas dauern. Probiere daher vorerst diesen Tipp aus. Du kannst dies später jederzeit wieder ändern und die Sätze bei Bedarf zu Absätzen zusammenfassen.
lbs3zxg6a8095dzx0tjw0uf9ae1kplt
Translations:Wikifunctions:Status updates/2026-03-26/8/de
1198
79220
261201
2026-03-27T12:44:06Z
Ameisenigel
44
Created page with "Wie du vielleicht bemerkt hast, haben wir einige Fehler behoben und Verbesserungen vorgenommen. Wir haben einen Fehler behoben, der zu einer fehlerhaften Konfiguration einiger Namensräume führte, wodurch die Diskussions- und Benutzerseiten nicht mehr funktionierten und die ersten Artikel am falschen Ort veröffentlicht wurden ($1, $2). Wir haben die Kompositionssprache des Orchestrierers vorübergehend auf v1 zurückgesetzt $3, anschließend einige schnelle Korrekturen..."
261201
wikitext
text/x-wiki
Wie du vielleicht bemerkt hast, haben wir einige Fehler behoben und Verbesserungen vorgenommen. Wir haben einen Fehler behoben, der zu einer fehlerhaften Konfiguration einiger Namensräume führte, wodurch die Diskussions- und Benutzerseiten nicht mehr funktionierten und die ersten Artikel am falschen Ort veröffentlicht wurden ($1, $2). Wir haben die Kompositionssprache des Orchestrierers vorübergehend auf v1 zurückgesetzt $3, anschließend einige schnelle Korrekturen vorgenommen ($4) und sie dann wieder aktiviert — siehe unten. Wir haben einen fest codierten Link für Richtlinien auf die neue Liste der initialen Richtlinien geändert. Wir haben einen Fehler behoben, der dazu führte, dass der Arbeitsablauf zur Artikelerstellung an der falschen Stelle suchte, um sicherzustellen, dass du keine bestehende Seite überschreibst ($5). Er funktionierte, wenn du direkt zu Special:CreateAbstract/Q123456 navigierst ($6). Wir haben die Vorschauansicht angepasst, um den RTL-Status der Sprache korrekt anzuzeigen ($7), und Hilfelinks für die Seiten zum Anzeigen und Erstellen von abstrakten Artikeln hinzugefügt. Aktuell arbeiten wir an der Verbesserung der Leistung und des Caching, der Behebung der Probleme mit den /view/-Links, der Anzeige von Seiten der Abstrakten Wikipedia in den Datenbankansichten der Tools, der Erweiterung der Website-Statistiken und einigen weiteren kleineren Optimierungen. Vielen Dank für eure Geduld!
hd4us1gtit1x2clccitgile5wmlhe6o
Z32793
0
79221
261203
2026-03-27T13:40:51Z
YoshiRulz
10156
Create function
261203
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32793"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z32793K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "text (kana only)"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32793"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "IPA transcription from Japanese kana text"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
9x1m07s9byw956ofv9nne7btx1s5ft8
261212
261203
2026-03-27T13:51:04Z
YoshiRulz
10156
Added Z32795, Z32796, Z32797, Z32798, Z32799, Z32800 and Z32801 to the approved list of test cases
261212
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32793"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z32793K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "text (kana only)"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z32795",
"Z32796",
"Z32797",
"Z32798",
"Z32799",
"Z32800",
"Z32801"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32793"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "IPA transcription from Japanese kana text"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qbjdm0zbr2aluyxdzrh1csbagkw96xb
261215
261212
2026-03-27T13:57:17Z
YoshiRulz
10156
Added Z32794 to the approved list of implementations
261215
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32793"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z32793K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "text (kana only)"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z32795",
"Z32796",
"Z32797",
"Z32798",
"Z32799",
"Z32800",
"Z32801"
],
"Z8K4": [
"Z14",
"Z32794"
],
"Z8K5": "Z32793"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "IPA transcription from Japanese kana text"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0hd4lo4ytlra6gdmhg42qfjxtmycqz8
Z32794
0
79222
261204
2026-03-27T13:44:28Z
YoshiRulz
10156
Create implementation
261204
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32794"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32793",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "// https://github.com/amanoese/kana2ipa/tree/263a862500794c21a8146365b0aa7f148146dd15\n/* Copyright 2019 Seito Taka\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nlet ipa = {\n \"ア\" :\"a\",\n \"イ\" :\"i\",\n \"ウ\" :\"ɯ\",\n \"エ\" :\"e\",\n \"オ\" :\"o\",\n \"ャ\" :\"ja\",\n \"ュ\" :\"jɯ\",\n \"ョ\" :\"jo\",\n \"カ\" :\"ka\",\n \"キ\" :\"kʲi\",\n \"ク\" :\"kɯ\",\n \"ケ\" :\"ke\",\n \"コ\" :\"ko\",\n \"サ\" :\"sa\",\n \"シ\" :\"ɕi\",\n \"ス\" :\"sɯ\",\n \"セ\" :\"se\",\n \"ソ\" :\"so\",\n \"タ\" :\"ta\",\n \"チ\" :\"t͡ɕi\",\n \"ツ\" :\"tsɯ\",\n \"テ\" :\"te\",\n \"ト\" :\"to\",\n \"ナ\" :\"na\",\n \"ニ\" :\"ɲi\",\n \"ヌ\" :\"nɯ\",\n \"ネ\" :\"ne\",\n \"ノ\" :\"no\",\n \"ハ\" :\"ha\",\n \"ヒ\" :\"çʲi\",\n \"フ\" :\"ɸɯ\",\n \"ヘ\" :\"he\",\n \"ホ\" :\"ho\",\n \"マ\" :\"ma\",\n \"ミ\" :\"mʲi\",\n \"ム\" :\"mɯ\",\n \"メ\" :\"me\",\n \"モ\" :\"mo\",\n \"ヤ\" :\"ja\",\n \"ユ\" :\"jɯ\",\n \"ヨ\" :\"jo\",\n \"ラ\" :\"ɾa\",\n \"リ\" :\"ɾʲi\",\n \"ル\" :\"ɾɯ\",\n \"レ\" :\"ɾe\",\n \"ロ\" :\"ɾo\",\n \"ワ\" :\"ɰa\",\n \"ヰ\" :\"i\",\n \"ヱ\" :\"e\",\n \"ヲ\" :\"o\",\n \"ン\" :\"N\",\n \"ガ\" :\"ɡa\",\n \"ギ\" :\"ɡʲi\",\n \"グ\" :\"ɡɯ\",\n \"ゲ\" :\"ɡe\",\n \"ゴ\" :\"ɡo\",\n \"ザ\" :\"dza\",\n \"ジ\" :\"ʤi\",\n \"ズ\" :\"dzɯ\",\n \"ゼ\" :\"dze\",\n \"ゾ\" :\"dzo\",\n \"ダ\" :\"da\",\n \"ヂ\" :\"ʤi\",\n \"ヅ\" :\"dzɯ\",\n \"デ\" :\"de\",\n \"ド\" :\"do\",\n \"バ\" :\"ba\",\n \"ビ\" :\"bʲi\",\n \"ブ\" :\"bɯ\",\n \"ベ\" :\"be\",\n \"ボ\" :\"bo\",\n \"パ\" :\"pa\",\n \"ピ\" :\"pʲi\",\n \"プ\" :\"pɯ\",\n \"ペ\" :\"pe\",\n \"ポ\" :\"po\"\n}\nlet ipa_small = {\n \"キャ\" :\"kʲa\",\n \"キュ\" :\"kʲɯ\",\n \"キョ\" :\"kʲo\",\n \"シャ\" :\"ʃa\",\n \"シュ\" :\"ʃɯ\",\n \"ショ\" :\"ʃo\",\n \"チャ\" :\"t͡ɕa\",\n \"チュ\" :\"t͡ɕɯ\",\n \"チョ\" :\"t͡ɕo\",\n \"ニャ\" :\"ɲa\",\n \"ニュ\" :\"ɲɯ\",\n \"ニョ\" :\"ɲo\",\n \"ヒャ\" :\"ça\",\n \"ヒュ\" :\"çɯ\",\n \"ヒョ\" :\"ço\",\n \"ミャ\" :\"mʲa\",\n \"ミュ\" :\"mʲɯ\",\n \"ミョ\" :\"mʲo\",\n \"リャ\" :\"ɾʲa\",\n \"リュ\" :\"ɾʲɯ\",\n \"リョ\" :\"ɾʲo\",\n \"ギャ\" :\"ɡʲa\",\n \"ギュ\" :\"ɡʲɯ\",\n \"ギョ\" :\"ɡʲo\",\n \"ジャ\" :\"ʤa\",\n \"ジュ\" :\"ʤɯ\",\n \"ジョ\" :\"ʤo\",\n \"ヂャ\" :\"ʤa\",\n \"ヂュ\" :\"ʤɯ\",\n \"ヂョ\" :\"ʤo\",\n \"ビャ\" :\"bʲa\",\n \"ビュ\" :\"bʲɯ\",\n \"ビョ\" :\"bʲo\",\n \"ピャ\" :\"pʲa\",\n \"ピュ\" :\"pʲɯ\",\n \"ピョ\" :\"pʲo\",\n \"ファ\" :\"ɸa\",\n \"フィ\" :\"ɸi\",\n \"フゥ\" :\"ɸɯ\",\n \"フェ\" :\"ɸe\",\n \"フォ\" :\"ɸo\",\n \"チェ\" :\"t͡ɕe\"\n}\n\nfunction hiragana2katakana(text) {\n const _regexp = /\\p{Hiragana}/gu\n return text.replace(_regexp,v=\u003E String.fromCharCode(+v.charCodeAt(0) + 0x60))\n}\nfunction kana2ipa(inText) {\n if (inText.length \u003C= 0) {\n return inText\n }\n let ipa_small_match = Object.keys(ipa_small).join('|').replace(/.*/,'($\u0026)')\n\n let katakanaText = this.hiragana2katakana(inText)\n // replace Basic Word\n let bIpaString = katakanaText\n .normalize('NFKC') // harf size to wide size\n .replace(new RegExp(ipa_small_match,'g'),v=\u003E(ipa_small[v]||v))\n .match(/./ug)\n .map(v=\u003Eipa[v]||v)\n .join('')\n\n //important ん is Specialy word\n let nIpaString = bIpaString\n .replace(/N(p|b|m)/g,'m$1')\n .replace(/N(t|d|t͡s|n)/gu,'n$1')\n .replace(/N(k|ɡ)/g,'ŋ$1')\n .replace(/N(ɽ)/g,'ṉ$1')\n .replace(/(.)N(a|i|ɯ|e|o|s|h|j|w)/ug,'$1$1\\u0303$2')\n .replace(/N/ug,'ɴ')\n .normalize('NFC')\n\n //convert Specialy word\n let mIpaString = nIpaString\n .replace(/ッ(.)/ug,'$1$1')\n .replace(/mm/ug,'mː') // んの後にpの発音が来たとき用?\n .replace(/nn/ug,'nː') // これはよくわかんない\n .replace(/oɯ/ug,'oː') // おう の発音はオーになる?\n .replace(/(.)ー/ug,'$1ː')\n .normalize('NFC')\n\n return mIpaString\n}\n\nfunction Z32793( Z32793K1 ) {\n\treturn kana2ipa(Z32793K1)\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "IPA transcription from Japanese kana text, JS"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
q7azx4l8ku55bop62u04i0mxscesjy3
261213
261204
2026-03-27T13:55:48Z
YoshiRulz
10156
Hardcode code points in RegEx in lieu of script support
261213
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32794"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32793",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "// https://github.com/amanoese/kana2ipa/tree/263a862500794c21a8146365b0aa7f148146dd15\n/* Copyright 2019 Seito Taka\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nlet ipa = {\n \"ア\" :\"a\",\n \"イ\" :\"i\",\n \"ウ\" :\"ɯ\",\n \"エ\" :\"e\",\n \"オ\" :\"o\",\n \"ャ\" :\"ja\",\n \"ュ\" :\"jɯ\",\n \"ョ\" :\"jo\",\n \"カ\" :\"ka\",\n \"キ\" :\"kʲi\",\n \"ク\" :\"kɯ\",\n \"ケ\" :\"ke\",\n \"コ\" :\"ko\",\n \"サ\" :\"sa\",\n \"シ\" :\"ɕi\",\n \"ス\" :\"sɯ\",\n \"セ\" :\"se\",\n \"ソ\" :\"so\",\n \"タ\" :\"ta\",\n \"チ\" :\"t͡ɕi\",\n \"ツ\" :\"tsɯ\",\n \"テ\" :\"te\",\n \"ト\" :\"to\",\n \"ナ\" :\"na\",\n \"ニ\" :\"ɲi\",\n \"ヌ\" :\"nɯ\",\n \"ネ\" :\"ne\",\n \"ノ\" :\"no\",\n \"ハ\" :\"ha\",\n \"ヒ\" :\"çʲi\",\n \"フ\" :\"ɸɯ\",\n \"ヘ\" :\"he\",\n \"ホ\" :\"ho\",\n \"マ\" :\"ma\",\n \"ミ\" :\"mʲi\",\n \"ム\" :\"mɯ\",\n \"メ\" :\"me\",\n \"モ\" :\"mo\",\n \"ヤ\" :\"ja\",\n \"ユ\" :\"jɯ\",\n \"ヨ\" :\"jo\",\n \"ラ\" :\"ɾa\",\n \"リ\" :\"ɾʲi\",\n \"ル\" :\"ɾɯ\",\n \"レ\" :\"ɾe\",\n \"ロ\" :\"ɾo\",\n \"ワ\" :\"ɰa\",\n \"ヰ\" :\"i\",\n \"ヱ\" :\"e\",\n \"ヲ\" :\"o\",\n \"ン\" :\"N\",\n \"ガ\" :\"ɡa\",\n \"ギ\" :\"ɡʲi\",\n \"グ\" :\"ɡɯ\",\n \"ゲ\" :\"ɡe\",\n \"ゴ\" :\"ɡo\",\n \"ザ\" :\"dza\",\n \"ジ\" :\"ʤi\",\n \"ズ\" :\"dzɯ\",\n \"ゼ\" :\"dze\",\n \"ゾ\" :\"dzo\",\n \"ダ\" :\"da\",\n \"ヂ\" :\"ʤi\",\n \"ヅ\" :\"dzɯ\",\n \"デ\" :\"de\",\n \"ド\" :\"do\",\n \"バ\" :\"ba\",\n \"ビ\" :\"bʲi\",\n \"ブ\" :\"bɯ\",\n \"ベ\" :\"be\",\n \"ボ\" :\"bo\",\n \"パ\" :\"pa\",\n \"ピ\" :\"pʲi\",\n \"プ\" :\"pɯ\",\n \"ペ\" :\"pe\",\n \"ポ\" :\"po\"\n}\nlet ipa_small = {\n \"キャ\" :\"kʲa\",\n \"キュ\" :\"kʲɯ\",\n \"キョ\" :\"kʲo\",\n \"シャ\" :\"ʃa\",\n \"シュ\" :\"ʃɯ\",\n \"ショ\" :\"ʃo\",\n \"チャ\" :\"t͡ɕa\",\n \"チュ\" :\"t͡ɕɯ\",\n \"チョ\" :\"t͡ɕo\",\n \"ニャ\" :\"ɲa\",\n \"ニュ\" :\"ɲɯ\",\n \"ニョ\" :\"ɲo\",\n \"ヒャ\" :\"ça\",\n \"ヒュ\" :\"çɯ\",\n \"ヒョ\" :\"ço\",\n \"ミャ\" :\"mʲa\",\n \"ミュ\" :\"mʲɯ\",\n \"ミョ\" :\"mʲo\",\n \"リャ\" :\"ɾʲa\",\n \"リュ\" :\"ɾʲɯ\",\n \"リョ\" :\"ɾʲo\",\n \"ギャ\" :\"ɡʲa\",\n \"ギュ\" :\"ɡʲɯ\",\n \"ギョ\" :\"ɡʲo\",\n \"ジャ\" :\"ʤa\",\n \"ジュ\" :\"ʤɯ\",\n \"ジョ\" :\"ʤo\",\n \"ヂャ\" :\"ʤa\",\n \"ヂュ\" :\"ʤɯ\",\n \"ヂョ\" :\"ʤo\",\n \"ビャ\" :\"bʲa\",\n \"ビュ\" :\"bʲɯ\",\n \"ビョ\" :\"bʲo\",\n \"ピャ\" :\"pʲa\",\n \"ピュ\" :\"pʲɯ\",\n \"ピョ\" :\"pʲo\",\n \"ファ\" :\"ɸa\",\n \"フィ\" :\"ɸi\",\n \"フゥ\" :\"ɸɯ\",\n \"フェ\" :\"ɸe\",\n \"フォ\" :\"ɸo\",\n \"チェ\" :\"t͡ɕe\"\n}\n\nfunction hiragana2katakana(text) {\n//const _regexp = /\\p{Hiragana}/gu\n /*\n3041..3096 ; Hiragana # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE\n309D..309E ; Hiragana # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK\n309F ; Hiragana # Lo HIRAGANA DIGRAPH YORI\n1B001..1B11F ; Hiragana # Lo [287] HIRAGANA LETTER ARCHAIC YE..HIRAGANA LETTER ARCHAIC WU\n1B132 ; Hiragana # Lo HIRAGANA LETTER SMALL KO\n1B150..1B152 ; Hiragana # Lo [3] HIRAGANA LETTER SMALL WI..HIRAGANA LETTER SMALL WO\n1F200 ; Hiragana # So SQUARE HIRAGANA HOKA\n */\n const _regexp = /[\\u3041-\\u3096\\u309D-\\u309E\\u309F\\u{1B001}-\\u{1B11F}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1F200}]/gu\n return text.replace(_regexp,v=\u003E String.fromCharCode(+v.charCodeAt(0) + 0x60))\n}\nfunction kana2ipa(inText) {\n if (inText.length \u003C= 0) {\n return inText\n }\n let ipa_small_match = Object.keys(ipa_small).join('|').replace(/.*/,'($\u0026)')\n\n let katakanaText = this.hiragana2katakana(inText)\n // replace Basic Word\n let bIpaString = katakanaText\n .normalize('NFKC') // harf size to wide size\n .replace(new RegExp(ipa_small_match,'g'),v=\u003E(ipa_small[v]||v))\n .match(/./ug)\n .map(v=\u003Eipa[v]||v)\n .join('')\n\n //important ん is Specialy word\n let nIpaString = bIpaString\n .replace(/N(p|b|m)/g,'m$1')\n .replace(/N(t|d|t͡s|n)/gu,'n$1')\n .replace(/N(k|ɡ)/g,'ŋ$1')\n .replace(/N(ɽ)/g,'ṉ$1')\n .replace(/(.)N(a|i|ɯ|e|o|s|h|j|w)/ug,'$1$1\\u0303$2')\n .replace(/N/ug,'ɴ')\n .normalize('NFC')\n\n //convert Specialy word\n let mIpaString = nIpaString\n .replace(/ッ(.)/ug,'$1$1')\n .replace(/mm/ug,'mː') // んの後にpの発音が来たとき用?\n .replace(/nn/ug,'nː') // これはよくわかんない\n .replace(/oɯ/ug,'oː') // おう の発音はオーになる?\n .replace(/(.)ー/ug,'$1ː')\n .normalize('NFC')\n\n return mIpaString\n}\n\nfunction Z32793( Z32793K1 ) {\n\treturn kana2ipa(Z32793K1)\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "IPA transcription from Japanese kana text, JS"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
2dbz6bd9h9kmd76mcn3ohdl5u1y5592
261214
261213
2026-03-27T13:57:03Z
YoshiRulz
10156
Fix typo from de-OOP conversion
261214
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32794"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32793",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "// https://github.com/amanoese/kana2ipa/tree/263a862500794c21a8146365b0aa7f148146dd15\n/* Copyright 2019 Seito Taka\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nlet ipa = {\n \"ア\" :\"a\",\n \"イ\" :\"i\",\n \"ウ\" :\"ɯ\",\n \"エ\" :\"e\",\n \"オ\" :\"o\",\n \"ャ\" :\"ja\",\n \"ュ\" :\"jɯ\",\n \"ョ\" :\"jo\",\n \"カ\" :\"ka\",\n \"キ\" :\"kʲi\",\n \"ク\" :\"kɯ\",\n \"ケ\" :\"ke\",\n \"コ\" :\"ko\",\n \"サ\" :\"sa\",\n \"シ\" :\"ɕi\",\n \"ス\" :\"sɯ\",\n \"セ\" :\"se\",\n \"ソ\" :\"so\",\n \"タ\" :\"ta\",\n \"チ\" :\"t͡ɕi\",\n \"ツ\" :\"tsɯ\",\n \"テ\" :\"te\",\n \"ト\" :\"to\",\n \"ナ\" :\"na\",\n \"ニ\" :\"ɲi\",\n \"ヌ\" :\"nɯ\",\n \"ネ\" :\"ne\",\n \"ノ\" :\"no\",\n \"ハ\" :\"ha\",\n \"ヒ\" :\"çʲi\",\n \"フ\" :\"ɸɯ\",\n \"ヘ\" :\"he\",\n \"ホ\" :\"ho\",\n \"マ\" :\"ma\",\n \"ミ\" :\"mʲi\",\n \"ム\" :\"mɯ\",\n \"メ\" :\"me\",\n \"モ\" :\"mo\",\n \"ヤ\" :\"ja\",\n \"ユ\" :\"jɯ\",\n \"ヨ\" :\"jo\",\n \"ラ\" :\"ɾa\",\n \"リ\" :\"ɾʲi\",\n \"ル\" :\"ɾɯ\",\n \"レ\" :\"ɾe\",\n \"ロ\" :\"ɾo\",\n \"ワ\" :\"ɰa\",\n \"ヰ\" :\"i\",\n \"ヱ\" :\"e\",\n \"ヲ\" :\"o\",\n \"ン\" :\"N\",\n \"ガ\" :\"ɡa\",\n \"ギ\" :\"ɡʲi\",\n \"グ\" :\"ɡɯ\",\n \"ゲ\" :\"ɡe\",\n \"ゴ\" :\"ɡo\",\n \"ザ\" :\"dza\",\n \"ジ\" :\"ʤi\",\n \"ズ\" :\"dzɯ\",\n \"ゼ\" :\"dze\",\n \"ゾ\" :\"dzo\",\n \"ダ\" :\"da\",\n \"ヂ\" :\"ʤi\",\n \"ヅ\" :\"dzɯ\",\n \"デ\" :\"de\",\n \"ド\" :\"do\",\n \"バ\" :\"ba\",\n \"ビ\" :\"bʲi\",\n \"ブ\" :\"bɯ\",\n \"ベ\" :\"be\",\n \"ボ\" :\"bo\",\n \"パ\" :\"pa\",\n \"ピ\" :\"pʲi\",\n \"プ\" :\"pɯ\",\n \"ペ\" :\"pe\",\n \"ポ\" :\"po\"\n}\nlet ipa_small = {\n \"キャ\" :\"kʲa\",\n \"キュ\" :\"kʲɯ\",\n \"キョ\" :\"kʲo\",\n \"シャ\" :\"ʃa\",\n \"シュ\" :\"ʃɯ\",\n \"ショ\" :\"ʃo\",\n \"チャ\" :\"t͡ɕa\",\n \"チュ\" :\"t͡ɕɯ\",\n \"チョ\" :\"t͡ɕo\",\n \"ニャ\" :\"ɲa\",\n \"ニュ\" :\"ɲɯ\",\n \"ニョ\" :\"ɲo\",\n \"ヒャ\" :\"ça\",\n \"ヒュ\" :\"çɯ\",\n \"ヒョ\" :\"ço\",\n \"ミャ\" :\"mʲa\",\n \"ミュ\" :\"mʲɯ\",\n \"ミョ\" :\"mʲo\",\n \"リャ\" :\"ɾʲa\",\n \"リュ\" :\"ɾʲɯ\",\n \"リョ\" :\"ɾʲo\",\n \"ギャ\" :\"ɡʲa\",\n \"ギュ\" :\"ɡʲɯ\",\n \"ギョ\" :\"ɡʲo\",\n \"ジャ\" :\"ʤa\",\n \"ジュ\" :\"ʤɯ\",\n \"ジョ\" :\"ʤo\",\n \"ヂャ\" :\"ʤa\",\n \"ヂュ\" :\"ʤɯ\",\n \"ヂョ\" :\"ʤo\",\n \"ビャ\" :\"bʲa\",\n \"ビュ\" :\"bʲɯ\",\n \"ビョ\" :\"bʲo\",\n \"ピャ\" :\"pʲa\",\n \"ピュ\" :\"pʲɯ\",\n \"ピョ\" :\"pʲo\",\n \"ファ\" :\"ɸa\",\n \"フィ\" :\"ɸi\",\n \"フゥ\" :\"ɸɯ\",\n \"フェ\" :\"ɸe\",\n \"フォ\" :\"ɸo\",\n \"チェ\" :\"t͡ɕe\"\n}\n\nfunction hiragana2katakana(text) {\n//const _regexp = /\\p{Hiragana}/gu\n /*\n3041..3096 ; Hiragana # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE\n309D..309E ; Hiragana # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK\n309F ; Hiragana # Lo HIRAGANA DIGRAPH YORI\n1B001..1B11F ; Hiragana # Lo [287] HIRAGANA LETTER ARCHAIC YE..HIRAGANA LETTER ARCHAIC WU\n1B132 ; Hiragana # Lo HIRAGANA LETTER SMALL KO\n1B150..1B152 ; Hiragana # Lo [3] HIRAGANA LETTER SMALL WI..HIRAGANA LETTER SMALL WO\n1F200 ; Hiragana # So SQUARE HIRAGANA HOKA\n */\n const _regexp = /[\\u3041-\\u3096\\u309D-\\u309E\\u309F\\u{1B001}-\\u{1B11F}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1F200}]/gu\n return text.replace(_regexp,v=\u003E String.fromCharCode(+v.charCodeAt(0) + 0x60))\n}\nfunction kana2ipa(inText) {\n if (inText.length \u003C= 0) {\n return inText\n }\n let ipa_small_match = Object.keys(ipa_small).join('|').replace(/.*/,'($\u0026)')\n\n let katakanaText = hiragana2katakana(inText)\n // replace Basic Word\n let bIpaString = katakanaText\n .normalize('NFKC') // harf size to wide size\n .replace(new RegExp(ipa_small_match,'g'),v=\u003E(ipa_small[v]||v))\n .match(/./ug)\n .map(v=\u003Eipa[v]||v)\n .join('')\n\n //important ん is Specialy word\n let nIpaString = bIpaString\n .replace(/N(p|b|m)/g,'m$1')\n .replace(/N(t|d|t͡s|n)/gu,'n$1')\n .replace(/N(k|ɡ)/g,'ŋ$1')\n .replace(/N(ɽ)/g,'ṉ$1')\n .replace(/(.)N(a|i|ɯ|e|o|s|h|j|w)/ug,'$1$1\\u0303$2')\n .replace(/N/ug,'ɴ')\n .normalize('NFC')\n\n //convert Specialy word\n let mIpaString = nIpaString\n .replace(/ッ(.)/ug,'$1$1')\n .replace(/mm/ug,'mː') // んの後にpの発音が来たとき用?\n .replace(/nn/ug,'nː') // これはよくわかんない\n .replace(/oɯ/ug,'oː') // おう の発音はオーになる?\n .replace(/(.)ー/ug,'$1ː')\n .normalize('NFC')\n\n return mIpaString\n}\n\nfunction Z32793( Z32793K1 ) {\n\treturn kana2ipa(Z32793K1)\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "IPA transcription from Japanese kana text, JS"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
9w5ut6rh9tczfhrb8aqmmcjc3i9efh4
Z32795
0
79223
261205
2026-03-27T13:48:44Z
YoshiRulz
10156
Create test
261205
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32795"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32793",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32793",
"Z32793K1": "カンパン"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "kampaɴ"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"カンパン\" =\u003E /kampaɴ/"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
heb5h1rbtg9rhfaxmgu1oboxcfmjc3g
Z32796
0
79224
261206
2026-03-27T13:48:59Z
YoshiRulz
10156
Create test
261206
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32796"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32793",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32793",
"Z32793K1": "テンマド"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "temːado"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"テンマド\" =\u003E /temːado/"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
d74mahujbvoxfmvblwo61i4l1v504pk
Z32797
0
79225
261207
2026-03-27T13:49:16Z
YoshiRulz
10156
Create test
261207
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32797"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32793",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32793",
"Z32793K1": "ボンタン"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "bontaɴ"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"ボンタン\" =\u003E /bontaɴ/"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
56zzaxya1efjiz1e65a0bipzihad8qj
Z32798
0
79226
261208
2026-03-27T13:49:34Z
YoshiRulz
10156
Create test
261208
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32798"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32793",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32793",
"Z32793K1": "ハンノウ"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "hanːoː"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"ハンノウ\" =\u003E /hanːoː/"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ti78qzpzxqaitkpvuqdwb81hacq0fmc
Z32799
0
79227
261209
2026-03-27T13:49:57Z
YoshiRulz
10156
Create test
261209
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32799"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32793",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32793",
"Z32793K1": "ビンカン"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "bʲiŋkaɴ"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"ビンカン\" =\u003E /bʲiŋkaɴ/"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
tdqc59sp37ayg02dyuc51fp6n4lfc3h
Z32800
0
79228
261210
2026-03-27T13:50:28Z
YoshiRulz
10156
Create test
261210
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32800"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32793",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32793",
"Z32793K1": "シンゴウ"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "ɕiŋɡoː"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"シンゴウ\" =\u003E /ɕiŋɡoː/"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6li1vau54ez29z0czfdh4k8fr4hqzik
Z32801
0
79229
261211
2026-03-27T13:50:45Z
YoshiRulz
10156
Create test
261211
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32801"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32793",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32793",
"Z32793K1": "ケンイチ"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "keẽit͡ɕi"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"ケンイチ\" =\u003E /keẽit͡ɕi/"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
nsinmu8jyu9t3e8qsefpq5qmngug6i6
Talk:Z32793
1
79230
261216
2026-03-27T13:57:51Z
YoshiRulz
10156
Add to categories
261216
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
[[Category:Japanese]]
tldn1spmo8mvl7u7nx14w3rldqqsus1
Z32802
0
79231
261217
2026-03-27T13:58:59Z
YoshiRulz
10156
Create test
261217
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32802"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32787",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32787",
"Z32787K1": {
"Z1K1": "Z7",
"Z7K1": "Z6824",
"Z6824K1": {
"Z1K1": "Z6094",
"Z6094K1": "L1375120-F2"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "kompeitoː"
}
],
"Z889K3": "Z14392"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "ja:\"こんぺいとう\" =\u003E /kompeitoː/"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
cddovqoc7njnibzzs6arxbukidysh11
261222
261217
2026-03-27T14:07:24Z
YoshiRulz
10156
Use the lexeme's first form
261222
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32802"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32787",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32787",
"Z32787K1": {
"Z1K1": "Z7",
"Z7K1": "Z6824",
"Z6824K1": {
"Z1K1": "Z6094",
"Z6094K1": "L1375120-F1"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "kompeitoː"
}
],
"Z889K3": "Z14392"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "ja:\"こんぺいとう\" =\u003E /kompeitoː/"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
81f5n04l43b5xwvf5w1s2fhm5w4o45m
Z32803
0
79232
261223
2026-03-27T14:20:57Z
YoshiRulz
10156
Create implementation
261223
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32803"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32787",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z19601",
"Z19601K1": [
"Z40",
{
"Z1K1": "Z7",
"Z7K1": "Z14326",
"Z14326K1": {
"Z1K1": "Z7",
"Z7K1": "Z19295",
"Z19295K1": {
"Z1K1": "Z7",
"Z7K1": "Z6825",
"Z6825K1": {
"Z1K1": "Z7",
"Z7K1": "Z22483",
"Z22483K1": {
"Z1K1": "Z18",
"Z18K1": "Z32787K1"
}
}
}
},
"Z14326K2": "Z1830"
}
],
"Z19601K2": [
"Z1",
{
"Z1K1": "Z7",
"Z7K1": "Z14046",
"Z14046K1": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1830",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z32793",
"Z32793K1": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z16273",
"Z16273K1": {
"Z1K1": "Z7",
"Z7K1": "Z22399",
"Z22399K1": {
"Z1K1": "Z18",
"Z18K1": "Z32787K1"
}
},
"Z16273K2": {
"Z1K1": "Z60",
"Z60K1": "ja-kana",
"Z60K2": [
"Z6"
]
}
}
}
}
}
},
[
"Z11"
]
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "synthesise IPA transcription for Form, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
1hzkp9z1tcx9fpt1bb89di5zmle3sdw
261231
261223
2026-03-27T14:53:34Z
YoshiRulz
10156
Fix monolingual text construction
261231
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32803"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32787",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z19601",
"Z19601K1": [
"Z40",
{
"Z1K1": "Z7",
"Z7K1": "Z14326",
"Z14326K1": {
"Z1K1": "Z7",
"Z7K1": "Z19295",
"Z19295K1": {
"Z1K1": "Z7",
"Z7K1": "Z6825",
"Z6825K1": {
"Z1K1": "Z7",
"Z7K1": "Z22483",
"Z22483K1": {
"Z1K1": "Z18",
"Z18K1": "Z32787K1"
}
}
}
},
"Z14326K2": "Z1830"
}
],
"Z19601K2": [
"Z1",
{
"Z1K1": "Z7",
"Z7K1": "Z14046",
"Z14046K1": {
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": {
"Z1K1": "Z7",
"Z7K1": "Z32793",
"Z32793K1": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z16273",
"Z16273K1": {
"Z1K1": "Z7",
"Z7K1": "Z22399",
"Z22399K1": {
"Z1K1": "Z18",
"Z18K1": "Z32787K1"
}
},
"Z16273K2": {
"Z1K1": "Z60",
"Z60K1": "ja-kana",
"Z60K2": [
"Z6"
]
}
}
}
}
}
},
[
"Z11"
]
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "synthesise IPA transcription for Form, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
i3fm5fdhppdn2sq7zudkeyee7dzzm8c
Z32804
0
79233
261225
2026-03-27T14:34:12Z
YoshiRulz
10156
Create test
261225
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32804"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z14046",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z14046",
"Z14046K1": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1002",
"Z26107K2": "hmm"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "hmm"
}
],
"Z889K3": "Z14392"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "singleton list of Monolingual text"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4493x418gigogqti9kmfhz6eyfra5ry
261230
261225
2026-03-27T14:53:05Z
YoshiRulz
10156
Add comment
261230
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32804"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z14046",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z14046",
"Z14046K1": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1002",
"Z26107K2": "hmm"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "hmm"
}
],
"Z889K3": "Z14392"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "singleton list of Monolingual text"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "disconnected because the fault appears to be in Z26107"
}
]
}
}
or11g7dpe8b19nes3r2koae722778qx
Z32805
0
79234
261233
2026-03-27T15:15:15Z
YoshiRulz
10156
Create test
261233
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32805"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32734",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32734",
"Z32734K1": {
"Z1K1": "Z7",
"Z7K1": "Z801",
"Z801K1": [
{
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z89"
},
[
"Z89",
{
"Z1K1": "Z89",
"Z89K1": ""
},
{
"Z1K1": "Z89",
"Z89K1": "A"
},
{
"Z1K1": "Z89",
"Z89K1": "B"
}
],
[
"Z89",
{
"Z1K1": "Z89",
"Z89K1": "1"
},
{
"Z1K1": "Z89",
"Z89K1": "A1"
},
{
"Z1K1": "Z89",
"Z89K1": "B1"
}
],
[
"Z89",
{
"Z1K1": "Z89",
"Z89K1": "2"
},
{
"Z1K1": "Z89",
"Z89K1": "A2"
},
{
"Z1K1": "Z89",
"Z89K1": "B2"
}
]
]
},
"Z32734K2": {
"Z1K1": "Z7",
"Z7K1": "Z801",
"Z801K1": [
{
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
},
[
"Z40",
{
"Z1K1": "Z40",
"Z40K1": "Z42"
},
{
"Z1K1": "Z40",
"Z40K1": "Z41"
},
{
"Z1K1": "Z40",
"Z40K1": "Z41"
}
],
[
"Z40",
{
"Z1K1": "Z40",
"Z40K1": "Z41"
},
{
"Z1K1": "Z40",
"Z40K1": "Z42"
},
{
"Z1K1": "Z40",
"Z40K1": "Z42"
}
],
[
"Z40",
{
"Z1K1": "Z40",
"Z40K1": "Z41"
},
{
"Z1K1": "Z40",
"Z40K1": "Z42"
},
{
"Z1K1": "Z40",
"Z40K1": "Z42"
}
]
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
{
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z89"
},
[
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z27861",
"Z27861K1": "\u003Ctd\u003E\u003C/td\u003E"
},
{
"Z1K1": "Z7",
"Z7K1": "Z27861",
"Z27861K1": "\u003Cth\u003EA\u003C/th\u003E"
},
{
"Z1K1": "Z7",
"Z7K1": "Z27861",
"Z27861K1": "\u003Cth\u003EB\u003C/th\u003E"
}
],
[
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z27861",
"Z27861K1": "\u003Cth\u003E1\u003C/th\u003E"
},
{
"Z1K1": "Z7",
"Z7K1": "Z27861",
"Z27861K1": "\u003Ctd\u003EA1\u003C/td\u003E"
},
{
"Z1K1": "Z7",
"Z7K1": "Z27861",
"Z27861K1": "\u003Ctd\u003EB1\u003C/td\u003E"
}
],
[
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z27861",
"Z27861K1": "\u003Cth\u003E2\u003C/th\u003E"
},
{
"Z1K1": "Z7",
"Z7K1": "Z27861",
"Z27861K1": "\u003Ctd\u003EA2\u003C/td\u003E"
},
{
"Z1K1": "Z7",
"Z7K1": "Z27861",
"Z27861K1": "\u003Ctd\u003EB2\u003C/td\u003E"
}
]
],
"Z889K3": "Z877"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "simple 3x3 test for cells from contents + isHeader"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qilwjuhnsas6ghghc36btxa3ea6pzpk
Z32806
0
79235
261237
2026-03-27T16:30:14Z
YoshiRulz
10156
Create function
261237
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32806"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32806K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
}
},
"Z17K2": "Z32806K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "matrix"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
}
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32806"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of matrix",
"map function over elements of list of lists",
"map function over elements of matrix",
"apply unary function to elements of list of lists",
"apply unary function to elements of matrix"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
5kq6q3mareea76f16nguqojbjufx1tn
261258
261237
2026-03-27T17:14:59Z
YoshiRulz
10156
Added Z32811 to the approved list of test cases
261258
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32806"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32806K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
}
},
"Z17K2": "Z32806K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "matrix"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
}
},
"Z8K3": [
"Z20",
"Z32811"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32806"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of matrix",
"map function over elements of list of lists",
"map function over elements of matrix",
"apply unary function to elements of list of lists",
"apply unary function to elements of matrix"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
e65xcdg98w1wymfhvq2dsoanqywxflu
261272
261258
2026-03-27T17:52:45Z
YoshiRulz
10156
Added Z32810 to the approved list of implementations
261272
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32806"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32806K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
}
},
"Z17K2": "Z32806K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "matrix"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
}
},
"Z8K3": [
"Z20",
"Z32811"
],
"Z8K4": [
"Z14",
"Z32810"
],
"Z8K5": "Z32806"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of matrix",
"map function over elements of list of lists",
"map function over elements of matrix",
"apply unary function to elements of list of lists",
"apply unary function to elements of matrix"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
krvat1zjco0dkzh7nnm4awjy3cyf6mw
Z32807
0
79236
261238
2026-03-27T16:46:37Z
YoshiRulz
10156
Create function
261238
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
lz3dw7h6q30sq2jd0v837tov9xpylhf
261241
261238
2026-03-27T16:58:09Z
YoshiRulz
10156
Added Z32809 to the approved list of test cases
261241
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z32809"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
3sw9oquaz31bpounc12gx3t27hi2dfq
261242
261241
2026-03-27T16:58:12Z
YoshiRulz
10156
Added Z32808 to the approved list of implementations
261242
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z32809"
],
"Z8K4": [
"Z14",
"Z32808"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
erlan2zx0cr7huhaavnldww6hnzueyb
261243
261242
2026-03-27T16:59:11Z
YoshiRulz
10156
Removed Z32808 from the approved list of implementations
261243
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z32809"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
3sw9oquaz31bpounc12gx3t27hi2dfq
261245
261243
2026-03-27T17:00:01Z
YoshiRulz
10156
Removed Z32809 from the approved list of test cases
261245
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
lz3dw7h6q30sq2jd0v837tov9xpylhf
261246
261245
2026-03-27T17:00:30Z
YoshiRulz
10156
Change return type (not necessarily a list at depth 0)
261246
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": "Z1",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
fm9fzvoga4v1avdxgs0q7tkz2exwszc
261247
261246
2026-03-27T17:00:37Z
YoshiRulz
10156
Added Z32809 to the approved list of test cases
261247
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z32809"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
3sw9oquaz31bpounc12gx3t27hi2dfq
261248
261247
2026-03-27T17:00:46Z
YoshiRulz
10156
Added Z32808 to the approved list of implementations
261248
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z32809"
],
"Z8K4": [
"Z14",
"Z32808"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
erlan2zx0cr7huhaavnldww6hnzueyb
261250
261248
2026-03-27T17:02:22Z
YoshiRulz
10156
Removed Z32808 from the approved list of implementations
261250
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z32809"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
3sw9oquaz31bpounc12gx3t27hi2dfq
261251
261250
2026-03-27T17:02:25Z
YoshiRulz
10156
Removed Z32809 from the approved list of test cases
261251
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
lz3dw7h6q30sq2jd0v837tov9xpylhf
261252
261251
2026-03-27T17:02:46Z
YoshiRulz
10156
Change return type (not necessarily a list at depth 0)
261252
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": "Z1",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
fm9fzvoga4v1avdxgs0q7tkz2exwszc
261253
261252
2026-03-27T17:02:54Z
YoshiRulz
10156
Added Z32809 to the approved list of test cases
261253
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": "Z1",
"Z8K3": [
"Z20",
"Z32809"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
lk96t0wu9jwxv4sclmp0q52dizybb4d
261254
261253
2026-03-27T17:02:58Z
YoshiRulz
10156
Added Z32808 to the approved list of implementations
261254
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32807"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z32807K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z32807K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transformation function"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z32807K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tensor"
}
]
}
}
],
"Z8K2": "Z1",
"Z8K3": [
"Z20",
"Z32809"
],
"Z8K4": [
"Z14",
"Z32808"
],
"Z8K5": "Z32807"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transform elements of list of lists at depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"transform elements of tensor at depth",
"transform elements of multidimensional array at depth",
"map function over elements of list of lists at depth",
"map function over elements of tensor at depth",
"map function over elements of multidimensional array at depth",
"apply unary function to elements of list of lists at depth",
"apply unary function to elements of tensor at depth",
"apply unary function to elements of multidimensional array at depth"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "depth of 0 is equivalent to Z13036/apply; depth 1 is equivalent to Z873/map; depth 2 is equivalent to Z32806/mapMatrix etc."
}
]
}
}
ccnrs0ek7iwlyfere15qp3quaw4o4w8
Z32808
0
79237
261239
2026-03-27T16:48:54Z
YoshiRulz
10156
Create implementation
261239
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32808"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32807",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z23883",
"Z23883K1": {
"Z1K1": "Z18",
"Z18K1": "Z32807K1"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z13036",
"Z13036K1": {
"Z1K1": "Z18",
"Z18K1": "Z32807K2"
},
"Z13036K2": {
"Z1K1": "Z18",
"Z18K1": "Z32807K3"
}
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z29370",
"Z29370K1": "Z32807",
"Z29370K2": {
"Z1K1": "Z7",
"Z7K1": "Z13582",
"Z13582K1": {
"Z1K1": "Z18",
"Z18K1": "Z32807K1"
}
},
"Z29370K3": {
"Z1K1": "Z18",
"Z18K1": "Z32807K2"
},
"Z29370K4": {
"Z1K1": "Z18",
"Z18K1": "Z32807K3"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "map over tensor at depth, recursive composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fmtpnu65mobywpok323l4vcl3kzacu5
261244
261239
2026-03-27T16:59:52Z
YoshiRulz
10156
Fix list typing
261244
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32808"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32807",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z23883",
"Z23883K1": {
"Z1K1": "Z18",
"Z18K1": "Z32807K1"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z13036",
"Z13036K1": {
"Z1K1": "Z18",
"Z18K1": "Z32807K2"
},
"Z13036K2": {
"Z1K1": "Z18",
"Z18K1": "Z32807K3"
}
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z18475",
"Z18475K1": {
"Z1K1": "Z7",
"Z7K1": "Z29370",
"Z29370K1": "Z32807",
"Z29370K2": {
"Z1K1": "Z7",
"Z7K1": "Z13582",
"Z13582K1": {
"Z1K1": "Z18",
"Z18K1": "Z32807K1"
}
},
"Z29370K3": {
"Z1K1": "Z18",
"Z18K1": "Z32807K2"
},
"Z29370K4": {
"Z1K1": "Z18",
"Z18K1": "Z32807K3"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "map over tensor at depth, recursive composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ikqnpbhqs9lbihlm8wb0mc86xby41an
Z32809
0
79238
261240
2026-03-27T16:57:54Z
YoshiRulz
10156
Create test
261240
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32809"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32807",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32807",
"Z32807K1": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"Z32807K2": "Z12681",
"Z32807K3": [
{
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6"
}
}
},
[
{
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6"
}
},
[
{
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6"
},
[
"Z6",
"A",
"B",
"C",
"D"
],
[
"Z6",
"E",
"F",
"G",
"H"
],
[
"Z6",
"I",
"J",
"K",
"L"
]
],
[
{
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6"
},
[
"Z6",
"M",
"N",
"O",
"P"
],
[
"Z6",
"Q",
"R",
"S",
"T"
],
[
"Z6",
"U",
"V",
"W",
"X"
]
]
]
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
{
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z13518"
},
[
"Z13518",
{
"Z1K1": "Z13518",
"Z13518K1": "3"
},
{
"Z1K1": "Z13518",
"Z13518K1": "3"
}
]
],
"Z889K3": "Z13522"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "transforms at given depth"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
19p3u4hbe4sgz0mx9r50zqe438d39k2
Z32810
0
79239
261255
2026-03-27T17:06:10Z
YoshiRulz
10156
Create implementation
261255
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32810"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32806",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z32807",
"Z32807K1": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"Z32807K2": {
"Z1K1": "Z18",
"Z18K1": "Z32806K1"
},
"Z32807K3": {
"Z1K1": "Z18",
"Z18K1": "Z32806K2"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "map over elements of matrix, as tensor composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
oepf159xj9b5ihped1ea6vez3l15kb6
Z32811
0
79240
261257
2026-03-27T17:13:17Z
YoshiRulz
10156
Create test
261257
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32811"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32806",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32806",
"Z32806K1": "Z19711",
"Z32806K2": {
"Z1K1": "Z7",
"Z7K1": "Z801",
"Z801K1": [
{
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z19677"
},
[
"Z19677",
{
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
{
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "3"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "4"
}
}
],
[
"Z19677",
{
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "5"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "6"
}
},
{
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "7"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "8"
}
}
]
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z24171",
"Z24171K2": {
"Z1K1": "Z7",
"Z7K1": "Z801",
"Z801K1": [
{
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z19677"
},
[
"Z19677",
{
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
{
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "4"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "3"
}
}
],
[
"Z19677",
{
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "6"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "5"
}
},
{
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "8"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "7"
}
}
]
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "take reciprocals of elements of Rational matrix"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
7jy0ugzvyvxib27c2lq6v8cjvt1ckzm
Z32812
0
79241
261259
2026-03-27T17:22:23Z
YoshiRulz
10156
Create test
261259
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32812"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z31098",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z31098",
"Z31098K1": "Z15175",
"Z31098K2": [
"Z6",
"A",
"X"
],
"Z31098K3": [
"Z6",
"C",
"Z"
],
"Z31098K4": [
"Z6",
"B",
"Y"
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z6",
"ABC",
"XYZ"
],
"Z889K3": "Z866"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "(Z15175, [\"A\",\"X\"], [\"C\",\"Z\"], [\"B\",\"Y\"]) =\u003E [...]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
btypb61vmjdwthx41vati1z708i0tmg
Z32813
0
79242
261263
2026-03-27T17:28:48Z
YoshiRulz
10156
Create test
261263
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32813"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z29370",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z29370",
"Z29370K1": "Z15175",
"Z29370K2": "A",
"Z29370K3": "Z",
"Z29370K4": [
"Z6",
"-",
":",
"+",
"."
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z6",
"A-Z",
"A:Z",
"A+Z",
"A.Z"
],
"Z889K3": "Z866"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "apply3LLO(Z15175, \"A\", \"Z\", [\"-\", \":\", \"+\", \".\"])"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
9043dabouuonoy1gqkolou4wc7920uq
Z32814
0
79243
261265
2026-03-27T17:34:04Z
Mormegil
150
261265
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32814"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32780",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z32780(Z32780K1, Z32780K2) {\n const blocks_one = [\"\", \"tisíc\", \"milion\", \"miliarda\", \"bilion\", \"biliarda\", \"trilion\", \"triliarda\", \"kvadrilion\", \"kvadriliarda\", \"kvintilion\", \"kvintiliarda\", \"sextilion\", \"sextiliarda\", \"septilion\", \"septiliarda\"];\n const blocks_few = [\"\", \"tisíce\", \"miliony\", \"miliardy\", \"biliony\", \"biliardy\", \"triliony\", \"triliardy\", \"kvadriliony\", \"kvadriliardy\", \"kvintiliony\", \"kvintiliardy\", \"sextiliony\", \"sextiliardy\", \"septiliony\", \"septiliardy\"];\n const blocks_other = [\"\", \"tisíc\", \"milionů\", \"miliard\", \"bilionů\", \"biliard\", \"trilionů\", \"triliard\", \"kvadrilionů\", \"kvadriliard\", \"kvintilionů\", \"kvintiliard\", \"sextilionů\", \"sextiliard\", \"septilionů\", \"septiliard\"];\n const unit_numerals = [\"\", \"\", \"\", \"tři\", \"čtyři\", \"pět\", \"šest\", \"sedm\", \"osm\", \"devět\"];\n\n\tfunction qid_from_enum (v) {\n\t\tlet type=v.Z1K1;\n\t\twhile (type.Z9K1){\n\t\t\ttype=type.Z9K1;\n\t\t}\n\t\tlet value=v[type+'K1'];\n\t\twhile (value.Z9K1){\n\t\t\tvalue=value.Z9K1;\n\t\t}\n\t\tlet typeOfValue=v[type+'K1'].Z1K1;\n\t\twhile(typeOfValue.Z9K1){\n\t\t\ttypeOfValue=typeOfValue.Z9K1;\n\t\t}\n\t\tvalue=value[typeOfValue+'K1'];\n\t\treturn value;\n\t} \n\n function gender_from_enum(v) {\n switch(qid_from_enum(v)) {\n case 'Q499327': return 'm';\n case 'Q1775415': return 'f';\n case 'Q1775461': return 'n';\n default: Wikifunctions.Error(\"Z516\", [\"Z32780K2\", v]);\n }\n }\n\n function space(word) {\n return word.length ? \" \" + word : \"\";\n }\n\n function plural(x, one, few, other) {\n if (x === 1) return one;\n if (x \u003E= 2 \u0026\u0026 x \u003C= 4) return few;\n return other;\n }\n\n function units(x, gender, is_many) {\n if (x === 0) return \"\";\n\n const one_genders = { \"m\": \"jeden\", \"f\": \"jedna\", \"n\": \"jedno\" };\n const two_genders = { \"m\": \"dva\", \"f\": \"dvě\", \"n\": \"dvě\" };\n\n if (is_many) {\n switch (x) {\n case 1:\n return \"jedna\";\n case 2:\n return \"dva\";\n default:\n return unit_numerals[x];\n }\n } else {\n switch (x) {\n case 1:\n return one_genders[gender];\n case 2:\n return two_genders[gender];\n default:\n return unit_numerals[x];\n }\n }\n }\n\n function tens(x, gender, is_many) {\n const teens = [\"deset\", \"jedenáct\", \"dvanáct\", \"třináct\", \"čtrnáct\", \"patnáct\", \"šestnáct\", \"sedmnáct\", \"osmnáct\", \"devatenáct\"];\n const tens_words = [\"\", \"deset\", \"dvacet\", \"třicet\", \"čtyřicet\", \"padesát\", \"šedesát\", \"sedmdesát\", \"osmdesát\", \"devadesát\"]\n\n const tens = Math.trunc(x / 10);\n switch (tens) {\n case 0:\n return units(x, gender, is_many);\n case 1:\n return teens[x - 10];\n default:\n return tens_words[tens] + space(units(x % 10, gender, true));\n }\n }\n\n function hundreds(x, gender, is_many) {\n const hundreds = Math.trunc(x / 100);\n if (hundreds === 0) return tens(x, gender, is_many);\n\n var hundreds_text;\n switch (hundreds) {\n case 1:\n hundreds_text = \"sto\";\n break;\n case 2:\n hundreds_text = \"dvě stě\";\n break;\n case 3:\n hundreds_text = \"tři sta\";\n break;\n case 4:\n hundreds_text = \"čtyři sta\";\n break;\n default:\n hundreds_text = unit_numerals[hundreds] + \" set\";\n }\n\n return hundreds_text + space(tens(x % 100, gender, true));\n }\n\n function block(x, block_one, block_few, block_other, gender, is_many) {\n const numeral = hundreds(x, gender, is_many);\n if (!numeral.length) return \"\";\n\n const block_name = plural(x, block_one, block_few, block_other);\n\n return numeral + space(block_name);\n }\n\n let value = Z32780K1;\n let gender = gender_from_enum(Z32780K2);\n\n if (value == 0n) { return \"nula\"; }\n if (value \u003E 999999999999999999999999999999999999999999999999n) { Wikifunctions.Error(\"Z28307\", [\"\" + value, \"999999999999999999999999999999999999999999999999\", \"cs\"]); }\n\n const blocks = [];\n let is_greater_than_one = value \u003E 1n;\n let last_is_one = false;\n for (let i = 0; i \u003C blocks_one.length \u0026\u0026 value \u003E 0n; ++i) {\n const block_value = Number(value % 1000n);\n last_is_one = block_value === 1;\n value /= 1000n;\n\n let block_gender;\n if (i === 0) block_gender = gender;\n else if (i === 1 || (i % 2) === 0) block_gender = \"m\";\n else block_gender = \"f\";\n const text = block(block_value, blocks_one[i], blocks_few[i], blocks_other[i], block_gender, i === 0 \u0026\u0026 value \u003E 0n);\n if (text.length) blocks.push(text);\n }\n\n // drop leading “one” (but it’s a matter of taste)\n if (is_greater_than_one \u0026\u0026 last_is_one) blocks[blocks.length - 1] = blocks[blocks.length - 1].substring(5).trimStart();\n\n return blocks.reverse().join(\" \");\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "JavaScriptová implementace české základní číslovky"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "JavaScript implementation of Czech cardinal"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
r6gvej39lx5gmhifvjje68pnedb2my2
Translations:Wikifunctions:Status updates/2026-03-26/9/de
1198
79244
261270
2026-03-27T17:49:09Z
Ameisenigel
44
Created page with "Gibt uns weiterhin Rückmeldung! Wir wissen eure Bereitschaft, Dinge auszuprobieren, sehr zu schätzen und freuen uns, dass ihr diese frühe Version der Abstrakten Wikipedia akzeptiert."
261270
wikitext
text/x-wiki
Gibt uns weiterhin Rückmeldung! Wir wissen eure Bereitschaft, Dinge auszuprobieren, sehr zu schätzen und freuen uns, dass ihr diese frühe Version der Abstrakten Wikipedia akzeptiert.
jds6ifmkr5yw9l1cdc5koswj0w2nw6r
Z32815
0
79245
261277
2026-03-27T18:41:24Z
YoshiRulz
10156
Create test
261277
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32815"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32645",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32645",
"Z32645K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q321"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z22120",
"Z22120K2": "Z22113"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Milky Way needs \"the\" in English"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
j38v7cg8is0qcnj1pfaqiemtzl1yrnb
Z32816
0
79246
261278
2026-03-27T18:42:13Z
YoshiRulz
10156
Create test
261278
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32816"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32645",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32645",
"Z32645K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q98"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z22120",
"Z22120K2": "Z22113"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Pacific Ocean needs \"the\" in English"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ailcplu38lflsr1qlyv6n5ogpsv5zo8
Z32817
0
79247
261279
2026-03-27T18:42:54Z
YoshiRulz
10156
Create test
261279
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32817"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32645",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32645",
"Z32645K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z22120",
"Z22120K2": "Z22114"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "ocean may take \"the\" in English"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
e86cwgdkfi0j8f2re7e3e7p4n3onted
Z32818
0
79248
261281
2026-03-27T18:45:45Z
YoshiRulz
10156
Create test
261281
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32818"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32645",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32645",
"Z32645K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q11452"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z22120",
"Z22120K2": "Z22115"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "general relativity never takes \"the\" in English"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
pavxevlgiorvedvof4o41jypdx6mhbm
Z32819
0
79249
261283
2026-03-27T18:55:09Z
GearsDatapacks
46130
Create function definition
261283
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32819"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32819K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "name"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32819K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "nationality"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6008",
"Z17K2": "Z32819K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "profession"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z32819K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "use past tense?"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32819"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\u003Cname\u003E is/was a \u003Cnationality\u003E \u003Cprofession\u003E"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Description for a person, living or deceased"
}
]
}
}
j7a3d5feuzr93bqyoxpd4sgpm24dvti
261284
261283
2026-03-27T18:58:12Z
GearsDatapacks
46130
Rename argument
261284
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32819"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32819K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "name"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32819K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "country"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6008",
"Z17K2": "Z32819K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "profession"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z32819K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "use past tense?"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32819"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\u003Cname\u003E is/was a \u003Cnationality\u003E \u003Cprofession\u003E"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Description for a person, living or deceased"
}
]
}
}
46w1wrq55sh81pkyr0ofs1y3nopa3h1
261285
261284
2026-03-27T18:58:46Z
GearsDatapacks
46130
Fix argument type
261285
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32819"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32819K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "name"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32819K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "country"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32819K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "profession"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z32819K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "use past tense?"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32819"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\u003Cname\u003E is/was a \u003Cnationality\u003E \u003Cprofession\u003E"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Description for a person, living or deceased"
}
]
}
}
93mrooqobaqp08850yv5epond6ogj4s
261286
261285
2026-03-27T19:00:17Z
GearsDatapacks
46130
Add language parameter
261286
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32819"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32819K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "name"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32819K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "country"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32819K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "profession"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z32819K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "use past tense?"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32819K5",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32819"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\u003Cname\u003E is/was a \u003Cnationality\u003E \u003Cprofession\u003E"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Description for a person, living or deceased"
}
]
}
}
jxfdfyixps0yq5prsvgwz6q0sqgpmu5
261315
261286
2026-03-27T20:14:55Z
GearsDatapacks
46130
Extend to multiple professions
261315
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32819"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32819K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "name"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32819K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "country"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6091"
},
"Z17K2": "Z32819K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "professions"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z32819K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "use past tense?"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32819K5",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32819"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\u003Cname\u003E is/was a \u003Cnationality\u003E \u003Cprofession\u003E"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Description for a person, living or deceased"
}
]
}
}
9ldk3izz1xt9rbrj1jr87io81mhe0qi
Z32820
0
79250
261287
2026-03-27T19:01:57Z
GearsDatapacks
46130
Create English past tense test
261287
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32820"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32819",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32819",
"Z32819K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q42"
},
"Z32819K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q21"
},
"Z32819K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q36180"
},
"Z32819K4": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z32819K5": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Douglas Adams was an English writer."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Douglas Adams was an English writer"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
a1dcfcrfz56wy87efjjgutkdsg9cqr1
Z32821
0
79251
261288
2026-03-27T19:05:50Z
GearsDatapacks
46130
Create past tense test
261288
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32821"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32819",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32819",
"Z32819K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q32732"
},
"Z32819K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q843"
},
"Z32819K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q15253558"
},
"Z32819K4": {
"Z1K1": "Z40",
"Z40K1": "Z42"
},
"Z32819K5": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Malala Yousafzai is a Pakistani activist."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Malala Yousafzai is a Pakistani activist"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
3vzvihzyx9467nbbxx4olub9tr56wl3
Z32822
0
79252
261289
2026-03-27T19:08:48Z
GearsDatapacks
46130
Create function
261289
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32822"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32822K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32822"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Demonym for Wikidata item"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
r797ubm74uamhxpwxfs3z0j2vdz0w7v
261290
261289
2026-03-27T19:09:26Z
GearsDatapacks
46130
Add language parameter
261290
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32822"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32822K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32822K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32822"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Demonym for Wikidata item"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
j8wsfhepkh5ubrqbsi6wkg8kxqsai1f
Z32823
0
79253
261291
2026-03-27T19:16:26Z
GearsDatapacks
46130
Create configuration
261291
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32823"
},
"Z2K2": {
"Z1K1": "Z14294",
"Z14294K1": [
"Z14293",
{
"Z1K1": "Z14293",
"Z14293K1": "Z29778",
"Z14293K2": [
"Z60",
"Z1002",
"Z1113",
"Z1689",
"Z1199"
]
}
],
"Z14294K2": "Z29778"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Configuration for demonym"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
5poovgx8r4nxn79pnzwo2rclhlqy1jx
Z32824
0
79254
261292
2026-03-27T19:18:00Z
GearsDatapacks
46130
Create multi-language implemenetation
261292
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32824"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32822",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z13036",
"Z13036K1": {
"Z1K1": "Z7",
"Z7K1": "Z14310",
"Z14310K1": "Z32823",
"Z14310K2": {
"Z1K1": "Z18",
"Z18K1": "Z32822K2"
}
},
"Z13036K2": {
"Z1K1": "Z18",
"Z18K1": "Z32822K1"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
cx68q96worynupmqmqs4w3cmtfmwd64
261293
261292
2026-03-27T19:18:25Z
GearsDatapacks
46130
Add English label
261293
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32824"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32822",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z13036",
"Z13036K1": {
"Z1K1": "Z7",
"Z7K1": "Z14310",
"Z14310K1": "Z32823",
"Z14310K2": {
"Z1K1": "Z18",
"Z18K1": "Z32822K2"
}
},
"Z13036K2": {
"Z1K1": "Z18",
"Z18K1": "Z32822K1"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Demonym for Wikidata item, compose"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ogy8e1q56zrryhe0z3qbwohga3tsmho
Z32825
0
79255
261294
2026-03-27T19:19:28Z
GearsDatapacks
46130
Create English language function
261294
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32825"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32825K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "name"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32825K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "country"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32825K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "profession"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z32825K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "use past tense?"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32825"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English person description"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
94bvjvpsy1p4epuc0nog26xym5d31nt
261308
261294
2026-03-27T19:48:15Z
GrounderUK
50
Added Z32829 and Z32830 to the approved list of test cases
261308
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32825"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32825K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "name"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32825K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "country"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32825K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "profession"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z32825K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "use past tense?"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32829",
"Z32830"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32825"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English person description"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
anu3hzyez8kncbnfxlaprrhjcsv5x5p
261317
261308
2026-03-27T20:16:10Z
GearsDatapacks
46130
Support multiple professions
261317
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32825"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32825K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "name"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32825K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "country"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6091"
},
"Z17K2": "Z32825K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "profession"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z32825K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "use past tense?"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32829",
"Z32830"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32825"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English person description"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
thxc36s7o9by3740u9ts82igl05xi12
261340
261317
2026-03-27T22:42:01Z
GrounderUK
50
Added Z32835 to the approved list of test cases
261340
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32825"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32825K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "name"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32825K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "country"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6091"
},
"Z17K2": "Z32825K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "profession"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z32825K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "use past tense?"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32829",
"Z32830",
"Z32835"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32825"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English person description"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ildv57o7c6hz8mz8zl0phdllf1ikwzo
Z32826
0
79256
261295
2026-03-27T19:20:31Z
GearsDatapacks
46130
Create language configuration
261295
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32826"
},
"Z2K2": {
"Z1K1": "Z14294",
"Z14294K1": [
"Z14293",
{
"Z1K1": "Z14293",
"Z14293K1": "Z32825",
"Z14293K2": [
"Z60",
"Z1113",
"Z1199",
"Z1689",
"Z1002"
]
}
],
"Z14294K2": "Z32825"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Language configuration for person description"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
nt0pyeujbrq4oxnx92vcs6plkkjb7mu
Z32827
0
79257
261296
2026-03-27T19:22:00Z
GearsDatapacks
46130
Create multi-language implementation
261296
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32827"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32819",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z30438",
"Z30438K1": {
"Z1K1": "Z7",
"Z7K1": "Z14310",
"Z14310K1": "Z32826",
"Z14310K2": {
"Z1K1": "Z18",
"Z18K1": "Z32819K5"
}
},
"Z30438K2": {
"Z1K1": "Z18",
"Z18K1": "Z32819K1"
},
"Z30438K3": {
"Z1K1": "Z18",
"Z18K1": "Z32819K2"
},
"Z30438K4": {
"Z1K1": "Z18",
"Z18K1": "Z32819K3"
},
"Z30438K5": {
"Z1K1": "Z18",
"Z18K1": "Z32819K4"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
7hh6gd4dkxsm8e76txe1paj9g1umidi
261297
261296
2026-03-27T19:22:24Z
GearsDatapacks
46130
Add English label
261297
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32827"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32819",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z30438",
"Z30438K1": {
"Z1K1": "Z7",
"Z7K1": "Z14310",
"Z14310K1": "Z32826",
"Z14310K2": {
"Z1K1": "Z18",
"Z18K1": "Z32819K5"
}
},
"Z30438K2": {
"Z1K1": "Z18",
"Z18K1": "Z32819K1"
},
"Z30438K3": {
"Z1K1": "Z18",
"Z18K1": "Z32819K2"
},
"Z30438K4": {
"Z1K1": "Z18",
"Z18K1": "Z32819K3"
},
"Z30438K5": {
"Z1K1": "Z18",
"Z18K1": "Z32819K4"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Person description multi-language compose"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
k0j9zdf7pq1gngnau1jzxfswtemc0ym
Category:Multiple language NLG functions
14
79258
261299
2026-03-27T19:30:59Z
Arlo Barnes
1231
subcat
261299
wikitext
text/x-wiki
[[category:natural language generation functions|mul]]
hc5rgyulzb8fu5973wcmwag8x1aiquc
Z32828
0
79259
261300
2026-03-27T19:32:50Z
GearsDatapacks
46130
Create English implementation
261300
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32828"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32825",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1002",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z22511",
"Z22511K1": {
"Z1K1": "Z7",
"Z7K1": "Z12899",
"Z12899K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K1"
},
"Z23753K2": "Z1002"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K4"
},
"Z802K2": "was",
"Z802K3": "is"
},
{
"Z1K1": "Z7",
"Z7K1": "Z21739",
"Z21739K1": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z32822",
"Z32822K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K2"
},
"Z32822K2": "Z1002"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z32822",
"Z32822K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K2"
},
"Z32822K2": "Z1002"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K3"
},
"Z23468K2": "Z1002"
}
],
"Z12899K2": " "
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English person description compose"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
grmlm0uxfbxa0z04fvte4fqcikx3slf
261306
261300
2026-03-27T19:38:55Z
GearsDatapacks
46130
Call English function directly
261306
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32828"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32825",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1002",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z22511",
"Z22511K1": {
"Z1K1": "Z7",
"Z7K1": "Z12899",
"Z12899K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K1"
},
"Z23753K2": "Z1002"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K4"
},
"Z802K2": "was",
"Z802K3": "is"
},
{
"Z1K1": "Z7",
"Z7K1": "Z21739",
"Z21739K1": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z29778",
"Z29778K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z29778",
"Z29778K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K2"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K3"
},
"Z23468K2": "Z1002"
}
],
"Z12899K2": " "
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English person description compose"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ef4vsv1gksefgine4fx4rrwm4u0fs9a
261313
261306
2026-03-27T20:07:06Z
GrounderUK
50
Label for profession
261313
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32828"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32825",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1002",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z22511",
"Z22511K1": {
"Z1K1": "Z7",
"Z7K1": "Z12899",
"Z12899K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K1"
},
"Z23753K2": "Z1002"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K4"
},
"Z802K2": "was",
"Z802K3": "is"
},
{
"Z1K1": "Z7",
"Z7K1": "Z21739",
"Z21739K1": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z29778",
"Z29778K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z29778",
"Z29778K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K2"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K3"
},
"Z23753K2": "Z1002"
}
],
"Z12899K2": " "
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English person description compose"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fy04sv7uxjetgxl1a67pn9k4djbqsfl
261325
261313
2026-03-27T20:43:31Z
GearsDatapacks
46130
Update to work with profession list
261325
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32828"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32825",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1002",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z22511",
"Z22511K1": {
"Z1K1": "Z7",
"Z7K1": "Z12899",
"Z12899K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K1"
},
"Z23753K2": "Z1002"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K4"
},
"Z802K2": "was",
"Z802K3": "is"
},
{
"Z1K1": "Z7",
"Z7K1": "Z21739",
"Z21739K1": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z29778",
"Z29778K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z29778",
"Z29778K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K2"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z18779",
"Z18779K1": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": {
"Z1K1": "Z9",
"Z9K1": ""
},
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z32825K3"
},
"Z13464K3": "Z1002"
}
}
],
"Z12899K2": " "
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English person description compose"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
as7qvw3ubnfv137vp9munqnvm1ifc20
261326
261325
2026-03-27T20:44:04Z
GearsDatapacks
46130
Fix missing function
261326
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32828"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32825",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1002",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z22511",
"Z22511K1": {
"Z1K1": "Z7",
"Z7K1": "Z12899",
"Z12899K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K1"
},
"Z23753K2": "Z1002"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K4"
},
"Z802K2": "was",
"Z802K3": "is"
},
{
"Z1K1": "Z7",
"Z7K1": "Z21739",
"Z21739K1": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z29778",
"Z29778K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z29778",
"Z29778K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K2"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z18779",
"Z18779K1": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z23753",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z32825K3"
},
"Z13464K3": "Z1002"
}
}
],
"Z12899K2": " "
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English person description compose"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
68busrlzy9oevkqw3y6mq1uy9xh432r
261350
261326
2026-03-27T23:10:48Z
GearsDatapacks
46130
Call general demonym function instead of specific one
261350
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32828"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32825",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1002",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z22511",
"Z22511K1": {
"Z1K1": "Z7",
"Z7K1": "Z12899",
"Z12899K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K1"
},
"Z23753K2": "Z1002"
},
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K4"
},
"Z802K2": "was",
"Z802K3": "is"
},
{
"Z1K1": "Z7",
"Z7K1": "Z21739",
"Z21739K1": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z32822",
"Z32822K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K2"
},
"Z32822K2": "Z1002"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z32822",
"Z32822K1": {
"Z1K1": "Z18",
"Z18K1": "Z32825K2"
},
"Z32822K2": "Z1002"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z18779",
"Z18779K1": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z23753",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z32825K3"
},
"Z13464K3": "Z1002"
}
}
],
"Z12899K2": " "
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English person description compose"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
gan0vfi6pez6cnzdvvdasu70nrcmlkj
Category:Láadan natural language generation functions
14
79260
261302
2026-03-27T19:35:15Z
Arlo Barnes
1231
subcat
261302
wikitext
text/x-wiki
[[category:natural language generation functions|ldn]]
bz5cvleysf5p5n8bzbdpex3jsa5l1g2
Z32829
0
79261
261303
2026-03-27T19:35:26Z
GearsDatapacks
46130
Create English past tense test
261303
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32829"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32825",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32825",
"Z32825K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q42"
},
"Z32825K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q21"
},
"Z32825K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q36180"
},
"Z32825K4": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Douglas Adams was an English writer."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "En: Douglas Adams was an English writer"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
67t9bccd5xb3vopf9d9pzd2k0ot5b9j
261304
261303
2026-03-27T19:35:41Z
GearsDatapacks
46130
Update label
261304
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32829"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32825",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32825",
"Z32825K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q42"
},
"Z32825K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q21"
},
"Z32825K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q36180"
},
"Z32825K4": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Douglas Adams was an English writer."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "en: Douglas Adams was an English writer"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ejie7yw7h4i9ez1t7bfek5zwcyje6hv
261338
261304
2026-03-27T22:39:33Z
GrounderUK
50
[[Z6091]] to singleton
261338
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32829"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32825",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32825",
"Z32825K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q42"
},
"Z32825K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q21"
},
"Z32825K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q36180"
}
],
"Z32825K4": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Douglas Adams was an English writer."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "en: Douglas Adams was an English writer"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
13y4idz5lji5bw0bsqzmx97ynbehego
Z32830
0
79262
261305
2026-03-27T19:36:52Z
GearsDatapacks
46130
Create English present tense test
261305
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32830"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32825",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32825",
"Z32825K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q32732"
},
"Z32825K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q843"
},
"Z32825K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q15253558"
},
"Z32825K4": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Malala Yousafzai is a Pakistani activist."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "en: Malala Yousafzai is a Pakistani activist"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sbxdo7yydltgwndf3xelskjksrss7yp
261339
261305
2026-03-27T22:41:11Z
GrounderUK
50
[[Z6091]] to singleton
261339
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32830"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32825",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32825",
"Z32825K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q32732"
},
"Z32825K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q843"
},
"Z32825K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q15253558"
}
],
"Z32825K4": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Malala Yousafzai is a Pakistani activist."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "en: Malala Yousafzai is a Pakistani activist"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
23rc23a8o537rbw6voqsgm34vo5fev9
Talk:Z32819
1
79263
261309
2026-03-27T19:50:23Z
Feeglgeef
8776
/* Extend to multiple professions */ new section
261309
wikitext
text/x-wiki
== Extend to multiple professions ==
{{ping|GearsDatapacks}} Hi! You might want to make this more abstract as to allow for multiple professions now, as modifying it later will be complex, and there are many cases where you would want multiple. Though this is a wiki, I would respect your decision on the matter as creator. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:50, 27 March 2026 (UTC)
5fqbynx4lx81f18xlk9z7q4xe6vjp6o
261314
261309
2026-03-27T20:12:47Z
GearsDatapacks
46130
/* Extend to multiple professions */ Reply
261314
wikitext
text/x-wiki
== Extend to multiple professions ==
{{ping|GearsDatapacks}} Hi! You might want to make this more abstract as to allow for multiple professions now, as modifying it later will be complex, and there are many cases where you would want multiple. Though this is a wiki, I would respect your decision on the matter as creator. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:50, 27 March 2026 (UTC)
:Yes, that makes sense. I'll do that. [[User:GearsDatapacks|GearsDatapacks]] ([[User talk:GearsDatapacks|talk]]) 20:12, 27 March 2026 (UTC)
nuh24nkex2xusz4eob7nkxvrkxym5qa
Z32831
0
79264
261310
2026-03-27T19:54:36Z
ChaoticVermillion
31127
created page
261310
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32831"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32831K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32831K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verb"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32831K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32831"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Latin erb describing noun sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Makes a sentence of the form [X] [verb]."
}
]
}
}
mhldy33wb3ddb8ugy7qzt3ajkkn12ch
261311
261310
2026-03-27T19:55:05Z
ChaoticVermillion
31127
typo
261311
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32831"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32831K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32831K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verb"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32831K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32831"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Latin verb describing noun sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Makes a sentence of the form [X] [verb]."
}
]
}
}
b40elzt584ip1q03vxfre0gco4gasb1
261316
261311
2026-03-27T20:15:30Z
ChaoticVermillion
31127
Added Z32832 to the approved list of test cases
261316
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32831"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32831K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32831K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verb"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32831K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32832"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32831"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Latin verb describing noun sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Makes a sentence of the form [X] [verb]."
}
]
}
}
t5vuhmtfjx4myvdsqflb3cz3622wyxp
261379
261316
2026-03-28T04:59:13Z
ChaoticVermillion
31127
Added Z32833 to the approved list of implementations
261379
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32831"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32831K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32831K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verb"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32831K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32832"
],
"Z8K4": [
"Z14",
"Z32833"
],
"Z8K5": "Z32831"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Latin verb describing noun sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Makes a sentence of the form [X] [verb]."
}
]
}
}
7xwnw3djua44bk7xpc2yqyj2tj2vcvz
Z32832
0
79265
261312
2026-03-27T19:57:13Z
ChaoticVermillion
31127
added test
261312
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32832"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32831",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32831",
"Z32831K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q525"
},
"Z32831K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q107152168"
},
"Z32831K3": "Z1403"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Sol splendet."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"Sol splendet.\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
eywynpgfouhf6jak0j65nt39dqyq0h7
261321
261312
2026-03-27T20:31:55Z
ChaoticVermillion
31127
changed label
261321
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32832"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32831",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32831",
"Z32831K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q525"
},
"Z32831K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q107152168"
},
"Z32831K3": "Z1403"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Sol splendet."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"stellae splendent.\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
kwqlghz5ze960tu86zedyx49sgkzaya
261322
261321
2026-03-27T20:32:24Z
ChaoticVermillion
31127
changed sentence to be plural
261322
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32832"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32831",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32831",
"Z32831K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q525"
},
"Z32831K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q107152168"
},
"Z32831K3": "Z1403"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "stellae splendent."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"stellae splendent.\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ids608w2k233jlc5n6k7v8qwgkkbwqy
261323
261322
2026-03-27T20:34:56Z
ChaoticVermillion
31127
minor edit
261323
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32832"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32831",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32831",
"Z32831K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q523"
},
"Z32831K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q107152168"
},
"Z32831K3": "Z1403"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "stellae splendent."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"stellae splendent.\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
rl7qcr3cpty9t57fdpqg28vvrfy7ual
Z32833
0
79266
261318
2026-03-27T20:17:57Z
ChaoticVermillion
31127
created implementation
261318
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32833"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32831",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": {
"Z1K1": "Z18",
"Z18K1": ""
},
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z32527",
"Z32527K1": {
"Z1K1": "Z7",
"Z7K1": "Z21394",
"Z21394K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z32606",
"Z32606K1": {
"Z1K1": "Z18",
"Z18K1": "Z32831K1"
},
"Z32606K2": {
"Z1K1": "Z18",
"Z18K1": "Z32831K3"
},
"Z32606K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
},
" ",
{
"Z1K1": "Z7",
"Z7K1": "Z27410",
"Z27410K1": {
"Z1K1": "Z7",
"Z7K1": "Z27327",
"Z27327K1": {
"Z1K1": "Z18",
"Z18K1": "Z32831K2"
},
"Z27327K2": {
"Z1K1": "Z6092",
"Z6092K1": "P9970"
},
"Z27327K3": {
"Z1K1": "Z18",
"Z18K1": "Z32831K3"
}
},
"Z27410K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q146786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q51929074"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q192613"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q682111"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q1317831"
}
]
},
"."
]
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Latin verb describing noun sentence, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0jznghvzopzf2ljbm3ya6lmfmtuzp2p
261378
261318
2026-03-28T04:58:56Z
ChaoticVermillion
31127
fixed language
261378
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32833"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32831",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": {
"Z1K1": "Z18",
"Z18K1": "Z32831K3"
},
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z32527",
"Z32527K1": {
"Z1K1": "Z7",
"Z7K1": "Z21394",
"Z21394K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z32606",
"Z32606K1": {
"Z1K1": "Z18",
"Z18K1": "Z32831K1"
},
"Z32606K2": {
"Z1K1": "Z18",
"Z18K1": "Z32831K3"
},
"Z32606K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
},
" ",
{
"Z1K1": "Z7",
"Z7K1": "Z27410",
"Z27410K1": {
"Z1K1": "Z7",
"Z7K1": "Z27327",
"Z27327K1": {
"Z1K1": "Z18",
"Z18K1": "Z32831K2"
},
"Z27327K2": {
"Z1K1": "Z6092",
"Z6092K1": "P9970"
},
"Z27327K3": {
"Z1K1": "Z18",
"Z18K1": "Z32831K3"
}
},
"Z27410K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q146786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q51929074"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q192613"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q682111"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q1317831"
}
]
},
"."
]
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Latin verb describing noun sentence, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
kh14url3dj86k7dox163drx3setpvdi
Talk:Z29779
1
79267
261319
2026-03-27T20:19:41Z
GrounderUK
50
/* Noun or adjective */ new section
261319
wikitext
text/x-wiki
== Noun or adjective ==
English demonyms can be either, with different lexemes because they have different lexical categories. The forms are often but not always identical, so we should have different functions. Which one is this? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:19, 27 March 2026 (UTC)
ac2yurk1cxvg5yxow035omqz3e0ahkv
261324
261319
2026-03-27T20:37:36Z
ChaoticVermillion
31127
/* Noun or adjective */ Reply
261324
wikitext
text/x-wiki
== Noun or adjective ==
English demonyms can be either, with different lexemes because they have different lexical categories. The forms are often but not always identical, so we should have different functions. Which one is this? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:19, 27 March 2026 (UTC)
:I think this is for the noun demonym, as it returns Englishman and Frenchman instead of English or French. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 20:37, 27 March 2026 (UTC)
aqpgagqwp4brap0i1n4yuxlszkvxg8w
261327
261324
2026-03-27T21:12:45Z
GrounderUK
50
/* Noun or adjective */ Reply 🤷♂️
261327
wikitext
text/x-wiki
== Noun or adjective ==
English demonyms can be either, with different lexemes because they have different lexical categories. The forms are often but not always identical, so we should have different functions. Which one is this? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:19, 27 March 2026 (UTC)
:I think this is for the noun demonym, as it returns Englishman and Frenchman instead of English or French. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 20:37, 27 March 2026 (UTC)
::As it happens, yes… but only because it returns whichever is the first lexeme. So it should be fairly random. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:12, 27 March 2026 (UTC)
9nrq5qcnskov29hy52l4mkq4bo8sgq2
261328
261327
2026-03-27T21:18:23Z
GrounderUK
50
/* Noun or adjective */ Reply
261328
wikitext
text/x-wiki
== Noun or adjective ==
English demonyms can be either, with different lexemes because they have different lexical categories. The forms are often but not always identical, so we should have different functions. Which one is this? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:19, 27 March 2026 (UTC)
:I think this is for the noun demonym, as it returns Englishman and Frenchman instead of English or French. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 20:37, 27 March 2026 (UTC)
::As it happens, yes… but only because it returns whichever is the first lexeme. So it should be fairly random. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:12, 27 March 2026 (UTC)
::Looking at the fallback to {{Z|Z17656}}, that also seems inconsistent, giving “English” and “Spaniard”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:18, 27 March 2026 (UTC)
bvtmc6tg5953i6a6lyasyuxz6ulu07f
Z32834
0
79268
261320
2026-03-27T20:23:32Z
GearsDatapacks
46130
Add test for single item
261320
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32834"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z18779",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z18779",
"Z18779K1": [
"Z6",
"one"
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "one"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Single item: one -\u003E one"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
npuctvjui0ewqbxbux78gtfzrc0j8k3
Z32835
0
79269
261335
2026-03-27T22:26:32Z
GearsDatapacks
46130
Add test for mutiple professions
261335
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32835"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32825",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32825",
"Z32825K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q8027"
},
"Z32825K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q30"
},
"Z32825K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q15253558"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q114797862"
}
],
"Z32825K4": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Martin Luther King Jr. was an American activist and Babtist minister. "
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English multiple professions"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
61mhf7g3pckkia7hg3wp9ty59r1jx3d
261336
261335
2026-03-27T22:27:24Z
GearsDatapacks
46130
Fix typo
261336
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32835"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32825",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32825",
"Z32825K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q8027"
},
"Z32825K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q30"
},
"Z32825K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q15253558"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q114797862"
}
],
"Z32825K4": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Martin Luther King Jr. was an American activist and Baptist minister. "
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English multiple professions"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
8ycv6xvrxamrtuzfmtc4xiqbdc9w0sa
261337
261336
2026-03-27T22:35:10Z
GearsDatapacks
46130
Remove extra space
261337
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32835"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32825",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32825",
"Z32825K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q8027"
},
"Z32825K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q30"
},
"Z32825K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q15253558"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q114797862"
}
],
"Z32825K4": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Martin Luther King Jr. was an American activist and Baptist minister."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English multiple professions"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hnk9qs9iy7d2lw9qg91zqzjqghv6y5t
Z32836
0
79270
261347
2026-03-27T23:01:39Z
GearsDatapacks
46130
Create composition using property
261347
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32836"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32822",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z23143",
"Z23143K1": {
"Z1K1": "Z7",
"Z7K1": "Z22978",
"Z22978K1": {
"Z1K1": "Z18",
"Z18K1": "Z32822K1"
},
"Z22978K2": {
"Z1K1": "Z6092",
"Z6092K1": "P1549"
}
},
"Z23143K2": {
"Z1K1": "Z18",
"Z18K1": "Z32822K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Demonym for Wikidata item using property, compose"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sdyp0pnjilzdv735vti7550cwn3af1v
Z32837
0
79271
261348
2026-03-27T23:03:09Z
GearsDatapacks
46130
Create testcase for English
261348
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32837"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32822",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32822",
"Z32822K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q21"
},
"Z32822K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "en demonym for England is English"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bbzf6alle9opobwggmqiz0tniiivn6t
Z32838
0
79272
261349
2026-03-27T23:07:19Z
GearsDatapacks
46130
Create test case for Pakistan demonym
261349
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32838"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32822",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32822",
"Z32822K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q843"
},
"Z32822K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Pakistani"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "en demonym for Pakistan is Pakistani"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ir5uvbwy1kmpqsn9qvcwyv5v2thsvht
Z32839
0
79273
261351
2026-03-27T23:43:46Z
EatingCarBatteries
61191
261351
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32839"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32839K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata item reference"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32839K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32839"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "provides a plural sentence case section title from Wikidata label"
}
]
}
}
ko27lvm70ulvpwdbv2og3klufy02iac
261352
261351
2026-03-27T23:44:32Z
EatingCarBatteries
61191
261352
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32839"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32839K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32839K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "requested language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32839"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "provides a plural sentence case section title from Wikidata label"
}
]
}
}
2xgr2yfcjl2mebask3oq5yvqqybueml
261361
261352
2026-03-28T00:26:37Z
99of9
1622
Added Z32840 to the approved list of implementations
261361
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32839"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32839K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32839K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "requested language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z32840"
],
"Z8K5": "Z32839"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "provides a plural sentence case section title from Wikidata label"
}
]
}
}
9ydnx58w480u97z4cwh8tehrm4prmt4
261363
261361
2026-03-28T00:28:35Z
99of9
1622
Added Z32841 to the approved list of test cases
261363
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32839"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32839K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32839K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "requested language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z32841"
],
"Z8K4": [
"Z14",
"Z32840"
],
"Z8K5": "Z32839"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "provides a plural sentence case section title from Wikidata label"
}
]
}
}
4w168i4ddbgnxycqflqjgi016xc2ibl
261364
261363
2026-03-28T00:32:36Z
EatingCarBatteries
61191
261364
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32839"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32839K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sentence case"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32839K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "requested language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z32841"
],
"Z8K4": [
"Z14",
"Z32840"
],
"Z8K5": "Z32839"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "provides a plural sentence case section title from Wikidata label"
}
]
}
}
0f79pe755z4333h6a8h9ow2zry45eb2
261367
261364
2026-03-28T00:37:30Z
EatingCarBatteries
61191
261367
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32839"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32839K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sentence case"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32839K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "requested language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z32841"
],
"Z8K4": [
"Z14",
"Z32840"
],
"Z8K5": "Z32839"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "capital plural sentence case title from Wikidata"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"sentence case",
"section title",
"plural title",
"capital title",
"plural capital title"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "provides a plural sentence case section title from Wikidata label"
}
]
}
}
ayipdekgx2vabz1xztt5kikw74g8gnb
261368
261367
2026-03-28T00:37:51Z
EatingCarBatteries
61191
261368
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32839"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32839K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sentence case"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32839K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "requested language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z32841"
],
"Z8K4": [
"Z14",
"Z32840"
],
"Z8K5": "Z32839"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "plural sentence case title from Wikidata label"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"sentence case",
"section title",
"plural title",
"capital title",
"plural capital title"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "provides a plural sentence case section title from Wikidata label"
}
]
}
}
9khcwn6sgp58ko9wuscy24ro7mct5ae
261370
261368
2026-03-28T00:39:11Z
EatingCarBatteries
61191
261370
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32839"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32839K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata item"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32839K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Requested language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z32841"
],
"Z8K4": [
"Z14",
"Z32840"
],
"Z8K5": "Z32839"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "plural sentence case title from Wikidata label"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"sentence case",
"section title",
"plural title",
"capital title",
"plural capital title"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Provides a plural, sentence case HTML fragment using the connected lexeme in the provided language."
}
]
}
}
soum86olt5s5h7i0d68uyw0gd30ueev
261373
261370
2026-03-28T01:24:57Z
EatingCarBatteries
61191
261373
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32839"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32839K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata item"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32839K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Requested language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z32841"
],
"Z8K4": [
"Z14",
"Z32840"
],
"Z8K5": "Z32839"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "plural sentence case title from Wikidata label"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"sentence case",
"section title",
"plural title",
"capital title",
"plural capital title"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Provides a plural, sentence case HTML fragment from a QID using the connected lexeme in the provided language."
}
]
}
}
15hh9hbo91g8b1zfv5i2dx41lsjhb71
261392
261373
2026-03-28T06:31:06Z
EatingCarBatteries
61191
261392
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32839"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32839K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata item"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32839K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Requested language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z32841"
],
"Z8K4": [
"Z14",
"Z32840"
],
"Z8K5": "Z32839"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "plural sentence case title from Wikidata label"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"sentence case",
"section title",
"plural title",
"capital title",
"plural capital title"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Provides a plural, sentence case HTML fragment section title from a QID using the connected lexeme in the provided language."
}
]
}
}
doizv5kok9o3jn4divq2qibmf2n6o05
Z32840
0
79274
261353
2026-03-27T23:57:01Z
EatingCarBatteries
61191
261353
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32840"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32839",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z31465",
"Z31465K1": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z19260",
"Z19260K1": {
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z18",
"Z18K1": "Z32839K1"
},
"Z22696K2": {
"Z1K1": "Z18",
"Z18K1": "Z32839K2"
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sj5o815wqf2rsal5x8hlsc0msrph852
261354
261353
2026-03-28T00:04:21Z
EatingCarBatteries
61191
261354
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32840"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32839",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z31465",
"Z31465K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z19260",
"Z19260K1": {
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z18",
"Z18K1": "Z32839K1"
},
"Z22696K2": {
"Z1K1": "Z18",
"Z18K1": "Z32839K2"
}
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
lmh13e4qbjtpqathaxio2x5n29uu6hk
Z32841
0
79275
261362
2026-03-28T00:28:19Z
99of9
1622
261362
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32841"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32839",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32839",
"Z32839K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q146"
},
"Z32839K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Ch2\u003ECats\u003C/h2\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\u003Ch2\u003ECats\u003C/h2\u003E"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
9d5zpjritxirm922y87hzvvoddepyos
Z32842
0
79276
261380
2026-03-28T05:01:36Z
ChaoticVermillion
31127
created config
261380
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32842"
},
"Z2K2": {
"Z1K1": "Z14294",
"Z14294K1": [
"Z14293",
{
"Z1K1": "Z14293",
"Z14293K1": "Z32621",
"Z14293K2": [
"Z60",
"Z1002",
"Z1113",
"Z1124",
"Z1966",
"Z1199",
"Z1299",
"Z1689",
"Z1437"
]
},
{
"Z1K1": "Z14293",
"Z14293K1": "Z32831",
"Z14293K2": [
"Z60",
"Z1403"
]
}
],
"Z14294K2": "Z32831"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "config for verb describing noun sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
7ws80o4flgp5fd11778vmr0siyzen54
Z32843
0
79277
261382
2026-03-28T05:04:29Z
ChaoticVermillion
31127
created function
261382
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32843"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32843K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32843K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verb"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32843K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32843"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verb describing noun sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"[X]s [verb]",
"[X] [verb]",
"[X]s [Y]"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Makes a sentence of the form [X]s [verb] e.g. [en] \"Stars shine.\" or [la] \"stellae splendent.\""
}
]
}
}
m0x95u1hoxbpe7b9thggfz0ar4wjq7k
261386
261382
2026-03-28T05:13:05Z
ChaoticVermillion
31127
Added Z32844 and Z32845 to the approved list of test cases
261386
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32843"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32843K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32843K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verb"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32843K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32844",
"Z32845"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32843"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verb describing noun sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"[X]s [verb]",
"[X] [verb]",
"[X]s [Y]"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Makes a sentence of the form [X]s [verb] e.g. [en] \"Stars shine.\" or [la] \"stellae splendent.\""
}
]
}
}
c372u7rwmr6ui6zxfcb55nz456xo4ja
261387
261386
2026-03-28T05:16:30Z
ChaoticVermillion
31127
Added Z32846 to the approved list of implementations
261387
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32843"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32843K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32843K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verb"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32843K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32844",
"Z32845"
],
"Z8K4": [
"Z14",
"Z32846"
],
"Z8K5": "Z32843"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verb describing noun sentence"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"[X]s [verb]",
"[X] [verb]",
"[X]s [Y]"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Makes a sentence of the form [X]s [verb] e.g. [en] \"Stars shine.\" or [la] \"stellae splendent.\""
}
]
}
}
0hpibnfr5q287sdpder1eemvpay39cy
Z32844
0
79278
261383
2026-03-28T05:06:38Z
ChaoticVermillion
31127
created test
261383
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32844"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32843",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32843",
"Z32843K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q523"
},
"Z32843K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q107152168"
},
"Z32843K3": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Stars shine."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[en] Stars shine."
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
2n0h1m0sfq458kb61lcm1nylipsehbh
Z32845
0
79279
261384
2026-03-28T05:07:58Z
ChaoticVermillion
31127
created test
261384
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32845"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32843",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32843",
"Z32843K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q523"
},
"Z32843K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q107152168"
},
"Z32843K3": "Z1403"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "stellae splendent."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[la] stellae splendent."
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
7j695fosmxvk2xayqsdvmw5prcivqrq
Z32846
0
79280
261385
2026-03-28T05:12:46Z
ChaoticVermillion
31127
created implementation
261385
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32846"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32843",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z21216",
"Z21216K1": {
"Z1K1": "Z7",
"Z7K1": "Z14310",
"Z14310K1": "Z32842",
"Z14310K2": {
"Z1K1": "Z18",
"Z18K1": "Z32843K3"
}
},
"Z21216K2": {
"Z1K1": "Z18",
"Z18K1": "Z32843K1"
},
"Z21216K3": {
"Z1K1": "Z18",
"Z18K1": "Z32843K2"
},
"Z21216K4": {
"Z1K1": "Z18",
"Z18K1": "Z32843K3"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verb describing noun sentence, config composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fmf2iiq2ox43kmq7gg9encvd5b0tjkw
Z32847
0
79281
261389
2026-03-28T06:01:16Z
99of9
1622
261389
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32847"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32501",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32501",
"Z32501K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q1319599"
},
"Z32501K2": "Z1002",
"Z32501K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110022"
}
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "ice giants"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "in English a pair of ice giant: \"ice giants\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qboxp29gdjp37bjfeqyexxve7263c0u
261390
261389
2026-03-28T06:01:50Z
99of9
1622
261390
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32847"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32501",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32501",
"Z32501K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q1319599"
},
"Z32501K2": "Z1002",
"Z32501K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110022"
}
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "ice giants"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "in English a pair of ice giant: \"ice giants\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "If we can't convert from dual, it should at least work for plural."
}
]
}
}
fiicwn5dtmu5wfhekvjfzh114exju06
Z32848
0
79282
261395
2026-03-28T06:47:53Z
ChaoticVermillion
31127
created function
261395
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32848"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32848K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32848K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Class"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32848K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Location"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32848"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
1aoocal3byrtsr4giix3p81g1jbivko
261396
261395
2026-03-28T06:48:41Z
ChaoticVermillion
31127
added label
261396
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32848"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32848K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32848K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Class"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32848K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Location"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32848"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class, Latin"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bzrowyp6op0zh1qzjyvola7k4jeqvka
261402
261396
2026-03-28T07:01:48Z
ChaoticVermillion
31127
Added Z32850 and Z32849 to the approved list of test cases
261402
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32848"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32848K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32848K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Class"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32848K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Location"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32850",
"Z32849"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32848"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class, Latin"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
tjse1934ew5ay23jwyr61dgm40ig7yg
261423
261402
2026-03-28T08:28:28Z
ChaoticVermillion
31127
Added Z32851 to the approved list of implementations
261423
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32848"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32848K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32848K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Class"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32848K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Location"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32850",
"Z32849"
],
"Z8K4": [
"Z14",
"Z32851"
],
"Z8K5": "Z32848"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class, Latin"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
gn1kikj1a2kx616hwuy1mflafs7qmtp
Z32849
0
79283
261397
2026-03-28T06:50:43Z
ChaoticVermillion
31127
created test
261397
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32849"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32848",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32848",
"Z32848K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q220"
},
"Z32848K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z32848K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q38"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Roma est urbs in Italia."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"Roma est urbs in Italia.\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
2gq1qa5g9xljzpw95ymg1s5e495gi42
261399
261397
2026-03-28T06:54:24Z
ChaoticVermillion
31127
changed sentence to use genitive
261399
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32849"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32848",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32848",
"Z32848K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q220"
},
"Z32848K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z32848K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q38"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Roma est urbs Italiae."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"Roma est urbs Italiae.\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0yrnndrv5bvm1xos1s3i62d0t20nvvm
261417
261399
2026-03-28T08:15:40Z
ChaoticVermillion
31127
changed to support Roma est urbs in Italia
261417
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32849"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32848",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32063",
"Z32063K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Roma est urbs Italiae."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Roma est urbs in Italia."
}
],
"Z32063K2": {
"Z1K1": "Z7",
"Z7K1": "Z32848",
"Z32848K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q220"
},
"Z32848K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z32848K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q38"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"Roma est urbs Italiae.\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
8bzvsrm26aoogdd9t93lxw9racfwtfk
Z32850
0
79284
261398
2026-03-28T06:53:26Z
ChaoticVermillion
31127
created test
261398
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32850"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32848",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32848",
"Z32848K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q16869"
},
"Z32848K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z32848K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q41"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Constantinopolis est urbs Graeciae."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"Constantinopolis est urbs Graeciae.\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
it3log7x2fgyy6yq7jxunsi8nsar9uv
261418
261398
2026-03-28T08:17:11Z
ChaoticVermillion
31127
added support for in _.
261418
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32850"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32848",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32063",
"Z32063K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Roma est urbs Graeciae."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Roma est urbs in Graeca."
}
],
"Z32063K2": {
"Z1K1": "Z7",
"Z7K1": "Z32848",
"Z32848K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q16869"
},
"Z32848K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z32848K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q41"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Constantinopolis est urbs Graeciae."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"Constantinopolis est urbs Graeciae.\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
lhgeiu3qbiiwx48fxqz7p0yo5ii262b
261420
261418
2026-03-28T08:18:04Z
ChaoticVermillion
31127
minor edit
261420
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32850"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32848",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32063",
"Z32063K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Roma est urbs Graeciae."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Roma est urbs in Graeca."
}
],
"Z32063K2": {
"Z1K1": "Z7",
"Z7K1": "Z32848",
"Z32848K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q16869"
},
"Z32848K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z32848K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q41"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"Constantinopolis est urbs Graeciae.\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
o3t3my7cikrr5moxjoch8y7j8lmqdvu
261421
261420
2026-03-28T08:19:08Z
ChaoticVermillion
31127
i am not on a roll today
261421
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32850"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32848",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32063",
"Z32063K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Constantinopolis est urbs Graeciae."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Constantinopolis est urbs in Graeca."
}
],
"Z32063K2": {
"Z1K1": "Z7",
"Z7K1": "Z32848",
"Z32848K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q16869"
},
"Z32848K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z32848K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q41"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"Constantinopolis est urbs Graeciae.\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6du193eq5h9a1xaolj9a3s0nsm6zaxz
261424
261421
2026-03-28T08:31:04Z
ChaoticVermillion
31127
seems constantinople is constantinopolis mediaevalis in latin. okay then
261424
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32850"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32848",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32063",
"Z32063K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Constantinopolis mediaevalis est urbs Graeciae."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1403",
"Z11K2": "Constantinopolis mediaevalis est urbs in Graecia."
}
],
"Z32063K2": {
"Z1K1": "Z7",
"Z7K1": "Z32848",
"Z32848K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q16869"
},
"Z32848K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z32848K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q41"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"Constantinopolis mediaevalis est urbs Graeciae.\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
aprppi5g2ejhdax4hk0eb6iq38vw0vs
Z32851
0
79285
261401
2026-03-28T07:01:23Z
ChaoticVermillion
31127
created implementation
261401
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32851"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32848",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1403",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z32527",
"Z32527K1": {
"Z1K1": "Z7",
"Z7K1": "Z21394",
"Z21394K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z32501",
"Z32501K1": {
"Z1K1": "Z18",
"Z18K1": "Z32848K1"
},
"Z32501K2": "Z1403",
"Z32501K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
},
" est ",
{
"Z1K1": "Z7",
"Z7K1": "Z32501",
"Z32501K1": {
"Z1K1": "Z18",
"Z18K1": "Z32848K2"
},
"Z32501K2": "Z1403",
"Z32501K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
},
" ",
{
"Z1K1": "Z7",
"Z7K1": "Z850",
"Z850K1": {
"Z1K1": "Z7",
"Z7K1": "Z27410",
"Z27410K1": {
"Z1K1": "Z7",
"Z7K1": "Z27327",
"Z27327K1": {
"Z1K1": "Z18",
"Z18K1": "Z32848K3"
},
"Z27327K2": {
"Z1K1": "Z6092",
"Z6092K1": "P9970"
},
"Z27327K3": "Z1403"
},
"Z27410K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q146786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q51929074"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q192613"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q682111"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q1317831"
}
]
},
"Z850K2": "Z500",
"Z850K3": {
"Z1K1": "Z7",
"Z7K1": "Z10000",
"Z10000K1": "in ",
"Z10000K2": {
"Z1K1": "Z7",
"Z7K1": "Z32501",
"Z32501K1": {
"Z1K1": "Z18",
"Z18K1": "Z32848K3"
},
"Z32501K2": "Z1403",
"Z32501K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
}
}
},
"."
]
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class, Latin, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
r12312ihpirxrbkpdy3dfza0q72uabx
261406
261401
2026-03-28T07:06:32Z
ChaoticVermillion
31127
the implementation was looking for a verb matching Italia 🤦
261406
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32851"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32848",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1403",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z32527",
"Z32527K1": {
"Z1K1": "Z7",
"Z7K1": "Z21394",
"Z21394K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z32501",
"Z32501K1": {
"Z1K1": "Z18",
"Z18K1": "Z32848K1"
},
"Z32501K2": "Z1403",
"Z32501K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
},
" est ",
{
"Z1K1": "Z7",
"Z7K1": "Z32501",
"Z32501K1": {
"Z1K1": "Z18",
"Z18K1": "Z32848K2"
},
"Z32501K2": "Z1403",
"Z32501K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
},
" ",
{
"Z1K1": "Z7",
"Z7K1": "Z850",
"Z850K1": {
"Z1K1": "Z7",
"Z7K1": "Z27410",
"Z27410K1": {
"Z1K1": "Z7",
"Z7K1": "Z27327",
"Z27327K1": {
"Z1K1": "Z18",
"Z18K1": "Z32848K3"
},
"Z27327K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5137"
},
"Z27327K3": "Z1403"
},
"Z27410K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q146233"
}
]
},
"Z850K2": "Z500",
"Z850K3": {
"Z1K1": "Z7",
"Z7K1": "Z10000",
"Z10000K1": "in ",
"Z10000K2": {
"Z1K1": "Z7",
"Z7K1": "Z32501",
"Z32501K1": {
"Z1K1": "Z18",
"Z18K1": "Z32848K3"
},
"Z32501K2": "Z1403",
"Z32501K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
}
}
},
"."
]
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class, Latin, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
kxrsh8uopv9s60g44s0uwpmg95v0cxk
261415
261406
2026-03-28T08:11:10Z
YoshiRulz
10156
Catch relevant error type
261415
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32851"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32848",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1403",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z32527",
"Z32527K1": {
"Z1K1": "Z7",
"Z7K1": "Z21394",
"Z21394K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z32501",
"Z32501K1": {
"Z1K1": "Z18",
"Z18K1": "Z32848K1"
},
"Z32501K2": "Z1403",
"Z32501K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
},
" est ",
{
"Z1K1": "Z7",
"Z7K1": "Z32501",
"Z32501K1": {
"Z1K1": "Z18",
"Z18K1": "Z32848K2"
},
"Z32501K2": "Z1403",
"Z32501K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
},
" ",
{
"Z1K1": "Z7",
"Z7K1": "Z850",
"Z850K1": {
"Z1K1": "Z7",
"Z7K1": "Z27410",
"Z27410K1": {
"Z1K1": "Z7",
"Z7K1": "Z27327",
"Z27327K1": {
"Z1K1": "Z18",
"Z18K1": "Z32848K3"
},
"Z27327K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5137"
},
"Z27327K3": "Z1403"
},
"Z27410K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q146233"
}
]
},
"Z850K2": "Z28248",
"Z850K3": {
"Z1K1": "Z7",
"Z7K1": "Z10000",
"Z10000K1": "in ",
"Z10000K2": {
"Z1K1": "Z7",
"Z7K1": "Z32501",
"Z32501K1": {
"Z1K1": "Z18",
"Z18K1": "Z32848K3"
},
"Z32501K2": "Z1403",
"Z32501K3": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
}
}
},
"."
]
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class, Latin, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
t7mb0m95aqp4l4y099zpv2q7qusvonk
Z32852
0
79286
261403
2026-03-28T07:02:51Z
EatingCarBatteries
61191
261403
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32852"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32852K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Taxa"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32852"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Rank of taxa as monolingual string"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
962kmgsbfo0lv4pi480ojcmno7gqsw1
261404
261403
2026-03-28T07:03:26Z
EatingCarBatteries
61191
261404
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32852"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32852K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Taxa"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32852"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Rank of taxa as string"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
q0cg4exp319eglg2lp0idhwh3jqku67
261405
261404
2026-03-28T07:04:15Z
EatingCarBatteries
61191
261405
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32852"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32852K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Taxa"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z32852K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Language"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32852"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Rank of taxa as string"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
8djpajh28nkq7onf1q348zska1hmj7n
Z32853
0
79287
261407
2026-03-28T07:07:15Z
EatingCarBatteries
61191
261407
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32853"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32852",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26039",
"Z26039K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P225"
},
"Z21449K2": {
"Z1K1": "Z18",
"Z18K1": "Z32852K1"
}
},
"Z26039K2": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P105"
},
"Z21449K2": {
"Z1K1": "Z18",
"Z18K1": "Z32852K1"
}
},
"Z26039K3": {
"Z1K1": "Z18",
"Z18K1": "Z32852K2"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0rxd7s2w0mu6y3k4lkoadfz2b9m1xrh
261411
261407
2026-03-28T07:36:06Z
EatingCarBatteries
61191
261411
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32853"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32852",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26039",
"Z26039K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P225"
},
"Z21449K2": {
"Z1K1": "Z18",
"Z18K1": "Z32852K1"
}
},
"Z26039K2": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P105"
},
"Z21449K2": {
"Z1K1": "Z18",
"Z18K1": "Z32852K1"
}
},
"Z26039K3": {
"Z1K1": "Z18",
"Z18K1": "Z32852K2"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Rank of taxa as String implementation"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0ygh55a5hbrfhyuhtousss23r1f56hk
Z32854
0
79288
261412
2026-03-28T07:53:57Z
ChaoticVermillion
31127
created test
261412
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32854"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32852",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32852",
"Z32852K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q19088"
},
"Z32852K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "kingdom"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Eukaryota is a kingdom"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
m3iq2tsi9j0qkdhhnd8iwbx5h2be2v0
261413
261412
2026-03-28T07:55:11Z
ChaoticVermillion
31127
i would not pass biology
261413
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32854"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32852",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32852",
"Z32852K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q19088"
},
"Z32852K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "domain"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Eukaryota is a domain"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0sapimcuwsfzd8zknc9s9sn6oty9gy5
261414
261413
2026-03-28T08:00:16Z
ChaoticVermillion
31127
changed test
261414
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32854"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32852",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32852",
"Z32852K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q19088"
},
"Z32852K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "Eukaryota is a domain."
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Eukaryota is a domain"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
970tffeud0jvu44qchmbn8x9avjfk8a
Z32855
0
79289
261427
2026-03-28T08:39:48Z
Ainali
17
261427
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32855"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "entitet"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "typ"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "location"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "plats"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z32855"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Ange plats med entitet och typ, svenska"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class, Swedish"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
dxukw8u36qvjjqpie89iy6bqj0mcm9c
261431
261427
2026-03-28T09:43:43Z
Ainali
17
Added Z32858 to the approved list of implementations
261431
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32855"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "entitet"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "typ"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "location"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "plats"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z32858"
],
"Z8K5": "Z32855"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Ange plats med entitet och typ, svenska"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class, Swedish"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
174ovuiwlqxmacrpyn1ylaj03fupf8i
261432
261431
2026-03-28T09:43:47Z
Ainali
17
Added Z32856 och Z32857 to the approved list of test cases
261432
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32855"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "entitet"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "typ"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "location"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "plats"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32856",
"Z32857"
],
"Z8K4": [
"Z14",
"Z32858"
],
"Z8K5": "Z32855"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Ange plats med entitet och typ, svenska"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class, Swedish"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
q1stzlm7mlzbwacm2buoj8gyzjbi03y
Z32856
0
79290
261428
2026-03-28T08:42:07Z
Ainali
17
261428
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32856"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32855",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32855",
"Z32855K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q1754"
},
"Z32855K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z32855K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q34"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Stockholm är en stad i Sverige."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "\"Stockholm är en stad i Sverige.\" [sv]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4x4f2dfu3s78hchej43rf7m907zpzcz
Z32857
0
79291
261429
2026-03-28T09:28:28Z
Ainali
17
261429
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32857"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32855",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32855",
"Z32855K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q34"
},
"Z32855K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z32855K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q46"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Sverige är ett land i Europa."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "\"Sverige är ett land i Europa.\" [sv]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4g7eosi4diu2fz5r8c3is2c3lpoav8s
Z32858
0
79292
261430
2026-03-28T09:43:01Z
Ainali
17
261430
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32858"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32855",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1592",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z22511",
"Z22511K1": {
"Z1K1": "Z7",
"Z7K1": "Z12899",
"Z12899K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z32855K1"
}
},
"Z23468K2": "Z1592"
},
"är",
{
"Z1K1": "Z7",
"Z7K1": "Z30349",
"Z30349K1": {
"Z1K1": "Z7",
"Z7K1": "Z19285",
"Z19285K1": {
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z18",
"Z18K1": "Z32855K2"
},
"Z22696K2": "Z1592"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z32855K2"
}
},
"Z23468K2": "Z1592"
},
"i",
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z32855K3"
}
},
"Z23468K2": "Z1592"
}
],
"Z12899K2": " "
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "ange plats med entitet och typ, sv, komposition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
areo3bcs4z90b0oidzfqntwsr79nl5d
261493
261430
2026-03-28T11:57:18Z
Ainali
17
261493
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32858"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32855",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1592",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z22511",
"Z22511K1": {
"Z1K1": "Z7",
"Z7K1": "Z12899",
"Z12899K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z32855K1"
}
},
"Z23468K2": "Z1592"
},
"är",
{
"Z1K1": "Z7",
"Z7K1": "Z26791",
"Z26791K1": {
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z18",
"Z18K1": "Z32855K2"
},
"Z22696K2": "Z1592"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z32855K2"
}
},
"Z23468K2": "Z1592"
},
"i",
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z32855K3"
}
},
"Z23468K2": "Z1592"
}
],
"Z12899K2": " "
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "ange plats med entitet och typ, sv, komposition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
nbhqtv0x5gh8edhev7e3k8uw8ll7x19
261494
261493
2026-03-28T11:57:49Z
Ainali
17
261494
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32858"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32855",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1592",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z22511",
"Z22511K1": {
"Z1K1": "Z7",
"Z7K1": "Z12899",
"Z12899K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z32855K1"
}
},
"Z23468K2": "Z1592"
},
"är",
{
"Z1K1": "Z7",
"Z7K1": "Z30349",
"Z30349K1": {
"Z1K1": "Z7",
"Z7K1": "Z19285",
"Z19285K1": {
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z18",
"Z18K1": "Z32855K2"
},
"Z22696K2": "Z1592"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z32855K2"
}
},
"Z23468K2": "Z1592"
},
"i",
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z32855K3"
}
},
"Z23468K2": "Z1592"
}
],
"Z12899K2": " "
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "ange plats med entitet och typ, sv, komposition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
areo3bcs4z90b0oidzfqntwsr79nl5d
Z32859
0
79293
261448
2026-03-28T10:34:56Z
ChaoticVermillion
31127
created new implementation
261448
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32859"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23753",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K1": {
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z23753K1"
}
},
"Z23468K2": {
"Z1K1": "Z18",
"Z18K1": "Z23753K2"
}
},
"Z866K2": ""
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z23753K1"
}
},
"Z23468K2": "Z1360"
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z23753K1"
}
},
"Z23468K2": {
"Z1K1": "Z18",
"Z18K1": "Z23753K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "label of QID in language, fallback to mul, comp."
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bbah0ngjjk12hnpba4kdkcnagiauvmf
Z32860
0
79294
261449
2026-03-28T10:38:49Z
ChaoticVermillion
31127
added test
261449
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32860"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z23753",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q1035755"
},
"Z23753K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "NGC 214"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "en-label of Q1035755 falls back to NGC 214"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
3unmlwhjsrfgajqp4p0xqcaujr0wuof
Wikifunctions:Catalogue/Natural language operations/Hebrew
4
79295
261467
2026-03-28T11:02:32Z
EJPPhilippines
9359
Created page with "* {{Z+|Z32160}} [[Category:Lists of functions]] [[Category:Hebrew]]"
261467
wikitext
text/x-wiki
* {{Z+|Z32160}}
[[Category:Lists of functions]]
[[Category:Hebrew]]
c5fm9a7jqv3rxk4ain2ejoz9iwd504l
Wikifunctions:Catalogue/Natural language operations/Portuguese
4
79296
261472
2026-03-28T11:06:42Z
EJPPhilippines
9359
Created page with "* {{Z+|Z32225}} [[Category:Lists of functions]] [[Category:Portuguese]]"
261472
wikitext
text/x-wiki
* {{Z+|Z32225}}
[[Category:Lists of functions]]
[[Category:Portuguese]]
qpcbzxem6wj027ar4gblw9spr2p9kib
Talk:Z26092
1
79297
261474
2026-03-28T11:07:33Z
Redmin
52094
/* First letters should not always be capitalised */ new section
261474
wikitext
text/x-wiki
== First letters should not always be capitalised ==
Consider [[w:abstract:Q966109|Q966109]] for example, the name of the software is entirely in lowercase so the generated sentence having the first letter of that name capitalised is wrong. Perhaps there should be a new condition to check whether the entity is a software, an organisation and the like to decide whether the first letter should be capitalised? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 11:07, 28 March 2026 (UTC)
hj0yqq4q4ufeeu2twmxblhry4fja9cm