Wikifunctions wikifunctionswiki https://www.wikifunctions.org/wiki/Wikifunctions:Main_Page MediaWiki 1.47.0-wmf.3 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 Wikifunctions:Project chat 4 1184 277500 277059 2026-05-23T16:09:37Z Dv103 11127 /* How to handle items without lexemes */ new section 277500 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __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/ }} == "language" argument for certain functions == Hello. I am relatively new to Wikifunctions. Recently, I tried to create functions for Chinese translation of {{Z|Z26570}} and {{Z|Z26095}} (which became [[Z32788]] and [[Z32900]]). During the creation of these functions, I was trying to take {{Z|Z32212}} as reference. And I realized that the defining role sentence function is taking <code>language</code> as an argument (and the test case of the Chinese-language function already contains two varieties of Chinese). This makes it possible to output monolingual text in <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code>, or any varieties of the language. I think for this reason, it is better to have <code>language</code> as arguments for the implementation of Z26570 and Z26095, and potentially more functions that require {{Z|Z14294}}, since it would output the varieties code instead of just saying <code>zh</code> for <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code> in the output of type {{Z|Z11}}. I am not sure how the fallback mechanism works if one of the language (varieties) do not have a labels/lexemes, but to me, it is reasonable to have a <code>language</code> argument. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:38, 31 March 2026 (UTC) :The functions you mention do have a language argument. For Wikifunctions, the {{Z|Z60}} can be at a higher or lower level; whether a {{Z|Z11}} is for a language or a variant is determined by the function that constructs it. Please see {{Z|Z26565}} for an example and feel free to add test cases in Chinese. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:54, 11 April 2026 (UTC) ::Hello @[[User:GrounderUK|GrounderUK]], thanks for the answer. I understand that whether {{Z|Z11}} is for a language or a variant depends on the function. But that is exactly what I am asking for. It is true that [[Z26570]] and [[Z26095]] takes [[Z60]] as argument, but the language-specific functions in {{Z|Z29843}} and {{Z|Z26096}} don't. ::Let me give you an example: INPUT to [[Z26570]]: <code>entity</code>: Tokyo, <code>class</code>: city, <code>location</code>: Japan, <code>language</code>: zh-cn, the config would select [[Z33030]] (created after my previous comment by elseone) as the implementation, and it would RETURN 东京是日本的一个城市。(zh-hans), which is not zh-cn as requested in the INPUT. It would also be using the term not for the variant (when it is different) because it is hardcoded to use the term in zh-hans. However, if we have the implementation like [[Z32790]] (which was created by me but a natural language argument was added by elseone) or [[Z32213]] (that works in the defining role sentence function because of the extra argument), it could cater for different variant. ::If we don't have the language argument in the language-specific function, the desire for article creation on Abstract Wikipedia would be to create a function for every variant. Is it then better to create functions for every variant? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:18, 11 April 2026 (UTC) :::I forgot to mention that there are some hardcoding in {{Z|Z32790}} as well, but I cannot fix it because it is a connected function and I am not a functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:31, 11 April 2026 (UTC) ::::Okay, I think it’s safe to disconnect this one as the function is not yet configured for use on Abstract Wikipedia. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:04, 11 April 2026 (UTC) :::Ah, sorry… I misunderstood you. I agree that the called function should be able to accept the original language argument. That is simpler in theory than in practice, because the configured functions all have to have the same argument types, as I understand it. I’m not sure which the best approach is, really, but we probably want to avoid two levels of configuration. That suggests that all language-specific functions would need to accept the additional argument, which is unrewarding work for someone. @[[User:99of9|99of9]], @[[User:Jdforrester (WMF)|Jdforrester (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] Any thoughts? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:57, 11 April 2026 (UTC) ::::I mean, we would need to modify all the functions in each language, which could take some time. But we are still in an early stage. If we don't fix it now and we want to fix it later, it would be a disaster. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 19:25, 11 April 2026 (UTC) :::::Agreed. And we probably want them converted to HTML too, with separate language spans for text in different languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 11 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]: This sounds like a reasonable change to make. Note that (given these Functions are primarily for use on Abstract Wikipedia), altering/replacing them to return Z89/HTML fragments is already a desired but breaking change, so making a second breaking change at the same time is probably easiest for fixing things swiftly. That said, that's of course a decision for the Abstract Wikipedia and Wikifunctions communities, not me! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:43, 12 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]@[[User:Sun8908|Sun8908]] to make it a non-breaking change, I've created {{Z|Z34039}} which allows a composition {{Z|Z34043}}. This way you can make functions which either need the specified variant or don't! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:52, 24 April 2026 (UTC) :I have now created {{Z|Z33465}}, which is an implementation of [[Z26570]]. Maybe we can migrate to use that function when more (language-specific) functions for it are ready? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:19, 14 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. 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]]) 09:54, 25 April 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=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) ::::If you go to [[d:Special:NewLexeme]] and put in [[d:Q727694]] as the language, it is going to tell you it has an unrecognized language code. So I believe "cmn" should not be a {{Z|Z60}} by default? I also started [[d:Wikidata:Project_chat#Lexemes_with_language_Standard_Chinese_(Q727694)|a discussion on WD]] regarding this. I guess we can still use it as a fallback language though if possible. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 03:43, 7 May 2026 (UTC) ::::We don't have a separated <code>cmn</code> BCP 47 language subtag in MediaWiki and Wikidata at the moment. <code>zho</code> and <code>chi</code> are ISO 639 language codes but not BCP 47 language subtags. ::::For Modern Standard Mandarin, please use <code>zh-*</code> language tags for now. -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 15:26, 8 May 2026 (UTC) == Key not found error == Is there a reason why I am getting key not found error for this [[Z34677|function]] {{Z|Z34677}}? All the underlying functions run and all the test cases work. The debug information does not give more details. Any pointers? Thanks in advance [[User:Jsamwrites|John Samuel]] 19:24, 1 May 2026 (UTC) :It was passing the [[Z6091]] to {{Z|34641}} when that takes a [[Z6001]]. I've fixed that, but there's some other problem with the logic, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:42, 1 May 2026 (UTC) ::@[[User:YoshiRulz|YoshiRulz]] Thanks a lot. [[User:Jsamwrites|John Samuel]] 20:21, 1 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #246 is out: Request for input: what should we count for Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we ask you what would be the relevant metrics for Abstract Wikipedia, we discuss our latest news on 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]]) 12:21, 2 May 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=30325620 --> == Any formal process for deletion of pages == Does a formal process exist for the deletion of functions, implementations, and tests that includes a notification system for creators, analogous to Wikidata’s process, explaining the rationale behind the deletion (or proposal for deletion)? [[User:Jsamwrites|John Samuel]] 12:36, 3 May 2026 (UTC) :Does [[Wikifunctions:Requests for deletions]] work? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 13:00, 3 May 2026 (UTC) :Please see the discussion at [[Wikifunctions talk:Requests for deletions#Should we expect Objects' creators to get pinged on deletion proposals?]]. :As I see it, it is the proposer’s responsibility to consult appropriately before making a request and we expect our administrators to act only when satisfied that appropriate consultation has occurred. In many cases, no consultation is required. Administrators may delete their own contributions without making a request, but this is not a practice I would encourage. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:51, 3 May 2026 (UTC) == Implementation of rational number in JS doesn't match in Z19677 (Rational number) and Z28579 (RGBA colour) == In {{Z|19677}} it's <syntaxhighlight lang=js> { "K1": sign * numerator, "K2": denominator } </syntaxhighlight> but in {{Z|28579}} it's <syntaxhighlight lang=js> [ sign * numerator, denominator ] </syntaxhighlight> '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 05:15, 4 May 2026 (UTC) :I'm guessing this is why [[Z34743]] fails all the tests. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 01:00, 18 May 2026 (UTC) == Nested functions in compositions == I wish it will be easier to a add another function about a specific existing function in a function implementation based on a composition. When I write long functions in spreadsheets I usually stat with a small part and then I try to go further and after important steps I test if the output is as expected. I created [[Z34826]] to get the German gender specific occupation lexeme for a specific person based on their gender. I wanted to add a function around the existing one and it was not successful. It is not very easy to implement as it requires the possibily to move a part to another section but I think it can be helpful if it will be implemented. So far I spend more time as expected on the function. Describing it with words what the function needs to do is much easier than implementing it here in Wikifunctions. So I think there needs to be improvement to make Wikifunctions more accessible. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:10, 5 May 2026 (UTC) :Have you tried to use the copy-paste functionality? It is very useful to move parts of composition arounn. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:12, 6 May 2026 (UTC) :I've also found the composition editor to be wholly unsuitable for any expressions more than a few levels deep. (Even with the <code>localStorage</code> clipboard, because of its overzealous type checks.) Compositions naturally grow out from the "leaves", the immediate operations on the inputs, while the interface really wants you to build from the "root". I mostly use the [https://yoshirulz.gitlab.io/WikiLambdaBlockly drag-and-drop block editor] which I made to smooth over some of the site's problems, so if you want to try that out and give me some feedback I'd appreciate it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:36, 6 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #247 is out: References from Wikidata now available == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce that is now possible to pass references in Wikidata statements, we introduce the [https://abstract-data.toolforge.org/ Abstract Data dashboard], we report you on the presentation about Abstract Wikipedia at WikiCon Australia, 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]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1778520600 May 11, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:16, 8 May 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=30325620 --> == RGBA colour, spelling... == Something that has always irked me a little bit is the spelling of [[Z28579|RGBA colour (Z28579)]]. I guess this is not unsurprising for me considering my use of US English but I think there is more to it than preference and I want to try to argue for it being changed to use American spelling. I know that this probably has a snowball's chance in hell of actually garnering any support, so I won't really be miffed if the spelling remains as it is, but I thought it wouldn't hurt to raise this regardless. The main issue I have with it is the spelling of the original proposal. When infernostars raised the [[Wikifunctions:Type proposals/RGBA color|type proposal]], the spelling was 「RGBA color」. Of the comments that mentioned the word 「colo[u]r」, two used British spelling while six used the American spelling as used in the proposal. The only thing that really pointed to the use of ''colour'' was the fact that the catalog page on color functions used that spelling already. For all intents and purposes, the spelling of the original proposal should have been maintained, but it was not; [[User:DVrandecic (WMF)|DVrandecic]], the eventual creator of the type, used a different spelling. It should be noted that there was really no reason for this to occur and while it is an undoubtedly minor issue I still believe it should be rolled back and the type should use the spelling of the original proposal and majority of editor comments. In [[abstract:Q936|OpenStreetMap]], there have been keyvalue proposals that have had the finalized spelling that gets put to use be in British English despite the original proposal being in American English; this has usually occurred with proposals relating to 「X center/centre」 tags. This makes sense on the surface, because OpenStreetMap is maintained by a UK organization, and still has close ties to Europe. The Wikimedia Foundation, however, is an ''American'' company. This is often brought up as a fallible argument when debating article spelling on the English Wikipedia, and I don't bring it up to support that 「RGBA color」 should be used for that exact reason, but rather to state that OpenStreetMap's general policy on tag names need not apply here. It appears to me that, at least initially, the majority of 「core contributors」 to Wikifunctions used British English; I can name YoshiRulz, 99of9, GrounderUK, and VIGNERON.<ref group="color">I'm avoiding linking to these folks because I don't think pinging them about this discussion is all too necessary unless they themselves want to be involved; I don't want to clutter their inboxes just to briefly mention them. I pinged Denny because, well, I'm asking him a question directly, but everyone else I would prefer to join this discussion by their own accord... not that I wish for this decision to be confused as me going 「these people use British English so they will probably oppose my idea, I won't invite them to the discussion because of that」...no, I promise you that is not the reason.</ref> I see (or saw) these people ''everywhere'', so it makes sense that British English has prevailed in some sorts on this website, but I don't think that indicates that it should be the ''preferred'' spelling across the website, at least not to the point where a proposal should have its name changed to match such a "consensus".<ref group="color">It could be argued that the front-and-center ''Function catalogue'' using 「catalogue」 is actually indicative of such a "consensus", but ''catalogue'' is in a similar position to the word ''grey'' where I live (that is, the US) in that it is used just as often as its American counterpart. Also, consider Wiktionary's ''Beer parlour'' project chat.</ref> The unnecessary modification of the original spelling is my main argument for changing it back... but of course, I must obligatorily state that on English Wikipedia, it is [[w:Color|Color]] and [[w:RGBA color model|RGBA color model]]; on Wikidata, it is [[d:Q1075|color]] and [[d:Q2325624|RGBA color space]]; in CSS (which typically uses hexadecimal triplets to specify RGBA values), the properties are <code>color</code>, <code>background-color</code>, etc.; bit of a weak jab, but on Schema.org it is [https://schema.org/color color], [https://schema.org/colorSwatch colorSwatch]; et cetera. {{Z|Z28580}} uses ''color'', so does {{Z|Z28591}} and its Python counterpart. Mr. Vrandečić, I have to ask, I'm rather confused... you created the color type using British English spelling, but you were also responsible for the creation of the equality function which uses the American English spelling. You also seem to be writing in American English for the status updates, judging by your use of -''ize'' over -''ise'' endings and use of ''program'' over ''programme'' in [[Wikifunctions:Status updates/2026-04-16]]. Is there something I'm missing or have you switched your preferred variant somewhere along the way? Anyways, do consider this if you wish... again, I don't suppose this will garner much support, it is the ''non-issuest'' of ''non-issues'', but it has irked me to the point where I want to ask about it to get some answers, if nothing else. I am not arguing for every other color function to have its name changed, just the type itself. <references group="color"></references> &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:04, 8 May 2026 (UTC) :This is a multilingual project; the <code>en</code> label is <code>RGBA colour</code> and the <code>en-us</code> label is <code>RGBA color</code>. Though I'm not able to switch to <code>en-us</code> via the language picker so that would need to be fixed.<!-- --><br>edit after reading your whole comment: The same is true of {{Q|1075}}, there are labels specified for multiple English variants. (In {{Q|2325624}} it's only an alias.) I agree that other websites' choices aren't binding on us, but from that, I conclude that the more widespread British/Commonwealth spellings should be used for the generic <code>en</code>. As for myself, I'm Aussie and I will continue to use the BrE spellings ([[w:en:Oxford_spelling#Language_tag_comparison|+ "routing"]], TIL) if only by muscle memory.<!-- --><br>[[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:42, 8 May 2026 (UTC) :: Your lattermost point would normally be fine in a perfect world. Wikipedia's <code>convert</code> function defaults to "international" English, which I don't personally take issue with because it happens that we here in America are actually outliers for saying and spelling things differently... err, or we were for a while at least, nowadays it seems like an even split (plus you have "yield" vs. "give way" which is effectively the logical opposite of US's use of "meter" over "metre"). :: However, this is not a perfect world, and I don't think <code>en</code> should correspond to any particular variant. It is too fragmented across all software at this point to impose such a requirement. The inability to switch to <code>en-us</code> on this website foregoes an easy and simple solution to this problem that makes everyone happy, because the yanks (such as myself) can't be happy because we can't see the labels in American English even if we wanted to, and the other folk can't switch either as far as I'm aware (and the en-CA and en-GB languages in the preferences page seems to be deprecated). My point being, <code>en</code> is abused to mean "en-UK" just as often as it is abused to mean <code>en-US</code>; I think a decision shouldn't be made on such an assumption of one "default". &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:48, 12 May 2026 (UTC) :Hi @[[User:Theki|rae]]! I have no opinion nor preference on this, and given my background, I am just entirely confused about my spelling preferences myself, as you can tell from my inconsistent usage. I learned British English in school and used that for maybe two decades or so, but moved to the US and lived there for more than a decade, enough to be naturalized, but now I am back in Europe and I am technically a professor at King's College London, soooo.... honestly, I do not know. I don't remember having put too much thought into it at the moment I created it. The good thing is that in Wikifunctions, just as in Wikidata, it is easy to change, without messing things up too much (unlike in Wikipedia), so my suggestion is, just make the change, see if anyone complains, and if they do, discuss it more. I don't know if there is a guideline already in Wikifunctions about the variants. I am happy either way, and honestly, I keep forgetting which variant is which most of the time. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 18:16, 10 May 2026 (UTC) :: I can definitely understand this, although I am unfortunately rather passionate about any minutiae involving preferential minor differences in ''anything'', of which AmE vs. BrE chiefly is. So I dedicate a lot of headspace to it. More than I should. Not that I wish to imply that the comment above that I have wrote is of an irrational nature, or done out of spite or pure emotion and subjectivity; I do genuinely believe that ''RGBA color'' is beyond just a personal preference and is just logical. I may boldly go and change it, but for some reason I was expecting that changing the English label of a Type would require elevated permissions, and I also didn't want to do it only to get immediately reverted because it ''did'' strike a chord with someone, when I could instead see how apathetic, supportive, or in opposition interested people are beforehand and ''then'' act accordingly. I was not meaning to antagonize you over your spelling habits, I did actually use British English for a few years starting in 2020 before I went back to American English, so I'd be a hypocrite for me to decry you for not always sticking to some arbitrary standard of spelling words over the other. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:55, 12 May 2026 (UTC) :Although I spell it “colour”, I think it makes more sense to use “color” for the type, since that is almost always the required spelling when the string functions as a keyword. :More generally, though, Wikidata’s lexicographic data happens to favour “colour” over “color” and (quite rightly, in my view) lacks a specific representation for "en". This is unusual, in my experience, as "en" is widely misused in place of "en-US", where there are recorded spelling differences. :(I would also say it is standard British English to use “program” in a programming context and “programme” elsewhere. Use of -ize rather than -ise is a matter of personal preference or house style, but regional autocorrect encourages -ise.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:00, 12 May 2026 (UTC) :: ''Wikidata’s lexicographic data happens to favour “colour” over “color” and (quite rightly, in my view) lacks a specific representation for "en"'' :: Definitely agreeing with you on the latter being a good choice. However, I suspect the favoring of "colour" over "color" may be because, in terms of language codes, when sorted alphabetically <code>en-us</code> actually comes ''after'' <code>en-gb</code>. Although, the frontend seems to be sorting <code>en-ca</code> after <code>en-gb</code>, so I don't actually know how correct that is. :: ''I would also say it is standard British English to use “program” in a programming context and “programme” elsewhere'' :: The context of the spelling was "''No program for the NLG SIG meeting for next Tuesday has been proposed''". In that usage context, I think it makes sense to assume that ''program'' is not being used to refer to a computer program, but to a ''program of events'' or similar, something that you would spell as a ''programme'' in British English. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 12 May 2026 (UTC) :{{s}} this. I'm obviously biased but I believe American English is preferable generally, American dominance on the internet (our Department of Defen'''s'''e invented it!) and rapidly-increasing consumption of American media by international English speakers means that more people use American English's conventions, this is clear through for example [http://trends.google.com/explore?q=color%2Ccolour&date=all&geo=Worldwide search trends] (though they aren't particularly reliable). Perhaps this is a bit of a supremacist opinion, but we should have internal consistency, and if we must choose, American English should be our first choice (then Indian and then British English) [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:10, 12 May 2026 (UTC) :: This is rather flawed reasoning, though. I think probably any given British or Indian person would not agree on using that as the reasoning for this, not that you are necessarily ''completely wrong'', but if this is not a good enough reason for English Wikipedia's (admittedly extremely flawed) ''ENGVAR'' policy then I don't think it's likely it will pass here either. :: Although of note is that [https://books.google.com/ngrams/graph?content=color%2Ccolour&year_start=1800&year_end=2022&corpus=en&smoothing=3&case_insensitive=true Google ngrams] agree with you, but "color" vs. "colour" is an eternal holy war that will not be won by demonstrating that more books use US spelling over Commonwealth spelling. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:44, 12 May 2026 (UTC) :::You're probably right that it's not very sound. I'm biased in that other varieties of English irk me, and that's probably mutual for people who are used to other varieties of English when they read what I write! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:56, 12 May 2026 (UTC) :I've decided to boldly [[Special:Permalink/274271|make the change]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:02, 12 May 2026 (UTC) :: Thank you. Considering both you and GrounderUK seem to consider it an okay change, I think this will do for now. :: I should note that the matter of whether to move [[Wikifunctions:Catalogue/Colour functions]] in response to this (however this discussion will ultimately turn out) is a whole other can of worms, in my view. I can't say I have an opinion on that at the moment, but I'm putting it out there regardless. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:06, 12 May 2026 (UTC) :::Personally, I'm in favor of moving the page and renaming all of the items on it. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:10, 12 May 2026 (UTC) ::I don't like this (exactly because of the American hegemony you cited), but again, it shouldn't matter because the software is meant to be multilingual. Clearly there's a bug preventing you from picking an English variant/dialect as your display language. But the search bar and Function/Type autocompletion do check the English variants for matches. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:15, 12 May 2026 (UTC) == Proposals on the architecture of Abstract Content rendering == Starting from a discussion born on the Telegram chat, I've explained two different proposals on how the NLG on Abstract Wikipedia should be organized in the page [[abstract:User:Dv103/Abstract articles architectures]]. Please come to contribute to the discussion, or to propose alternatives. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:31, 11 May 2026 (UTC) :Thank you for dedicating your time to writing this, it is very informative. I will try to add input once I'm not in over my head with finals. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:27, 12 May 2026 (UTC) == Display function for HTML fragment == Currently, any collapsed Z89 literal appears as<blockquote>&lt;&gt; [[Z89|HTML fragment]]</blockquote>If I were to create a new Function which returned something like<blockquote>&lt;&gt; 123-byte HTML fragment <q><nowiki><td><span lang=</nowiki>&hellip;</q></blockquote>could that be connected to replace the collapsed form, or would it require changes to the Wikilambda software? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 16:14, 11 May 2026 (UTC) :It might work, but I doubt it. Those angled brackets suggest that the collapsed form is not simply defaulting to the type’s label. Looking at [[:phab:T410509]], I’ve concluded that enhancements to the collapsed form were never considered, rather than being actively rejected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:12, 12 May 2026 (UTC) ::[[:Phab:T391985]] documents the original design. Note the fifth bullet point under “Acceptance criteria”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:21, 12 May 2026 (UTC) :I'm not sure the byte-size is necessary, but the outer tag (or first outer tag, though generally I'd prefer most fragments use a wrapper tag if it needs multiple like JSX does, but that's a whole different topic) would be nice. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:51, 12 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #248 is out: A higher meaning == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss functions creating language fragments, we present our latest news in Types, 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]]) 14:36, 15 May 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=30536976 --> == [[Z34510]] == This function, which determines if a Wikidata item for a {{q|5}} has an undeprecated {{p|21}} statement of {{q|6581097}}, returns false for {{q|173399}}, a transgender man. This is because his item assigns his P21 statement to {{q|2449503}}, not {{q|6581097}}. I'm not sure how to account for this discrepancy. Should {{z|34510}}: # Include {{q|2449503}} as a value that can lead to a true result, # Not include {{q|2449503}} as a value that can lead to a true result, while another function (e.g., "Q5 is a man?") could return true for either "male" or "trans man", # Not include {{q|2449503}} as a value that can lead to a true result, while another function (e.g., "Q5 is a trans man?") could return true for "trans man", # Not exist at all? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 16:48, 16 May 2026 (UTC) :I can't think of a single use case where you would need to determine if a person is a cisgender man and nothing else. Functions are good for generalizing across multiple possibilities when they exist, so I think it would be best if trans men were considered a part of the criteria for returning a true value. If asking for specifically {{q|6581097}}s and ''nothing'' else was desired then the function name would be a misnomer as Elliot Page is inarguably a male (at least in the view of most reasonable and intelligent people). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 19:03, 16 May 2026 (UTC) :You made the function in the first place; what were you planning on using it for? AW? Maybe it should return a {{Z|25501}} which can then be passed on to other NLG functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:01, 16 May 2026 (UTC) == Lexeme from wikidata label, or "best" lexeme from wikidata item == I was looking into fixing [[Z28028]]. I found that I could add "requires grammatical feature: definite article" to "United Kingdom" (L8558). Now I'm stuck on how to get to that lexeme from {{Q|145}}. There's [[Z23471]], but that for very good reason gives you multiple lexemes with the same sense, and I just want the best one like how the label is always the best string. Is there a function that can do this? There's definitely the case of a Wikidata label that isn't a lexeme (most commonly multiple lexemes) but I'm only considering the case where it is one lexeme here. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:02, 16 May 2026 (UTC) :There is {{Z|Z27327}}, that tries to give the best lexeme through various heuristics. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 22:22, 16 May 2026 (UTC) :: Wonderful! I did stumble upon [[Z33818]] but this is perfect. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:25, 17 May 2026 (UTC) == [[Z29591]] isn't working for me == For instance, trying to manually put in the exact inputs for one of the test cases just returns an empty Monolingual text. See [https://www.wikifunctions.org/wiki/Z29591?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29591%22%2C%22Z29591K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q3257809%22%7D%2C%22Z29591K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q21264361%22%7D%2C%22Z29591K3%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q22006653%22%7D%2C%22Z29591K4%22%3A%22Z1002%22%7D]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 01:17, 17 May 2026 (UTC) :You used [[:d:Q22006653]] rather than [[:d:Q1075]]. It looks like the [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30784%22%2C%22Z30784K1%22%3A%7B%22Z1K1%22%3A%22Z11%22%2C%22Z11K1%22%3A%22Z1002%22%2C%22Z11K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z21394%22%2C%22Z21394K1%22%3A%5B%22Z6%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22664%22%2C%22Z22664K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q22006653%22%7D%2C%22Z22664K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q21264361%22%7D%2C%22Z22664K3%22%3A%22Z1002%22%7D%5D%7D%7D%7D explanatory error] is suppressed by the [https://www.wikifunctions.org/view/en/Z30009?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30009%22%2C%22Z30009K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30784%22%2C%22Z30784K1%22%3A%7B%22Z1K1%22%3A%22Z11%22%2C%22Z11K1%22%3A%22Z1002%22%2C%22Z11K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z21394%22%2C%22Z21394K1%22%3A%5B%22Z6%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22664%22%2C%22Z22664K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q22006653%22%7D%2C%22Z22664K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q21264361%22%7D%2C%22Z22664K3%22%3A%22Z1002%22%7D%5D%7D%7D%7D%2C%22Z30009K2%22%3A%22Z801%22%7D final transformation]. The returned result is not actually empty; if you expand it, you can see that it is an unresolved function call. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:59, 17 May 2026 (UTC) == [[Z35298]] == Does anyone know what the problem with this implementation is? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:14, 18 May 2026 (UTC) :There is a bug that doesn't allow Python implementation to return nested lists. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 05:31, 19 May 2026 (UTC) ::Is there a Phabricator task for this? Searching through them is hell. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 03:22, 20 May 2026 (UTC) :::A bit of time ago I opened [[phab:T392750]], which is very similar to this issue. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 05:26, 20 May 2026 (UTC) == May 2026 Wikimedia Café meetups regarding the Wikimedia Foundation Annual Plan == <div class="border-box" style="background-color: var(--background-color-warning-subtle, #f8eaba); max-width: 875px; padding: 5px; border: 1px solid black; margin: 5px; color: var(--clr-dark)"> <div class="box" style="float:left; padding-top: 15px; padding-right: 15px;">[[File:Wikimedia Café logo in plain SVG format.svg|75px|alt=The logo for the Wikimedia Café]]</div> Hello! There will be two '''[https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9 Wikimedia Café]''' discussion opportunities during the last weekend of May. Both sessions will focus on the [https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2026-2027 the 2026-2027 Wikimedia Foundation Annual Plan]. Participants may attend either or both sessions. #'''Saturday, 30 May 2026 at 15:00 UTC''' ([https://zonestamp.toolforge.org/1780153200 timestamp converter]), at a time friendly to the Americas, Africa, and Europe #'''Sunday, 31 May 2026 at 05:00 UTC''' ([https://zonestamp.toolforge.org/1780203600 timestamp converter]), at a time friendly to Asia and the Pacific Café participants are highly encouraged to read in advance [https://en.wikipedia.org/wiki/User:Sohom_Datta/annual_plan_guide at least this summary of the plan]. Optionally, Café participants are encouraged to read portions of the plan that interest them and [https://meta.wikimedia.org/wiki/Talk:Wikimedia_Foundation_Annual_Plan/2026-2027 ask questions or provide feedback on the Annual Plan talk page]. Please see the Café page for more information, including [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#May_2026_meetings_with_a_focus_on_Wikimedia_Foundation_Annual_Plan/2026-2027 tables of timestamp conversions for both sessions], [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#Agenda._This_will_be_an_approximately_1_hour_Caf%C3%A9_session,_and_is_extendible_for_an_additional_30_minutes_if_needed. the agenda], and [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#How_to_attend_the_session how to register]! <br /> [[File:Buntstifte Eberhard Faber crop 64h.jpg|860px|alt=cropped image of colored pencils]]</div> <span style="white-space:nowrap;">[[User:Pine|<span style="color:#01796f; text-shadow:#00BFFF 0 0 1.0em">↠Pine</span>]] [[User talk:Pine|<span style="color:DeepSkyBlue">(<b style="color:#FFDF00;text-shadow:#FFDF00 0 0 1.0em">✉</b>)</span>]]</span> 19:56, 21 May 2026 (UTC) == How to handle items without lexemes == NLG functions relay heavily on the presence of lexemes associated to items on Wikidata. But we know that not all the Wikidata items have an associated lexeme. There are multiple reasons why an item does not have an associated lexeme, like: # The lexeme has not been created yet # The item represents a place # The item represents a person # The item represents a specific concept that can only be expressed by a specific combination of words that cannot be [[Wikidata:Wikidata:Lexicographical data/Notability|notable]] (like {{Q|Q61220733}}). My doubt is: what should we do with this fourth category? For many languages, just using the Wikidata item label is not possible, since it is necessary to conjugate the words or to retrieve grammatical information like the gender. What should we do? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:09, 23 May 2026 (UTC) bw07u7o7eupnsdwg3u9fj0cxrqdoczm 277535 277500 2026-05-23T22:59:07Z YoshiRulz 10156 /* How to handle items without lexemes */ Reply 277535 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __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/ }} == "language" argument for certain functions == Hello. I am relatively new to Wikifunctions. Recently, I tried to create functions for Chinese translation of {{Z|Z26570}} and {{Z|Z26095}} (which became [[Z32788]] and [[Z32900]]). During the creation of these functions, I was trying to take {{Z|Z32212}} as reference. And I realized that the defining role sentence function is taking <code>language</code> as an argument (and the test case of the Chinese-language function already contains two varieties of Chinese). This makes it possible to output monolingual text in <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code>, or any varieties of the language. I think for this reason, it is better to have <code>language</code> as arguments for the implementation of Z26570 and Z26095, and potentially more functions that require {{Z|Z14294}}, since it would output the varieties code instead of just saying <code>zh</code> for <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code> in the output of type {{Z|Z11}}. I am not sure how the fallback mechanism works if one of the language (varieties) do not have a labels/lexemes, but to me, it is reasonable to have a <code>language</code> argument. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:38, 31 March 2026 (UTC) :The functions you mention do have a language argument. For Wikifunctions, the {{Z|Z60}} can be at a higher or lower level; whether a {{Z|Z11}} is for a language or a variant is determined by the function that constructs it. Please see {{Z|Z26565}} for an example and feel free to add test cases in Chinese. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:54, 11 April 2026 (UTC) ::Hello @[[User:GrounderUK|GrounderUK]], thanks for the answer. I understand that whether {{Z|Z11}} is for a language or a variant depends on the function. But that is exactly what I am asking for. It is true that [[Z26570]] and [[Z26095]] takes [[Z60]] as argument, but the language-specific functions in {{Z|Z29843}} and {{Z|Z26096}} don't. ::Let me give you an example: INPUT to [[Z26570]]: <code>entity</code>: Tokyo, <code>class</code>: city, <code>location</code>: Japan, <code>language</code>: zh-cn, the config would select [[Z33030]] (created after my previous comment by elseone) as the implementation, and it would RETURN 东京是日本的一个城市。(zh-hans), which is not zh-cn as requested in the INPUT. It would also be using the term not for the variant (when it is different) because it is hardcoded to use the term in zh-hans. However, if we have the implementation like [[Z32790]] (which was created by me but a natural language argument was added by elseone) or [[Z32213]] (that works in the defining role sentence function because of the extra argument), it could cater for different variant. ::If we don't have the language argument in the language-specific function, the desire for article creation on Abstract Wikipedia would be to create a function for every variant. Is it then better to create functions for every variant? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:18, 11 April 2026 (UTC) :::I forgot to mention that there are some hardcoding in {{Z|Z32790}} as well, but I cannot fix it because it is a connected function and I am not a functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:31, 11 April 2026 (UTC) ::::Okay, I think it’s safe to disconnect this one as the function is not yet configured for use on Abstract Wikipedia. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:04, 11 April 2026 (UTC) :::Ah, sorry… I misunderstood you. I agree that the called function should be able to accept the original language argument. That is simpler in theory than in practice, because the configured functions all have to have the same argument types, as I understand it. I’m not sure which the best approach is, really, but we probably want to avoid two levels of configuration. That suggests that all language-specific functions would need to accept the additional argument, which is unrewarding work for someone. @[[User:99of9|99of9]], @[[User:Jdforrester (WMF)|Jdforrester (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] Any thoughts? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:57, 11 April 2026 (UTC) ::::I mean, we would need to modify all the functions in each language, which could take some time. But we are still in an early stage. If we don't fix it now and we want to fix it later, it would be a disaster. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 19:25, 11 April 2026 (UTC) :::::Agreed. And we probably want them converted to HTML too, with separate language spans for text in different languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 11 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]: This sounds like a reasonable change to make. Note that (given these Functions are primarily for use on Abstract Wikipedia), altering/replacing them to return Z89/HTML fragments is already a desired but breaking change, so making a second breaking change at the same time is probably easiest for fixing things swiftly. That said, that's of course a decision for the Abstract Wikipedia and Wikifunctions communities, not me! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:43, 12 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]@[[User:Sun8908|Sun8908]] to make it a non-breaking change, I've created {{Z|Z34039}} which allows a composition {{Z|Z34043}}. This way you can make functions which either need the specified variant or don't! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:52, 24 April 2026 (UTC) :I have now created {{Z|Z33465}}, which is an implementation of [[Z26570]]. Maybe we can migrate to use that function when more (language-specific) functions for it are ready? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:19, 14 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. 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]]) 09:54, 25 April 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=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) ::::If you go to [[d:Special:NewLexeme]] and put in [[d:Q727694]] as the language, it is going to tell you it has an unrecognized language code. So I believe "cmn" should not be a {{Z|Z60}} by default? I also started [[d:Wikidata:Project_chat#Lexemes_with_language_Standard_Chinese_(Q727694)|a discussion on WD]] regarding this. I guess we can still use it as a fallback language though if possible. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 03:43, 7 May 2026 (UTC) ::::We don't have a separated <code>cmn</code> BCP 47 language subtag in MediaWiki and Wikidata at the moment. <code>zho</code> and <code>chi</code> are ISO 639 language codes but not BCP 47 language subtags. ::::For Modern Standard Mandarin, please use <code>zh-*</code> language tags for now. -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 15:26, 8 May 2026 (UTC) == Key not found error == Is there a reason why I am getting key not found error for this [[Z34677|function]] {{Z|Z34677}}? All the underlying functions run and all the test cases work. The debug information does not give more details. Any pointers? Thanks in advance [[User:Jsamwrites|John Samuel]] 19:24, 1 May 2026 (UTC) :It was passing the [[Z6091]] to {{Z|34641}} when that takes a [[Z6001]]. I've fixed that, but there's some other problem with the logic, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:42, 1 May 2026 (UTC) ::@[[User:YoshiRulz|YoshiRulz]] Thanks a lot. [[User:Jsamwrites|John Samuel]] 20:21, 1 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #246 is out: Request for input: what should we count for Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we ask you what would be the relevant metrics for Abstract Wikipedia, we discuss our latest news on 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]]) 12:21, 2 May 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=30325620 --> == Any formal process for deletion of pages == Does a formal process exist for the deletion of functions, implementations, and tests that includes a notification system for creators, analogous to Wikidata’s process, explaining the rationale behind the deletion (or proposal for deletion)? [[User:Jsamwrites|John Samuel]] 12:36, 3 May 2026 (UTC) :Does [[Wikifunctions:Requests for deletions]] work? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 13:00, 3 May 2026 (UTC) :Please see the discussion at [[Wikifunctions talk:Requests for deletions#Should we expect Objects' creators to get pinged on deletion proposals?]]. :As I see it, it is the proposer’s responsibility to consult appropriately before making a request and we expect our administrators to act only when satisfied that appropriate consultation has occurred. In many cases, no consultation is required. Administrators may delete their own contributions without making a request, but this is not a practice I would encourage. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:51, 3 May 2026 (UTC) == Implementation of rational number in JS doesn't match in Z19677 (Rational number) and Z28579 (RGBA colour) == In {{Z|19677}} it's <syntaxhighlight lang=js> { "K1": sign * numerator, "K2": denominator } </syntaxhighlight> but in {{Z|28579}} it's <syntaxhighlight lang=js> [ sign * numerator, denominator ] </syntaxhighlight> '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 05:15, 4 May 2026 (UTC) :I'm guessing this is why [[Z34743]] fails all the tests. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 01:00, 18 May 2026 (UTC) == Nested functions in compositions == I wish it will be easier to a add another function about a specific existing function in a function implementation based on a composition. When I write long functions in spreadsheets I usually stat with a small part and then I try to go further and after important steps I test if the output is as expected. I created [[Z34826]] to get the German gender specific occupation lexeme for a specific person based on their gender. I wanted to add a function around the existing one and it was not successful. It is not very easy to implement as it requires the possibily to move a part to another section but I think it can be helpful if it will be implemented. So far I spend more time as expected on the function. Describing it with words what the function needs to do is much easier than implementing it here in Wikifunctions. So I think there needs to be improvement to make Wikifunctions more accessible. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:10, 5 May 2026 (UTC) :Have you tried to use the copy-paste functionality? It is very useful to move parts of composition arounn. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:12, 6 May 2026 (UTC) :I've also found the composition editor to be wholly unsuitable for any expressions more than a few levels deep. (Even with the <code>localStorage</code> clipboard, because of its overzealous type checks.) Compositions naturally grow out from the "leaves", the immediate operations on the inputs, while the interface really wants you to build from the "root". I mostly use the [https://yoshirulz.gitlab.io/WikiLambdaBlockly drag-and-drop block editor] which I made to smooth over some of the site's problems, so if you want to try that out and give me some feedback I'd appreciate it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:36, 6 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #247 is out: References from Wikidata now available == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce that is now possible to pass references in Wikidata statements, we introduce the [https://abstract-data.toolforge.org/ Abstract Data dashboard], we report you on the presentation about Abstract Wikipedia at WikiCon Australia, 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]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1778520600 May 11, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:16, 8 May 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=30325620 --> == RGBA colour, spelling... == Something that has always irked me a little bit is the spelling of [[Z28579|RGBA colour (Z28579)]]. I guess this is not unsurprising for me considering my use of US English but I think there is more to it than preference and I want to try to argue for it being changed to use American spelling. I know that this probably has a snowball's chance in hell of actually garnering any support, so I won't really be miffed if the spelling remains as it is, but I thought it wouldn't hurt to raise this regardless. The main issue I have with it is the spelling of the original proposal. When infernostars raised the [[Wikifunctions:Type proposals/RGBA color|type proposal]], the spelling was 「RGBA color」. Of the comments that mentioned the word 「colo[u]r」, two used British spelling while six used the American spelling as used in the proposal. The only thing that really pointed to the use of ''colour'' was the fact that the catalog page on color functions used that spelling already. For all intents and purposes, the spelling of the original proposal should have been maintained, but it was not; [[User:DVrandecic (WMF)|DVrandecic]], the eventual creator of the type, used a different spelling. It should be noted that there was really no reason for this to occur and while it is an undoubtedly minor issue I still believe it should be rolled back and the type should use the spelling of the original proposal and majority of editor comments. In [[abstract:Q936|OpenStreetMap]], there have been keyvalue proposals that have had the finalized spelling that gets put to use be in British English despite the original proposal being in American English; this has usually occurred with proposals relating to 「X center/centre」 tags. This makes sense on the surface, because OpenStreetMap is maintained by a UK organization, and still has close ties to Europe. The Wikimedia Foundation, however, is an ''American'' company. This is often brought up as a fallible argument when debating article spelling on the English Wikipedia, and I don't bring it up to support that 「RGBA color」 should be used for that exact reason, but rather to state that OpenStreetMap's general policy on tag names need not apply here. It appears to me that, at least initially, the majority of 「core contributors」 to Wikifunctions used British English; I can name YoshiRulz, 99of9, GrounderUK, and VIGNERON.<ref group="color">I'm avoiding linking to these folks because I don't think pinging them about this discussion is all too necessary unless they themselves want to be involved; I don't want to clutter their inboxes just to briefly mention them. I pinged Denny because, well, I'm asking him a question directly, but everyone else I would prefer to join this discussion by their own accord... not that I wish for this decision to be confused as me going 「these people use British English so they will probably oppose my idea, I won't invite them to the discussion because of that」...no, I promise you that is not the reason.</ref> I see (or saw) these people ''everywhere'', so it makes sense that British English has prevailed in some sorts on this website, but I don't think that indicates that it should be the ''preferred'' spelling across the website, at least not to the point where a proposal should have its name changed to match such a "consensus".<ref group="color">It could be argued that the front-and-center ''Function catalogue'' using 「catalogue」 is actually indicative of such a "consensus", but ''catalogue'' is in a similar position to the word ''grey'' where I live (that is, the US) in that it is used just as often as its American counterpart. Also, consider Wiktionary's ''Beer parlour'' project chat.</ref> The unnecessary modification of the original spelling is my main argument for changing it back... but of course, I must obligatorily state that on English Wikipedia, it is [[w:Color|Color]] and [[w:RGBA color model|RGBA color model]]; on Wikidata, it is [[d:Q1075|color]] and [[d:Q2325624|RGBA color space]]; in CSS (which typically uses hexadecimal triplets to specify RGBA values), the properties are <code>color</code>, <code>background-color</code>, etc.; bit of a weak jab, but on Schema.org it is [https://schema.org/color color], [https://schema.org/colorSwatch colorSwatch]; et cetera. {{Z|Z28580}} uses ''color'', so does {{Z|Z28591}} and its Python counterpart. Mr. Vrandečić, I have to ask, I'm rather confused... you created the color type using British English spelling, but you were also responsible for the creation of the equality function which uses the American English spelling. You also seem to be writing in American English for the status updates, judging by your use of -''ize'' over -''ise'' endings and use of ''program'' over ''programme'' in [[Wikifunctions:Status updates/2026-04-16]]. Is there something I'm missing or have you switched your preferred variant somewhere along the way? Anyways, do consider this if you wish... again, I don't suppose this will garner much support, it is the ''non-issuest'' of ''non-issues'', but it has irked me to the point where I want to ask about it to get some answers, if nothing else. I am not arguing for every other color function to have its name changed, just the type itself. <references group="color"></references> &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:04, 8 May 2026 (UTC) :This is a multilingual project; the <code>en</code> label is <code>RGBA colour</code> and the <code>en-us</code> label is <code>RGBA color</code>. Though I'm not able to switch to <code>en-us</code> via the language picker so that would need to be fixed.<!-- --><br>edit after reading your whole comment: The same is true of {{Q|1075}}, there are labels specified for multiple English variants. (In {{Q|2325624}} it's only an alias.) I agree that other websites' choices aren't binding on us, but from that, I conclude that the more widespread British/Commonwealth spellings should be used for the generic <code>en</code>. As for myself, I'm Aussie and I will continue to use the BrE spellings ([[w:en:Oxford_spelling#Language_tag_comparison|+ "routing"]], TIL) if only by muscle memory.<!-- --><br>[[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:42, 8 May 2026 (UTC) :: Your lattermost point would normally be fine in a perfect world. Wikipedia's <code>convert</code> function defaults to "international" English, which I don't personally take issue with because it happens that we here in America are actually outliers for saying and spelling things differently... err, or we were for a while at least, nowadays it seems like an even split (plus you have "yield" vs. "give way" which is effectively the logical opposite of US's use of "meter" over "metre"). :: However, this is not a perfect world, and I don't think <code>en</code> should correspond to any particular variant. It is too fragmented across all software at this point to impose such a requirement. The inability to switch to <code>en-us</code> on this website foregoes an easy and simple solution to this problem that makes everyone happy, because the yanks (such as myself) can't be happy because we can't see the labels in American English even if we wanted to, and the other folk can't switch either as far as I'm aware (and the en-CA and en-GB languages in the preferences page seems to be deprecated). My point being, <code>en</code> is abused to mean "en-UK" just as often as it is abused to mean <code>en-US</code>; I think a decision shouldn't be made on such an assumption of one "default". &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:48, 12 May 2026 (UTC) :Hi @[[User:Theki|rae]]! I have no opinion nor preference on this, and given my background, I am just entirely confused about my spelling preferences myself, as you can tell from my inconsistent usage. I learned British English in school and used that for maybe two decades or so, but moved to the US and lived there for more than a decade, enough to be naturalized, but now I am back in Europe and I am technically a professor at King's College London, soooo.... honestly, I do not know. I don't remember having put too much thought into it at the moment I created it. The good thing is that in Wikifunctions, just as in Wikidata, it is easy to change, without messing things up too much (unlike in Wikipedia), so my suggestion is, just make the change, see if anyone complains, and if they do, discuss it more. I don't know if there is a guideline already in Wikifunctions about the variants. I am happy either way, and honestly, I keep forgetting which variant is which most of the time. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 18:16, 10 May 2026 (UTC) :: I can definitely understand this, although I am unfortunately rather passionate about any minutiae involving preferential minor differences in ''anything'', of which AmE vs. BrE chiefly is. So I dedicate a lot of headspace to it. More than I should. Not that I wish to imply that the comment above that I have wrote is of an irrational nature, or done out of spite or pure emotion and subjectivity; I do genuinely believe that ''RGBA color'' is beyond just a personal preference and is just logical. I may boldly go and change it, but for some reason I was expecting that changing the English label of a Type would require elevated permissions, and I also didn't want to do it only to get immediately reverted because it ''did'' strike a chord with someone, when I could instead see how apathetic, supportive, or in opposition interested people are beforehand and ''then'' act accordingly. I was not meaning to antagonize you over your spelling habits, I did actually use British English for a few years starting in 2020 before I went back to American English, so I'd be a hypocrite for me to decry you for not always sticking to some arbitrary standard of spelling words over the other. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:55, 12 May 2026 (UTC) :Although I spell it “colour”, I think it makes more sense to use “color” for the type, since that is almost always the required spelling when the string functions as a keyword. :More generally, though, Wikidata’s lexicographic data happens to favour “colour” over “color” and (quite rightly, in my view) lacks a specific representation for "en". This is unusual, in my experience, as "en" is widely misused in place of "en-US", where there are recorded spelling differences. :(I would also say it is standard British English to use “program” in a programming context and “programme” elsewhere. Use of -ize rather than -ise is a matter of personal preference or house style, but regional autocorrect encourages -ise.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:00, 12 May 2026 (UTC) :: ''Wikidata’s lexicographic data happens to favour “colour” over “color” and (quite rightly, in my view) lacks a specific representation for "en"'' :: Definitely agreeing with you on the latter being a good choice. However, I suspect the favoring of "colour" over "color" may be because, in terms of language codes, when sorted alphabetically <code>en-us</code> actually comes ''after'' <code>en-gb</code>. Although, the frontend seems to be sorting <code>en-ca</code> after <code>en-gb</code>, so I don't actually know how correct that is. :: ''I would also say it is standard British English to use “program” in a programming context and “programme” elsewhere'' :: The context of the spelling was "''No program for the NLG SIG meeting for next Tuesday has been proposed''". In that usage context, I think it makes sense to assume that ''program'' is not being used to refer to a computer program, but to a ''program of events'' or similar, something that you would spell as a ''programme'' in British English. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 12 May 2026 (UTC) :{{s}} this. I'm obviously biased but I believe American English is preferable generally, American dominance on the internet (our Department of Defen'''s'''e invented it!) and rapidly-increasing consumption of American media by international English speakers means that more people use American English's conventions, this is clear through for example [http://trends.google.com/explore?q=color%2Ccolour&date=all&geo=Worldwide search trends] (though they aren't particularly reliable). Perhaps this is a bit of a supremacist opinion, but we should have internal consistency, and if we must choose, American English should be our first choice (then Indian and then British English) [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:10, 12 May 2026 (UTC) :: This is rather flawed reasoning, though. I think probably any given British or Indian person would not agree on using that as the reasoning for this, not that you are necessarily ''completely wrong'', but if this is not a good enough reason for English Wikipedia's (admittedly extremely flawed) ''ENGVAR'' policy then I don't think it's likely it will pass here either. :: Although of note is that [https://books.google.com/ngrams/graph?content=color%2Ccolour&year_start=1800&year_end=2022&corpus=en&smoothing=3&case_insensitive=true Google ngrams] agree with you, but "color" vs. "colour" is an eternal holy war that will not be won by demonstrating that more books use US spelling over Commonwealth spelling. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:44, 12 May 2026 (UTC) :::You're probably right that it's not very sound. I'm biased in that other varieties of English irk me, and that's probably mutual for people who are used to other varieties of English when they read what I write! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:56, 12 May 2026 (UTC) :I've decided to boldly [[Special:Permalink/274271|make the change]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:02, 12 May 2026 (UTC) :: Thank you. Considering both you and GrounderUK seem to consider it an okay change, I think this will do for now. :: I should note that the matter of whether to move [[Wikifunctions:Catalogue/Colour functions]] in response to this (however this discussion will ultimately turn out) is a whole other can of worms, in my view. I can't say I have an opinion on that at the moment, but I'm putting it out there regardless. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:06, 12 May 2026 (UTC) :::Personally, I'm in favor of moving the page and renaming all of the items on it. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:10, 12 May 2026 (UTC) ::I don't like this (exactly because of the American hegemony you cited), but again, it shouldn't matter because the software is meant to be multilingual. Clearly there's a bug preventing you from picking an English variant/dialect as your display language. But the search bar and Function/Type autocompletion do check the English variants for matches. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:15, 12 May 2026 (UTC) == Proposals on the architecture of Abstract Content rendering == Starting from a discussion born on the Telegram chat, I've explained two different proposals on how the NLG on Abstract Wikipedia should be organized in the page [[abstract:User:Dv103/Abstract articles architectures]]. Please come to contribute to the discussion, or to propose alternatives. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:31, 11 May 2026 (UTC) :Thank you for dedicating your time to writing this, it is very informative. I will try to add input once I'm not in over my head with finals. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:27, 12 May 2026 (UTC) == Display function for HTML fragment == Currently, any collapsed Z89 literal appears as<blockquote>&lt;&gt; [[Z89|HTML fragment]]</blockquote>If I were to create a new Function which returned something like<blockquote>&lt;&gt; 123-byte HTML fragment <q><nowiki><td><span lang=</nowiki>&hellip;</q></blockquote>could that be connected to replace the collapsed form, or would it require changes to the Wikilambda software? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 16:14, 11 May 2026 (UTC) :It might work, but I doubt it. Those angled brackets suggest that the collapsed form is not simply defaulting to the type’s label. Looking at [[:phab:T410509]], I’ve concluded that enhancements to the collapsed form were never considered, rather than being actively rejected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:12, 12 May 2026 (UTC) ::[[:Phab:T391985]] documents the original design. Note the fifth bullet point under “Acceptance criteria”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:21, 12 May 2026 (UTC) :I'm not sure the byte-size is necessary, but the outer tag (or first outer tag, though generally I'd prefer most fragments use a wrapper tag if it needs multiple like JSX does, but that's a whole different topic) would be nice. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:51, 12 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #248 is out: A higher meaning == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss functions creating language fragments, we present our latest news in Types, 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]]) 14:36, 15 May 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=30536976 --> == [[Z34510]] == This function, which determines if a Wikidata item for a {{q|5}} has an undeprecated {{p|21}} statement of {{q|6581097}}, returns false for {{q|173399}}, a transgender man. This is because his item assigns his P21 statement to {{q|2449503}}, not {{q|6581097}}. I'm not sure how to account for this discrepancy. Should {{z|34510}}: # Include {{q|2449503}} as a value that can lead to a true result, # Not include {{q|2449503}} as a value that can lead to a true result, while another function (e.g., "Q5 is a man?") could return true for either "male" or "trans man", # Not include {{q|2449503}} as a value that can lead to a true result, while another function (e.g., "Q5 is a trans man?") could return true for "trans man", # Not exist at all? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 16:48, 16 May 2026 (UTC) :I can't think of a single use case where you would need to determine if a person is a cisgender man and nothing else. Functions are good for generalizing across multiple possibilities when they exist, so I think it would be best if trans men were considered a part of the criteria for returning a true value. If asking for specifically {{q|6581097}}s and ''nothing'' else was desired then the function name would be a misnomer as Elliot Page is inarguably a male (at least in the view of most reasonable and intelligent people). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 19:03, 16 May 2026 (UTC) :You made the function in the first place; what were you planning on using it for? AW? Maybe it should return a {{Z|25501}} which can then be passed on to other NLG functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:01, 16 May 2026 (UTC) == Lexeme from wikidata label, or "best" lexeme from wikidata item == I was looking into fixing [[Z28028]]. I found that I could add "requires grammatical feature: definite article" to "United Kingdom" (L8558). Now I'm stuck on how to get to that lexeme from {{Q|145}}. There's [[Z23471]], but that for very good reason gives you multiple lexemes with the same sense, and I just want the best one like how the label is always the best string. Is there a function that can do this? There's definitely the case of a Wikidata label that isn't a lexeme (most commonly multiple lexemes) but I'm only considering the case where it is one lexeme here. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:02, 16 May 2026 (UTC) :There is {{Z|Z27327}}, that tries to give the best lexeme through various heuristics. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 22:22, 16 May 2026 (UTC) :: Wonderful! I did stumble upon [[Z33818]] but this is perfect. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:25, 17 May 2026 (UTC) == [[Z29591]] isn't working for me == For instance, trying to manually put in the exact inputs for one of the test cases just returns an empty Monolingual text. See [https://www.wikifunctions.org/wiki/Z29591?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29591%22%2C%22Z29591K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q3257809%22%7D%2C%22Z29591K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q21264361%22%7D%2C%22Z29591K3%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q22006653%22%7D%2C%22Z29591K4%22%3A%22Z1002%22%7D]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 01:17, 17 May 2026 (UTC) :You used [[:d:Q22006653]] rather than [[:d:Q1075]]. It looks like the [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30784%22%2C%22Z30784K1%22%3A%7B%22Z1K1%22%3A%22Z11%22%2C%22Z11K1%22%3A%22Z1002%22%2C%22Z11K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z21394%22%2C%22Z21394K1%22%3A%5B%22Z6%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22664%22%2C%22Z22664K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q22006653%22%7D%2C%22Z22664K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q21264361%22%7D%2C%22Z22664K3%22%3A%22Z1002%22%7D%5D%7D%7D%7D explanatory error] is suppressed by the [https://www.wikifunctions.org/view/en/Z30009?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30009%22%2C%22Z30009K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30784%22%2C%22Z30784K1%22%3A%7B%22Z1K1%22%3A%22Z11%22%2C%22Z11K1%22%3A%22Z1002%22%2C%22Z11K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z21394%22%2C%22Z21394K1%22%3A%5B%22Z6%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22664%22%2C%22Z22664K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q22006653%22%7D%2C%22Z22664K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q21264361%22%7D%2C%22Z22664K3%22%3A%22Z1002%22%7D%5D%7D%7D%7D%2C%22Z30009K2%22%3A%22Z801%22%7D final transformation]. The returned result is not actually empty; if you expand it, you can see that it is an unresolved function call. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:59, 17 May 2026 (UTC) == [[Z35298]] == Does anyone know what the problem with this implementation is? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:14, 18 May 2026 (UTC) :There is a bug that doesn't allow Python implementation to return nested lists. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 05:31, 19 May 2026 (UTC) ::Is there a Phabricator task for this? Searching through them is hell. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 03:22, 20 May 2026 (UTC) :::A bit of time ago I opened [[phab:T392750]], which is very similar to this issue. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 05:26, 20 May 2026 (UTC) == May 2026 Wikimedia Café meetups regarding the Wikimedia Foundation Annual Plan == <div class="border-box" style="background-color: var(--background-color-warning-subtle, #f8eaba); max-width: 875px; padding: 5px; border: 1px solid black; margin: 5px; color: var(--clr-dark)"> <div class="box" style="float:left; padding-top: 15px; padding-right: 15px;">[[File:Wikimedia Café logo in plain SVG format.svg|75px|alt=The logo for the Wikimedia Café]]</div> Hello! There will be two '''[https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9 Wikimedia Café]''' discussion opportunities during the last weekend of May. Both sessions will focus on the [https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2026-2027 the 2026-2027 Wikimedia Foundation Annual Plan]. Participants may attend either or both sessions. #'''Saturday, 30 May 2026 at 15:00 UTC''' ([https://zonestamp.toolforge.org/1780153200 timestamp converter]), at a time friendly to the Americas, Africa, and Europe #'''Sunday, 31 May 2026 at 05:00 UTC''' ([https://zonestamp.toolforge.org/1780203600 timestamp converter]), at a time friendly to Asia and the Pacific Café participants are highly encouraged to read in advance [https://en.wikipedia.org/wiki/User:Sohom_Datta/annual_plan_guide at least this summary of the plan]. Optionally, Café participants are encouraged to read portions of the plan that interest them and [https://meta.wikimedia.org/wiki/Talk:Wikimedia_Foundation_Annual_Plan/2026-2027 ask questions or provide feedback on the Annual Plan talk page]. Please see the Café page for more information, including [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#May_2026_meetings_with_a_focus_on_Wikimedia_Foundation_Annual_Plan/2026-2027 tables of timestamp conversions for both sessions], [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#Agenda._This_will_be_an_approximately_1_hour_Caf%C3%A9_session,_and_is_extendible_for_an_additional_30_minutes_if_needed. the agenda], and [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#How_to_attend_the_session how to register]! <br /> [[File:Buntstifte Eberhard Faber crop 64h.jpg|860px|alt=cropped image of colored pencils]]</div> <span style="white-space:nowrap;">[[User:Pine|<span style="color:#01796f; text-shadow:#00BFFF 0 0 1.0em">↠Pine</span>]] [[User talk:Pine|<span style="color:DeepSkyBlue">(<b style="color:#FFDF00;text-shadow:#FFDF00 0 0 1.0em">✉</b>)</span>]]</span> 19:56, 21 May 2026 (UTC) == How to handle items without lexemes == NLG functions relay heavily on the presence of lexemes associated to items on Wikidata. But we know that not all the Wikidata items have an associated lexeme. There are multiple reasons why an item does not have an associated lexeme, like: # The lexeme has not been created yet # The item represents a place # The item represents a person # The item represents a specific concept that can only be expressed by a specific combination of words that cannot be [[Wikidata:Wikidata:Lexicographical data/Notability|notable]] (like {{Q|Q61220733}}). My doubt is: what should we do with this fourth category? For many languages, just using the Wikidata item label is not possible, since it is necessary to conjugate the words or to retrieve grammatical information like the gender. What should we do? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:09, 23 May 2026 (UTC) :In that particular example, I think the thing to do is read its {{P|279}}: {{Q|21191270}}, then have some kind of heuristic based on that which says to take its {{P|8345}} and attach that Item's label to a Form of the word for "episode". In general, synthesising Lexemes for proper nouns is one of the problems that [[abstract:User:Dv103/Abstract_articles_architectures|proposals in your list here]] will have to address. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:59, 23 May 2026 (UTC) byrynhs36sc7jzs3iegxbzjr2e4r9p3 277587 277535 2026-05-24T03:08:07Z SpBot 978 archive 2 sections: 2 to [[Wikifunctions:Project chat/Archive/2026/04]] (after section [[Wikifunctions:Project chat/Archive/2026/04#Could_not_serialize_input_JS_object:_Number_<small><small>[insert_tested_number_here]</small></small>|Could_not_serialize_input_JS_object:_Number_<small><small>[insert_tested_number_here]</small></small>]]) - previous edit: [[:User:YoshiRulz|YoshiRulz]], 2026-05-23 22:59 277587 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __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/ }} == "language" argument for certain functions == Hello. I am relatively new to Wikifunctions. Recently, I tried to create functions for Chinese translation of {{Z|Z26570}} and {{Z|Z26095}} (which became [[Z32788]] and [[Z32900]]). During the creation of these functions, I was trying to take {{Z|Z32212}} as reference. And I realized that the defining role sentence function is taking <code>language</code> as an argument (and the test case of the Chinese-language function already contains two varieties of Chinese). This makes it possible to output monolingual text in <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code>, or any varieties of the language. I think for this reason, it is better to have <code>language</code> as arguments for the implementation of Z26570 and Z26095, and potentially more functions that require {{Z|Z14294}}, since it would output the varieties code instead of just saying <code>zh</code> for <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code> in the output of type {{Z|Z11}}. I am not sure how the fallback mechanism works if one of the language (varieties) do not have a labels/lexemes, but to me, it is reasonable to have a <code>language</code> argument. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:38, 31 March 2026 (UTC) :The functions you mention do have a language argument. For Wikifunctions, the {{Z|Z60}} can be at a higher or lower level; whether a {{Z|Z11}} is for a language or a variant is determined by the function that constructs it. Please see {{Z|Z26565}} for an example and feel free to add test cases in Chinese. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:54, 11 April 2026 (UTC) ::Hello @[[User:GrounderUK|GrounderUK]], thanks for the answer. I understand that whether {{Z|Z11}} is for a language or a variant depends on the function. But that is exactly what I am asking for. It is true that [[Z26570]] and [[Z26095]] takes [[Z60]] as argument, but the language-specific functions in {{Z|Z29843}} and {{Z|Z26096}} don't. ::Let me give you an example: INPUT to [[Z26570]]: <code>entity</code>: Tokyo, <code>class</code>: city, <code>location</code>: Japan, <code>language</code>: zh-cn, the config would select [[Z33030]] (created after my previous comment by elseone) as the implementation, and it would RETURN 东京是日本的一个城市。(zh-hans), which is not zh-cn as requested in the INPUT. It would also be using the term not for the variant (when it is different) because it is hardcoded to use the term in zh-hans. However, if we have the implementation like [[Z32790]] (which was created by me but a natural language argument was added by elseone) or [[Z32213]] (that works in the defining role sentence function because of the extra argument), it could cater for different variant. ::If we don't have the language argument in the language-specific function, the desire for article creation on Abstract Wikipedia would be to create a function for every variant. Is it then better to create functions for every variant? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:18, 11 April 2026 (UTC) :::I forgot to mention that there are some hardcoding in {{Z|Z32790}} as well, but I cannot fix it because it is a connected function and I am not a functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:31, 11 April 2026 (UTC) ::::Okay, I think it’s safe to disconnect this one as the function is not yet configured for use on Abstract Wikipedia. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:04, 11 April 2026 (UTC) :::Ah, sorry… I misunderstood you. I agree that the called function should be able to accept the original language argument. That is simpler in theory than in practice, because the configured functions all have to have the same argument types, as I understand it. I’m not sure which the best approach is, really, but we probably want to avoid two levels of configuration. That suggests that all language-specific functions would need to accept the additional argument, which is unrewarding work for someone. @[[User:99of9|99of9]], @[[User:Jdforrester (WMF)|Jdforrester (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] Any thoughts? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:57, 11 April 2026 (UTC) ::::I mean, we would need to modify all the functions in each language, which could take some time. But we are still in an early stage. If we don't fix it now and we want to fix it later, it would be a disaster. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 19:25, 11 April 2026 (UTC) :::::Agreed. And we probably want them converted to HTML too, with separate language spans for text in different languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 11 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]: This sounds like a reasonable change to make. Note that (given these Functions are primarily for use on Abstract Wikipedia), altering/replacing them to return Z89/HTML fragments is already a desired but breaking change, so making a second breaking change at the same time is probably easiest for fixing things swiftly. That said, that's of course a decision for the Abstract Wikipedia and Wikifunctions communities, not me! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:43, 12 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]@[[User:Sun8908|Sun8908]] to make it a non-breaking change, I've created {{Z|Z34039}} which allows a composition {{Z|Z34043}}. This way you can make functions which either need the specified variant or don't! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:52, 24 April 2026 (UTC) :I have now created {{Z|Z33465}}, which is an implementation of [[Z26570]]. Maybe we can migrate to use that function when more (language-specific) functions for it are ready? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:19, 14 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. 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]]) 09:54, 25 April 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=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) ::::If you go to [[d:Special:NewLexeme]] and put in [[d:Q727694]] as the language, it is going to tell you it has an unrecognized language code. So I believe "cmn" should not be a {{Z|Z60}} by default? I also started [[d:Wikidata:Project_chat#Lexemes_with_language_Standard_Chinese_(Q727694)|a discussion on WD]] regarding this. I guess we can still use it as a fallback language though if possible. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 03:43, 7 May 2026 (UTC) ::::We don't have a separated <code>cmn</code> BCP 47 language subtag in MediaWiki and Wikidata at the moment. <code>zho</code> and <code>chi</code> are ISO 639 language codes but not BCP 47 language subtags. ::::For Modern Standard Mandarin, please use <code>zh-*</code> language tags for now. -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 15:26, 8 May 2026 (UTC) == Key not found error == Is there a reason why I am getting key not found error for this [[Z34677|function]] {{Z|Z34677}}? All the underlying functions run and all the test cases work. The debug information does not give more details. Any pointers? Thanks in advance [[User:Jsamwrites|John Samuel]] 19:24, 1 May 2026 (UTC) :It was passing the [[Z6091]] to {{Z|34641}} when that takes a [[Z6001]]. I've fixed that, but there's some other problem with the logic, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:42, 1 May 2026 (UTC) ::@[[User:YoshiRulz|YoshiRulz]] Thanks a lot. [[User:Jsamwrites|John Samuel]] 20:21, 1 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #246 is out: Request for input: what should we count for Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we ask you what would be the relevant metrics for Abstract Wikipedia, we discuss our latest news on 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]]) 12:21, 2 May 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=30325620 --> == Any formal process for deletion of pages == Does a formal process exist for the deletion of functions, implementations, and tests that includes a notification system for creators, analogous to Wikidata’s process, explaining the rationale behind the deletion (or proposal for deletion)? [[User:Jsamwrites|John Samuel]] 12:36, 3 May 2026 (UTC) :Does [[Wikifunctions:Requests for deletions]] work? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 13:00, 3 May 2026 (UTC) :Please see the discussion at [[Wikifunctions talk:Requests for deletions#Should we expect Objects' creators to get pinged on deletion proposals?]]. :As I see it, it is the proposer’s responsibility to consult appropriately before making a request and we expect our administrators to act only when satisfied that appropriate consultation has occurred. In many cases, no consultation is required. Administrators may delete their own contributions without making a request, but this is not a practice I would encourage. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:51, 3 May 2026 (UTC) == Implementation of rational number in JS doesn't match in Z19677 (Rational number) and Z28579 (RGBA colour) == In {{Z|19677}} it's <syntaxhighlight lang=js> { "K1": sign * numerator, "K2": denominator } </syntaxhighlight> but in {{Z|28579}} it's <syntaxhighlight lang=js> [ sign * numerator, denominator ] </syntaxhighlight> '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 05:15, 4 May 2026 (UTC) :I'm guessing this is why [[Z34743]] fails all the tests. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 01:00, 18 May 2026 (UTC) == Nested functions in compositions == I wish it will be easier to a add another function about a specific existing function in a function implementation based on a composition. When I write long functions in spreadsheets I usually stat with a small part and then I try to go further and after important steps I test if the output is as expected. I created [[Z34826]] to get the German gender specific occupation lexeme for a specific person based on their gender. I wanted to add a function around the existing one and it was not successful. It is not very easy to implement as it requires the possibily to move a part to another section but I think it can be helpful if it will be implemented. So far I spend more time as expected on the function. Describing it with words what the function needs to do is much easier than implementing it here in Wikifunctions. So I think there needs to be improvement to make Wikifunctions more accessible. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:10, 5 May 2026 (UTC) :Have you tried to use the copy-paste functionality? It is very useful to move parts of composition arounn. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:12, 6 May 2026 (UTC) :I've also found the composition editor to be wholly unsuitable for any expressions more than a few levels deep. (Even with the <code>localStorage</code> clipboard, because of its overzealous type checks.) Compositions naturally grow out from the "leaves", the immediate operations on the inputs, while the interface really wants you to build from the "root". I mostly use the [https://yoshirulz.gitlab.io/WikiLambdaBlockly drag-and-drop block editor] which I made to smooth over some of the site's problems, so if you want to try that out and give me some feedback I'd appreciate it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:36, 6 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #247 is out: References from Wikidata now available == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce that is now possible to pass references in Wikidata statements, we introduce the [https://abstract-data.toolforge.org/ Abstract Data dashboard], we report you on the presentation about Abstract Wikipedia at WikiCon Australia, 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]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1778520600 May 11, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:16, 8 May 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=30325620 --> == RGBA colour, spelling... == Something that has always irked me a little bit is the spelling of [[Z28579|RGBA colour (Z28579)]]. I guess this is not unsurprising for me considering my use of US English but I think there is more to it than preference and I want to try to argue for it being changed to use American spelling. I know that this probably has a snowball's chance in hell of actually garnering any support, so I won't really be miffed if the spelling remains as it is, but I thought it wouldn't hurt to raise this regardless. The main issue I have with it is the spelling of the original proposal. When infernostars raised the [[Wikifunctions:Type proposals/RGBA color|type proposal]], the spelling was 「RGBA color」. Of the comments that mentioned the word 「colo[u]r」, two used British spelling while six used the American spelling as used in the proposal. The only thing that really pointed to the use of ''colour'' was the fact that the catalog page on color functions used that spelling already. For all intents and purposes, the spelling of the original proposal should have been maintained, but it was not; [[User:DVrandecic (WMF)|DVrandecic]], the eventual creator of the type, used a different spelling. It should be noted that there was really no reason for this to occur and while it is an undoubtedly minor issue I still believe it should be rolled back and the type should use the spelling of the original proposal and majority of editor comments. In [[abstract:Q936|OpenStreetMap]], there have been keyvalue proposals that have had the finalized spelling that gets put to use be in British English despite the original proposal being in American English; this has usually occurred with proposals relating to 「X center/centre」 tags. This makes sense on the surface, because OpenStreetMap is maintained by a UK organization, and still has close ties to Europe. The Wikimedia Foundation, however, is an ''American'' company. This is often brought up as a fallible argument when debating article spelling on the English Wikipedia, and I don't bring it up to support that 「RGBA color」 should be used for that exact reason, but rather to state that OpenStreetMap's general policy on tag names need not apply here. It appears to me that, at least initially, the majority of 「core contributors」 to Wikifunctions used British English; I can name YoshiRulz, 99of9, GrounderUK, and VIGNERON.<ref group="color">I'm avoiding linking to these folks because I don't think pinging them about this discussion is all too necessary unless they themselves want to be involved; I don't want to clutter their inboxes just to briefly mention them. I pinged Denny because, well, I'm asking him a question directly, but everyone else I would prefer to join this discussion by their own accord... not that I wish for this decision to be confused as me going 「these people use British English so they will probably oppose my idea, I won't invite them to the discussion because of that」...no, I promise you that is not the reason.</ref> I see (or saw) these people ''everywhere'', so it makes sense that British English has prevailed in some sorts on this website, but I don't think that indicates that it should be the ''preferred'' spelling across the website, at least not to the point where a proposal should have its name changed to match such a "consensus".<ref group="color">It could be argued that the front-and-center ''Function catalogue'' using 「catalogue」 is actually indicative of such a "consensus", but ''catalogue'' is in a similar position to the word ''grey'' where I live (that is, the US) in that it is used just as often as its American counterpart. Also, consider Wiktionary's ''Beer parlour'' project chat.</ref> The unnecessary modification of the original spelling is my main argument for changing it back... but of course, I must obligatorily state that on English Wikipedia, it is [[w:Color|Color]] and [[w:RGBA color model|RGBA color model]]; on Wikidata, it is [[d:Q1075|color]] and [[d:Q2325624|RGBA color space]]; in CSS (which typically uses hexadecimal triplets to specify RGBA values), the properties are <code>color</code>, <code>background-color</code>, etc.; bit of a weak jab, but on Schema.org it is [https://schema.org/color color], [https://schema.org/colorSwatch colorSwatch]; et cetera. {{Z|Z28580}} uses ''color'', so does {{Z|Z28591}} and its Python counterpart. Mr. Vrandečić, I have to ask, I'm rather confused... you created the color type using British English spelling, but you were also responsible for the creation of the equality function which uses the American English spelling. You also seem to be writing in American English for the status updates, judging by your use of -''ize'' over -''ise'' endings and use of ''program'' over ''programme'' in [[Wikifunctions:Status updates/2026-04-16]]. Is there something I'm missing or have you switched your preferred variant somewhere along the way? Anyways, do consider this if you wish... again, I don't suppose this will garner much support, it is the ''non-issuest'' of ''non-issues'', but it has irked me to the point where I want to ask about it to get some answers, if nothing else. I am not arguing for every other color function to have its name changed, just the type itself. <references group="color"></references> &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:04, 8 May 2026 (UTC) :This is a multilingual project; the <code>en</code> label is <code>RGBA colour</code> and the <code>en-us</code> label is <code>RGBA color</code>. Though I'm not able to switch to <code>en-us</code> via the language picker so that would need to be fixed.<!-- --><br>edit after reading your whole comment: The same is true of {{Q|1075}}, there are labels specified for multiple English variants. (In {{Q|2325624}} it's only an alias.) I agree that other websites' choices aren't binding on us, but from that, I conclude that the more widespread British/Commonwealth spellings should be used for the generic <code>en</code>. As for myself, I'm Aussie and I will continue to use the BrE spellings ([[w:en:Oxford_spelling#Language_tag_comparison|+ "routing"]], TIL) if only by muscle memory.<!-- --><br>[[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:42, 8 May 2026 (UTC) :: Your lattermost point would normally be fine in a perfect world. Wikipedia's <code>convert</code> function defaults to "international" English, which I don't personally take issue with because it happens that we here in America are actually outliers for saying and spelling things differently... err, or we were for a while at least, nowadays it seems like an even split (plus you have "yield" vs. "give way" which is effectively the logical opposite of US's use of "meter" over "metre"). :: However, this is not a perfect world, and I don't think <code>en</code> should correspond to any particular variant. It is too fragmented across all software at this point to impose such a requirement. The inability to switch to <code>en-us</code> on this website foregoes an easy and simple solution to this problem that makes everyone happy, because the yanks (such as myself) can't be happy because we can't see the labels in American English even if we wanted to, and the other folk can't switch either as far as I'm aware (and the en-CA and en-GB languages in the preferences page seems to be deprecated). My point being, <code>en</code> is abused to mean "en-UK" just as often as it is abused to mean <code>en-US</code>; I think a decision shouldn't be made on such an assumption of one "default". &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:48, 12 May 2026 (UTC) :Hi @[[User:Theki|rae]]! I have no opinion nor preference on this, and given my background, I am just entirely confused about my spelling preferences myself, as you can tell from my inconsistent usage. I learned British English in school and used that for maybe two decades or so, but moved to the US and lived there for more than a decade, enough to be naturalized, but now I am back in Europe and I am technically a professor at King's College London, soooo.... honestly, I do not know. I don't remember having put too much thought into it at the moment I created it. The good thing is that in Wikifunctions, just as in Wikidata, it is easy to change, without messing things up too much (unlike in Wikipedia), so my suggestion is, just make the change, see if anyone complains, and if they do, discuss it more. I don't know if there is a guideline already in Wikifunctions about the variants. I am happy either way, and honestly, I keep forgetting which variant is which most of the time. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 18:16, 10 May 2026 (UTC) :: I can definitely understand this, although I am unfortunately rather passionate about any minutiae involving preferential minor differences in ''anything'', of which AmE vs. BrE chiefly is. So I dedicate a lot of headspace to it. More than I should. Not that I wish to imply that the comment above that I have wrote is of an irrational nature, or done out of spite or pure emotion and subjectivity; I do genuinely believe that ''RGBA color'' is beyond just a personal preference and is just logical. I may boldly go and change it, but for some reason I was expecting that changing the English label of a Type would require elevated permissions, and I also didn't want to do it only to get immediately reverted because it ''did'' strike a chord with someone, when I could instead see how apathetic, supportive, or in opposition interested people are beforehand and ''then'' act accordingly. I was not meaning to antagonize you over your spelling habits, I did actually use British English for a few years starting in 2020 before I went back to American English, so I'd be a hypocrite for me to decry you for not always sticking to some arbitrary standard of spelling words over the other. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:55, 12 May 2026 (UTC) :Although I spell it “colour”, I think it makes more sense to use “color” for the type, since that is almost always the required spelling when the string functions as a keyword. :More generally, though, Wikidata’s lexicographic data happens to favour “colour” over “color” and (quite rightly, in my view) lacks a specific representation for "en". This is unusual, in my experience, as "en" is widely misused in place of "en-US", where there are recorded spelling differences. :(I would also say it is standard British English to use “program” in a programming context and “programme” elsewhere. Use of -ize rather than -ise is a matter of personal preference or house style, but regional autocorrect encourages -ise.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:00, 12 May 2026 (UTC) :: ''Wikidata’s lexicographic data happens to favour “colour” over “color” and (quite rightly, in my view) lacks a specific representation for "en"'' :: Definitely agreeing with you on the latter being a good choice. However, I suspect the favoring of "colour" over "color" may be because, in terms of language codes, when sorted alphabetically <code>en-us</code> actually comes ''after'' <code>en-gb</code>. Although, the frontend seems to be sorting <code>en-ca</code> after <code>en-gb</code>, so I don't actually know how correct that is. :: ''I would also say it is standard British English to use “program” in a programming context and “programme” elsewhere'' :: The context of the spelling was "''No program for the NLG SIG meeting for next Tuesday has been proposed''". In that usage context, I think it makes sense to assume that ''program'' is not being used to refer to a computer program, but to a ''program of events'' or similar, something that you would spell as a ''programme'' in British English. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 12 May 2026 (UTC) :{{s}} this. I'm obviously biased but I believe American English is preferable generally, American dominance on the internet (our Department of Defen'''s'''e invented it!) and rapidly-increasing consumption of American media by international English speakers means that more people use American English's conventions, this is clear through for example [http://trends.google.com/explore?q=color%2Ccolour&date=all&geo=Worldwide search trends] (though they aren't particularly reliable). Perhaps this is a bit of a supremacist opinion, but we should have internal consistency, and if we must choose, American English should be our first choice (then Indian and then British English) [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:10, 12 May 2026 (UTC) :: This is rather flawed reasoning, though. I think probably any given British or Indian person would not agree on using that as the reasoning for this, not that you are necessarily ''completely wrong'', but if this is not a good enough reason for English Wikipedia's (admittedly extremely flawed) ''ENGVAR'' policy then I don't think it's likely it will pass here either. :: Although of note is that [https://books.google.com/ngrams/graph?content=color%2Ccolour&year_start=1800&year_end=2022&corpus=en&smoothing=3&case_insensitive=true Google ngrams] agree with you, but "color" vs. "colour" is an eternal holy war that will not be won by demonstrating that more books use US spelling over Commonwealth spelling. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:44, 12 May 2026 (UTC) :::You're probably right that it's not very sound. I'm biased in that other varieties of English irk me, and that's probably mutual for people who are used to other varieties of English when they read what I write! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:56, 12 May 2026 (UTC) :I've decided to boldly [[Special:Permalink/274271|make the change]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:02, 12 May 2026 (UTC) :: Thank you. Considering both you and GrounderUK seem to consider it an okay change, I think this will do for now. :: I should note that the matter of whether to move [[Wikifunctions:Catalogue/Colour functions]] in response to this (however this discussion will ultimately turn out) is a whole other can of worms, in my view. I can't say I have an opinion on that at the moment, but I'm putting it out there regardless. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:06, 12 May 2026 (UTC) :::Personally, I'm in favor of moving the page and renaming all of the items on it. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:10, 12 May 2026 (UTC) ::I don't like this (exactly because of the American hegemony you cited), but again, it shouldn't matter because the software is meant to be multilingual. Clearly there's a bug preventing you from picking an English variant/dialect as your display language. But the search bar and Function/Type autocompletion do check the English variants for matches. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:15, 12 May 2026 (UTC) == Proposals on the architecture of Abstract Content rendering == Starting from a discussion born on the Telegram chat, I've explained two different proposals on how the NLG on Abstract Wikipedia should be organized in the page [[abstract:User:Dv103/Abstract articles architectures]]. Please come to contribute to the discussion, or to propose alternatives. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:31, 11 May 2026 (UTC) :Thank you for dedicating your time to writing this, it is very informative. I will try to add input once I'm not in over my head with finals. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:27, 12 May 2026 (UTC) == Display function for HTML fragment == Currently, any collapsed Z89 literal appears as<blockquote>&lt;&gt; [[Z89|HTML fragment]]</blockquote>If I were to create a new Function which returned something like<blockquote>&lt;&gt; 123-byte HTML fragment <q><nowiki><td><span lang=</nowiki>&hellip;</q></blockquote>could that be connected to replace the collapsed form, or would it require changes to the Wikilambda software? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 16:14, 11 May 2026 (UTC) :It might work, but I doubt it. Those angled brackets suggest that the collapsed form is not simply defaulting to the type’s label. Looking at [[:phab:T410509]], I’ve concluded that enhancements to the collapsed form were never considered, rather than being actively rejected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:12, 12 May 2026 (UTC) ::[[:Phab:T391985]] documents the original design. Note the fifth bullet point under “Acceptance criteria”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:21, 12 May 2026 (UTC) :I'm not sure the byte-size is necessary, but the outer tag (or first outer tag, though generally I'd prefer most fragments use a wrapper tag if it needs multiple like JSX does, but that's a whole different topic) would be nice. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:51, 12 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #248 is out: A higher meaning == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss functions creating language fragments, we present our latest news in Types, 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]]) 14:36, 15 May 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=30536976 --> == [[Z34510]] == This function, which determines if a Wikidata item for a {{q|5}} has an undeprecated {{p|21}} statement of {{q|6581097}}, returns false for {{q|173399}}, a transgender man. This is because his item assigns his P21 statement to {{q|2449503}}, not {{q|6581097}}. I'm not sure how to account for this discrepancy. Should {{z|34510}}: # Include {{q|2449503}} as a value that can lead to a true result, # Not include {{q|2449503}} as a value that can lead to a true result, while another function (e.g., "Q5 is a man?") could return true for either "male" or "trans man", # Not include {{q|2449503}} as a value that can lead to a true result, while another function (e.g., "Q5 is a trans man?") could return true for "trans man", # Not exist at all? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 16:48, 16 May 2026 (UTC) :I can't think of a single use case where you would need to determine if a person is a cisgender man and nothing else. Functions are good for generalizing across multiple possibilities when they exist, so I think it would be best if trans men were considered a part of the criteria for returning a true value. If asking for specifically {{q|6581097}}s and ''nothing'' else was desired then the function name would be a misnomer as Elliot Page is inarguably a male (at least in the view of most reasonable and intelligent people). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 19:03, 16 May 2026 (UTC) :You made the function in the first place; what were you planning on using it for? AW? Maybe it should return a {{Z|25501}} which can then be passed on to other NLG functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:01, 16 May 2026 (UTC) == Lexeme from wikidata label, or "best" lexeme from wikidata item == I was looking into fixing [[Z28028]]. I found that I could add "requires grammatical feature: definite article" to "United Kingdom" (L8558). Now I'm stuck on how to get to that lexeme from {{Q|145}}. There's [[Z23471]], but that for very good reason gives you multiple lexemes with the same sense, and I just want the best one like how the label is always the best string. Is there a function that can do this? There's definitely the case of a Wikidata label that isn't a lexeme (most commonly multiple lexemes) but I'm only considering the case where it is one lexeme here. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:02, 16 May 2026 (UTC) :There is {{Z|Z27327}}, that tries to give the best lexeme through various heuristics. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 22:22, 16 May 2026 (UTC) :: Wonderful! I did stumble upon [[Z33818]] but this is perfect. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:25, 17 May 2026 (UTC) == [[Z29591]] isn't working for me == For instance, trying to manually put in the exact inputs for one of the test cases just returns an empty Monolingual text. See [https://www.wikifunctions.org/wiki/Z29591?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29591%22%2C%22Z29591K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q3257809%22%7D%2C%22Z29591K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q21264361%22%7D%2C%22Z29591K3%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q22006653%22%7D%2C%22Z29591K4%22%3A%22Z1002%22%7D]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 01:17, 17 May 2026 (UTC) :You used [[:d:Q22006653]] rather than [[:d:Q1075]]. It looks like the [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30784%22%2C%22Z30784K1%22%3A%7B%22Z1K1%22%3A%22Z11%22%2C%22Z11K1%22%3A%22Z1002%22%2C%22Z11K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z21394%22%2C%22Z21394K1%22%3A%5B%22Z6%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22664%22%2C%22Z22664K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q22006653%22%7D%2C%22Z22664K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q21264361%22%7D%2C%22Z22664K3%22%3A%22Z1002%22%7D%5D%7D%7D%7D explanatory error] is suppressed by the [https://www.wikifunctions.org/view/en/Z30009?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30009%22%2C%22Z30009K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30784%22%2C%22Z30784K1%22%3A%7B%22Z1K1%22%3A%22Z11%22%2C%22Z11K1%22%3A%22Z1002%22%2C%22Z11K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z21394%22%2C%22Z21394K1%22%3A%5B%22Z6%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22664%22%2C%22Z22664K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q22006653%22%7D%2C%22Z22664K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q21264361%22%7D%2C%22Z22664K3%22%3A%22Z1002%22%7D%5D%7D%7D%7D%2C%22Z30009K2%22%3A%22Z801%22%7D final transformation]. The returned result is not actually empty; if you expand it, you can see that it is an unresolved function call. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:59, 17 May 2026 (UTC) == [[Z35298]] == Does anyone know what the problem with this implementation is? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:14, 18 May 2026 (UTC) :There is a bug that doesn't allow Python implementation to return nested lists. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 05:31, 19 May 2026 (UTC) ::Is there a Phabricator task for this? Searching through them is hell. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 03:22, 20 May 2026 (UTC) :::A bit of time ago I opened [[phab:T392750]], which is very similar to this issue. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 05:26, 20 May 2026 (UTC) == May 2026 Wikimedia Café meetups regarding the Wikimedia Foundation Annual Plan == <div class="border-box" style="background-color: var(--background-color-warning-subtle, #f8eaba); max-width: 875px; padding: 5px; border: 1px solid black; margin: 5px; color: var(--clr-dark)"> <div class="box" style="float:left; padding-top: 15px; padding-right: 15px;">[[File:Wikimedia Café logo in plain SVG format.svg|75px|alt=The logo for the Wikimedia Café]]</div> Hello! There will be two '''[https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9 Wikimedia Café]''' discussion opportunities during the last weekend of May. Both sessions will focus on the [https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2026-2027 the 2026-2027 Wikimedia Foundation Annual Plan]. Participants may attend either or both sessions. #'''Saturday, 30 May 2026 at 15:00 UTC''' ([https://zonestamp.toolforge.org/1780153200 timestamp converter]), at a time friendly to the Americas, Africa, and Europe #'''Sunday, 31 May 2026 at 05:00 UTC''' ([https://zonestamp.toolforge.org/1780203600 timestamp converter]), at a time friendly to Asia and the Pacific Café participants are highly encouraged to read in advance [https://en.wikipedia.org/wiki/User:Sohom_Datta/annual_plan_guide at least this summary of the plan]. Optionally, Café participants are encouraged to read portions of the plan that interest them and [https://meta.wikimedia.org/wiki/Talk:Wikimedia_Foundation_Annual_Plan/2026-2027 ask questions or provide feedback on the Annual Plan talk page]. Please see the Café page for more information, including [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#May_2026_meetings_with_a_focus_on_Wikimedia_Foundation_Annual_Plan/2026-2027 tables of timestamp conversions for both sessions], [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#Agenda._This_will_be_an_approximately_1_hour_Caf%C3%A9_session,_and_is_extendible_for_an_additional_30_minutes_if_needed. the agenda], and [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#How_to_attend_the_session how to register]! <br /> [[File:Buntstifte Eberhard Faber crop 64h.jpg|860px|alt=cropped image of colored pencils]]</div> <span style="white-space:nowrap;">[[User:Pine|<span style="color:#01796f; text-shadow:#00BFFF 0 0 1.0em">↠Pine</span>]] [[User talk:Pine|<span style="color:DeepSkyBlue">(<b style="color:#FFDF00;text-shadow:#FFDF00 0 0 1.0em">✉</b>)</span>]]</span> 19:56, 21 May 2026 (UTC) == How to handle items without lexemes == NLG functions relay heavily on the presence of lexemes associated to items on Wikidata. But we know that not all the Wikidata items have an associated lexeme. There are multiple reasons why an item does not have an associated lexeme, like: # The lexeme has not been created yet # The item represents a place # The item represents a person # The item represents a specific concept that can only be expressed by a specific combination of words that cannot be [[Wikidata:Wikidata:Lexicographical data/Notability|notable]] (like {{Q|Q61220733}}). My doubt is: what should we do with this fourth category? For many languages, just using the Wikidata item label is not possible, since it is necessary to conjugate the words or to retrieve grammatical information like the gender. What should we do? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:09, 23 May 2026 (UTC) :In that particular example, I think the thing to do is read its {{P|279}}: {{Q|21191270}}, then have some kind of heuristic based on that which says to take its {{P|8345}} and attach that Item's label to a Form of the word for "episode". In general, synthesising Lexemes for proper nouns is one of the problems that [[abstract:User:Dv103/Abstract_articles_architectures|proposals in your list here]] will have to address. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:59, 23 May 2026 (UTC) qzw0tfhfy1101z7hvy8f80dremm7bja 277648 277587 2026-05-24T10:43:51Z VIGNERON 96 /* How to handle items without lexemes */ 277648 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __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/ }} == "language" argument for certain functions == Hello. I am relatively new to Wikifunctions. Recently, I tried to create functions for Chinese translation of {{Z|Z26570}} and {{Z|Z26095}} (which became [[Z32788]] and [[Z32900]]). During the creation of these functions, I was trying to take {{Z|Z32212}} as reference. And I realized that the defining role sentence function is taking <code>language</code> as an argument (and the test case of the Chinese-language function already contains two varieties of Chinese). This makes it possible to output monolingual text in <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code>, or any varieties of the language. I think for this reason, it is better to have <code>language</code> as arguments for the implementation of Z26570 and Z26095, and potentially more functions that require {{Z|Z14294}}, since it would output the varieties code instead of just saying <code>zh</code> for <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code> in the output of type {{Z|Z11}}. I am not sure how the fallback mechanism works if one of the language (varieties) do not have a labels/lexemes, but to me, it is reasonable to have a <code>language</code> argument. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:38, 31 March 2026 (UTC) :The functions you mention do have a language argument. For Wikifunctions, the {{Z|Z60}} can be at a higher or lower level; whether a {{Z|Z11}} is for a language or a variant is determined by the function that constructs it. Please see {{Z|Z26565}} for an example and feel free to add test cases in Chinese. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:54, 11 April 2026 (UTC) ::Hello @[[User:GrounderUK|GrounderUK]], thanks for the answer. I understand that whether {{Z|Z11}} is for a language or a variant depends on the function. But that is exactly what I am asking for. It is true that [[Z26570]] and [[Z26095]] takes [[Z60]] as argument, but the language-specific functions in {{Z|Z29843}} and {{Z|Z26096}} don't. ::Let me give you an example: INPUT to [[Z26570]]: <code>entity</code>: Tokyo, <code>class</code>: city, <code>location</code>: Japan, <code>language</code>: zh-cn, the config would select [[Z33030]] (created after my previous comment by elseone) as the implementation, and it would RETURN 东京是日本的一个城市。(zh-hans), which is not zh-cn as requested in the INPUT. It would also be using the term not for the variant (when it is different) because it is hardcoded to use the term in zh-hans. However, if we have the implementation like [[Z32790]] (which was created by me but a natural language argument was added by elseone) or [[Z32213]] (that works in the defining role sentence function because of the extra argument), it could cater for different variant. ::If we don't have the language argument in the language-specific function, the desire for article creation on Abstract Wikipedia would be to create a function for every variant. Is it then better to create functions for every variant? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:18, 11 April 2026 (UTC) :::I forgot to mention that there are some hardcoding in {{Z|Z32790}} as well, but I cannot fix it because it is a connected function and I am not a functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:31, 11 April 2026 (UTC) ::::Okay, I think it’s safe to disconnect this one as the function is not yet configured for use on Abstract Wikipedia. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:04, 11 April 2026 (UTC) :::Ah, sorry… I misunderstood you. I agree that the called function should be able to accept the original language argument. That is simpler in theory than in practice, because the configured functions all have to have the same argument types, as I understand it. I’m not sure which the best approach is, really, but we probably want to avoid two levels of configuration. That suggests that all language-specific functions would need to accept the additional argument, which is unrewarding work for someone. @[[User:99of9|99of9]], @[[User:Jdforrester (WMF)|Jdforrester (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] Any thoughts? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:57, 11 April 2026 (UTC) ::::I mean, we would need to modify all the functions in each language, which could take some time. But we are still in an early stage. If we don't fix it now and we want to fix it later, it would be a disaster. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 19:25, 11 April 2026 (UTC) :::::Agreed. And we probably want them converted to HTML too, with separate language spans for text in different languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 11 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]: This sounds like a reasonable change to make. Note that (given these Functions are primarily for use on Abstract Wikipedia), altering/replacing them to return Z89/HTML fragments is already a desired but breaking change, so making a second breaking change at the same time is probably easiest for fixing things swiftly. That said, that's of course a decision for the Abstract Wikipedia and Wikifunctions communities, not me! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:43, 12 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]@[[User:Sun8908|Sun8908]] to make it a non-breaking change, I've created {{Z|Z34039}} which allows a composition {{Z|Z34043}}. This way you can make functions which either need the specified variant or don't! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:52, 24 April 2026 (UTC) :I have now created {{Z|Z33465}}, which is an implementation of [[Z26570]]. Maybe we can migrate to use that function when more (language-specific) functions for it are ready? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:19, 14 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. 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]]) 09:54, 25 April 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=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) ::::If you go to [[d:Special:NewLexeme]] and put in [[d:Q727694]] as the language, it is going to tell you it has an unrecognized language code. So I believe "cmn" should not be a {{Z|Z60}} by default? I also started [[d:Wikidata:Project_chat#Lexemes_with_language_Standard_Chinese_(Q727694)|a discussion on WD]] regarding this. I guess we can still use it as a fallback language though if possible. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 03:43, 7 May 2026 (UTC) ::::We don't have a separated <code>cmn</code> BCP 47 language subtag in MediaWiki and Wikidata at the moment. <code>zho</code> and <code>chi</code> are ISO 639 language codes but not BCP 47 language subtags. ::::For Modern Standard Mandarin, please use <code>zh-*</code> language tags for now. -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 15:26, 8 May 2026 (UTC) == Key not found error == Is there a reason why I am getting key not found error for this [[Z34677|function]] {{Z|Z34677}}? All the underlying functions run and all the test cases work. The debug information does not give more details. Any pointers? Thanks in advance [[User:Jsamwrites|John Samuel]] 19:24, 1 May 2026 (UTC) :It was passing the [[Z6091]] to {{Z|34641}} when that takes a [[Z6001]]. I've fixed that, but there's some other problem with the logic, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:42, 1 May 2026 (UTC) ::@[[User:YoshiRulz|YoshiRulz]] Thanks a lot. [[User:Jsamwrites|John Samuel]] 20:21, 1 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #246 is out: Request for input: what should we count for Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we ask you what would be the relevant metrics for Abstract Wikipedia, we discuss our latest news on 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]]) 12:21, 2 May 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=30325620 --> == Any formal process for deletion of pages == Does a formal process exist for the deletion of functions, implementations, and tests that includes a notification system for creators, analogous to Wikidata’s process, explaining the rationale behind the deletion (or proposal for deletion)? [[User:Jsamwrites|John Samuel]] 12:36, 3 May 2026 (UTC) :Does [[Wikifunctions:Requests for deletions]] work? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 13:00, 3 May 2026 (UTC) :Please see the discussion at [[Wikifunctions talk:Requests for deletions#Should we expect Objects' creators to get pinged on deletion proposals?]]. :As I see it, it is the proposer’s responsibility to consult appropriately before making a request and we expect our administrators to act only when satisfied that appropriate consultation has occurred. In many cases, no consultation is required. Administrators may delete their own contributions without making a request, but this is not a practice I would encourage. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:51, 3 May 2026 (UTC) == Implementation of rational number in JS doesn't match in Z19677 (Rational number) and Z28579 (RGBA colour) == In {{Z|19677}} it's <syntaxhighlight lang=js> { "K1": sign * numerator, "K2": denominator } </syntaxhighlight> but in {{Z|28579}} it's <syntaxhighlight lang=js> [ sign * numerator, denominator ] </syntaxhighlight> '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 05:15, 4 May 2026 (UTC) :I'm guessing this is why [[Z34743]] fails all the tests. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 01:00, 18 May 2026 (UTC) == Nested functions in compositions == I wish it will be easier to a add another function about a specific existing function in a function implementation based on a composition. When I write long functions in spreadsheets I usually stat with a small part and then I try to go further and after important steps I test if the output is as expected. I created [[Z34826]] to get the German gender specific occupation lexeme for a specific person based on their gender. I wanted to add a function around the existing one and it was not successful. It is not very easy to implement as it requires the possibily to move a part to another section but I think it can be helpful if it will be implemented. So far I spend more time as expected on the function. Describing it with words what the function needs to do is much easier than implementing it here in Wikifunctions. So I think there needs to be improvement to make Wikifunctions more accessible. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:10, 5 May 2026 (UTC) :Have you tried to use the copy-paste functionality? It is very useful to move parts of composition arounn. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:12, 6 May 2026 (UTC) :I've also found the composition editor to be wholly unsuitable for any expressions more than a few levels deep. (Even with the <code>localStorage</code> clipboard, because of its overzealous type checks.) Compositions naturally grow out from the "leaves", the immediate operations on the inputs, while the interface really wants you to build from the "root". I mostly use the [https://yoshirulz.gitlab.io/WikiLambdaBlockly drag-and-drop block editor] which I made to smooth over some of the site's problems, so if you want to try that out and give me some feedback I'd appreciate it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:36, 6 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #247 is out: References from Wikidata now available == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce that is now possible to pass references in Wikidata statements, we introduce the [https://abstract-data.toolforge.org/ Abstract Data dashboard], we report you on the presentation about Abstract Wikipedia at WikiCon Australia, 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]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1778520600 May 11, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:16, 8 May 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=30325620 --> == RGBA colour, spelling... == Something that has always irked me a little bit is the spelling of [[Z28579|RGBA colour (Z28579)]]. I guess this is not unsurprising for me considering my use of US English but I think there is more to it than preference and I want to try to argue for it being changed to use American spelling. I know that this probably has a snowball's chance in hell of actually garnering any support, so I won't really be miffed if the spelling remains as it is, but I thought it wouldn't hurt to raise this regardless. The main issue I have with it is the spelling of the original proposal. When infernostars raised the [[Wikifunctions:Type proposals/RGBA color|type proposal]], the spelling was 「RGBA color」. Of the comments that mentioned the word 「colo[u]r」, two used British spelling while six used the American spelling as used in the proposal. The only thing that really pointed to the use of ''colour'' was the fact that the catalog page on color functions used that spelling already. For all intents and purposes, the spelling of the original proposal should have been maintained, but it was not; [[User:DVrandecic (WMF)|DVrandecic]], the eventual creator of the type, used a different spelling. It should be noted that there was really no reason for this to occur and while it is an undoubtedly minor issue I still believe it should be rolled back and the type should use the spelling of the original proposal and majority of editor comments. In [[abstract:Q936|OpenStreetMap]], there have been keyvalue proposals that have had the finalized spelling that gets put to use be in British English despite the original proposal being in American English; this has usually occurred with proposals relating to 「X center/centre」 tags. This makes sense on the surface, because OpenStreetMap is maintained by a UK organization, and still has close ties to Europe. The Wikimedia Foundation, however, is an ''American'' company. This is often brought up as a fallible argument when debating article spelling on the English Wikipedia, and I don't bring it up to support that 「RGBA color」 should be used for that exact reason, but rather to state that OpenStreetMap's general policy on tag names need not apply here. It appears to me that, at least initially, the majority of 「core contributors」 to Wikifunctions used British English; I can name YoshiRulz, 99of9, GrounderUK, and VIGNERON.<ref group="color">I'm avoiding linking to these folks because I don't think pinging them about this discussion is all too necessary unless they themselves want to be involved; I don't want to clutter their inboxes just to briefly mention them. I pinged Denny because, well, I'm asking him a question directly, but everyone else I would prefer to join this discussion by their own accord... not that I wish for this decision to be confused as me going 「these people use British English so they will probably oppose my idea, I won't invite them to the discussion because of that」...no, I promise you that is not the reason.</ref> I see (or saw) these people ''everywhere'', so it makes sense that British English has prevailed in some sorts on this website, but I don't think that indicates that it should be the ''preferred'' spelling across the website, at least not to the point where a proposal should have its name changed to match such a "consensus".<ref group="color">It could be argued that the front-and-center ''Function catalogue'' using 「catalogue」 is actually indicative of such a "consensus", but ''catalogue'' is in a similar position to the word ''grey'' where I live (that is, the US) in that it is used just as often as its American counterpart. Also, consider Wiktionary's ''Beer parlour'' project chat.</ref> The unnecessary modification of the original spelling is my main argument for changing it back... but of course, I must obligatorily state that on English Wikipedia, it is [[w:Color|Color]] and [[w:RGBA color model|RGBA color model]]; on Wikidata, it is [[d:Q1075|color]] and [[d:Q2325624|RGBA color space]]; in CSS (which typically uses hexadecimal triplets to specify RGBA values), the properties are <code>color</code>, <code>background-color</code>, etc.; bit of a weak jab, but on Schema.org it is [https://schema.org/color color], [https://schema.org/colorSwatch colorSwatch]; et cetera. {{Z|Z28580}} uses ''color'', so does {{Z|Z28591}} and its Python counterpart. Mr. Vrandečić, I have to ask, I'm rather confused... you created the color type using British English spelling, but you were also responsible for the creation of the equality function which uses the American English spelling. You also seem to be writing in American English for the status updates, judging by your use of -''ize'' over -''ise'' endings and use of ''program'' over ''programme'' in [[Wikifunctions:Status updates/2026-04-16]]. Is there something I'm missing or have you switched your preferred variant somewhere along the way? Anyways, do consider this if you wish... again, I don't suppose this will garner much support, it is the ''non-issuest'' of ''non-issues'', but it has irked me to the point where I want to ask about it to get some answers, if nothing else. I am not arguing for every other color function to have its name changed, just the type itself. <references group="color"></references> &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:04, 8 May 2026 (UTC) :This is a multilingual project; the <code>en</code> label is <code>RGBA colour</code> and the <code>en-us</code> label is <code>RGBA color</code>. Though I'm not able to switch to <code>en-us</code> via the language picker so that would need to be fixed.<!-- --><br>edit after reading your whole comment: The same is true of {{Q|1075}}, there are labels specified for multiple English variants. (In {{Q|2325624}} it's only an alias.) I agree that other websites' choices aren't binding on us, but from that, I conclude that the more widespread British/Commonwealth spellings should be used for the generic <code>en</code>. As for myself, I'm Aussie and I will continue to use the BrE spellings ([[w:en:Oxford_spelling#Language_tag_comparison|+ "routing"]], TIL) if only by muscle memory.<!-- --><br>[[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:42, 8 May 2026 (UTC) :: Your lattermost point would normally be fine in a perfect world. Wikipedia's <code>convert</code> function defaults to "international" English, which I don't personally take issue with because it happens that we here in America are actually outliers for saying and spelling things differently... err, or we were for a while at least, nowadays it seems like an even split (plus you have "yield" vs. "give way" which is effectively the logical opposite of US's use of "meter" over "metre"). :: However, this is not a perfect world, and I don't think <code>en</code> should correspond to any particular variant. It is too fragmented across all software at this point to impose such a requirement. The inability to switch to <code>en-us</code> on this website foregoes an easy and simple solution to this problem that makes everyone happy, because the yanks (such as myself) can't be happy because we can't see the labels in American English even if we wanted to, and the other folk can't switch either as far as I'm aware (and the en-CA and en-GB languages in the preferences page seems to be deprecated). My point being, <code>en</code> is abused to mean "en-UK" just as often as it is abused to mean <code>en-US</code>; I think a decision shouldn't be made on such an assumption of one "default". &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:48, 12 May 2026 (UTC) :Hi @[[User:Theki|rae]]! I have no opinion nor preference on this, and given my background, I am just entirely confused about my spelling preferences myself, as you can tell from my inconsistent usage. I learned British English in school and used that for maybe two decades or so, but moved to the US and lived there for more than a decade, enough to be naturalized, but now I am back in Europe and I am technically a professor at King's College London, soooo.... honestly, I do not know. I don't remember having put too much thought into it at the moment I created it. The good thing is that in Wikifunctions, just as in Wikidata, it is easy to change, without messing things up too much (unlike in Wikipedia), so my suggestion is, just make the change, see if anyone complains, and if they do, discuss it more. I don't know if there is a guideline already in Wikifunctions about the variants. I am happy either way, and honestly, I keep forgetting which variant is which most of the time. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 18:16, 10 May 2026 (UTC) :: I can definitely understand this, although I am unfortunately rather passionate about any minutiae involving preferential minor differences in ''anything'', of which AmE vs. BrE chiefly is. So I dedicate a lot of headspace to it. More than I should. Not that I wish to imply that the comment above that I have wrote is of an irrational nature, or done out of spite or pure emotion and subjectivity; I do genuinely believe that ''RGBA color'' is beyond just a personal preference and is just logical. I may boldly go and change it, but for some reason I was expecting that changing the English label of a Type would require elevated permissions, and I also didn't want to do it only to get immediately reverted because it ''did'' strike a chord with someone, when I could instead see how apathetic, supportive, or in opposition interested people are beforehand and ''then'' act accordingly. I was not meaning to antagonize you over your spelling habits, I did actually use British English for a few years starting in 2020 before I went back to American English, so I'd be a hypocrite for me to decry you for not always sticking to some arbitrary standard of spelling words over the other. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:55, 12 May 2026 (UTC) :Although I spell it “colour”, I think it makes more sense to use “color” for the type, since that is almost always the required spelling when the string functions as a keyword. :More generally, though, Wikidata’s lexicographic data happens to favour “colour” over “color” and (quite rightly, in my view) lacks a specific representation for "en". This is unusual, in my experience, as "en" is widely misused in place of "en-US", where there are recorded spelling differences. :(I would also say it is standard British English to use “program” in a programming context and “programme” elsewhere. Use of -ize rather than -ise is a matter of personal preference or house style, but regional autocorrect encourages -ise.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:00, 12 May 2026 (UTC) :: ''Wikidata’s lexicographic data happens to favour “colour” over “color” and (quite rightly, in my view) lacks a specific representation for "en"'' :: Definitely agreeing with you on the latter being a good choice. However, I suspect the favoring of "colour" over "color" may be because, in terms of language codes, when sorted alphabetically <code>en-us</code> actually comes ''after'' <code>en-gb</code>. Although, the frontend seems to be sorting <code>en-ca</code> after <code>en-gb</code>, so I don't actually know how correct that is. :: ''I would also say it is standard British English to use “program” in a programming context and “programme” elsewhere'' :: The context of the spelling was "''No program for the NLG SIG meeting for next Tuesday has been proposed''". In that usage context, I think it makes sense to assume that ''program'' is not being used to refer to a computer program, but to a ''program of events'' or similar, something that you would spell as a ''programme'' in British English. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 12 May 2026 (UTC) :{{s}} this. I'm obviously biased but I believe American English is preferable generally, American dominance on the internet (our Department of Defen'''s'''e invented it!) and rapidly-increasing consumption of American media by international English speakers means that more people use American English's conventions, this is clear through for example [http://trends.google.com/explore?q=color%2Ccolour&date=all&geo=Worldwide search trends] (though they aren't particularly reliable). Perhaps this is a bit of a supremacist opinion, but we should have internal consistency, and if we must choose, American English should be our first choice (then Indian and then British English) [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:10, 12 May 2026 (UTC) :: This is rather flawed reasoning, though. I think probably any given British or Indian person would not agree on using that as the reasoning for this, not that you are necessarily ''completely wrong'', but if this is not a good enough reason for English Wikipedia's (admittedly extremely flawed) ''ENGVAR'' policy then I don't think it's likely it will pass here either. :: Although of note is that [https://books.google.com/ngrams/graph?content=color%2Ccolour&year_start=1800&year_end=2022&corpus=en&smoothing=3&case_insensitive=true Google ngrams] agree with you, but "color" vs. "colour" is an eternal holy war that will not be won by demonstrating that more books use US spelling over Commonwealth spelling. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:44, 12 May 2026 (UTC) :::You're probably right that it's not very sound. I'm biased in that other varieties of English irk me, and that's probably mutual for people who are used to other varieties of English when they read what I write! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:56, 12 May 2026 (UTC) :I've decided to boldly [[Special:Permalink/274271|make the change]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:02, 12 May 2026 (UTC) :: Thank you. Considering both you and GrounderUK seem to consider it an okay change, I think this will do for now. :: I should note that the matter of whether to move [[Wikifunctions:Catalogue/Colour functions]] in response to this (however this discussion will ultimately turn out) is a whole other can of worms, in my view. I can't say I have an opinion on that at the moment, but I'm putting it out there regardless. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:06, 12 May 2026 (UTC) :::Personally, I'm in favor of moving the page and renaming all of the items on it. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:10, 12 May 2026 (UTC) ::I don't like this (exactly because of the American hegemony you cited), but again, it shouldn't matter because the software is meant to be multilingual. Clearly there's a bug preventing you from picking an English variant/dialect as your display language. But the search bar and Function/Type autocompletion do check the English variants for matches. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:15, 12 May 2026 (UTC) == Proposals on the architecture of Abstract Content rendering == Starting from a discussion born on the Telegram chat, I've explained two different proposals on how the NLG on Abstract Wikipedia should be organized in the page [[abstract:User:Dv103/Abstract articles architectures]]. Please come to contribute to the discussion, or to propose alternatives. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:31, 11 May 2026 (UTC) :Thank you for dedicating your time to writing this, it is very informative. I will try to add input once I'm not in over my head with finals. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:27, 12 May 2026 (UTC) == Display function for HTML fragment == Currently, any collapsed Z89 literal appears as<blockquote>&lt;&gt; [[Z89|HTML fragment]]</blockquote>If I were to create a new Function which returned something like<blockquote>&lt;&gt; 123-byte HTML fragment <q><nowiki><td><span lang=</nowiki>&hellip;</q></blockquote>could that be connected to replace the collapsed form, or would it require changes to the Wikilambda software? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 16:14, 11 May 2026 (UTC) :It might work, but I doubt it. Those angled brackets suggest that the collapsed form is not simply defaulting to the type’s label. Looking at [[:phab:T410509]], I’ve concluded that enhancements to the collapsed form were never considered, rather than being actively rejected. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:12, 12 May 2026 (UTC) ::[[:Phab:T391985]] documents the original design. Note the fifth bullet point under “Acceptance criteria”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:21, 12 May 2026 (UTC) :I'm not sure the byte-size is necessary, but the outer tag (or first outer tag, though generally I'd prefer most fragments use a wrapper tag if it needs multiple like JSX does, but that's a whole different topic) would be nice. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:51, 12 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #248 is out: A higher meaning == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss functions creating language fragments, we present our latest news in Types, 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]]) 14:36, 15 May 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=30536976 --> == [[Z34510]] == This function, which determines if a Wikidata item for a {{q|5}} has an undeprecated {{p|21}} statement of {{q|6581097}}, returns false for {{q|173399}}, a transgender man. This is because his item assigns his P21 statement to {{q|2449503}}, not {{q|6581097}}. I'm not sure how to account for this discrepancy. Should {{z|34510}}: # Include {{q|2449503}} as a value that can lead to a true result, # Not include {{q|2449503}} as a value that can lead to a true result, while another function (e.g., "Q5 is a man?") could return true for either "male" or "trans man", # Not include {{q|2449503}} as a value that can lead to a true result, while another function (e.g., "Q5 is a trans man?") could return true for "trans man", # Not exist at all? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 16:48, 16 May 2026 (UTC) :I can't think of a single use case where you would need to determine if a person is a cisgender man and nothing else. Functions are good for generalizing across multiple possibilities when they exist, so I think it would be best if trans men were considered a part of the criteria for returning a true value. If asking for specifically {{q|6581097}}s and ''nothing'' else was desired then the function name would be a misnomer as Elliot Page is inarguably a male (at least in the view of most reasonable and intelligent people). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 19:03, 16 May 2026 (UTC) :You made the function in the first place; what were you planning on using it for? AW? Maybe it should return a {{Z|25501}} which can then be passed on to other NLG functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:01, 16 May 2026 (UTC) == Lexeme from wikidata label, or "best" lexeme from wikidata item == I was looking into fixing [[Z28028]]. I found that I could add "requires grammatical feature: definite article" to "United Kingdom" (L8558). Now I'm stuck on how to get to that lexeme from {{Q|145}}. There's [[Z23471]], but that for very good reason gives you multiple lexemes with the same sense, and I just want the best one like how the label is always the best string. Is there a function that can do this? There's definitely the case of a Wikidata label that isn't a lexeme (most commonly multiple lexemes) but I'm only considering the case where it is one lexeme here. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:02, 16 May 2026 (UTC) :There is {{Z|Z27327}}, that tries to give the best lexeme through various heuristics. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 22:22, 16 May 2026 (UTC) :: Wonderful! I did stumble upon [[Z33818]] but this is perfect. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:25, 17 May 2026 (UTC) == [[Z29591]] isn't working for me == For instance, trying to manually put in the exact inputs for one of the test cases just returns an empty Monolingual text. See [https://www.wikifunctions.org/wiki/Z29591?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29591%22%2C%22Z29591K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q3257809%22%7D%2C%22Z29591K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q21264361%22%7D%2C%22Z29591K3%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q22006653%22%7D%2C%22Z29591K4%22%3A%22Z1002%22%7D]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 01:17, 17 May 2026 (UTC) :You used [[:d:Q22006653]] rather than [[:d:Q1075]]. It looks like the [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30784%22%2C%22Z30784K1%22%3A%7B%22Z1K1%22%3A%22Z11%22%2C%22Z11K1%22%3A%22Z1002%22%2C%22Z11K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z21394%22%2C%22Z21394K1%22%3A%5B%22Z6%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22664%22%2C%22Z22664K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q22006653%22%7D%2C%22Z22664K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q21264361%22%7D%2C%22Z22664K3%22%3A%22Z1002%22%7D%5D%7D%7D%7D explanatory error] is suppressed by the [https://www.wikifunctions.org/view/en/Z30009?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30009%22%2C%22Z30009K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30784%22%2C%22Z30784K1%22%3A%7B%22Z1K1%22%3A%22Z11%22%2C%22Z11K1%22%3A%22Z1002%22%2C%22Z11K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z21394%22%2C%22Z21394K1%22%3A%5B%22Z6%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22664%22%2C%22Z22664K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q22006653%22%7D%2C%22Z22664K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q21264361%22%7D%2C%22Z22664K3%22%3A%22Z1002%22%7D%5D%7D%7D%7D%2C%22Z30009K2%22%3A%22Z801%22%7D final transformation]. The returned result is not actually empty; if you expand it, you can see that it is an unresolved function call. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:59, 17 May 2026 (UTC) == [[Z35298]] == Does anyone know what the problem with this implementation is? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:14, 18 May 2026 (UTC) :There is a bug that doesn't allow Python implementation to return nested lists. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 05:31, 19 May 2026 (UTC) ::Is there a Phabricator task for this? Searching through them is hell. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 03:22, 20 May 2026 (UTC) :::A bit of time ago I opened [[phab:T392750]], which is very similar to this issue. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 05:26, 20 May 2026 (UTC) == May 2026 Wikimedia Café meetups regarding the Wikimedia Foundation Annual Plan == <div class="border-box" style="background-color: var(--background-color-warning-subtle, #f8eaba); max-width: 875px; padding: 5px; border: 1px solid black; margin: 5px; color: var(--clr-dark)"> <div class="box" style="float:left; padding-top: 15px; padding-right: 15px;">[[File:Wikimedia Café logo in plain SVG format.svg|75px|alt=The logo for the Wikimedia Café]]</div> Hello! There will be two '''[https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9 Wikimedia Café]''' discussion opportunities during the last weekend of May. Both sessions will focus on the [https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2026-2027 the 2026-2027 Wikimedia Foundation Annual Plan]. Participants may attend either or both sessions. #'''Saturday, 30 May 2026 at 15:00 UTC''' ([https://zonestamp.toolforge.org/1780153200 timestamp converter]), at a time friendly to the Americas, Africa, and Europe #'''Sunday, 31 May 2026 at 05:00 UTC''' ([https://zonestamp.toolforge.org/1780203600 timestamp converter]), at a time friendly to Asia and the Pacific Café participants are highly encouraged to read in advance [https://en.wikipedia.org/wiki/User:Sohom_Datta/annual_plan_guide at least this summary of the plan]. Optionally, Café participants are encouraged to read portions of the plan that interest them and [https://meta.wikimedia.org/wiki/Talk:Wikimedia_Foundation_Annual_Plan/2026-2027 ask questions or provide feedback on the Annual Plan talk page]. Please see the Café page for more information, including [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#May_2026_meetings_with_a_focus_on_Wikimedia_Foundation_Annual_Plan/2026-2027 tables of timestamp conversions for both sessions], [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#Agenda._This_will_be_an_approximately_1_hour_Caf%C3%A9_session,_and_is_extendible_for_an_additional_30_minutes_if_needed. the agenda], and [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#How_to_attend_the_session how to register]! <br /> [[File:Buntstifte Eberhard Faber crop 64h.jpg|860px|alt=cropped image of colored pencils]]</div> <span style="white-space:nowrap;">[[User:Pine|<span style="color:#01796f; text-shadow:#00BFFF 0 0 1.0em">↠Pine</span>]] [[User talk:Pine|<span style="color:DeepSkyBlue">(<b style="color:#FFDF00;text-shadow:#FFDF00 0 0 1.0em">✉</b>)</span>]]</span> 19:56, 21 May 2026 (UTC) == How to handle items without lexemes == NLG functions relay heavily on the presence of lexemes associated to items on Wikidata. But we know that not all the Wikidata items have an associated lexeme. There are multiple reasons why an item does not have an associated lexeme, like: # The lexeme has not been created yet # The item represents a place # The item represents a person # The item represents a specific concept that can only be expressed by a specific combination of words that cannot be [[Wikidata:Wikidata:Lexicographical data/Notability|notable]] (like {{Q|Q61220733}}). My doubt is: what should we do with this fourth category? For many languages, just using the Wikidata item label is not possible, since it is necessary to conjugate the words or to retrieve grammatical information like the gender. What should we do? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:09, 23 May 2026 (UTC) :In that particular example, I think the thing to do is read its {{P|279}}: {{Q|21191270}}, then have some kind of heuristic based on that which says to take its {{P|8345}} and attach that Item's label to a Form of the word for "episode". In general, synthesising Lexemes for proper nouns is one of the problems that [[abstract:User:Dv103/Abstract_articles_architectures|proposals in your list here]] will have to address. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:59, 23 May 2026 (UTC) [[File:Wikidata content 2024.svg|thumb|Content of Wikidata by type]] ::{{ping|Dv103}} very good point. ::For your point 2, it depends of the place but I think that quite often a lexeme can be created (most "Administrative territorial entity", most geographical entity, etc.). And with 3, your can add a lot of types (see pie chart) : Scholarly article, Human (with a very few exception), Wikimedia Category, Disambig, etc. which is (rough estimation) 2/3 of Wikidata items. ::A common rule (in dictionaries since forever and in Lexemes) is to not create an entry which is the "sum of its part". In this case, "Star Trek episode" is just episode + Star Trek, nothing more than its part. So logically, as {{U|YoshiRulz}} said, when no corresponding lexeme is found, the item should be decomposed the same way, the hard part is to know how to decompose it as the property will vary ; P31 and P279 are an obvious start but beyond that, I'm not sure we could find a general solution. ::PS: it's beyond you question but there is also the reverse problem, how to select one lexeme when multiple are linked to the same item... ::Cheers, [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 10:43, 24 May 2026 (UTC) jcx75w6g0hh7douvidfkn0f30fpa1k3 Wikifunctions:Requests for deletions 4 1696 277642 277403 2026-05-24T08:29:33Z Ameisenigel 44 Mark section resolved ([[User:Bunnypranav/sectionResolved.js|sectionResolved]]) 277642 wikitext text/x-wiki <noinclude>__NEWSECTIONLINK__ __FORCETOC__</noinclude> Functions or implementations or tests which do not work properly, do not meet notability criteria or are duplicates of another object can be deleted. Please nominate items for deletions under the "Requests for deletion" section below. If it is obvious vandalism, just report it in [[Wikifunctions:Report vandalism]], or ping an [[Special:ListAdmins|administrator]]. Contact can also be made with an administrator on [https://t.me/Wikifunctions Telegram] or IRC [irc://irc.libera.chat/wikipedia-abstract #wikipedia-abstract]. If it is a predefined object (its ZID is less than 10000), please see [[Wikifunctions:Report a technical problem]]. {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |level = 2 }} {{Archives|{{Special:PrefixIndex/Wikifunctions:Requests for deletions/Archive/|stripprefix=1}}}} = Requests for deletion = == [[Z18720]] == This kind of function is not supported, at least not in the way as it is currently implemented. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 20:24, 27 April 2026 (UTC) :CC @[[User:Ioaxxere|Ioaxxere]] <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 12:27, 28 April 2026 (UTC) :Why isn't it supported? This function would be useful on Wiktionary itself if we could call it from a template. [[User:Ioaxxere|Ioaxxere]] ([[User talk:Ioaxxere|talk]]) 13:47, 28 April 2026 (UTC) ::Web requests are not technically supported, and the Abstract Wikipedia team has no plans to support it. Functions should be deterministic, which means that they cannot rely on web requests. The proper way to do this would be to use the templates feature, you can do something like <nowiki>{{:hello}}</nowiki> to bring the full page hello a function call. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:53, 28 April 2026 (UTC) == [[Z18771]] == Duplicate of [[Z10251]]. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 12:51, 3 May 2026 (UTC) :{{s}} deletion, unless {{ping|Jsamwrites}} has a comment to make. This is a relatively old one, but WhatLinksHere shows that nothing uses it. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:44, 3 May 2026 (UTC) :Thanks for pointing this out. However, there are implementations and test cases that cover more interesting use cases. Also added a composition function making use of {{Z|Z10251}} [[User:Jsamwrites|John Samuel]] 17:01, 3 May 2026 (UTC) ::It is possible to move these from the duplicate to the original function. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 17:49, 7 May 2026 (UTC) :::I have moved all the tests and implementations (except the one that is just using the older function) to Z10251. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 09:05, 17 May 2026 (UTC) == [[Z12390]] == Associated to a non-existing function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:06, 21 May 2026 (UTC) :Pings: @[[User:ToprakM|ToprakM]] @[[User:GrounderUK|GrounderUK]] [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:07, 21 May 2026 (UTC) :{{done}} [[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 08:29, 24 May 2026 (UTC) {{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 08:29, 24 May 2026 (UTC)}} == Request for deleting {{Z|35508}} == Please delete {{Z|35508}}, which I started to make earlier today. A better implemention can replace mine. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 21:22, 22 May 2026 (UTC) :{{done}} <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 06:54, 23 May 2026 (UTC) {{Section resolved|1=<span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 06:54, 23 May 2026 (UTC)}} r448ylzt4irby1snjnli76fa7zhk0cl Wikifunctions:Requests for user groups 4 3790 277589 277336 2026-05-24T03:08:10Z SpBot 978 archive 1 section: 1 to [[Wikifunctions:Requests for user groups/Archive/2026/05]] (after section [[Wikifunctions:Requests for user groups/Archive/2026/05#Some_helpful_person|Some_helpful_person]]) - previous edit: [[:User:Feeglgeef|Feeglgeef]], 2026-05-23 01:04 277589 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}} == Autopatroller == {{See also|Wikifunctions:Autopatrollers}} == Administrator == {{see also|Wikifunctions:Administrators}} == Interface administrator == {{see also|Wikifunctions:Interface administrators}} == Translation administrator == {{see also|Wikifunctions:Translation administrators}} === Eihel === :{{UL2.0|1=Eihel|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}} :''Discussion open until: 23:39, 28 May 2026 (UTC)'' :Simply help the project &#x1F609; —[[User:Eihel|Eihel]] ([[User talk:Eihel|talk]]) 23:39, 21 May 2026 (UTC) ::Hmm. You had 19 edits at the time of request (of those which were in the last two years, none added any content), though you now have 49. You have translationadmin on three other projects, so I'd be rather shocked if you didn't know how to use the tools. For now I '''don't object''' (note to closer, please count as neutral), I'd be willing to actually support if you'd actually translated this project more (on, say, a recent status update), and elaborated on what you want to do with the rights. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 01:02, 23 May 2026 (UTC) == 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|*]] q6j7ny7t6rwl2eu618lu8ynggs0d7tt 277657 277589 2026-05-24T11:57:18Z HenkvD 1290 /* Functioneer */ 277657 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}} === HenkvD === :{{UL2.0|1=HenkvD|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}} : I have been creating a few functions, implementations and test cases for Abstract Wikipedia. I think I understand the processes now, and like to be able to connect new creations myself, and possibly in the future to connect others as well. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) == Autopatroller == {{See also|Wikifunctions:Autopatrollers}} == Administrator == {{see also|Wikifunctions:Administrators}} == Interface administrator == {{see also|Wikifunctions:Interface administrators}} == Translation administrator == {{see also|Wikifunctions:Translation administrators}} === Eihel === :{{UL2.0|1=Eihel|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}} :''Discussion open until: 23:39, 28 May 2026 (UTC)'' :Simply help the project &#x1F609; —[[User:Eihel|Eihel]] ([[User talk:Eihel|talk]]) 23:39, 21 May 2026 (UTC) ::Hmm. You had 19 edits at the time of request (of those which were in the last two years, none added any content), though you now have 49. You have translationadmin on three other projects, so I'd be rather shocked if you didn't know how to use the tools. For now I '''don't object''' (note to closer, please count as neutral), I'd be willing to actually support if you'd actually translated this project more (on, say, a recent status update), and elaborated on what you want to do with the rights. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 01:02, 23 May 2026 (UTC) == 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|*]] btbs3cnn1qpgw86mmytb1iucvbwtu6v Wikifunctions:Function model/fr 4 5813 277511 277048 2026-05-23T17:02:07Z Eihel 102 fr corr. 277511 wikitext text/x-wiki <noinclude><languages />{{Technical documentation navbox}} </noinclude> [[Special:MyLanguage/Wikifunctions:About|''Wikifonctions'']] (''Wikifunctions'' en anglais) est un catalogue multilingue de '''[[Special:MyLanguage/Wikifunctions:Glossary#Function|fonctions]]''' auquel chacun peut contribuer, créer, maintenir, appeler et utiliser les fonctions. Chaque fonction peut avoir plusieurs mises en œuvre, par exemple dans des langages de programmation différents ou en utilisant des algorithmes différents. C’est une « [[Special:MyLanguage/Wikifunctions:Glossary#Wikipedia|Wikipédia]] de fonctions » et un projet frère soutenu et conduit par la [[Special:MyLanguage/Wikifunctions:Glossary#Wikimedia Foundation|Fondation Wikimédia]]. Ce document couvre le modèle de données et le modèle d’évaluation de ''Wikifonctions''. : Tout au long de cette description de modèle, les termes capitalisés se réfèrent à des termes définis dans le '''[[Special:MyLanguage/Wikifunctions:Glossary|glossaire]]'''. : La lecture de la [https://github.com/google/abstracttext/blob/master/eneyj/docs/walkthrough.md procédure pas à pas d’un précédent prototype] a été très utile pour obtenir une meilleure intuition de ce qui s’y passe avant de lire le modèle suivant. {{Anchor|Z1}} <span id="Z1/ZObjects"></span> == Z1/Z-Objets (''ZObjects'') == ''Wikifonctions'' est un wiki. Comme dans tous les wikis, le contenu de ''Wikifonctions'' est principalement stocké dans des pages wiki. Les pages wiki peuvent être modifiées individuellement et pourtant le projet dans son entier doit conserver une certaine consistance. Aussi les pages doivent être individuellement modifiables sans avoir à comprendre toutes les autres pages. Nous introduisons les Z-Objets pour représenter le contenu de ''Wikifonctions''. Chaque page wiki de l’espace de noms principal de ''Wikifonctions'' contient exactement un Z-Objet, de type {{Z|Z2}}. D’autres espaces de noms peuvent contenir d’autres contenus, comme les pages de politique, les pages d’utilisateurs, les pages de discussion, etc. Un Z-Objet peut être sérialisé sous forme d’un objet JSON. Un Z-Objet consiste en une liste de paires Clé/valeur. * Chacune des valeurs d'une paire Clé/valeur est un Z-Objet. * Les valeurs peuvent être soit {{Z|6}}, soit {{Z|9}}, soit avoir tout autre type. Les valeurs {{Z|6}} et {{Z|9}} sont appelées valeurs terminales. Elles ne se développent pas davantage. * Un Z6/String a exactement deux clés, Z1K1/type avec la valeur "Z6", et Z6K1/string value, avec une chaîne arbitraire. * Une {{Z|9}} a exactement deux clés : Z1K1/type avec la valeur "Z9", et Z9K1/reference ID avec une chaîne représentant un ZID. * Chaque Clé ne peut apparaître qu’une fois dans chaque Z-Objet (mais peut réapparaître dans un Z-Objet encapsulé). Les Z-Objets sont à la base des arbres de syntaxe abstraite. S’il y avait un terme {{Lang|en|''TLDR''}} (« trop long : ne pas lire ») pour le projet, ce serait probablement « quelque chose comme LISP en JSON ». Le but est de fournir une interface utilisateur facile qui permet la création et la manipulation des Z-Objets au moyen d’une interface wiki, et donc de créer un environnement de codage qui peut atteindre un large nombre de contributeurs et qui puisse devenir un projet Wikimédia avec une communauté active. Chaque Z-Objet doit avoir une clé Z1K1/type avec une valeur qui s’évalue en un Z4/Type. Nous utilisons la notation « ''Z-ID/libellé'' » pour nous référer aux ''Z-ID'' d’une façon plus ou moins agréable, où « ''Z-ID'' » est un identifiant de Z-Objet (ou une clé sur un tel objet) et « ''libellé'' » est le libellé en clair (par exemple en langue anglaise ou française) attaché à cette identifiant ou clé en langue neutre. Dans la ''forme normale'', un ZObject est représenté uniquement par des enregistrements de paires clé-valeur qui se terminent uniquement dans les noeuds terminaux. La forme normale d'un ZObject est généralement utilisée pour l'évaluation. <span id="Canonical_form"></span> == Forme canonique == Pour rendre les ZObjects plus lisibles et plus compacts, nous les stockons et les transmettons généralement sous une forme dite ''forme canonique''. Les formes canoniques utilisent trois transformations syntaxiques : pour {{Z|9}}, {{Z|6}} et {{Z|881}}. <span id="Canonical_References"></span> === Références canoniques === Une référence pointe vers un ZObject via son ZID. Un ZID commence par la lettre Z, suivie d'un nombre naturel. La forme normale d'une référence ressemble à ceci : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "reference", "reference id": "natural number" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z9", "Z9K1": "Z10" }</syntaxhighlight> |} {{notice|1=À propos de la présentation ici et tout au long du document, nous afficherons toujours les ZObjects deux fois : sur le côté gauche dans leur version labellisée, c'est-à-dire où tous les ZID et les références de clés sont remplacées par un libellé en anglais, et sur le côté droit où les ZIDs et les réferences de clés ne sont pas remplacés.}} La forme canonique remplace cet objet par une chaîne unique avec le ZID. La forme canonique de la référence ci-dessus est alors la suivante : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">"natural number" </syntaxhighlight> | <syntaxhighlight lang="json">"Z10" </syntaxhighlight> |} Notez que la forme normale et la forme canonique ont la même signification. <span id="Canonical_Strings"></span> === Chaînes canoniques === Une chaîne est une séquence de points de code Unicode, représentant généralement un mot ou un texte. Elle peut inclure des espaces et tout autre caractère en plus des caractères de contrôle. La forme normale d'une chaîne est la suivante. Notez que la valeur de la seconde clé est bien sûr la chaîne elle-même, et non la version labellisée d'un ZID, comme on peut le voir sur le côté droit. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "string", "string value": "Wikifunctions" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z6", "Z6K1": "Wikifunctions" }</syntaxhighlight> |} Les chaînes de caractères peuvent être mises sous forme canonique simplement par leur contenu en non pas l'objet entier. La chaîne ci-dessus peut être mise sous forme canonique ainsi. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">"Wikifunctions" </syntaxhighlight> | <syntaxhighlight lang="json">"Wikifunctions" </syntaxhighlight> |} Notez que les chaînes qui commencent par une lettre latine en majuscule et qui sont suivies d'un nombre naturel doivent être échappées car elles entreraient en collision avec la représentation normale d'une référence. Par exemple la chaîne <code>"Z1"</code> aurait la représentation suivante, à la fois sous sa forme normale et sous sa forme canonique. Ceci est dû au fait que, autrement, il serait ambigu de déterminer si <code>"Z1"</code> fait référence à la chaîne Z1 ou s'il est une référence à l'objet dont le ZID est Z1. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "string", "string value": "Z1" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z6", "Z6K1": "Z1" }</syntaxhighlight> |} <span id="Canonical_lists"></span> === Listes canoniques === Les listes sont représentées par ce qu'on appelle des ''Benjamin Arrays''. Vous trouverez leur description dans la section [[#Z881/Typed lists|Z881/liste typée]] ci-dessous. <span id="Representation_in_JSON"></span> == Représentation en JSON == Un Z-Objet peut être représenté en JSON en utilisant comme clés les clés ZID abstraites (Z1K1, etc.), et la représentation JSON de la valeur. Une représentation plus lisible peut être donnée en remplaçant les clés abstraites et les ''Z-ID'' par leurs libellés dans une langue donnée, la représentation « libellée ». La version labellisée est souvent ambiguë et ne peut pas toujours être traduite sous une forme lisible par la machine. La table suivante donne un exemple pour un Z-Objet qui représente l’entier positif 2. Sur la gauche nous voyons le Z-Objet libellé en anglais, au milieu libellé en allemand et à droite nous voyons le Z-Objet utilisant des ''Z-ID''. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "natural number", "base 10 representation": "2" }</syntaxhighlight> |<syntaxhighlight lang="json">{ "Typ": "natürliche Zahl",   "Dezimaldarstellung": "2" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z10",   "Z10K1": "2" }</syntaxhighlight> |} Comme vous pouvez le voir, les libellés ne sont pas nécessairement en anglais, mais doivent être dans l'une des plus de 300 langues que ''Wikifunctions'' prend en charge. <span id="Normal_form"></span> == Forme normale == Pour le traitement des ZObjets par l’évaluateur, tous les ZObjets sont convertis en version normalisée décrite ci-dessus. La version normalisée est similaire à la version désérialisée, mais nous ne comptons sur aucune implication pour savoir s’il faut interpréter une valeur chaîne comme une Z6/Chaîne ou comme une Z9/Référence, mais elles sont toutes exprimées comme des ZObjets explicites. Cela signifie que la représentation normalisée d’un ZObjet est un arbre dont toutes les feuilles sont soit de type Z6/Chaîne, soit de type Z9/Référence. Cela signifie également que toutes les Listes sont représentées comme des ZObjets, et non comme des tableaux. La forme normale suivante représente le ZObjet ci-dessus, qui a pour valeur l’entier naturel 2. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": { "type": "reference", "reference id": "natural number" }, "base 10 representation": { "type": "string", "string value": "2" } }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": { "Z1K1": "Z9", "Z9K1": "Z10" }, "Z10K1": { "Z1K1": "Z6", "Z6K1": "2" } }</syntaxhighlight> |} Les formes normales sont utilisées comme entrées pour le moteur d’évaluation. Elles assurent que l’entrée à évaluer est toujours uniforme et facile à traiter et que cela exige un nombre minimum de cas particuiers. {{Anchor|persistent-transient}} <span id="Persistent_and_transient"></span> == Persistant et transitoire == Tout ZObject de niveau principal stocké dans une page wiki ''Wikifunctions'' est un objet {{Z|2}} . Les ZObject qui ne sont pas stockés sur leur propre page wiki sont appelés ZObjects transitoires. Chaque ZObject persistant doit avoir un Z2K1/id, un {{Z|6}} pour le ZID, ce qui est équivalent au nom de la page wiki où il est stocké. Supposons qu'il existe un ZObject pour le nombre naturel 2 que nous avons vu précédemment et qu'il est stocké sur la page Z702. Voici ce à quoi il pourrait ressembler (noter que les ZID de trois digits qui commencent avec Z7xx ne sont que des jokers, tant que nous n'avons pas les vrais ZID correspondants dans ''Wikifunctions''). {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "persistent object",   "id": { "type": "string", "string value": "Z702" },   "value": {     "type": "natural number",     "base 10 representation": "2"   },   "label": {     "type": "multilingual text",     "texts": [ "monolingual text",       {         "type": "monolingual text",         "language": "English",         "text": "two"       },       {       "type": "monolingual text",         "language": "German",         "text": "zwei"       }     ]   } }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z2",   "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z702" },   "Z2K2": {     "Z1K1": "Z10",   "Z10K1": "2"   },   "Z2K3": {     "Z1K1": "Z12",   "Z12K1": [ "Z11",       {         "Z1K1": "Z11",         "Z11K1": "Z1002",         "Z11K2": "two"       },       {         "Z1K1": "Z11",         "Z11K1": "Z1430",         "Z11K2": "zwei"       }     ]   } }</syntaxhighlight> |} Tous les objets JSON stockés dans Wikifunctions le sont sous la [[:mw:Unicode normalization considerations|forme C de normalisation Unicode]]. Toutes les valeurs avant l'évaluation doivent également être normalisées en Unicode à la forme normale C. L'objet {{Z|2}} est une enveloppe fournissant des métadonnées pour le ZObject intégré à Z2K2/value. Z2K3/label est un ZObject du type {{Z|12}} qui a un {{Z|3}}, Z12K1/texts, pointant sur une liste de ZObjects {{Z|11}} (rappelez-vous qu'une liste est représentée comme un tableau dans la représentation JSON). Le libellé sert à l'étiquetage. Il y a d'autres {{Z|3}} sur {{Z|2}} que nous avons omis ici. Ils sont tous définis sur {{Z|2}}. {{Anchor|Z9}} <span id="Z9/References"></span> == Z9/Références == Une {{Z|9}} est une référence à la valeur Z2K2/ du ZObject avec l'ID donné, et signifie que cette Z2K2/value a la même signification que la référence. Pour donner un exemple, prenez la référence suivante : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">"two" </syntaxhighlight> | <syntaxhighlight lang="json">"Z702" </syntaxhighlight> |} Ceci est la forme raccourcie d'une {{Z|9}} qui ressemblerait à cela dans sa forme développée (expliqué dans la section concernant la [[#Deserialization|désérialisation]]) : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{ "type": "reference", "reference id": "two" }</syntaxhighlight> | <syntaxhighlight lang="json">{ "Z1K1": "Z9", "Z9K1": "Z702" }</syntaxhighlight> |} Et comme cet objet est une {{Z|9}} il doit être remplacé par la Z2K2/value du {{Z|2}} qui a "Z702" pour Z2K1/id (comme indiqué ci-dessus), il ressemblera donc à ceci : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{ "type": "natural number", "base 10 representation": "2" }</syntaxhighlight> | <syntaxhighlight lang="json">{ "Z1K1": "Z10", "Z10K1": "2" }</syntaxhighlight> |} Toutes les trois représentations JSON de cette section ont la même signification pour Wikifunctions. Ils se réfèrent tous au nombre naturel 2. Notez que si une Z8/fonction a un type d'argument Z2/Objet persistant, alors, au lieu de la Z2K2/value, elle est remplacée par le Z2/Persistent object lui-même. {{Anchor|Z4}} == Z4/Types == Les types sont des ZObjects de type Z4/Type. Les ZObjects d'un type sont appelés des instances de ce type. Donc Z702/two que nous avons vu ci-dessus était une instance du type ''Z10/positive integer''. Le type nous indique comment interpréter une valeur. Le type nous fournit également les moyens de vérifier la validité d'un ZObject de ce type. Un type déclare habituellement les clés disponibles pour ses instances et une fonction utilisée pour valider les instances. Voici le type pour les entiers naturels (simplifié car il saute la courte description et les alias et tout sauf les trois premières clés sur Z4/Type). {|class="wikitable" style="margin:.6em 1.6em" | <syntaxhighlight lang="json" line="line">{   "type": "persistent object",   "id": { "type": "String", "string value": "Z10" },   "value": {     "type": "type",     "identity": "natural number",     "keys": [ "key",       {         "type": "key",         "value type": "string",         "key id": "Z10K1",         "label": {           "type": "multilingual text",           "texts": [ "monolingual text",             {               "type": "monolingual text",               "language": "English",               "text": "base 10 representation"             },             {               "type": "monolingual text",               "language": "German",               "text": "Dezimaldarstellung"             }           ]         }       }     ],     "validator": "validate natural number"   },   "label": {     "type": "multilingual text",     "texts": [ "monolingual text",       {         "type": "monolingual text",         "language": "English",         "text": "natural number"       },       {         "type": "monolingual text",         "language": "German",         "text": "natürliche Zahl"       }     ]   } }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z2",   "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z10" },   "Z2K2": {     "Z1K1": "Z4",     "Z4K1": "Z10070",     "Z4K2": [ "Z3",       {         "Z1K1": "Z3",         "Z3K1": "Z6",         "Z3K2": "Z10K1",         "Z3K3": {           "Z1K1": "Z12",           "Z12K1": [ "Z11",             {               "Z1K1": "Z11",               "Z11K1": "Z1251",               "Z11K2": "base 10 representation"             },             {               "Z1K1": "Z11",               "Z11K1": "Z1254",               "Z11K2": "Dezimaldarstellung"             }           ]         }       }     ],     "Z4K3": "Z110"   },   "Z2K3": {     "Z1K1": "Z12",     "Z12K1": [ "Z11",       {         "Z1K1": "Z11",         "Z11K1": "Z1251",         "Z11K2": "positive integer"       },       {         "Z1K1": "Z11",         "Z11K1": "Z1254",         "Z11K2": "natürliche Zahl"       }     ]   } }</syntaxhighlight> |} Pour rendre le noyau du Type plus visible, regardons simplement le Z4/Type et enlevons les libellés : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "type",   "identity": "natural number",   "keys": [ "key",     {       "type": "key",       "value type": "string",       "keyid": "Z10K1"     }   ],   "validator": "validate natural number" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z4",   "Z4K1": "Z10",   "Z4K2": [ "Z3",     {       "Z1K1": "Z3",       "Z3K1": "Z6",       "Z3K2": "Z10K1"     }   ],   "Z4K3": "Z110" }</syntaxhighlight> |} Le type ''Z10/positive integer'' définit dans Z4K2/keys la nouvelle représentation {{Z|3}} Z10K1/base 10, que nous avions utilisée ci-dessus dans l'instance représentant le nombre 2. Z4K3/validator pointe sur une {{Z|8}} qui prend une instance comme argument et renvoie soit une erreur, soit la valeur elle-même dans le cas où il n'y a pas d'erreur. Si aucune erreur n'est renvoyée, l'instance a passé la validation avec succès. Dans le cas présent, la {{Z|8}} pourrait effectuer les contrôles suivants : * Il n'y a qu'une et une seule clé, en représentation Z10K1/base 10, sur l'instance, en plus de Z1K1/type. * La valeur de la représentation de base 10 est de type {{Z|6}}. * La représentation en base 10 ne contient que des chiffres. * La représentation en base 10 ne commence pas par un 0, sauf s'il s'agit du zéro. Notez que toutes ces vérifications sont effectuées par {{Z|8}} et proposées par les contributeurs, et que ces derniers peuvent définir et modifier tous les types. Rien n’est codé en dur concernant le type du nombre que nous utilisons ici. Une instance pourrait utiliser des clés qui ne sont pas définies dans le Type. Il appartient à la fonction validateur de le permettre ou pas. Par exemple, les instances de ''Z7/Appel de fonction'' utilisent souvent des clés non définies sur ''Z7/Appel de fonction'', comme on peut le voir dans la section sur [[#Z7/Function calls|Z7/Appel de fonction]]. Néanmoins il est cependant attendu que la plupart des valideurs exigent que toutes les clés soit définies. Mais un petit nombre d'élements sont codés en dur, tel que le comportement d’un ''Z7/appel de fonction''. Plus de détails viendront ultérieurement. {{Anchor|Z3}} <span id="Z3/Keys"></span> == Z3/Clés == Toutes les clés doivent avoir un ''K'' suivi par un nombre naturel et peuvent être précédées par un ''Z-ID''. Si elles sont précédées d'un Z-ID, elles sont appelées clés globales, si elles ne le sont pas elles sont appelées clés locales. Par exemple les deux représentations suivantes sont équivalentes. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "Z1K1": "Z7",   "Z7K1": "Z781",   "Z781K1": "Z702",   "Z781K2": "Z702" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z7",   "Z7K1": "Z10000",   "K1": "Z702",   "K2": "Z702" }</syntaxhighlight> |} Les clés globales sont des arguments nommés alors que les clés locales sont des arguments positionnels. * La règle de base est d'utiliser les clés globales à chaque fois que c'est possible. * L'utilisation principale pour les clés locales est quand une Z8/Fonction ou un Z4/Type est créé à la volée, et ne peut donc pas avoir de clé globale parce que la Z8/Fonction ou le Z4/Type créé n'est lui-même pas persistant. Une clé globale est toujours définie sur le ZObject sur lequel la partie ZID de son identifiant fait référence. Dans la définition, une clé contient des informations sur le type d'objet qu'elle doit contenir (Z3K1), l'ID global qui identifie cette clé (Z3K2), ses libellés lisibles par un humain (Z3k3) et l'indication que cette clé est un champ d'identité (Z3K4) ou pas. Une clé d'identité permet aux objets de stocker leur ID persistant. Par exemple, les fonctions et types contiennent un champ d'identité. Les types envisagés, en particulier les énumérations, ainsi que les caractéristiques grammaticales, nécessitent également une identité. {{Anchor|Z8}} <span id="Enumerations"></span> == Enumérations == Une énumération est un type qui a un nombre limité de valeurs. Les exemples d'énumérations sont le type Boolean (avec les valeurs "false" et "true") ou le signe des entiers (avec des valeurs "positif", "neutre" ou "négatif"). Les énumérations sont aussi un outil important pour prendre en charge les fonctions linguistiques. Chaque type d'énumération a une clé qui est marquée comme un champ d'identité. Par exemple, voyons la définition du type pour Boolean (en supprimant les libellés des clés pour simplifier) : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{ "type": "Type", "identity": "Boolean", "keys": [ "Key", { "type": "Key", "value type": "Boolean", "key id": "Z40K1", "label": { /* "identity" */ }, "is identity": "True" } ], ... }</syntaxhighlight> | <syntaxhighlight lang="json">{ "Z1K1": "Z4", "Z4K1": "Z40", "Z4K2": [ "Z3", { "Z1K1": "Z3", "Z3K1": "Z40", "Z3K2": "Z40K1", "Z3K3": { /* "identity" */ }, "Z3K4": "Z41" } ], ... }</syntaxhighlight> |} Toutes les valeurs limitées pour Boolean attribueront leur ZID à la valeur de leur clé d'identité/Z40K1. Voir, par exemple, True, qui contient son identité et en plus les données multilingues (nom, description, alias) comme partie des clés d'objet persistant. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line" highlight="9">{ "type": "Persistent object", "identity": { "type": "String", "value": "Z41" }, "value": { "type": "Boolean", "identity": "True" }, "labels": { "type": "Multilingual text", "texts": [ "Monolingual text", { "type": "Monolingual text", "language": "English", "text": "true" } ] } }</syntaxhighlight> | <syntaxhighlight lang="json" highlight="9">{ "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z41" }, "Z2K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "true" } ] } }</syntaxhighlight> |} <span id="Lightweight_enumerations"></span> == Enumérations de faible poids == Tout comme les énumérations de la section précédente, une ''énumération réduite'' est un type qui possède un nombre limité de valeurs. Néanmoins avec les différences suivantes : * Chaque valeur correspond à une entité Wikidata. * Les valeurs sont référencées par rapport à l'utilisation de leurs indentifiants Wikidata. Ceci est fait en utilisant les [[Special:MyLanguage/Wikifunctions:Support_for_Wikidata_content#Wikidata_reference_types|types de références Wikidata]] (chaque instance d'un type de référence contient un identifiant Wikidata). * En conséquence, il n'est pas nécessaire de créer un ZObject pour chaque valeur (le seul ZID créé pour une petite énumération est celui du type d'énumération lui-même). Lorsqu'un type de petite énumération est créé, l'utilisateur indique le type de référence que Wikidata doit utiliser pour spécifier les valeurs, et l'interface utilisateur aide le créateur à saisir les valeurs ainsi que les instances de ce type de référence. La définition du type d'énumération lorsqu'elle est enregistrée, contient la liste de toutes ces valeurs. Formellement, chaque type de petite énumération est un appel à [[Z6884]] - une fonction dont le but est de créer ces types (de cette façon, c'est similaire à d'autres fonctions de création de type comme [[Z881]]). La définition d'un type de petite énumération capture ensuite les détails de l'appel à [[Z6884]]. Voici un exemple qui utilise la [[Z6901|référence d'un élément Wikidata]] pour spécifier 3 valeurs possibles pour le genre grammatical : masculin, féminin et neutre. Ce type existe dans Wikifunctions sous [[Z25501]]. Le type ZObject (qui apparaît comme la valeur de <code>Z2K2</code> dans la définition persistante) est indiqué juste en dessous. Dans cet exemple <code>Z6884K1</code> spécifie la [[Z6901|référence de l'élément Wikidata]] comme le type utilisé pour énumérer les valeurs, et <code>Z6884K2</code> indique la liste de ces valeurs. <code>Z6884K3</code> est simplement une auto-référence du type, qui passe son propre ZID en tant que chaîne. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{ "type": "Function call", "function": "Typed enum of Wikidata references", "Wikidata reference type": "Wikidata item reference", "list of Wikidata references": [ "Wikidata item reference", { "type": "Wikidata item reference", "Wikidata item id": "masculine" }, { "type": "Wikidata item reference", "Wikidata item id": "feminine" }, { "type": "Wikidata item reference", "Wikidata item id": "neuter" } ], "ZID of result type (assigned by WikiLambda)": { "type": "String", "value": "Z25501" } }</syntaxhighlight> | <syntaxhighlight lang="json">{ "Z1K1": "Z7", "Z7K1": "Z6884", "Z6884K1": "Z6091", "Z6884K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q524410" }, { "Z1K1": "Z6091", "Z6091K1": "Q24004467" }, { "Z1K1": "Z6091", "Z6091K1": "Q24004469" } ], "Z6884K3": { "Z1K1": "Z6", "Z6K1": "Z25501" } }</syntaxhighlight> |} Chaque instance d'un type de d'énumération légère contient seulement une propriété <code>Z1K1</code> qui fait référence au ZID du type lui-même, et une propriété <code>...K1</code> dont la valeur est l'un des éléments de la liste des valeurs. L'instance de [[Z25501]] pour le genre féminin ressemble à : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{ "type": "Grammatical gender (m/f/n)", "element": { "type": "Wikidata item reference", "Wikidata item id": "feminine" } }</syntaxhighlight> | <syntaxhighlight lang="json">{ "Z1K1": "Z25501", "Z25501K1": { "Z1K1": "Z6091", "Z6091K1": "Q24004467" } }</syntaxhighlight> |} Encore une fois, les instances ne sont jamais rendues persistantes (et donc ne reçoivent pas de ZID). L'interface utilisateur permet de spécifier une instance éphémère lorsque c'est nécessaire (par exemple, comme entrée d'une fonction). <span id="Z8/Functions"></span> == Z8/Fonctions == Dans la définition de ''Z10/natural number'' nous avons vu une première référence à {{Z|8}}, ''Z110/validate natural number''. Ici, nous allons utiliser une fonction beaucoup plus simple, ''Z781/add''. ''Z781/add'' est une {{Z|8}}, qui prend deux nombres ''Z10/natural number'' et renvoie un ''Z10/natural number''. Nous ne montrons que la valeur. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{  "type": "function",  "arguments": [ "argument declaration",    {      "type": "argument declaration",      "argument type": "natural number",      "key id": "Z781K1",      "label": { ... }    },    {      "type": "argument declaration",      "argument type": "natural number",      "key id": "Z781K2",      "label": { ... }    }  ],  "return type": "natural number",  "tests": [ "testers",    "add one and zero",    "add two and two"  ], "implementations": [ "implementation", "+ in Python", "recursive addition", "+ in JavaScript" ],  "identity": "add" }</syntaxhighlight> | <syntaxhighlight lang="json">{  "Z1K1": "Z8",  "Z8K1": [ "Z17",    {      "Z1K1": "Z17",      "Z17K1": "Z10",      "Z17K2": "Z781K1",      "Z17K3": { ... }    },    {      "Z1K1": "Z17",      "Z17K1": "Z10",      "Z17K2": "Z781K2",      "Z17K3": { ... }    }  ],  "Z8K2": "Z10",  "Z8K3": [ "Z20",    "Z711",    "Z712"  ], "Z8K4": [ "Z14", "Z721", "Z722", "Z723" ],  "Z8K5": "Z144" }</syntaxhighlight> |} Pour rester concis, nous avons supprimé les Z17K3/labels des déclarations {{Z|17}}, qui sont identifiées à l'aide des identifiants Z17K2/key. Mais comme les {{Z|3}} sur {{Z|4}}, ils ont des libellés dans toutes les langues prises en charge. Les clés sont globales lorsque la {{Z|8}} est persistante et locales lorsqu'elle est transitoire. La fonction est spécifiée dans la documentation (omise), mais aussi dans les Z8K3/tests et les Z8K1/déclarations de type sur les arguments et le Z8K2/return type. En outre, comme une fonction peut avoir plusieurs Z8K4/Implementations, les Implementations se confirment mutuellement. Le Z8K5/identité, comme les autres identités du modèle sera une référence à la fonction (là où c'est possible). Il n'est pas autorisé aux {{Z|8}} d'avoir des effets de bord de changment d'état. {{Anchor|Z7}} <span id="Z7/Function_calls"></span> == Z7/Appels de fonctions == Le ZObject suivant représente l'appel d'une fonction. A la deuxième ligne, nous voyons une représentation plus compacte de l'appel de fonction, qui utilise une syntaxe qui nous est plus familière pour les appels de fonction. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "function call",   "function": "add",   "left": "two",   "right": "two" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z7",   "Z7K1": "Z781",   "Z781K1": "Z702",   "Z781K2": "Z702" }</syntaxhighlight> |- | <code>'''add'''('''two''', '''two''')</code> | <code>'''Z781'''('''Z702''', '''Z702''')</code> |} En utilisant des littéraux au lieu de ZObjects persistants pour les arguments, cela ressemblerait à ceci : * Notez que nous créons les littéraux en utilisant le ''Z10/positive integer'' comme constructeur. * Tous les {{Z|4}} peuvent être appelés ainsi en fournissant une valeur à chacune de leur clé. * Il ne s'agit pas d'un appel de {{Z|7}}, mais d'une notation pour l'objet de {{Z|4}} donné. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "function call",   "function": "add",   "left": {     "type": "natural number",     "base 10 representation": "2"   },   "right": {     "type": "natural number",     "base 10 representation": "2"   } }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z7",   "Z7K1": "Z781",   "Z781K1": {     "Z1K1": "Z10",     "Z10K1": "2"   },   "Z781K2": {     "Z1K1": "Z10",     "Z10K1": "2"   } }</syntaxhighlight> |- | <code>'''add'''('''natural number'''<"2">, '''natural number'''<"2">)</code> | <code>'''Z781'''('''Z10'''<"2">, '''Z10'''<"2">)</code> |} Lorsque cet appel de {{Z|7}} est évalué, il se résoud comme prévu dans la valeur quatre. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "natural number",   "base 10 representation": "4" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z10",   "Z10K1": "4" }</syntaxhighlight> |- | <code>'''natural number'''<"4"></code> | <code>'''Z10'''<"4"></code> |} L'évaluation est réalisée à plusieurs reprises sur le résultat de l'évaluation jusqu'à ce qu'un point fixe soit atteint. {{Anchor|Z14}} <span id="Z14/Implementations"></span> == Z14/Mises en œuvre == Chaque {{Z|8}} peut avoir un certain nombre de {{Z|14}} différentes. Il existe trois types principaux d' {{Z|14}} : intégrées, {{Z|16}}, ou par composition d'autres {{Z|8}} . Examinons la fonction ''Z781/add'' et quatre différentes implémentations de la fonction {{Z|14}}. {{Anchor|builtins}} <span id="Builtin_implementations"></span> === Mises en œuvre intégrées === Une implémentation intégrée indique à l'évaluateur de renvoyer un résultat d'évaluation approprié. Les constructions intégrées sont codées en dur dans l'évaluateur. Z14K4/builtin fait référence à l'ID de construction avec le code en dur (qui doit être le ZID de l'objet {{Z|2}}). {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "implementation",   "implements": "add",   "builtin": "Z791" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z14",   "Z14K1": "Z781",   "Z14K4": "Z791" }</syntaxhighlight> |} Un évaluateur est conscient des constructions intégrées dont il dispose et il peut les utiliser à volonté. Notez que l'addition ne serait pas une fonction qui aurait une construction intégrée. Cet exemple ici est purement illustratif. {{Anchor|Z16}} === Z16/Code === Une implémentation en {{Z|16}} représente un extrait de code dans un langage de programmation donné. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "implementation",   "implements": "add",   "code": {     "type": "code",     "language": "javascript",     "source": "function add(left, right) { return left + right; }"   } }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z14",   "Z14K1": "Z781",   "Z14K3": {     "Z1K1": "Z16",     "Z16K1": "Z600",     "Z16K2": "function Z781(Z781K1, Z781K2) { return Z781K1 + Z781K2; }"   } }</syntaxhighlight> |- | <syntaxhighlight lang="json" line="line">{   "type": "implementation",   "implements": "add",   "code": {     "type": "code",     "language": "python",     "source": "def add(left, right): return left + right"   } }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z14",   "Z14K1": "Z781",   "Z14K3": {     "Z1K1": "Z16",     "Z16K1": "Z610",     "Z16K2": "def Z781(Z781K1, Z781K2): return Z781K1 + Z781K2"   } }</syntaxhighlight> |} L'évaluateur saura transformer les ZObjects donnés représentant les arguments dans les langages de programmation pris en charge, comment exécuter la séquence de code fournie, puis comment retransformer le résultat en un ZObject qui le représente. Eventuellement, la traduction des ZObjects en valeurs natives des langages de programmation supportés serait à la charge de ''Wikifunctions'' lui-même (ce qui nécessite d'être décrit dans un autre document). Jusqu'ici nous ne prenons en charge que {{Z|16}} pour les arguments et les types de retour intégrés qui sont supportés en dur par l'évaluateur. <span id="Z46/Deserializer"></span> ==== Z46 / Désérialiseur ==== Un {{Z|46}} prend un ZObject d'un type spécifique et le transforme en une valeur pour un langage de programmation donné. Par exemple, les {{Z|46}} suivants prennent un ZObject de type ''Z10/natural number'' et le transforment en une valeur BigInt JavaScript. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "deserializer",   "identity": "to BigInt", "type": "Natural number"   "converter": {     "type": "code",     "language": "javascript",     "source": "function deserialize( value ) { return BigInt( value.decimal_representation.string_value ); }"   }, "native type": "BigInt" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z46",   "Z46K1": "Z787",   "Z46K2": "Z10", "Z46K3": {     "Z1K1": "Z16",     "Z16K1": "Z600",     "Z16K2": "function Z787(Z787K1) { return BigInt( Z787K1.Z10K1.Z6K1 ); }" }, "Z46K4": "BigInt" }</syntaxhighlight> |} Le ''Z46K4/native type'' indique le type produit par le désérialiseur. Cela nous permet d'utiliser des implémentations naturelles comme celles ci-dessus pour l'addition. <span id="Z64/Serializer"></span> ==== Z64 / Sérialiseur ==== Le fonctionnement inverse d'un {{Z|46}} est celui du {{Z|64}}. Un {{Z|64}} prend une valeur dans le langage de programmation donné et la transforme en un ZObject du type demandé. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "serializer",   "identity": "from BigInt", "type": "Natural number"   "converter": {     "type": "code",     "language": "javascript",     "source": "function serialize( value ) { return { 'type': { 'type': 'reference', 'reference id': 'natural number' }, 'base 10 representation': { 'type': 'string', 'string value': value.toString() } } }"   }, "native type": "BigInt" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z64",   "Z64K1": "Z789",   "Z64K2": "Z10", "Z64K3": {     "Z1K1": "Z16",     "Z16K1": "Z600",     "Z16K2": "function Z789(Z789K1) { return { 'Z1K1': { 'Z1K1': 'Z9', 'Z9K1': 'Z10' }, 'Z10K1': { 'Z1K1': 'Z6', 'Z6K1': Z789K1.toString() } } }" }, "Z64K4": "BigInt" }</syntaxhighlight> |} === Composition === La {{Z|14}} la plus portable (mais souvent aussi la plus lente) est réalisée via la composition d'autres {{Z|8}}. Nous montrons à la fois le ZObject de l'implémentation, ainsi qu'une notation plus facile à lire basée sur la syntaxe d'appel de fonction. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{  "type": "implementation",  "implements": "add",  "composition": {    "type": "function call",    "function": "if",    "condition": {      "type": "function call",      "function": "is zero",      "arg": {        "type": "argument reference",        "reference": "right"      }    },    "consequent": {      "type": "argument reference",      "reference": "left"    },    "alternative": {      "type": "function call",      "function": "add",      "left": {        "type": "function call",        "function": "successor",        "arg": {          "type": "argument reference",          "reference": "left"        }      },      "right": {        "type": "function call",        "function": "predecessor",        "arg": {          "type": "argument reference",          "reference": "right"        }      }    }  } }</syntaxhighlight> | <syntaxhighlight lang="json">{  "Z1K1": "Z14",  "Z14K1": "Z781",  "Z14K2": {    "Z1K1": "Z7",    "Z7K1": "Z802",    "Z802K1": {      "Z1K1": "Z7",      "Z7K1": "Z782",      "Z782K1": {        "Z1K1": "Z18",        "Z18K1": "Z781K2"      }    },    "Z802K2": {      "Z1K1": "Z18",      "Z18K1": "Z781K1"    },    "Z802K3": {      "Z1K1": "Z7",      "Z7K1": "Z781",      "Z781K1": {        "Z1K1": "Z7",        "Z7K1": "Z783",        "Z783K1": {          "Z1K1": "Z18",          "Z18K1": "Z781K1"        }      },      "Z781K2": {        "Z1K1": "Z7",        "Z7K1": "Z784",        "Z784K1": {          "Z1K1": "Z18",          "Z18K1": "Z781K2"        }      }    }  } }</syntaxhighlight> |- | <code><!-- -->'''if'''(<br><!-- -->  '''is zero'''(''right''),<br><!-- -->  ''left'',<br><!-- -->  '''add'''(<br><!-- -->    '''successor'''(''left''), <br><!-- -->    '''predecessor'''(''right'')<br><!-- -->  )<br><!-- -->)</code> | <code><!-- -->'''Z802'''(<br><!-- -->  '''Z782'''(''Z781K2''),<br><!-- -->  '''Z781K1''',<br><!-- -->  '''Z781'''(<br><!-- -->    '''Z783'''(''Z781K1''), <br><!-- -->    '''Z784'''(''Z781K2'')<br><!-- -->  )<br><!-- -->)</code> |} Cette composition repose sur un certain nombre d'autres {{Z|8}} : ''Z782/is zero'', ''Z783/successor'', ''Z784/predecessor'', {{Z|801}} et le plus intéressant &mdash; lui-même. Il est tout à fait normal qu'une {{Z|14}} appelle sa propre {{Z|8}} récursivement. Notez cependant que l'évaluateur n'a pas à appeler la {{Z|14}} recursivement &mdash; un évaluateur est libre de choisir l'implémentation à chacune des étapes de la récursion. C'est tout sauf rapide &mdash; mais cela nous permet d'utiliser un formalisme bien compris et une implémentation très simple pour s'assurer que les autres implémentations de ''Z781/add'' sont correctes &mdash; certes, probablement moins intéressantes pour l'ajout, mais nous pouvons imaginer qu'il existe des {{Z|8}} qui ont des implémentations plus évidemment correctes, plus intelligentes et plus rapides. ''Wikifunctions'' peut tester ces implementations de manière croisée et nous apporter ainsi une sécurité sur leur véracité. <span id="Example_evaluation"></span> ==== Evaluation d'exemples ==== Dans la suite nous évaluons la composition ci-dessus. Nous commençons par l'appel suivant de {{Z|7}} (nous ne nous attachons qu'à la syntaxe fonctionnelle en raison de sa brièveté). {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="javascript" line="line">add(Natural number<"2">, Natural number<"2">) </syntaxhighlight> | <syntaxhighlight lang="javascript" line="line">Z781(Z10<"2">, Z10<"2">) </syntaxhighlight> |} Nous remplaçons l'appel de fonction par la composition donnée ci-dessus, et remplaçons les arguments par les valeurs données. Ce qui donne le code suivant : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="javascript" line="line">if( is zero(Natural number<"2">), Natural number<"2">, add( successor(Natural number<"2">), predecessor(Natural number<"2">) ) )</syntaxhighlight> | <syntaxhighlight lang="javascript" line="line">Z802( Z782(Z10<"2">), Z10<"2">, Z781( Z783(Z10<"2">), Z784(Z10<"2">) ) )</syntaxhighlight> |} Nous évaluons ''Z782/is zero'' (Z10/Natural number&lt;"2"&gt;) par rapport à la valeur {{Z|40}} de {{Z|42}} (puisque 2 n'est pas zéro). Ce qui donne : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="javascript" line="line">if( false, Natural number<"2">, add( successor(Natural number<"2">), predecessor(Natural number<"2">) ) )</syntaxhighlight> | <syntaxhighlight lang="javascript" line="line">Z802( Z42, Z10<"2">, Z781( Z783(Z10<"2">), Z784(Z10<"2">) ) )</syntaxhighlight> |} Cela nous permet de remplacer l'appel de Z802/if par Z802K3/alternative, puisque Z802K1/condition est fausse. Ce qui donne : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="javascript" line="line">add( successor(Natural number<"2">), predecessor(Natural number<"2">) )</syntaxhighlight> | <syntaxhighlight lang="javascript" line="line">Z781( Z783(Z10<"2">), Z784(Z10<"2">) )</syntaxhighlight> |} La fonction Z783/successor ajoute simplement 1 au nombre, et la fonction Z784/predecessor lui soustrait 1. L'une ou l'autre de ces fonctions peut ou non être implémentée dans le code ou d'une autre manière, cela n'a pas vraiment d'importance. Si nous remplaçons ces deux appels de fonctions, nous obtenons l'appel suivant : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="javascript" line="line">add( Natural number<"3">, Natural number<"1"> )</syntaxhighlight> | <syntaxhighlight lang="javascript" line="line">Z781( Z10<"3">, Z10<"1"> )</syntaxhighlight> |} Nous remplaçons à nouveau l'appel à ''Z781/add'' par sa composition, et remplaçons les arguments par les nouvelles valeurs. Ce qui donne : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="javascript" line="line">if( is zero(Natural number<"1">), Natural number<"3">, add( successor(Natural number<"3">), predecessor(Natural number<"1">) ) )</syntaxhighlight> | <syntaxhighlight lang="javascript" line="line">Z802( Z782(Z10<"1">), Z10<"3">, Z781( Z783(Z10<"3">), Z784(Z10<"1">) ) )</syntaxhighlight> |} Nous vérifions à nouveau si la valeur donnée à ''Z782/is zero'' est zéro (ce n'est pas la cas, c'est un). Donc nous remplaçons l'appel à ''Z782/is zero'' à nouveau par {{Z|42}}. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="javascript" line="line">if( false, Natural number<"3">, add( successor(Natural number<"3">), predecessor(Natural number<"1">) ) )</syntaxhighlight> | <syntaxhighlight lang="javascript" line="line">Z802( Z42, Z10<"3">, Z781( Z783(Z10<"3">), Z784(Z10<"1">) ) )</syntaxhighlight> |} Puisque Z802K1/condition est à nouveau faux, nous remplaçons l'appel à Z802/if par Z802K3/alternative {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="javascript" line="line">add( successor(Natural number<"3">), predecessor(Natural number<"1">) )</syntaxhighlight> | <syntaxhighlight lang="javascript" line="line">Z781( Z783(Z10<"3">), Z784(Z10<"1">) )</syntaxhighlight> |} Encore une fois, nous remplaçons les appels de fonction à Z783/successor et Z784/predecessor par les résultats respectifs, un nombre de plus, un nombre de moins. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="javascript" line="line">add( Natural number<"4">, Natural number<"0"> )</syntaxhighlight> | <syntaxhighlight lang="javascript" line="line">Z781( Z10<"4">, Z10<"0"> )</syntaxhighlight> |} Nous sommes à nouveau à l'étape où nous remplaçons l'appel à ''Z781/add'' par sa composition. Ce qui donne : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="javascript" line="line">if( is zero(Natural number<"0">), Natural number<"4">, add( successor(Natural number<"4">), predecessor(Natural number<"0">) ) )</syntaxhighlight> | <syntaxhighlight lang="javascript" line="line">Z802( Z782(Z10<"0">), Z10<"4">, Z781( Z783(Z10<"4">), Z784(Z10<"0">) ) )</syntaxhighlight> |} L'appel à ''Z782/is zero'' maintenant a l'argument Z10/natural number&lt;"0"&gt; qui est bien sûr zéro. Donc l'appel à ''Z782/is zero'' fournit un {{Z|41}}. Ce qui donne : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="javascript" line="line">if( true, Natural number<"4">, add( successor(Natural number<"4">), predecessor(Natural number<"0">) ) )</syntaxhighlight> | <syntaxhighlight lang="javascript" line="line">Z802( Z41, Z10<"4">, Z781( Z783(Z10<"4">), Z784(Z10<"0">) ) )</syntaxhighlight> |} L'appel à la fonction Z802/if a maintenant une Z802K1/condition {{Z|41}}, ce qui signifie que nous remplaçons l'ensemble de l'appel par Z802K2/consequence, et non pas Z802K3/alternative. Ce qui donne : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="javascript" line="line">Natural number<"4"> </syntaxhighlight> | <syntaxhighlight lang="javascript" line="line">Z10<"4"> </syntaxhighlight> |} C'est un point fixe, c'est-à-dire qu'il ne change pas lorsqu'il est évalué, et donc c'est le résultat de notre appel de fonction. 2 et 2 font 4. {{Anchor|evaluation-order}} <span id="Evaluation_order"></span> ==== Ordre d’évaluation ==== L’ordre d’évaluation est laissé au gré de l’évaluateur. Puisque toutes les Z8/Fonctions ne sont pas autorisées à avoir des effets de bord, ceci conduira toujours au même résultat. Mais une stratégie d’évaluation imprudente peut conduire à bien plus de calculs que nécessaire ou même conduire l’évaluateur à ne jamais se terminer. Z722/ajouter récursivement nous fournit un exemple qui peut se terminer avec une boucle sans fin si nous essayons un ordre complet d’évaluation : Pour l’appel à Z802/si dans Z722/ajouter récursivement, il serait imprudent d’évaluer d'abord tous les trois arguments et de renvoyer ensuite le deuxième ou le troisième argument. Selon la Z802K1/condition sur le premier argument, nous avons besoin de retourner uniquement soit le Z802K2/conséquent, soit la Z802K3/alternative. Il n’y aura jamais de cas où nous avons besoin d’évaluer à la fois le deuxième et le troisième argument. En fait, nous pourrions même renvoyer le deuxième ou le troisième argument non évalué. Souvenez-vous que l’évaluateur évaluera chaque résultat à nouveau de toute façon jusqu’à ce qu’un point fixe soit atteint. Aussi, Z802/si peut être mise en œuvre de façon paresseuse, en enlevant la branche inappropriée, et en ne renvoyant que la branche appropriée en tant que ZObject non évalué. Une stratégie paresseuse d'évaluation est en général recommandée, mais par exemple quand l’évaluateur veut utiliser une implémentation basée sur Z16/Code, ceci pourrait ne pas être réalisable. Et alors l’évaluateur pourrait décider d’évaluer d’abord les arguments puis ensuite l’appel englobant. En fin de compte, il existe des opportunités pour expérimenter différentes stratégies d’évaluation. {{Anchor|Z20}} <span id="Z20/Testers"></span> == Z20/Testeurs == Les {{Z|20}} sont des ZObjects qui font un ''Z20K2/call'' et utilisent ensuite un ''Z20K3/validator'' sur le résultat. ''Z20K3/Validator'' est un appel incomplet de {{Z|7}} qui fournit le résultat de ''Z20K2/call'' injecté comme premier argument. Si Z20K3/validator renvoie Z41/true, alors Z20/Tester a réussi, sinon c'est un échec. Les tests sont utilisés pour s'assurer que toutes les Z14/implémentations se comportent comme attendu et doivent être considérées comme équivalentes aux tests unitaires. Une Z8/Funktion doit lister tous les Z20/Tester à passer pour qu'une Z14/Implémentation soit conforme. En outre, les différentes Z14/implémentations peuvent être mutuellement testées pour s'assurer de leur cohérence. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line='line'>{  "type": "tester", "function": "add",  "call": {    "type": "function call",    "function": "add",    "left": "two",    "right": "two"  },  "result validator": {    "type": "function call",    "function": "equivalent natural number",    "right": "four"  } }</syntaxhighlight> | <syntaxhighlight lang="json">{  "Z1K1": "Z20", "Z20K1": "Z781",  "Z20K2": {    "Z1K1": "Z7",    "Z7K1": "Z781",    "Z781K1": "Z702",    "Z781K2": "Z702"  },  "Z20K3": {    "Z1K1": "Z7",    "Z7K1": "Z788",    "Z788K2": "Z704"  } }</syntaxhighlight> |} Dans ce cas, nous évaluons d'abord Z20K2/call qui est <code>Z781/add(Z702/two, Z702/two)</code>, dont le résultat est <code>Z10/Natural number<"4"></code>. Ce qui, à son tour, est ensuite utilisé dans le valideur Z20K3/result, où il est injecté comme premier argument, ce qui donne <code>Z788/natural number equality(Z10/Natural number<"4">, Z704/four)</code>. Cette appel doit renvoyer Z41/true, et donc Z20/Tester doit être passé avec succès. {{Anchor|generic-types}} <span id="Generic_types"></span> == Types génériques == Un type générique est réalisé par un appel Z7/Fonction à un Z8/Fonction qui prend quelques arguments et renvoie un Z4/Type. Par exemple, Z882/type pair est une fonction qui prend deux Z4/Type comme arguments, un pour le premier et un pour le deuxième élément, et qui renvoie un Z4/Tyme en ligne. Donc pour faire une paire de nombres Z10/Natural, nous appelons <code>Z882/typed pair(Z10/Natural number, Z10/Natural number)</code> et le résultat est un Z4/Type que nous pouvons utiliser pour le champ Z1K1 d'un ZObject. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{  "type": {    "type": "function call",    "function": "typed pair",    "first": "natural number",    "second": "natural number"  },  "first": "one",  "second": "two" }</syntaxhighlight> | <syntaxhighlight lang="json">{  "Z1K1": {    "Z1K1": "Z7",    "Z7K1": "Z882",    "Z882K1": "Z10",    "Z882K2": "Z10"  },  "K1": "Z701",  "K2": "Z702" }</syntaxhighlight> |} Le résultat de l'appel Z7/Fonction est un Z4/Type créé dynamiquement qui garantit que les deux éléments de la paire ont le bon Z4/Type. Le résultat de ce ''Z7/Appel de fonction'' ressemble à ceci. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{  "type": "type",  "identity": {    "type": "function call",    "function": "typed pair",    "first": "natural number",    "second": "natural number"  },  "keys": [ "key",    {      "type": "key",      "id": "K1",      "value type": "natural number"    },    {      "type": "key",      "id": "K2",      "value type": "natural number"    }  ],  "validator": "validate typed pair" }</syntaxhighlight> | <syntaxhighlight lang="json">{  "Z1K1": "Z4",  "Z4K1": {    "Z1K1": "Z7",    "Z7K1": "Z882",    "Z882K1": "Z10",    "Z882K2": "Z10"  },  "Z4K2": [ "Z3",    {      "Z1K1": "Z3",      "Z1K2": "K1",      "Z3K1": "Z10"    },    {      "Z1K1": "Z3",      "Z1K2": "K2",      "Z3K1": "Z10"    }  ],  "Z4K3": "Z892" }</syntaxhighlight> |} Ceci est également un exemple de l'utilisation du champ Z4K1/identité sur Z4/Type : il décrit comment Z4/Type a été créé, et nous permet d'accéder aux arguments utilisés pour la création du type. La conservation de ces informations en déclaration est très utile pour valider un appel de fonction de manière statique et pour comparer les types. Si nous voulons une paire Z882/Typed qui ne restreint pas le Z4/Type de l'un, l'autre ou des deux éléments, on pourrait appeler la fonction Z882/Typed pair avec Z1/ZObject pour l'un ou les deux arguments. {{Anchor|Z10}} <span id="Z881/Typed_lists"></span> == Z881/Listes typées == Voici une liste de deux chaînes. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">[ "string",  "a",  "b" ]</syntaxhighlight> | <syntaxhighlight lang="json">[ "Z6",  "a",  "b" ]</syntaxhighlight> |} Si nous transformons ceci en Z-Objets, cela ressemble à ce qui suit. {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{  "type": {    "type": "function call",    "function": "typed list",    "elementtype": "string"  },  "head": "a",  "tail": {    "type": {      "type": "function call",      "function": "typed list",      "elementtype": "string"    },    "head": "b"  } }</syntaxhighlight> | <syntaxhighlight lang="json">{  "Z1K1": {    "Z1K1": "Z7",    "Z7K1": "Z881",    "Z881K1": "Z6"  },  "K1": "a",  "K2": {    "Z1K1": {      "Z1K1": "Z7",      "Z7K1": "Z881",      "Z10K1": "Z6"    },    "K1": "b"  } }</syntaxhighlight> |} Un littéral de tableau JSON commence toujours par le type utilisé pour la Z881/liste typée. Ce n'est pas le premier élément de la liste mais simplement le type de la liste typée. Ces tableaux sont appelés ''Benjamin Arrays''. Si nous voulons une liste non typée nous utilisons Z1/Object comme argument. Une liste non typée vide ressemblerait à : {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">[ "object" ]</syntaxhighlight> | <syntaxhighlight lang="json">[ "Z1" ]</syntaxhighlight> |} {{Anchor|Z22}} <span id="Z22/Evaluation_result"></span> == Z22/Résultat dévaluation == Un appel de Z7/Fonction exécuté dans Wikifunctions renvoie toujours un objet de type Z22/Résultat d'évaluation. Un objet de résultat d'évaluation contient toujours la valeur renvoyée à la suite de l'exécution d'un appel de fonction et une collection de métadonnées recueillies lors de l'évaluation. Voici un exemple d'une réponse réussie : {|class="wikitable" style="margin:.6em 1.6em" | <syntaxhighlight lang="json" line="line">{ "type": "evaluation result", "result": "Hello, World!", "metadata": { "type": { "type": "function call", "function": "typed map", "key type": "string", "value type": "object" }, "map": [ { "type": "function call", "function": "typed pair", "first type": "string", "second type": "object" }, { "type": { "type": "function call", "function": "typed pair", "first type": "string", "second type": "object" }, "key": "orchestrationDuration", "value": "139 ms" } ] } }</syntaxhighlight> | <syntaxhighlight lang="json">{ "Z1K1": "Z22", "Z22K1": "Hello, World!", "Z22K2": { "Z1K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6", "Z883K2": "Z1" }, "K1": [ { "Z1K1": "Z7", "Z7K1": "Z882", "Z882K1": "Z6", "Z882K2": "Z1" }, { "Z1K1": { "Z1K1": "Z7", "Z7K1": "Z882", "Z882K1": "Z6", "Z882K2": "Z1" }, "K1": "orchestrationDuration", "K2": "139 ms" } ] } }</syntaxhighlight> |} Si l'évaluation échoue, le champ de réponse contiendra Z24/Void, tandis que le champ de métadonnées contiendra une clé "erreur" avec les détails de l'échec. Ceci est un exemple d'objet résultat d'une évaluation qui n'a pas réussi : {|class="wikitable" style="margin:.6em 1.6em" | <syntaxhighlight lang="json" line="line">{ "type": "evaluation result", "result": "void", "metadata": { "type": { "type": "function call", "function": "typed map", "key type": "string", "value type": "object" }, "map": [ { "type": "function call", "function": "typed pair", "first type": "string", "second type": "object" }, { "type": { "type": "function call", "function": "typed pair", "first type": "string", "second type": "object" }, "key": "errors", "value": { "type": "error", "error type": "unspecified error", "error value": { "type": { "type": "function call", "function": "errortype to type", "errortype": "unspecified error" }, "error information": "Some error happened" } } } ] } }</syntaxhighlight> | <syntaxhighlight lang="json">{ "Z1K1": "Z22", "Z22K1": "Z24", "Z22K2": { "Z1K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6", "Z883K2": "Z1" }, "K1": [ { "Z1K1": "Z7", "Z7K1": "Z882", "Z882K1": "Z6", "Z882K2": "Z1" }, { "Z1K1": { "Z1K1": "Z7", "Z7K1": "Z882", "Z882K1": "Z6", "Z882K2": "Z1" }, "K1": "errors", "K2": { "Z1K1": "Z5", "Z5K1": "Z500", "Z5K2": { "Z1K1": { "Z1K1": "Z7", "Z7K1": "Z885", "Z885K1": "Z500" }, "Z500K1": "Some error happened" } } } ] } }</syntaxhighlight> |} Ces exemples ne sont que des versions condensées des objets de résultats d'évaluation réels et ne contiennent qu'une seule clé d'exemple dans le champ Metadata. Dans les exemples réels, la collecte de métadonnées renvoie toutes les métriques collectées par les services du serveur, y compris la durée de l'exécution, l'utilisation du processeur et celle de la mémoire. Pour une description plus détaillée des métadonnées possibles renvoyées dans l'objet de résultat d'évaluation, voir le [[mw:Special:MyLanguage/Help:Wikifunctions/Function call metadata|Guide des métadonnées d'appel de fonction dans Mediawiki]]. {{Anchor|Z5}} <span id="Z5/Errors"></span> == Z5/Erreurs == Un Z7/Appel de fonction peut rencontrer une Z5/Erreur. Ceci apparaît lorsque l'appel à la fonction ne peut s'exécuter correctement et n'est pas récupérable (par exemple une division par zéro ou le manque de mémoire). {{Z|5}} est un type générique. Chaque instance de Z5 référence le ZID d'un type d'erreur (dans le Z5K1/error type), et ce type d'erreur détermine le type de Z5K2/error value, et les clés qui y seront présentes. Chaque type d'erreur est une instance de {{Z|50}} et les ZID Z500-Z599 sont réservés aux types d'erreurs. Voir les informations complémentaires sur [[:m:Special:MyLanguage/Abstract Wikipedia/Representation of errors|Représentation des erreurs]]. {{Anchor|Z99}} == Z99/Quote == {{Z|99}} est utilisé pour envelopper un ZObject afin qu'il ne soit pas évalué ("résolu"). (ceci est similaire au fait de mettre des guillemets en Lisp). Z99/Quote a une clé unique Z99K1/quotation, du type Z1/Object. Pour illustrer, certaines parties des objets d'erreur (instances de Z5/Error) sont entre guillemets lorsqu'elles sont créées lors de l'exécution d'un appel de fonction. Par exemple, une erreur de type Z507/Error dans l'évaluation comprend une copie entière de l'appel à la fonction dont l'exécution a causé l'erreur (comme la valeur de l'appel de Z507K1/function). Comme cette appel de fonction est très susceptible d'être malformé d'une certaine manière, nous nous assurons qu'aucune autre tentative n'est faite pour l'évaluer, en le plaçant entre guillemets dans l'objet d'erreur. (ainsi le type de Z507K1 est déclaré comme étant {{Z|99}} et sa valeur est toujours entre guillemets). Nous utilisons les règles suivantes pour l'utilisation de {{Z|99}} : # Placer un ZObject entre guillemets si nous pensons qu'il peut être non valide d'une certaine manière. # Mais ne le faisons pas pour Z1K1 lui-même. Si sa valeur est douteuse, il faut mettre des guillemets autour de l'objet entier qui la contient. # Mettre entre guillemets les clés résolvables (clés dont les valeurs contiennent des instances de {{Z|7}}, {{Z|9}} ou {{Z|18}}) qui pourraient ne pas être adaptées en entrée d'une fonction. # Les guillemets lors de la résolution d'une valeur pourraient causer une catastrophe (récursion infinie par exemple). Note : à mesure que notre stratégie de résolution évolue, il est possible que (3) et (4) deviennent inutiles. {{Anchor|non-functional}} <span id="Non-functional_Functions"></span> == Fonctions non opérationnelles == Aucune Z8/Fonction n’est autorisée à avoir des effets de bord. Toutes les Z8/Fonctions doivent être fonctionnelles. Cela veut dire qu’elles doivent renvoyer les mêmes valeurs lorsqu’elles sont appelées avec les mêmes paramètres. Cela signifie que des ''Z8/Fonctions'' comme « renvoyer un nombre aléatoire » ou « renvoyer l’horodatage actuel » sont impossibles. This might change in the future. Ce sera traité dans un document ultérieur. {{Anchor|Zx-sum}} <span id="Zx/Sum_types"></span> == Zx/Types sommes == Un type générique particulièrement utile est le Zx/Type somme (ou Type agrégat), qui prend une liste de Z4/Types et renvoie un Z4/Type qui prend exactement une seule instance des types donnés. Ceci permettra également d'avoir des paramètres facultatifs dans les appels de fonctions. Ce sera traité dans un document ultérieur. {{Anchor|questions-todos}} <span id="Some_questions_and_tasks_to_do"></span> == Quelques questions et tâches à faire == * Avons-nous besoin de « nécessaire / option » pour des clés quelconques au début ? — non. * Remplacer les valeurs par défaut sur Z3/Clé par Zx/Sum (ou au moins rendre ceci cohérent avec la Z17/déclaration de paramètre) ? * Pourrait être laissé à faire plus tard si nous n ’avons pas besoin de Z3 pour le moment. * Notez que tout est en Unicode et que tout correspond à la normalisation requise par MediaWiki * Réécrire l'introduction pour commencer par la normale puis canoniser {{Anchor|see-also}} <span id="See_also"></span> == Voir aussi == * [[m:Special:MyLanguage/Abstract Wikipedia/Pre-generic function model|Modèle de fonction pré-générique]] <noinclude> [[Category:Technical documentation{{#translation:}}|Function model]] </noinclude> dw3eyzciqjqq2fg95ufvqdorh1y5l4k Translations:Wikifunctions:Function model/7/fr 1198 7252 277510 277047 2026-05-23T17:02:06Z Eihel 102 fr corr. 277510 wikitext text/x-wiki ''Wikifonctions'' est un wiki. Comme dans tous les wikis, le contenu de ''Wikifonctions'' est principalement stocké dans des pages wiki. s2w3prwjvbfgk6y1i8tdopt8tipxcv8 Wikifunctions:Administrators' noticeboard 4 9491 277641 277288 2026-05-24T08:28:05Z Ameisenigel 44 /* AutoWikiBrowser request */ resolved 277641 wikitext text/x-wiki {{shortcut|[[WF:AN]]}} <div style="border:1px solid grey; margin:1em 5em 2em; padding:1.5em 1em;"> <!-- Don't remove this, it adds the new-thread tool to the page.-->__NEWSECTIONLINK__ [[Category:Help]] <big>Welcome to the '''Administrators' noticeboard for Wikifunctions'''!</big> This is a noticeboard for '''matters requiring [[Special:MyLanguage/Wikifunctions:Administrators|administrator]] attention'''. * If you wish for something to be deleted, please use [[Wikifunctions:Requests for deletions]]. * If you want to report a bug in Wikifunctions software, please see [[Wikifunctions:Report a technical problem]]. * Matters not requiring administrator action should be raised at [[Wikifunctions:Project chat|Project chat]]. * To report [[Special:MyLanguage/Wikifunctions:Vandalism|vandalism]] on Wikifunctions: Please use [[Wikifunctions:Report vandalism]] * Please add <code><nowiki>{{section resolved|1=~~~~}}</nowiki></code> to resolved sections. </div> <!-- Add new reports below this line --> {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{Flatlist|{{Special:PrefixIndex/Wikifunctions:Administrators' noticeboard/Archive/|stripprefix=1}} }}}} == AutoWikiBrowser request == Can I be added to [[Wikifunctions:AutoWikiBrowser/CheckPageJSON]]? I have to complete a mass categorization task. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:27, 20 May 2026 (UTC) :I'm not a sysop, but can you clarify what the categorization task is? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:29, 20 May 2026 (UTC) ::I need to add [[:Category:SignWriting]] to the talk pages of all my SignWriting functions that don't already have it. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 18:30, 20 May 2026 (UTC) :::Sounds good to me! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:31, 20 May 2026 (UTC) :@[[User:JJPMaster|JJPMaster]] Done <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 02:41, 21 May 2026 (UTC) ::Thank you! [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 04:11, 21 May 2026 (UTC) {{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 08:28, 24 May 2026 (UTC)}} == Inactive functioneers == * [[User:Autom]] * [[User:Butko]] * [[User:Egezort]] * [[User:Elwinlhq]] * <del>[[User:Habst]]</del> * <del>[[User:Lucas Werkmeister]]</del> * [[User:Mahir256]] * <del>[[User:Papuass]]</del> * [[User:Renamerr]] * [[User:Sannita (WMF)]] (I'm not sure if the right should be removed from a staff member, but they ''are'' inactive) * [[User:Wooze]] * <del>[[User:ZI Jony]]</del> * [[User:Zippybonzo]] * [[User:沈澄心]] All of these users meet the threshold of inactivity on [[WF:Functioneer]]. Thanks, [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:56, 20 May 2026 (UTC) :Hello @[[User:Feeglgeef|Feeglgeef]], :I have stopped adding new functions, and I wouldn't mind if I'm removed from the functioneers list. If at any point I want it back, I'll request it. Thanks, :Ege [[User:Egezort|Egezort]] ([[User talk:Egezort|talk]]) 19:00, 20 May 2026 (UTC) :I have been inactive for some time, indeed. I just made an useful edit with intention to return at some point. [[User:Papuass|Papuass]] ([[User talk:Papuass|talk]]) 19:49, 20 May 2026 (UTC) :I'm still interested in making new functions, but if there is a process for re-requesting access I don't mind requesting again. --[[User:Habst|Habst]] ([[User talk:Habst|talk]]) 20:35, 20 May 2026 (UTC) ::We're not a bureaucracy, so in my opinion just expressing interest in keeping the role is enough. I'll strike your name. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:36, 20 May 2026 (UTC) :I'm still interested in project, but don't have enough time at the moment. I hope that I'll can create thome new functions sporadically. --[[User:Butko|Butko]] ([[User talk:Butko|talk]]) 09:53, 21 May 2026 (UTC) * I'm still interested in making new functions. Regards, [[User:ZI Jony|<span style="color:#8B0000">'''ZI Jony'''</span>]] [[User talk:ZI Jony|<sup><span style="color:Green"><i>(Talk)</i></span></sup>]] 17:15, 21 May 2026 (UTC) :Am fine with it being removed, I was interested at one point in the concept of WF but when I rarely contribute to enwp I see no reason right now in keeping it around and will re-request if I gain interest again [[User:Zippybonzo|Zippybonzo]] ([[User talk:Zippybonzo|talk]]) 18:06, 21 May 2026 (UTC) :I would like to keep the Functioneer rights, as they could be useful in future when someone sets up Wikifunctions for more Wikidata Lexeme Forms templates (see [[Wikifunctions:Projects using Wikifunctions]] and [[:d:Wikidata:Wikidata Lexeme Forms#Wikifunctions support]]). I’ve just made an edit on the [[Z10119|sandbox function]], maybe that suffices to technically fulfill the requirement. [[User:Lucas Werkmeister|Lucas Werkmeister]] ([[User talk:Lucas Werkmeister|talk]]) 21:23, 21 May 2026 (UTC) ::I've stricken your name. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:21, 21 May 2026 (UTC) :You can remove my permissions as well, I will not have time to contribute regularly again until winter at the earliest. [[User:Autom|Autom]] ([[User talk:Autom|talk]]) 19:20, 22 May 2026 (UTC) fzrzyzd5ow1yaji28a4oy3qaydwjamd 277647 277641 2026-05-24T10:38:20Z 沈澄心 741 /* Inactive functioneers */ reply ([[mw:c:Special:MyLanguage/User:JWBTH/CD|CD]]) 277647 wikitext text/x-wiki {{shortcut|[[WF:AN]]}} <div style="border:1px solid grey; margin:1em 5em 2em; padding:1.5em 1em;"> <!-- Don't remove this, it adds the new-thread tool to the page.-->__NEWSECTIONLINK__ [[Category:Help]] <big>Welcome to the '''Administrators' noticeboard for Wikifunctions'''!</big> This is a noticeboard for '''matters requiring [[Special:MyLanguage/Wikifunctions:Administrators|administrator]] attention'''. * If you wish for something to be deleted, please use [[Wikifunctions:Requests for deletions]]. * If you want to report a bug in Wikifunctions software, please see [[Wikifunctions:Report a technical problem]]. * Matters not requiring administrator action should be raised at [[Wikifunctions:Project chat|Project chat]]. * To report [[Special:MyLanguage/Wikifunctions:Vandalism|vandalism]] on Wikifunctions: Please use [[Wikifunctions:Report vandalism]] * Please add <code><nowiki>{{section resolved|1=~~~~}}</nowiki></code> to resolved sections. </div> <!-- Add new reports below this line --> {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{Flatlist|{{Special:PrefixIndex/Wikifunctions:Administrators' noticeboard/Archive/|stripprefix=1}} }}}} == AutoWikiBrowser request == Can I be added to [[Wikifunctions:AutoWikiBrowser/CheckPageJSON]]? I have to complete a mass categorization task. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:27, 20 May 2026 (UTC) :I'm not a sysop, but can you clarify what the categorization task is? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:29, 20 May 2026 (UTC) ::I need to add [[:Category:SignWriting]] to the talk pages of all my SignWriting functions that don't already have it. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 18:30, 20 May 2026 (UTC) :::Sounds good to me! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:31, 20 May 2026 (UTC) :@[[User:JJPMaster|JJPMaster]] Done <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 02:41, 21 May 2026 (UTC) ::Thank you! [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 04:11, 21 May 2026 (UTC) {{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 08:28, 24 May 2026 (UTC)}} == Inactive functioneers == * [[User:Autom]] * [[User:Butko]] * [[User:Egezort]] * [[User:Elwinlhq]] * <del>[[User:Habst]]</del> * <del>[[User:Lucas Werkmeister]]</del> * [[User:Mahir256]] * <del>[[User:Papuass]]</del> * [[User:Renamerr]] * [[User:Sannita (WMF)]] (I'm not sure if the right should be removed from a staff member, but they ''are'' inactive) * [[User:Wooze]] * <del>[[User:ZI Jony]]</del> * [[User:Zippybonzo]] * [[User:沈澄心]] All of these users meet the threshold of inactivity on [[WF:Functioneer]]. Thanks, [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:56, 20 May 2026 (UTC) :Hello @[[User:Feeglgeef|Feeglgeef]], :I have stopped adding new functions, and I wouldn't mind if I'm removed from the functioneers list. If at any point I want it back, I'll request it. Thanks, :Ege [[User:Egezort|Egezort]] ([[User talk:Egezort|talk]]) 19:00, 20 May 2026 (UTC) :I have been inactive for some time, indeed. I just made an useful edit with intention to return at some point. [[User:Papuass|Papuass]] ([[User talk:Papuass|talk]]) 19:49, 20 May 2026 (UTC) :I'm still interested in making new functions, but if there is a process for re-requesting access I don't mind requesting again. --[[User:Habst|Habst]] ([[User talk:Habst|talk]]) 20:35, 20 May 2026 (UTC) ::We're not a bureaucracy, so in my opinion just expressing interest in keeping the role is enough. I'll strike your name. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:36, 20 May 2026 (UTC) :I'm still interested in project, but don't have enough time at the moment. I hope that I'll can create thome new functions sporadically. --[[User:Butko|Butko]] ([[User talk:Butko|talk]]) 09:53, 21 May 2026 (UTC) * I'm still interested in making new functions. Regards, [[User:ZI Jony|<span style="color:#8B0000">'''ZI Jony'''</span>]] [[User talk:ZI Jony|<sup><span style="color:Green"><i>(Talk)</i></span></sup>]] 17:15, 21 May 2026 (UTC) :Am fine with it being removed, I was interested at one point in the concept of WF but when I rarely contribute to enwp I see no reason right now in keeping it around and will re-request if I gain interest again [[User:Zippybonzo|Zippybonzo]] ([[User talk:Zippybonzo|talk]]) 18:06, 21 May 2026 (UTC) :I would like to keep the Functioneer rights, as they could be useful in future when someone sets up Wikifunctions for more Wikidata Lexeme Forms templates (see [[Wikifunctions:Projects using Wikifunctions]] and [[:d:Wikidata:Wikidata Lexeme Forms#Wikifunctions support]]). I’ve just made an edit on the [[Z10119|sandbox function]], maybe that suffices to technically fulfill the requirement. [[User:Lucas Werkmeister|Lucas Werkmeister]] ([[User talk:Lucas Werkmeister|talk]]) 21:23, 21 May 2026 (UTC) ::I've stricken your name. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:21, 21 May 2026 (UTC) :You can remove my permissions as well, I will not have time to contribute regularly again until winter at the earliest. [[User:Autom|Autom]] ([[User talk:Autom|talk]]) 19:20, 22 May 2026 (UTC) : I'm still interested in making new functions and implementations (e.g. [[Z34743]]). '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 10:38, 24 May 2026 (UTC) azhury8dj4np82fpx10xn6wtwu02b1b Template:Main page/fr 10 10071 277505 277399 2026-05-23T16:57:26Z Eihel 102 Reverted edits by [[Special:Contributions/Eihel|Eihel]] ([[User talk:Eihel|talk]]) to last revision by [[User:Verdy p|Verdy p]] 277505 wikitext text/x-wiki <templatestyles src="Template:Main_page/styles.css" /> <div id="lang_dir" class="mw-content-{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}}}" dir="{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}}}"> <div id="mainpage_header" class="mainpage_header"> <p class="main-title">Bienvenue sur Wikifonctions</p> <p>la bibliothèque [[foundation:Special:MyLanguage/Policy:Terms_of_Use|libre]] de {{formatnum:{{NUMBEROFFUNCTIONS}}}} [[w:Function_(computer_programming)|fonctions]] que chacun peut modifier.</p> </div> <div style="clear: both;"></div> <div id="audiences" class="mainpage_row"> <div class="mainpage_box" id="box1"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:Wikifunctions-logo-monochrome-black.svg|20px |middle|link=|class=skin-invert-image]]</span><span>Bienvenue !</span></h3> <div id="mainpage-welcome" title="Welcome" class="items"> '''''Wikifunctions''''' est un projet Wikimedia permettant à [[foundation:Special:MyLanguage/Policy:Terms_of_Use|chacun de créer et de maintenir collaborativement]] une bibliothèque de fonctions de code pour soutenir les projets Wikimedia et au-delà, dans les [[:fr:Langage|langues naturelles]] et les [[:fr:Langage de programmation|langages de programmation]] du monde entier. <div id="bottom-paragraphs"><!--this is hidden on mobile devices because of limited screen real estate--> Une « [[wikt:fonction|fonction]] » est une séquence d’instructions de programmation faisant un [[w:Calculation|calcul]] basé sur les [[w:Data|données]] que vous renseignez. Les fonctions peuvent trouver les réponses à des questions, telles que combien de jours se sont écoulés entre deux dates, ou bien quelle est la distance séparant deux villes. <!--this should be the current primary focus of Wikifunctions. Ideally links to documentation by the Abstract Wikipedia team if available. --> Nous nous concentrons actuellement principalement sur les [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|fonctions liées aux lexèmes Wikidata]]. Les données lexicographiques de Wikidata et les fonctions permettant de les traiter sont essentielles à l'objectif d'une Wikipédia abstraite. [[Special:MyLanguage/Wikifunctions:Working with Wikidata content|Un tutoriel sur la façon dont les fonctions Wiki peuvent être utilisées avec Wikidata dès maintenant]] est disponible. </div> </div> </div> <div class="mainpage_box" id="box2"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:OOjs UI icon chem.svg|20px|middle|link=|class=skin-invert-image]]</span><span>Débuter</span></h3> <div id="mainpage-start" title="Get started" class="items"> [[File:Wikifunctions in 7 minutes.webm|thumbtime=0:01|thumb|center|400px|Wikifonctions en 7 minutes]] * [[Special:RunFunction|Exécuter une fonction]] * [[Wikifunctions:Project chat|Page de discussion du projet]] * [[Wikifunctions:Community portal|Portail communautaire]] * [[Wikifunctions:Suggest a function|Suggérer une fonction]] * [[Special:MyLanguage/Wikifunctions:Catalogue|Catalogue des fonctions disponibles]] </div> </div> </div> <div id="many-examples" class="mainpage_row"> <div class="mainpage_box" id="box3"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:OOjs UI icon listBullet-{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}}}.svg|20px|middle|link=|class=skin-invert-image]]</span><span>Fonctions à essayer</span></h3> <div id="mainpage-function-list" title="Function list" class="items"> * {{Random function |NUMBER = 8 |1 = {{Z+|Z10096}} |2 = {{Z+|Z13163}} |3 = {{Z+|Z12427}} |4 = {{Z+|Z13587}} |5 = {{Z+|Z12626}} |6 = {{Z+|Z12812}} |7 = {{Z+|Z10012}} |8 = {{Z+|Z10070}} }} * {{Random function |NUMBER = 8 |8 = {{Z+|Z10096}} |7 = {{Z+|Z13163}} |6 = {{Z+|Z12427}} |5 = {{Z+|Z13587}} |4 = {{Z+|Z12626}} |3 = {{Z+|Z12812}} |2 = {{Z+|Z10012}} |1 = {{Z+|Z10070}} }} * {{Z+|Z20756}} * {{Z+|Z20733}} * {{Z+|Z20181}} * {{Z+|Z20000}} * {{Z+|Z19509}} * {{Z+|Z19514}} [[Special:MyLanguage/Wikifunctions:Catalogue|''... voir catalogue.'']] </div> </div> </div> <div id="misc-news" class="mainpage_row"> <div class="mainpage_box" id="box4"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:OOjs UI icon ongoingConversation-{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}|2=ltr|3=rtl}}.svg|20px|middle|link=|class=skin-invert-image]]</span><span>Apprendre et contribuer</span></h3> <div id=mainpage-help-contribute" title="Support and Contributing" class="items"> ; En savoir plus sur Wikifonctions * [[Special:MyLanguage/Wikifunctions:About|À propos de Wikifonctions]] * [[Special:MyLanguage/Wikifunctions:Introduction|Introduction à Wikifonctions]] * [[Special:MyLanguage/Wikifunctions:FAQ|FAQ]] * [[Special:MyLanguage/Wikifunctions:Glossary|Glossaire]] ; Contribuer à Wikifunctions * [[Special:CreateObject|Créer un objet]] * [[Special:MyLanguage/Help:Multilingual|Participer en tant que traducteur]] ; Obtenir de l’aide avec Wikifunctions * Des questions ? Demandez dans la [[Wikifunctions:Project chat|Discussion du projet]] ou sur notre [[Special:MyLanguage/Wikifunctions:Report a technical problem#Discuss with others|canal Telegram/IRC]] ! * [[Special:MyLanguage/Wikifunctions:Report a technical problem|Signaler un problème technique]] ** La page du [[Wikifunctions:Status|statut]] répertorie les principaux problèmes connus. </div> </div> <div class="mainpage_box" id="box5"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:Echo (Notifications) megaphone{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}|2=-rtl|3=}}.svg|20px|middle|link=|class=skin-invert-image]]</span><span>Actualités</span></h3> <div id="mainpage-news" title="News" class="items"> <div style="margin: auto; vertical-align:top"> <div class="mainpage_boxcontents_small">{{Main page/News/{{#invoke:IncludeLang|main|page=Template:Main page/News|lang = {{int:lang}}}}}}</div></div> </div> </div> </div> <div id="sister" class="mainpage_row"> <div class="mainpage_box"> <div id="mainpage-sister" title="Sister projects" class="items" style="border-top:unset;"> <div class="mainpage-sister-title"> <div style="background: white; width:45px; margin:0 auto; margin-top: -40px;">[[File:Wikimedia-logo.svg|45px|center|link=]]</div> <div class="plainlinks" style="color:var(--color-subtle, #54595d); font-size:120%; text-align:center; padding-top:10px;">Wikifonctions fait partie de la famille Wikimedia de contenus libres, multilingues et gratuits.</div> </div> <div class="mainpage-sister-projects"> *[[File:Wikipedia-logo-v2.svg|40x40px|link=w:{{int:lang}}:|alt=]]<div><span>[[w:{{int:lang}}:|{{int:Wikibase-otherprojects-wikipedia}}]]</span><br>Encyclopédie</div> *[[File:Wikidata-logo.svg|40x40px|link=d:|alt=]]<div><span>[[d:|{{int:Wikibase-otherprojects-wikidata}}]]</span><br>Base de connaissances</div> *[[File:Commons-logo.svg|40x40px|link=c:|alt=]]<div><span>[[c:|{{int:Wikibase-otherprojects-commons}}]]</span><br>Bibliothèque de médias</div> *[[File:Wiktionary-logo.svg|40x40px|link=wikt:{{int:lang}}:|alt=]]<div><span>[[wikt:{{int:lang}}:|{{int:Wikibase-otherprojects-wiktionary}}]]</span><br>Dictionnaire et thésaurus</div> *[[File:Wikibooks-logo.svg|40x40px|link=b:{{int:lang}}:|alt=]]<div><span>[[b:{{int:lang}}:|{{int:Wikibase-otherprojects-wikibooks}}]]</span><br>Manuels et livres pédagogiques</div> *[[File:Wikinews-logo.svg|40x40px|link=n:{{int:lang}}:|alt=]]<div><span>[[n:{{int:lang}}:|{{int:Wikibase-otherprojects-wikinews}}]]</span><br>Actualités</div> *[[File:Wikiquote-logo.svg|40x40px|link=q:{{int:lang}}:|alt=]]<div><span>[[q:{{int:lang}}:|{{int:Wikibase-otherprojects-wikiquote}}]]</span><br>Recueil de citations</div> *[[File:Wikisource-logo.svg|40x40px|link=s:{{int:lang}}:|alt=]]<div><span>[[s:{{int:lang}}:|{{int:Wikibase-otherprojects-wikisource}}]]</span><br>Bibliothèque</div> *[[File:Wikiversity logo 2017.svg|40x40px|link=v:{{int:lang}}:|alt=]]<div><span>[[v:{{int:lang}}:|{{int:Wikibase-otherprojects-wikiversity}}]]</span><br>Ressources d’apprentissage</div> *[[File:Wikivoyage-Logo-v3-icon.svg|40x40px|link=voy:{{int:lang}}:|alt=]]<div><span>[[voy:{{int:lang}}:|{{int:Wikibase-otherprojects-wikivoyage}}]]</span><br>Guide de voyage</div> *[[File:Wikispecies-logo.svg|40x40px|link=species:|alt=]]<div><span>[[species:|{{int:Wikibase-otherprojects-species}}]]</span><br>Répertoire des espèces</div> *[[File:Incubator-logo.svg|40x40px|link=incubator:|alt=]]<div><span>[[incubator:|Incubateur]]</span><br>Nouvelles versions linguistiques</div> *[[File:Wikimedia Community Logo.svg|40x40px|link=m:|alt=]]<div><span>[[m:|{{int:Project-localized-name-metawiki}}]]</span><br>Coordination des projets</div> *[[File:MediaWiki-2020-icon.svg|40x40px|link=mw:|alt=]]<div><span>[[mw:|{{int:Project-localized-name-mediawikiwiki}}]]</span><br>Développement de MediaWiki</div> *[[File:Wikimania.svg|40x40px|link=wikimania:|alt=]]<div><span>[[wikimania:|{{int:Project-localized-name-wikimaniawiki}}]]</span><br>Coordination des événements</div> </div> </div> </div> </div> </div> __NOEDITSECTION__ __NOTOC__<languages /><noinclude> </noinclude> 8n5z0ak3wvrnoiti6o07gk3ago11nca 277507 277505 2026-05-23T16:59:07Z Eihel 102 fr corr. 277507 wikitext text/x-wiki <templatestyles src="Template:Main_page/styles.css" /> <div id="lang_dir" class="mw-content-{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}}}" dir="{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}}}"> <div id="mainpage_header" class="mainpage_header"> <p class="main-title">Bienvenue sur Wikifonctions</p> <p>la bibliothèque [[foundation:Special:MyLanguage/Policy:Terms_of_Use|libre]] de {{formatnum:{{NUMBEROFFUNCTIONS}}}} [[w:Function_(computer_programming)|fonctions]] que chacun peut modifier.</p> </div> <div style="clear: both;"></div> <div id="audiences" class="mainpage_row"> <div class="mainpage_box" id="box1"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:Wikifunctions-logo-monochrome-black.svg|20px |middle|link=|class=skin-invert-image]]</span><span>Bienvenue !</span></h3> <div id="mainpage-welcome" title="Welcome" class="items"> '''Wikifonctions''' est un projet Wikimedia permettant à [[foundation:Special:MyLanguage/Policy:Terms_of_Use|chacun de créer et de maintenir collaborativement]] une bibliothèque de fonctions de code pour soutenir les projets Wikimedia et au-delà, dans les [[:fr:Langage|langues naturelles]] et les [[:fr:Langage de programmation|langages de programmation]] du monde entier. <div id="bottom-paragraphs"><!--this is hidden on mobile devices because of limited screen real estate--> Une « [[wikt:fonction|fonction]] » est une séquence d’instructions de programmation faisant un [[w:Calculation|calcul]] basé sur les [[w:Data|données]] que vous renseignez. Les fonctions peuvent trouver les réponses à des questions, telles que combien de jours se sont écoulés entre deux dates, ou bien quelle est la distance séparant deux villes. <!--this should be the current primary focus of Wikifunctions. Ideally links to documentation by the Abstract Wikipedia team if available. --> Nous nous concentrons actuellement principalement sur les [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|fonctions liées aux lexèmes Wikidata]]. Les données lexicographiques de Wikidata et les fonctions permettant de les traiter sont essentielles à l'objectif d'une Wikipédia abstraite. [[Special:MyLanguage/Wikifunctions:Working with Wikidata content|Un tutoriel sur la façon dont les fonctions Wiki peuvent être utilisées avec Wikidata dès maintenant]] est disponible. </div> </div> </div> <div class="mainpage_box" id="box2"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:OOjs UI icon chem.svg|20px|middle|link=|class=skin-invert-image]]</span><span>Débuter</span></h3> <div id="mainpage-start" title="Get started" class="items"> [[File:Wikifunctions in 7 minutes.webm|thumbtime=0:01|thumb|center|400px|Wikifonctions en 7 minutes]] * [[Special:RunFunction|Exécuter une fonction]] * [[Wikifunctions:Project chat|Page de discussion du projet]] * [[Wikifunctions:Community portal|Portail communautaire]] * [[Wikifunctions:Suggest a function|Suggérer une fonction]] * [[Special:MyLanguage/Wikifunctions:Catalogue|Catalogue des fonctions disponibles]] </div> </div> </div> <div id="many-examples" class="mainpage_row"> <div class="mainpage_box" id="box3"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:OOjs UI icon listBullet-{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}}}.svg|20px|middle|link=|class=skin-invert-image]]</span><span>Fonctions à essayer</span></h3> <div id="mainpage-function-list" title="Function list" class="items"> * {{Random function |NUMBER = 8 |1 = {{Z+|Z10096}} |2 = {{Z+|Z13163}} |3 = {{Z+|Z12427}} |4 = {{Z+|Z13587}} |5 = {{Z+|Z12626}} |6 = {{Z+|Z12812}} |7 = {{Z+|Z10012}} |8 = {{Z+|Z10070}} }} * {{Random function |NUMBER = 8 |8 = {{Z+|Z10096}} |7 = {{Z+|Z13163}} |6 = {{Z+|Z12427}} |5 = {{Z+|Z13587}} |4 = {{Z+|Z12626}} |3 = {{Z+|Z12812}} |2 = {{Z+|Z10012}} |1 = {{Z+|Z10070}} }} * {{Z+|Z20756}} * {{Z+|Z20733}} * {{Z+|Z20181}} * {{Z+|Z20000}} * {{Z+|Z19509}} * {{Z+|Z19514}} [[Special:MyLanguage/Wikifunctions:Catalogue|''... voir catalogue.'']] </div> </div> </div> <div id="misc-news" class="mainpage_row"> <div class="mainpage_box" id="box4"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:OOjs UI icon ongoingConversation-{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}|2=ltr|3=rtl}}.svg|20px|middle|link=|class=skin-invert-image]]</span><span>Apprendre et contribuer</span></h3> <div id=mainpage-help-contribute" title="Support and Contributing" class="items"> ; En savoir plus sur Wikifonctions * [[Special:MyLanguage/Wikifunctions:About|À propos de Wikifonctions]] * [[Special:MyLanguage/Wikifunctions:Introduction|Introduction à Wikifonctions]] * [[Special:MyLanguage/Wikifunctions:FAQ|FAQ]] * [[Special:MyLanguage/Wikifunctions:Glossary|Glossaire]] ; Contribuer à Wikifunctions * [[Special:CreateObject|Créer un objet]] * [[Special:MyLanguage/Help:Multilingual|Participer en tant que traducteur]] ; Obtenir de l’aide avec Wikifunctions * Des questions ? Demandez dans la [[Wikifunctions:Project chat|Discussion du projet]] ou sur notre [[Special:MyLanguage/Wikifunctions:Report a technical problem#Discuss with others|canal Telegram/IRC]] ! * [[Special:MyLanguage/Wikifunctions:Report a technical problem|Signaler un problème technique]] ** La page du [[Wikifunctions:Status|statut]] répertorie les principaux problèmes connus. </div> </div> <div class="mainpage_box" id="box5"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:Echo (Notifications) megaphone{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}|2=-rtl|3=}}.svg|20px|middle|link=|class=skin-invert-image]]</span><span>Actualités</span></h3> <div id="mainpage-news" title="News" class="items"> <div style="margin: auto; vertical-align:top"> <div class="mainpage_boxcontents_small">{{Main page/News/{{#invoke:IncludeLang|main|page=Template:Main page/News|lang = {{int:lang}}}}}}</div></div> </div> </div> </div> <div id="sister" class="mainpage_row"> <div class="mainpage_box"> <div id="mainpage-sister" title="Sister projects" class="items" style="border-top:unset;"> <div class="mainpage-sister-title"> <div style="background: white; width:45px; margin:0 auto; margin-top: -40px;">[[File:Wikimedia-logo.svg|45px|center|link=]]</div> <div class="plainlinks" style="color:var(--color-subtle, #54595d); font-size:120%; text-align:center; padding-top:10px;">Wikifonctions fait partie de la famille Wikimedia de contenus libres, multilingues et gratuits.</div> </div> <div class="mainpage-sister-projects"> *[[File:Wikipedia-logo-v2.svg|40x40px|link=w:{{int:lang}}:|alt=]]<div><span>[[w:{{int:lang}}:|{{int:Wikibase-otherprojects-wikipedia}}]]</span><br>Encyclopédie</div> *[[File:Wikidata-logo.svg|40x40px|link=d:|alt=]]<div><span>[[d:|{{int:Wikibase-otherprojects-wikidata}}]]</span><br>Base de connaissances</div> *[[File:Commons-logo.svg|40x40px|link=c:|alt=]]<div><span>[[c:|{{int:Wikibase-otherprojects-commons}}]]</span><br>Bibliothèque de médias</div> *[[File:Wiktionary-logo.svg|40x40px|link=wikt:{{int:lang}}:|alt=]]<div><span>[[wikt:{{int:lang}}:|{{int:Wikibase-otherprojects-wiktionary}}]]</span><br>Dictionnaire et thésaurus</div> *[[File:Wikibooks-logo.svg|40x40px|link=b:{{int:lang}}:|alt=]]<div><span>[[b:{{int:lang}}:|{{int:Wikibase-otherprojects-wikibooks}}]]</span><br>Manuels et livres pédagogiques</div> *[[File:Wikinews-logo.svg|40x40px|link=n:{{int:lang}}:|alt=]]<div><span>[[n:{{int:lang}}:|{{int:Wikibase-otherprojects-wikinews}}]]</span><br>Actualités</div> *[[File:Wikiquote-logo.svg|40x40px|link=q:{{int:lang}}:|alt=]]<div><span>[[q:{{int:lang}}:|{{int:Wikibase-otherprojects-wikiquote}}]]</span><br>Recueil de citations</div> *[[File:Wikisource-logo.svg|40x40px|link=s:{{int:lang}}:|alt=]]<div><span>[[s:{{int:lang}}:|{{int:Wikibase-otherprojects-wikisource}}]]</span><br>Bibliothèque</div> *[[File:Wikiversity logo 2017.svg|40x40px|link=v:{{int:lang}}:|alt=]]<div><span>[[v:{{int:lang}}:|{{int:Wikibase-otherprojects-wikiversity}}]]</span><br>Ressources d’apprentissage</div> *[[File:Wikivoyage-Logo-v3-icon.svg|40x40px|link=voy:{{int:lang}}:|alt=]]<div><span>[[voy:{{int:lang}}:|{{int:Wikibase-otherprojects-wikivoyage}}]]</span><br>Guide de voyage</div> *[[File:Wikispecies-logo.svg|40x40px|link=species:|alt=]]<div><span>[[species:|{{int:Wikibase-otherprojects-species}}]]</span><br>Répertoire des espèces</div> *[[File:Incubator-logo.svg|40x40px|link=incubator:|alt=]]<div><span>[[incubator:|Incubateur]]</span><br>Nouvelles versions linguistiques</div> *[[File:Wikimedia Community Logo.svg|40x40px|link=m:|alt=]]<div><span>[[m:|{{int:Project-localized-name-metawiki}}]]</span><br>Coordination des projets</div> *[[File:MediaWiki-2020-icon.svg|40x40px|link=mw:|alt=]]<div><span>[[mw:|{{int:Project-localized-name-mediawikiwiki}}]]</span><br>Développement de MediaWiki</div> *[[File:Wikimania.svg|40x40px|link=wikimania:|alt=]]<div><span>[[wikimania:|{{int:Project-localized-name-wikimaniawiki}}]]</span><br>Coordination des événements</div> </div> </div> </div> </div> </div> __NOEDITSECTION__ __NOTOC__<languages /><noinclude> </noinclude> obimvqeanryz6w634kf3eshmbfmcc8n 277509 277507 2026-05-23T17:01:45Z Eihel 102 fr corr. 277509 wikitext text/x-wiki <templatestyles src="Template:Main_page/styles.css" /> <div id="lang_dir" class="mw-content-{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}}}" dir="{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}}}"> <div id="mainpage_header" class="mainpage_header"> <p class="main-title">Bienvenue sur Wikifonctions</p> <p>la bibliothèque [[foundation:Special:MyLanguage/Policy:Terms_of_Use|libre]] de {{formatnum:{{NUMBEROFFUNCTIONS}}}} [[w:Function_(computer_programming)|fonctions]] que chacun peut modifier.</p> </div> <div style="clear: both;"></div> <div id="audiences" class="mainpage_row"> <div class="mainpage_box" id="box1"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:Wikifunctions-logo-monochrome-black.svg|20px |middle|link=|class=skin-invert-image]]</span><span>Bienvenue !</span></h3> <div id="mainpage-welcome" title="Welcome" class="items"> '''Wikifonctions''' est un projet Wikimedia permettant à [[foundation:Special:MyLanguage/Policy:Terms_of_Use|chacun de créer et de maintenir collaborativement]] une bibliothèque de fonctions de code pour soutenir les projets Wikimedia et au-delà, dans les [[:fr:Langage|langues naturelles]] et les [[:fr:Langage de programmation|langages de programmation]] du monde entier. <div id="bottom-paragraphs"><!--this is hidden on mobile devices because of limited screen real estate--> Une « [[wikt:fonction|fonction]] » est une séquence d’instructions de programmation faisant un [[w:Calculation|calcul]] basé sur les [[w:Data|données]] que vous renseignez. Les fonctions peuvent trouver les réponses à des questions, telles que combien de jours se sont écoulés entre deux dates, ou bien quelle est la distance séparant deux villes. <!--this should be the current primary focus of Wikifunctions. Ideally links to documentation by the Abstract Wikipedia team if available. --> Nous nous concentrons actuellement principalement sur les [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|fonctions liées aux lexèmes Wikidata]]. Les données lexicographiques de Wikidata et les fonctions permettant de les traiter sont essentielles à l'objectif d'une Wikipédia abstraite. [[Special:MyLanguage/Wikifunctions:Working with Wikidata content|Un tutoriel sur la façon dont les fonctions Wiki peuvent être utilisées avec Wikidata dès maintenant]] est disponible. </div> </div> </div> <div class="mainpage_box" id="box2"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:OOjs UI icon chem.svg|20px|middle|link=|class=skin-invert-image]]</span><span>Débuter</span></h3> <div id="mainpage-start" title="Get started" class="items"> [[File:Wikifunctions in 7 minutes.webm|thumbtime=0:01|thumb|center|400px|Wikifonctions en 7 minutes]] * [[Special:RunFunction|Exécuter une fonction]] * [[Wikifunctions:Project chat|Page de discussion du projet]] * [[Wikifunctions:Community portal|Portail communautaire]] * [[Wikifunctions:Suggest a function|Suggérer une fonction]] * [[Special:MyLanguage/Wikifunctions:Catalogue|Catalogue des fonctions disponibles]] </div> </div> </div> <div id="many-examples" class="mainpage_row"> <div class="mainpage_box" id="box3"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:OOjs UI icon listBullet-{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}}}.svg|20px|middle|link=|class=skin-invert-image]]</span><span>Fonctions à essayer</span></h3> <div id="mainpage-function-list" title="Function list" class="items"> * {{Random function |NUMBER = 8 |1 = {{Z+|Z10096}} |2 = {{Z+|Z13163}} |3 = {{Z+|Z12427}} |4 = {{Z+|Z13587}} |5 = {{Z+|Z12626}} |6 = {{Z+|Z12812}} |7 = {{Z+|Z10012}} |8 = {{Z+|Z10070}} }} * {{Random function |NUMBER = 8 |8 = {{Z+|Z10096}} |7 = {{Z+|Z13163}} |6 = {{Z+|Z12427}} |5 = {{Z+|Z13587}} |4 = {{Z+|Z12626}} |3 = {{Z+|Z12812}} |2 = {{Z+|Z10012}} |1 = {{Z+|Z10070}} }} * {{Z+|Z20756}} * {{Z+|Z20733}} * {{Z+|Z20181}} * {{Z+|Z20000}} * {{Z+|Z19509}} * {{Z+|Z19514}} [[Special:MyLanguage/Wikifunctions:Catalogue|''... voir le catalogue.'']] </div> </div> </div> <div id="misc-news" class="mainpage_row"> <div class="mainpage_box" id="box4"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:OOjs UI icon ongoingConversation-{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}|2=ltr|3=rtl}}.svg|20px|middle|link=|class=skin-invert-image]]</span><span>Apprendre et contribuer</span></h3> <div id=mainpage-help-contribute" title="Support and Contributing" class="items"> ; En savoir plus sur Wikifonctions * [[Special:MyLanguage/Wikifunctions:About|À propos de Wikifonctions]] * [[Special:MyLanguage/Wikifunctions:Introduction|Introduction à Wikifonctions]] * [[Special:MyLanguage/Wikifunctions:FAQ|FAQ]] * [[Special:MyLanguage/Wikifunctions:Glossary|Glossaire]] ; Contribuer à Wikifunctions * [[Special:CreateObject|Créer un objet]] * [[Special:MyLanguage/Help:Multilingual|Participer en tant que traducteur]] ; Obtenir de l’aide avec Wikifunctions * Des questions ? Demandez dans la [[Wikifunctions:Project chat|Discussion du projet]] ou sur notre [[Special:MyLanguage/Wikifunctions:Report a technical problem#Discuss with others|canal Telegram/IRC]] ! * [[Special:MyLanguage/Wikifunctions:Report a technical problem|Signaler un problème technique]] ** La page du [[Wikifunctions:Status|statut]] répertorie les principaux problèmes connus. </div> </div> <div class="mainpage_box" id="box5"> <h3><span class="header_icon" aria-hidden="true" role="presentation">[[File:Echo (Notifications) megaphone{{dir|{{#invoke:Caller title|lang|base=Template:Main_page}}|2=-rtl|3=}}.svg|20px|middle|link=|class=skin-invert-image]]</span><span>Actualités</span></h3> <div id="mainpage-news" title="News" class="items"> <div style="margin: auto; vertical-align:top"> <div class="mainpage_boxcontents_small">{{Main page/News/{{#invoke:IncludeLang|main|page=Template:Main page/News|lang = {{int:lang}}}}}}</div></div> </div> </div> </div> <div id="sister" class="mainpage_row"> <div class="mainpage_box"> <div id="mainpage-sister" title="Sister projects" class="items" style="border-top:unset;"> <div class="mainpage-sister-title"> <div style="background: white; width:45px; margin:0 auto; margin-top: -40px;">[[File:Wikimedia-logo.svg|45px|center|link=]]</div> <div class="plainlinks" style="color:var(--color-subtle, #54595d); font-size:120%; text-align:center; padding-top:10px;">Wikifonctions fait partie de la famille Wikimedia de contenus libres, multilingues et gratuits.</div> </div> <div class="mainpage-sister-projects"> *[[File:Wikipedia-logo-v2.svg|40x40px|link=w:{{int:lang}}:|alt=]]<div><span>[[w:{{int:lang}}:|{{int:Wikibase-otherprojects-wikipedia}}]]</span><br>Encyclopédie</div> *[[File:Wikidata-logo.svg|40x40px|link=d:|alt=]]<div><span>[[d:|{{int:Wikibase-otherprojects-wikidata}}]]</span><br>Base de connaissances</div> *[[File:Commons-logo.svg|40x40px|link=c:|alt=]]<div><span>[[c:|{{int:Wikibase-otherprojects-commons}}]]</span><br>Bibliothèque de médias</div> *[[File:Wiktionary-logo.svg|40x40px|link=wikt:{{int:lang}}:|alt=]]<div><span>[[wikt:{{int:lang}}:|{{int:Wikibase-otherprojects-wiktionary}}]]</span><br>Dictionnaire et thésaurus</div> *[[File:Wikibooks-logo.svg|40x40px|link=b:{{int:lang}}:|alt=]]<div><span>[[b:{{int:lang}}:|{{int:Wikibase-otherprojects-wikibooks}}]]</span><br>Manuels et livres pédagogiques</div> *[[File:Wikinews-logo.svg|40x40px|link=n:{{int:lang}}:|alt=]]<div><span>[[n:{{int:lang}}:|{{int:Wikibase-otherprojects-wikinews}}]]</span><br>Actualités</div> *[[File:Wikiquote-logo.svg|40x40px|link=q:{{int:lang}}:|alt=]]<div><span>[[q:{{int:lang}}:|{{int:Wikibase-otherprojects-wikiquote}}]]</span><br>Recueil de citations</div> *[[File:Wikisource-logo.svg|40x40px|link=s:{{int:lang}}:|alt=]]<div><span>[[s:{{int:lang}}:|{{int:Wikibase-otherprojects-wikisource}}]]</span><br>Bibliothèque</div> *[[File:Wikiversity logo 2017.svg|40x40px|link=v:{{int:lang}}:|alt=]]<div><span>[[v:{{int:lang}}:|{{int:Wikibase-otherprojects-wikiversity}}]]</span><br>Ressources d’apprentissage</div> *[[File:Wikivoyage-Logo-v3-icon.svg|40x40px|link=voy:{{int:lang}}:|alt=]]<div><span>[[voy:{{int:lang}}:|{{int:Wikibase-otherprojects-wikivoyage}}]]</span><br>Guide de voyage</div> *[[File:Wikispecies-logo.svg|40x40px|link=species:|alt=]]<div><span>[[species:|{{int:Wikibase-otherprojects-species}}]]</span><br>Répertoire des espèces</div> *[[File:Incubator-logo.svg|40x40px|link=incubator:|alt=]]<div><span>[[incubator:|Incubateur]]</span><br>Nouvelles versions linguistiques</div> *[[File:Wikimedia Community Logo.svg|40x40px|link=m:|alt=]]<div><span>[[m:|{{int:Project-localized-name-metawiki}}]]</span><br>Coordination des projets</div> *[[File:MediaWiki-2020-icon.svg|40x40px|link=mw:|alt=]]<div><span>[[mw:|{{int:Project-localized-name-mediawikiwiki}}]]</span><br>Développement de MediaWiki</div> *[[File:Wikimania.svg|40x40px|link=wikimania:|alt=]]<div><span>[[wikimania:|{{int:Project-localized-name-wikimaniawiki}}]]</span><br>Coordination des événements</div> </div> </div> </div> </div> </div> __NOEDITSECTION__ __NOTOC__<languages /><noinclude> </noinclude> pxe618y2ys05u1ep8mc897k8mv00tn6 Translations:Template:Main page/1/fr 1198 11724 277504 277019 2026-05-23T16:57:25Z Eihel 102 Reverted edits by [[Special:Contributions/Eihel|Eihel]] ([[User talk:Eihel|talk]]) to last revision by [[User:Verdy p|Verdy p]] 53290 wikitext text/x-wiki Bienvenue sur Wikifonctions mp6xuqahc5tdman8t51lm1tu1z032k1 Translations:Template:Main page/12/fr 1198 11730 277508 253589 2026-05-23T17:00:45Z Eihel 102 fr corr. 277508 wikitext text/x-wiki ''... voir le catalogue.'' nxsvbdqvtahna4eu9bboajpizpy9ucg Translations:Template:Main page/4/fr 1198 12085 277506 277398 2026-05-23T16:59:06Z Eihel 102 fr corr. 277506 wikitext text/x-wiki '''Wikifonctions''' est un projet Wikimedia permettant à [[$1|chacun de créer et de maintenir collaborativement]] une bibliothèque de fonctions de code pour soutenir les projets Wikimedia et au-delà, dans les [[:fr:Langage|langues naturelles]] et les [[:fr:Langage de programmation|langages de programmation]] du monde entier. rxyyfy0vif9vspxw5781wxstt7mou5n User:Waldyrious 2 12447 277531 120537 2026-05-23T19:48:07Z Waldyrious 801 +Notes & observations 277531 wikitext text/x-wiki See [[m:User:Waldyrious|my meta userpage]] for additional info about me as a Wikimedian. Here on Wikifunctions, I would like to contribute to a wide coverage of useful functions that may one day (coupled with a NLP interface) allow the creation of an open source version of [https://wolframalpha.com Wolfram Alpha] (a tool I use often). As stated in their home page, Wolfram Alpha is made of three main components, and Wikifunctions might provide the open version of one of them: {| class="wikitable" |+ ! Wolfram Alpha component ! Open replacement |- | Natural Language Understanding | Some [https://github.com/eugeneyan/open-llms open source LLM]? |- | Curated Data & Knowledge | Wikidata |- | Dynamic Algorithmic Computation | '''← Wikifunctions''' |} == Notes and observations == * Function inputs should have descriptions and aliases → [[phab:T427127]] * Ctrl+clicking links while editing a function prompts a "Leave edit mode" dialog (or simply navigates straight away if there have been no changes yet!), whereas middle-clicking correctly opens the link in a new tab == Useful links == * [[Wikifunctions:Catalogue]] * [[Wikifunctions:User scripts]] 9c5rtq9nsdedwig1cjrqwadklb4mfqr 277532 277531 2026-05-23T20:18:43Z Waldyrious 801 /* Notes and observations */ more notes 277532 wikitext text/x-wiki See [[m:User:Waldyrious|my meta userpage]] for additional info about me as a Wikimedian. Here on Wikifunctions, I would like to contribute to a wide coverage of useful functions that may one day (coupled with a NLP interface) allow the creation of an open source version of [https://wolframalpha.com Wolfram Alpha] (a tool I use often). As stated in their home page, Wolfram Alpha is made of three main components, and Wikifunctions might provide the open version of one of them: {| class="wikitable" |+ ! Wolfram Alpha component ! Open replacement |- | Natural Language Understanding | Some [https://github.com/eugeneyan/open-llms open source LLM]? |- | Curated Data & Knowledge | Wikidata |- | Dynamic Algorithmic Computation | '''← Wikifunctions''' |} == Notes and observations == * Function inputs should have descriptions and aliases → [[phab:T427127]] * Ctrl+clicking links while editing a function prompts a "Leave edit mode" dialog (or simply navigates straight away if there have been no changes yet!), whereas middle-clicking correctly opens the link in a new tab * Compact syntax for composition-based could maybe use more brackets — e.g. <code>{}</code> for the body and <code>()</code> for parameters, <code>[]</code> for arrays/lists vs. <code>{}</code> for maps/objects/dictionaries, that kind of thing. ** Additional bracket types like <code><></code> could be used if using just <code>()</code>, <code>{}</code> and <code>[]</code> would force one or more of these to perform double-duty meaning-wise. ** E.g. the string representation for [[Z28032]] is, at the time of writing, <code>select a function based on language (config for defining role sentence, language) (subject, role, dependency, language)</code>. *** What distinguishes the first <code>()</code> from the second? And what does it mean that they're plainly concatenated — does their order affect their meaning? *** And what's with the weird line breaks when copying that text from the UI? * It doesn't seem to be possible to add default values to function input arguments?! That seems to mean that it's not possible to evolve a function in a backwards-compatible way, other than modifying all the implementations, configurations, tests, callers from compositions, etc. 😱 == Useful links == * [[Wikifunctions:Catalogue]] * [[Wikifunctions:User scripts]] fn7so6vuqhwvcko7geh00bo5gtrjy0m 277533 277532 2026-05-23T20:31:39Z Waldyrious 801 /* Useful links */ + 277533 wikitext text/x-wiki See [[m:User:Waldyrious|my meta userpage]] for additional info about me as a Wikimedian. Here on Wikifunctions, I would like to contribute to a wide coverage of useful functions that may one day (coupled with a NLP interface) allow the creation of an open source version of [https://wolframalpha.com Wolfram Alpha] (a tool I use often). As stated in their home page, Wolfram Alpha is made of three main components, and Wikifunctions might provide the open version of one of them: {| class="wikitable" |+ ! Wolfram Alpha component ! Open replacement |- | Natural Language Understanding | Some [https://github.com/eugeneyan/open-llms open source LLM]? |- | Curated Data & Knowledge | Wikidata |- | Dynamic Algorithmic Computation | '''← Wikifunctions''' |} == Notes and observations == * Function inputs should have descriptions and aliases → [[phab:T427127]] * Ctrl+clicking links while editing a function prompts a "Leave edit mode" dialog (or simply navigates straight away if there have been no changes yet!), whereas middle-clicking correctly opens the link in a new tab * Compact syntax for composition-based could maybe use more brackets — e.g. <code>{}</code> for the body and <code>()</code> for parameters, <code>[]</code> for arrays/lists vs. <code>{}</code> for maps/objects/dictionaries, that kind of thing. ** Additional bracket types like <code><></code> could be used if using just <code>()</code>, <code>{}</code> and <code>[]</code> would force one or more of these to perform double-duty meaning-wise. ** E.g. the string representation for [[Z28032]] is, at the time of writing, <code>select a function based on language (config for defining role sentence, language) (subject, role, dependency, language)</code>. *** What distinguishes the first <code>()</code> from the second? And what does it mean that they're plainly concatenated — does their order affect their meaning? *** And what's with the weird line breaks when copying that text from the UI? * It doesn't seem to be possible to add default values to function input arguments?! That seems to mean that it's not possible to evolve a function in a backwards-compatible way, other than modifying all the implementations, configurations, tests, callers from compositions, etc. 😱 == Useful links and resources == * [[Wikifunctions:Catalogue]] * [[Wikifunctions:User scripts]] === Code representation of a function === According to Gemini (so take this with a grain of salt), a function in Wikifunctions is a Z-object ([[Z8]]), and the JSON structure for the simplest function (an "identity" function which just returns its input) is: <syntaxhighlight lang="json"> { "Z1K1": "Z8", "Z8K1": { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Input" }, "Z8K2": "Z6", "Z8K3": [] } </syntaxhighlight> where: * <code>Z1K1: "Z8"</code> →This is a function. * <code>Z8K1</code> → The argument declaration (a string input). * <code>Z8K2</code> → The return type, [[Z6]]. * <code>Z8K3</code> → The implementation list (empty here). This is presumably what an edit to create such a hello world function via the API would look like: <syntaxhighlight lang="python"> import requests session = requests.Session() URL = "https://www.wikifunctions.org/w/api.php" # 1. Get CSRF Token token_req = session.get(URL, params={"action": "query", "meta": "tokens", "format": "json"}) token = token_req.json()["query"]["tokens"]["csrftoken"] # 2. Define the Z-Object z_payload = { "Z1K1": "Z8", "Z8K1": {"Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Input"}, "Z8K2": "Z6", "Z8K3": [] } # 3. Submit response = session.post(URL, data={ "action": "wikilambda_edit", "format": "json", "summary": "Creating Hello World function via API", "zobject": str(z_payload).replace("'", '"'), # Wikifunctions expects strict JSON "token": token }) print(response.json()) </syntaxhighlight> The above is added this here just for quick reference; I'll definitely need to revisit later since this is (1) not yet clear and (2) almost certainly incomplete and/or incorrect. kcd3hu3k1049utiaesbfwrwpooahlu4 Z11306 0 15769 277536 257857 2026-05-24T00:07:20Z YoshiRulz 10156 Remove trailing whitespace from en label 277536 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z11306" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z11306K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Enter character" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Tinye mkpụrụokwụ: Ụdọ" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Zeichenkette" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "caractère" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z13514", "Z16998", "Z16997", "Z16999", "Z17000", "Z17001", "Z17002", "Z17003" ], "Z8K4": [ "Z14", "Z11307", "Z32116" ], "Z8K5": "Z11306" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "is an Igbo vowel" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Ọ bu udaume Igbo" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "ist ein Vokal in Igbo" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Wasali ne a yaren Igbo" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "est-ce une voyelle en igbo ?" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Return true if the character is an Igbo vowel ." }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "laghachite ezi oburu na mkpụrụokwụ bu udaume igbo ." }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Prüft ob das eingegebene Zeichen ein Vokal in Igbo ist" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Wasali ne na ɓakaken yaren Igbo" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie \"vrai\" si le caractère est une voyelle en igbo" } ] } } lk5tjh0gcj84mns43oai59plpvrqih3 Wikifunctions:Status updates 4 22740 277490 275979 2026-05-23T15:16:26Z DVrandecic (WMF) 7 277490 wikitext text/x-wiki <languages/> {{shortcut|WF:SU}}{{notice|1=<translate><!--T:1--> '''[[<tvar name="sub">:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia</tvar>|Subscribe]]''' to receive short on-wiki MassMessage notifications about each new issue</translate>}} {{Wikifunctions updates | prevlabel = <translate><!--T:2--> Previous update</translate> | prev = 2024-02-01 | nextlabel = <translate><!--T:3--> Last update</translate> | next = 2026-05-23 }} <translate><!--T:4--> A lot is happening around Wikifunctions and Abstract Wikipedia. This is the page where our updates are posted, including the [[<tvar name="1">Special:MyLanguage/WF:function of the Week</tvar>|function of the Week]]. <!--T:5--> You can also subscribe to the [[<tvar name="sub">:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia</tvar>|on-wiki newsletter]] to have them delivered to your talk page or to your project's village pump.</translate> <inputbox> type=fulltext prefix={{NAMESPACE}}:{{PAGENAME}}/ break=no width=30 searchbuttonlabel={{int:Search}} placeholder=<translate nowrap><!--T:119--> Search all status updates</translate> </inputbox> <translate> == Newsletters == <!--T:28--> </translate> <!--<nowiki> Newsletter entry template: * <translate><tvar name="1">{{Status updates|2026-0?-??}}</tvar>: Title</translate> NOTE: Remember to also update the "next =" date at the top of this page. </nowiki>--> === 2026 === * <translate><tvar name="1">{{Status updates|2026-05-23}}</tvar>: Annual plan 2026-2027</translate> * <translate><!--T:120--> <tvar name="1">{{Status updates|2026-05-15}}</tvar>: A higher meaning</translate> * <translate><!--T:117--> <tvar name="1">{{Status updates|2026-05-08}}</tvar>: References from Wikidata are now available</translate> * <translate><!--T:116--> <tvar name="1">{{Status updates|2026-05-02}}</tvar>: Request for input: what should we count for Abstract Wikipedia?</translate> * <translate><!--T:115--> <tvar name="1">{{Status updates|2026-04-25}}</tvar>: The Foundation's search for the perfect language</translate> * <translate><!--T:114--> <tvar name="1">{{Status updates|2026-04-16}}</tvar>: Milestones; Some major issues hopefully resolved</translate> * <translate><!--T:113--> <tvar name="1">{{Status updates|2026-04-10}}</tvar>: Community proposals for capturing meaning</translate> * <translate><!--T:112--> <tvar name="1">{{Status updates|2026-04-02}}</tvar>: Request for Discussion: Syntactic tables</translate> * <translate><!--T:111--> <tvar name="1">{{Status updates|2026-03-26}}</tvar>: First few days of Abstract Wikipedia Beta; Status of Composition Language v2</translate> * <translate><!--T:110--> <tvar name="1">{{Status updates|2026-03-19}}</tvar>: Abstract Wikipedia in Beta</translate> * <translate><!--T:109--> <tvar name="1">{{Status updates|2026-03-11}}</tvar>: A new composition language</translate> * <translate><!--T:108--> <tvar name="1">{{Status updates|2026-03-06}}</tvar>: Citations and Copy and Paste</translate> * <translate><!--T:107--> <tvar name="1">{{Status updates|2026-02-26}}</tvar>: Graceful overrides and fallbacks</translate> * <translate><!--T:106--> <tvar name="1">{{Status updates|2026-02-20}}</tvar>: A sneak preview of Abstract Wikipedia</translate> * <translate><!--T:105--> <tvar name="1">{{Status updates|2026-02-13}}</tvar>: Finishing each other sentences: Starting things; Offsite in Istanbul</translate> * <translate><!--T:104--> <tvar name="1">{{Status updates|2026-01-29}}</tvar>: Integrating Abstract Wikipedia</translate> * <translate><!--T:103--> <tvar name="1">{{Status updates|2026-01-22}}</tvar>: Quarterly plan for January–March 2026</translate> * <translate><!--T:102--> <tvar name="1">{{Status updates|2026-01-15}}</tvar>: 25 years of Wikipedia</translate> === 2025 === * <translate><!--T:101--> <tvar name="1">{{Status updates|2025-12-18}}</tvar>: We wish you a happy new Gregorian year!</translate> * <translate><!--T:100--> <tvar name="1">{{Status updates|2025-12-11}}</tvar>: How to write better error messages</translate> * <translate><!--T:99--> <tvar name="1">{{Status updates|2025-12-04}}</tvar>: And the name is Abstract Wikipedia</translate> * <translate><!--T:98--> <tvar name="1">{{Status updates|2025-11-27}}</tvar>: Vote on the new wiki name!; Finishing each other’s sentences</translate> * <translate><!--T:97--> <tvar name="1">{{Status updates|2025-11-20}}</tvar>: Second round of voting for naming the wiki with language-independent content; Sharing function calls</translate> * <translate><!--T:96--> <tvar name="1">{{Status updates|2025-11-13}}</tvar>: Getting ready for second round of voting for naming the wiki with abstract content; Rewriting the backend: Why Rust?</translate> * <translate><!--T:95--> <tvar name="1">{{Status updates|2025-11-05}}</tvar>: First round of voting for naming the wiki for abstract content closed; Calling for Wiktionary functions; Embedded Wikifunctions on Bengali Wikipedia and seven more Wiktionaries</translate> * <translate><!--T:94--> <tvar name="1">{{Status updates|2025-10-29}}</tvar>: Round 1 of “abstract content wiki” naming vote ending Monday; An example of short descriptions</translate> * <translate><!--T:93--> <tvar name="1">{{Status updates|2025-10-23}}</tvar>: Welcome Zaree and Laura! Naming contest round 1 kicked off</translate> * <translate><!--T:92--> <tvar name="1">{{Status updates|2025-10-15}}</tvar>: Kicking Off the Naming Contest for Abstract Wikipedia; Visualizing functions</translate> * <translate><!--T:91--> <tvar name="1">{{Status updates|2025-10-08}}</tvar>: Decision on location for abstract content and Quarterly Planning for October–December</translate> * <translate><!--T:90--> <tvar name="1">{{Status updates|2025-10-03}}</tvar>: Rich text now available in embedded function calls on 148 Wiktionaries and Incubator</translate> * <translate><!--T:89--> <tvar name="1">{{Status updates|2025-09-26}}</tvar>: Accessing qualifiers in Wikidata statements</translate> * <translate><!--T:88--> <tvar name="1">{{Status updates|2025-09-19}}</tvar>: Wikifunctions available on 123 Wiktionary languages</translate> * <translate><!--T:87--> <tvar name="1">{{Status updates|2025-09-12}}</tvar>: More than 3,000 functions on Wikifunctions</translate> * <translate><!--T:86--> <tvar name="1">{{Status updates|2025-09-07}}</tvar>: Copying function calls from one Wikipedia to another</translate> * <translate><!--T:85--> <tvar name="1">{{Status updates|2025-08-29}}</tvar>: Accessing Wikidata items now possible from embedded function calls; Wikifunctions available on 65 Wikitionaries</translate> * <translate><!--T:84--> <tvar name="1">{{Status updates|2025-08-22}}</tvar>: Recording of Wikimania session: Wikifunctions is coming soon to a wiki near you!</translate> * <translate><!--T:83--> <tvar name="1">{{Status updates|2025-08-01}}</tvar>: Wikimania 2025 is coming soon!</translate> * <translate><!--T:82--> <tvar name="1">{{Status updates|2025-07-26}}</tvar>: “Wikipedia is an encyclopedia”; Two years of Wikifunctions</translate> * <translate><!--T:81--> <tvar name="1">{{Status updates|2025-07-19}}</tvar>: Wikidata-based enumerations are here</translate> * <translate><!--T:80--> <tvar name="1">{{Status updates|2025-07-10}}</tvar>: Length limits on labels and descriptions</translate> * <translate><!--T:79--> <tvar name="1">{{Status updates|2025-07-04}}</tvar>: Coverage of 1298</translate> * <translate><!--T:78--> <tvar name="1">{{Status updates|2025-06-27}}</tvar>: How many people are needed to write an encyclopedia?</translate> * <translate><!--T:76--> <tvar name="1">{{Status updates|2025-06-21}}</tvar>: Quarterly Planning for July–September 2025</translate> * <translate><!--T:77--> <tvar name="1">{{Status updates|2025-06-15}}</tvar>: Closing the consultation about the location of Abstract Content</translate> * <translate><!--T:75--> <tvar name="1">{{Status updates|2025-06-06}}</tvar>: Where will Abstract Content go?</translate> * <translate><!--T:74--> <tvar name="1">{{Status updates|2025-05-29}}</tvar>: Rolling out to five Wiktionaries; Calculating with today's date</translate> * <translate><!--T:73--> <tvar name="1">{{Status updates|2025-05-23}}</tvar>: Ongoing consultation about the Location for Abstract Content</translate> * <translate><!--T:72--> <tvar name="1">{{Status updates|2025-05-15}}</tvar>: Location of Abstract Content</translate> * <translate><!--T:71--> <tvar name="1">{{Status updates|2025-05-09}}</tvar>: Abstract Wikipedia and the Wikimedia AI Strategy</translate> * <translate><!--T:70--> <tvar name="1">{{Status updates|2025-04-30}}</tvar>: Abstract Wikipedia is a MacArthur 100&Change finalist</translate> * <translate><!--T:69--> <tvar name="1">{{Status updates|2025-04-25}}</tvar>: Welcome, Gregory!</translate> * <translate><!--T:68--> <tvar name="1">{{Status updates|2025-04-16}}</tvar>: Wikifunctions integrated in Dagbani - and Wikifunctions; and the date of Easter</translate> * <translate><!--T:67--> <tvar name="1">{{Status updates|2025-04-11}}</tvar>: Quarter in review</translate> * <translate><!--T:65--> <tvar name="1">{{Status updates|2025-04-05}}</tvar>: Quarterly Planning for April–June 2025; We are looking for a Senior Product Manager</translate> * <translate><!--T:66--> <tvar name="1">{{Status updates|2025-03-28}}</tvar>: It's about time</translate> * <translate><!--T:64--> <tvar name="1">{{Status updates|2025-03-20}}</tvar>: Wikidata-based simple enumerations</translate> * <translate><!--T:63--> <tvar name="1">{{Status updates|2025-03-15}}</tvar>: Upcoming NLG meeting, Recent Changes in the software</translate> * <translate><!--T:62--> <tvar name="1">{{Status updates|2025-03-07}}</tvar>: Recent Changes in the software, Recording of Volunteer’s Corner, and talks in London</translate> * <translate><!--T:61--> <tvar name="1">{{Status updates|2025-02-26}}</tvar>: From things to words</translate> * <translate><!--T:60--> <tvar name="1">{{Status updates|2025-02-19}}</tvar>: A proposal for types per language and part of speech</translate> * <translate><!--T:59--> <tvar name="1">{{Status updates|2025-02-13}}</tvar>: Restricting the World, redux</translate> * <translate><!--T:58--> <tvar name="1">{{Status updates|2025-02-06}}</tvar>: Invitation to the Natural Language Generation Special Interest Group</translate> * <translate><!--T:57--> <tvar name="1">{{Status updates|2025-01-29}}</tvar>: With 2000 Functions into the new year: time for stats</translate> * <translate><!--T:56--> <tvar name="1">{{Status updates|2025-01-22}}</tvar>: Welcome, David! Naming conventions recommendations</translate> * <translate><!--T:55--> <tvar name="1">{{Status updates|2025-01-15}}</tvar>: Happy Wikipedia day! Quarterly planning</translate> === 2024 === * <translate><!--T:54--> <tvar name="1">{{Status updates|2024-12-19}}</tvar>: Function of the Week: age; Intros for year articles; New Type: Floating-point number</translate> * <translate><!--T:53--> <tvar name="1">{{Status updates|2024-12-12}}</tvar>: Sketching a path to Abstract Wikipedia; Team offsite in Lisbon; and much more</translate> * <translate><!--T:52--> <tvar name="1">{{Status updates|2024-11-27}}</tvar>: WordGraph release; New Special page: list functions by tests; new type for day of the year, and much more</translate> * <translate><!--T:51--> <tvar name="1">{{Status updates|2024-11-21}}</tvar>: New special page for missing labels, new type for Gregorian years, and much more</translate> * <translate><!--T:50--> <tvar name="1">{{Status updates|2024-11-13}}</tvar>: New Type: Rational number; Documentation on Wikidata-based types; and more</translate> * <translate><!--T:48--> <tvar name="1">{{Status updates|2024-11-07}}</tvar>: The Dream of a Universal Language</translate> * <translate><!--T:49--> <tvar name="1">{{Status updates|2024-11-01}}</tvar>: Rewriting the backend</translate> * <translate><!--T:47--> <tvar name="1">{{Status updates|2024-10-25}}</tvar>: Our goal for this Quarter: Agreement</translate> * <translate><!--T:45--> <tvar name="1">{{Status updates|2024-10-17}}</tvar>: What could abstract content look like?</translate> * <translate><!--T:46--> <tvar name="1">{{Status updates|2024-10-11}}</tvar>: Wikidata Lexemes in Wikifunctions are coming soon</translate> * <translate><!--T:44--> <tvar name="1">{{Status updates|2024-10-02}}</tvar>: Focus topic: Food</translate> * <translate><!--T:43--> <tvar name="1">{{Status updates|2024-09-26}}</tvar>: Quarterly planning for October–December 2024; Presentation at Celtic Knot tomorrow</translate> * <translate><!--T:42--> <tvar name="1">{{Status updates|2024-09-20}}</tvar>: Introducing focus topic areas</translate> * <translate><!--T:41--> <tvar name="1">{{Status updates|2024-09-13}}</tvar>: Dagbani Wikipedia will be our first wiki for Wikifunctions integration</translate> * <translate><!--T:40--> <tvar name="1">{{Status updates|2024-09-06}}</tvar>: Volunteer's corner and other updates</translate> * <translate><!--T:39--> <tvar name="1">{{Status updates|2024-08-29}}</tvar>: Limits on Name and Description Lengths</translate> * <translate><!--T:38--> <tvar name="1">{{Status updates|2024-08-23}}</tvar>: WasmEdge, Now 300ms Less Edgy</translate> * <translate><!--T:37--> <tvar name="1">{{Status updates|2024-08-16}}</tvar>: Wikimania 2024 edition</translate> * <translate><!--T:36--> <tvar name="1">{{Status updates|2024-08-02}}</tvar>: Revamping our 'About' widget</translate> * <translate><!--T:35--> <tvar name="1">{{Status updates|2024-07-26}}</tvar>: Wikimania 2024 coming soon!</translate> * <translate><!--T:34--> <tvar name="1">{{Status updates|2024-07-18}}</tvar>: Research report on integrating Wikifunctions from Wikipedia</translate> * <translate><!--T:33--> <tvar name="1">{{Status updates|2024-07-10}}</tvar>: Type proposals for accessing Lexemes</translate> * <translate><!--T:32--> <tvar name="1">{{Status updates|2024-07-03}}</tvar>: Quarterly planning</translate> * <translate><!--T:31--> <tvar name="1">{{Status updates|2024-06-26}}</tvar>: Welcome, Daphne!</translate> * <translate><!--T:30--> <tvar name="1">{{Status updates|2024-06-20}}</tvar>: New Type: Integers</translate> * <translate><!--T:29--> <tvar name="1">{{Status updates|2024-06-13}}</tvar>: New Type: Igbo calendar months</translate> * <translate><!--T:27--> <tvar name="1">{{Status updates|2024-06-06}}</tvar>: New Type: Sign</translate> * <translate><!--T:26--> <tvar name="1">{{Status updates|2024-05-30}}</tvar>: A single singular or a plurality of plurals?</translate> * <translate><!--T:25--> <tvar name="1">{{Status updates|2024-05-22}}</tvar>: New Type: Gregorian calendar months</translate> * <translate><!--T:24--> <tvar name="1">{{Status updates|2024-05-15}}</tvar>: Call for Functions: Spell out the number!</translate> * <translate><!--T:23--> <tvar name="1">{{Status updates|2024-05-10}}</tvar>: Flagship type for enumerations: Months of the Gregorian calendar</translate> * <translate><!--T:22--> <tvar name="1">{{Status updates|2024-05-03}}</tvar>: Team meeting and Quarterly plan</translate> * <translate><!--T:21--> <tvar name="1">{{Status updates|2024-04-19}}</tvar>: Welcome, Sharvani!</translate> * <translate><!--T:20--> <tvar name="1">{{Status updates|2024-04-11}}</tvar>: New API for calling Wikifunctions and celebrating 1000 functions</translate> * <translate><!--T:19--> <tvar name="1">{{Status updates|2024-04-03}}</tvar>: Product Update on Diff and Upcoming API Improvements</translate> * <translate><!--T:18--> <tvar name="1">{{Status updates|2024-03-28}}</tvar>: Creating tests is now much easier!</translate> * <translate><!--T:17--> <tvar name="1">{{Status updates|2024-03-21}}</tvar>: On the way to internationalizing numbers</translate> * <translate><!--T:16--> <tvar name="1">{{Status updates|2024-03-13}}</tvar>: On identity</translate> * <translate><!--T:15--> <tvar name="1">{{Status updates|2024-03-07}}</tvar>: Introducing our second new type: Natural numbers</translate> * <translate><!--T:14--> <tvar name="1">{{Status updates|2024-02-28}}</tvar>: Type proposal for natural numbers</translate> * <translate><!--T:13--> <tvar name="1">{{Status updates|2024-02-22}}</tvar>: Updating the function model</translate> * <translate><!--T:12--> <tvar name="1">{{Status updates|2024-02-14}}</tvar>: Fix-it week</translate> * <translate><!--T:11--> <tvar name="1">{{Status updates|2024-02-07}}</tvar>: Quarterly planning. Thank you, Nick! Function of the Week: is permutation</translate> * <translate><!--T:9--> <tvar name="1">{{Status updates|2024-02-01}}</tvar>: The Igbo Imperative!</translate> <translate> === Before February 2024 === <!--T:7--> <!--T:10--> All updates from this period are [[<tvar name="meta">:m:Special:MyLanguage/Abstract Wikipedia/Updates</tvar>|available on Meta-Wiki]]. </translate> [[Category:Status updates{{#translation:}}| ]] 340497q2kwnt64b8duo0ew9q6617cvu Z13636 0 24874 277537 267088 2026-05-24T00:07:27Z YoshiRulz 10156 Remove trailing whitespace from en label 277537 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z13636" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z13518", "Z17K2": "Z13636K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "n" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "n: Nọmba eke" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Zahl" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "nombre naturel" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20", "Z13638" ], "Z8K4": [ "Z14", "Z16825", "Z13637", "Z33801" ], "Z8K5": "Z13636" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "natural number identity" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "njirimara nọmba eke" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Identität natürlicher Zahl" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "identité des nombres naturels" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "A000027", "M0472", "N0173", "A001477", "Echo (natural number)" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns a natural number unchanged" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "na-eweghachi nọmba eke na agbanweghị agbanwe" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "gibt eine natürliche Zahl unverändert wieder aus" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie un nombre naturel inchangé" } ] } } irn3j4xj8my8ecfihquxs1fmvfdo14r Z13999 0 25698 277538 270066 2026-05-24T00:07:32Z YoshiRulz 10156 Remove trailing whitespace from en label 277538 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z13999" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z13518", "Z17K2": "Z13999K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "n" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "n: Nọmba eke" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "n" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "n" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20", "Z14076", "Z14077", "Z14078" ], "Z8K4": [ "Z14", "Z14000", "Z34412" ], "Z8K5": "Z13999" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "sum of squares of divisors" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "nchikota square nke ndị nkewa" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Summe der Quadrate der Teiler" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "somme des carrés des diviseurs" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "jumlah kuadrat dari pembagi" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", " A001157" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 0jwpwjtlx7u9x4p2lp76civ9c3xlceb Z14154 0 26067 277539 156523 2026-05-24T00:07:37Z YoshiRulz 10156 Remove trailing whitespace from en label 277539 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z14154" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z14154K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "input string" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "eriri ntinye" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Zeichenkette" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z14156" ], "Z8K4": [ "Z14", "Z14155" ], "Z8K5": "Z14154" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "remove language tag code points" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Wepu isi koodu mkpado asụsụ" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "entferne Codepunkte für Sprach-Tag" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "remove U+E0000 to U+E007F" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "instead use xhtml:lang or xml:lang. see https://www.w3.org/TR/unicode-xml/#Suitable" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "kama jiri xhtml: lang ma ọ bụ xml: lang. hụ https://www.w3.org/TR/unicode-xml/#Suitable" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "entfernt Codepunkte für Sprach-Tags" } ] } } pb51ozamgw6jyf7kccyln8pnnija689 Z15533 0 28734 277540 189618 2026-05-24T00:07:43Z YoshiRulz 10156 Remove trailing whitespace from en label 277540 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z15533" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z13518", "Z17K2": "Z15533K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "n" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "n" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "n" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20", "Z15536" ], "Z8K4": [ "Z14", "Z15534", "Z15535" ], "Z8K5": "Z15533" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "nth dodecagonal number" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "nth dodecagonal nọmba" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "nte Zwölfeckzahl" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "nth 12-gonal number", "A051624", "5*n^2-4*n" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } b6hpu6rlq2dwjl8d2p5c0q5qy8fp6br Z15991 0 29850 277541 203403 2026-05-24T00:07:50Z YoshiRulz 10156 Remove trailing whitespace from en label 277541 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z15991" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z86", "Z17K2": "Z15991K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "prefix" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Präfix" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z15991K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "string" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Zeichenkette" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z15992" ], "Z8K4": [ "Z14", "Z15993" ], "Z8K5": "Z15991" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "code point prefix" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Codepunkt-Präfix" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "character prefix", "join string to code point", "code point + string", "Z86 + Z6" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns a string prefixed with a code point" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "gibt eine Zeichenkette mit einem Codepunkt als Präfix aus" } ] } } mujpzy9pkisyb61cxsh3nbhjgz804hd Z16973 0 32068 277542 271720 2026-05-24T00:07:56Z YoshiRulz 10156 Remove trailing whitespace from en label 277542 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z16973" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z16927", "Z17K2": "Z16973K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "month " }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "ọnwa: Ọnwa kalenda Igbo" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "mois" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Monat" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20", "Z16976", "Z16975", "Z16977", "Z16978", "Z16979" ], "Z8K4": [ "Z14", "Z16974", "Z23401", "Z34619" ], "Z8K5": "Z16973" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Igbo month to month number" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": " ọnwa igbo ruo ọnwa" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "mois en igbo vers numéro du mois" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Igbo-Monat in Monatsnummer" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "converts a month to the natural number (1-13) it corresponds to in the order of Igbo months in a year" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "na-atụgharị otu ọnwa gaa na nọmba eke (1-13) ọ dabara n'usoro ọnwa Igbo n'otu" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "convertit un mois en igbo en un nombre naturel compris entre 1 et 13 qui correspond à l'ordre des mois igbo dans une année" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "wandelt einen Monat in die natürliche Zahl um, die der Reihenfolge der Igbo-Monate entspricht" } ] } } 8deflsnpjdwydxqa8yrtgfcuazk3m9h 277579 277542 2026-05-24T00:15:22Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 277579 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z16973" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z16927", "Z17K2": "Z16973K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "month " }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "ọnwa: Ọnwa kalenda Igbo" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "mois" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Monat" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20", "Z16976", "Z16975", "Z16977", "Z16978", "Z16979" ], "Z8K4": [ "Z14", "Z23401", "Z34619", "Z16974" ], "Z8K5": "Z16973" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Igbo month to month number" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": " ọnwa igbo ruo ọnwa" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "mois en igbo vers numéro du mois" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Igbo-Monat in Monatsnummer" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "converts a month to the natural number (1-13) it corresponds to in the order of Igbo months in a year" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "na-atụgharị otu ọnwa gaa na nọmba eke (1-13) ọ dabara n'usoro ọnwa Igbo n'otu" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "convertit un mois en igbo en un nombre naturel compris entre 1 et 13 qui correspond à l'ordre des mois igbo dans une année" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "wandelt einen Monat in die natürliche Zahl um, die der Reihenfolge der Igbo-Monate entspricht" } ] } } r1wf89nlmyx1i7pwyvkwsa0oig7965w 277585 277579 2026-05-24T02:53:28Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 277585 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z16973" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z16927", "Z17K2": "Z16973K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "month " }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "ọnwa: Ọnwa kalenda Igbo" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "mois" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Monat" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20", "Z16976", "Z16975", "Z16977", "Z16978", "Z16979" ], "Z8K4": [ "Z14", "Z16974", "Z34619", "Z23401" ], "Z8K5": "Z16973" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Igbo month to month number" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": " ọnwa igbo ruo ọnwa" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "mois en igbo vers numéro du mois" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Igbo-Monat in Monatsnummer" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "converts a month to the natural number (1-13) it corresponds to in the order of Igbo months in a year" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "na-atụgharị otu ọnwa gaa na nọmba eke (1-13) ọ dabara n'usoro ọnwa Igbo n'otu" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "convertit un mois en igbo en un nombre naturel compris entre 1 et 13 qui correspond à l'ordre des mois igbo dans une année" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "wandelt einen Monat in die natürliche Zahl um, die der Reihenfolge der Igbo-Monate entspricht" } ] } } loq1ao45iiyelibn02898tuvfmcstjt Z17435 0 32895 277543 236361 2026-05-24T00:08:02Z YoshiRulz 10156 Remove trailing whitespace from en label 277543 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z17435" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z17402", "Z17K2": "Z17435K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Day" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "দিনের নাম" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Ụbọchị: Ụbọchị nke izu" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "jour" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "giorno" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "दिन" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Tag" } ] } } ], "Z8K2": "Z17402", "Z8K3": [ "Z20", "Z17438", "Z17439", "Z17441" ], "Z8K4": [ "Z14", "Z17437", "Z17524", "Z17440" ], "Z8K5": "Z17435" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "previous day of the week" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "সপ্তাহের পূর্ববর্তী দিন" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "ụbọchị gara aga nke izu" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "προηγούμενη ημέρα της εβδομάδας" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Vorheriger Wochentag" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "jour précédent de la semaine" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "giorno precedente della settimana" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "हफ्ते का पिछला दिन" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "yesterday" ] }, { "Z1K1": "Z31", "Z31K1": "Z1004", "Z31K2": [ "Z6", "hier" ] }, { "Z1K1": "Z31", "Z31K1": "Z1787", "Z31K2": [ "Z6", "ieri" ] }, { "Z1K1": "Z31", "Z31K1": "Z1820", "Z31K2": [ "Z6", "बीता कल" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the day before the input day " }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "ইনপুটের বারের পূর্ববর্তী বারের নাম প্রদান করবে" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "na-alaghachi ụbọchị tupu ụbọchị ntinye" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "επιστρέφει την προηγούμενη μέρα μιας δεδομένης ημέρας\n" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Gibt den Tag vor dem angegebenen Wochentag zurück" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie le jour qui précède le jour donné" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Ritorna il giorno della settimana che precede quello in input" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "इनपुट के दिन के पहले का दिन लौटाता है" } ] } } nggrasn917ina61fgbjijil48q816ty 277609 277543 2026-05-24T08:09:56Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 277609 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z17435" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z17402", "Z17K2": "Z17435K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Day" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "দিনের নাম" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Ụbọchị: Ụbọchị nke izu" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "jour" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "giorno" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "दिन" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Tag" } ] } } ], "Z8K2": "Z17402", "Z8K3": [ "Z20", "Z17438", "Z17439", "Z17441" ], "Z8K4": [ "Z14", "Z17440", "Z17437", "Z17524" ], "Z8K5": "Z17435" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "previous day of the week" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "সপ্তাহের পূর্ববর্তী দিন" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "ụbọchị gara aga nke izu" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "προηγούμενη ημέρα της εβδομάδας" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Vorheriger Wochentag" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "jour précédent de la semaine" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "giorno precedente della settimana" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "हफ्ते का पिछला दिन" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "yesterday" ] }, { "Z1K1": "Z31", "Z31K1": "Z1004", "Z31K2": [ "Z6", "hier" ] }, { "Z1K1": "Z31", "Z31K1": "Z1787", "Z31K2": [ "Z6", "ieri" ] }, { "Z1K1": "Z31", "Z31K1": "Z1820", "Z31K2": [ "Z6", "बीता कल" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the day before the input day " }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "ইনপুটের বারের পূর্ববর্তী বারের নাম প্রদান করবে" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "na-alaghachi ụbọchị tupu ụbọchị ntinye" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "επιστρέφει την προηγούμενη μέρα μιας δεδομένης ημέρας\n" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Gibt den Tag vor dem angegebenen Wochentag zurück" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie le jour qui précède le jour donné" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Ritorna il giorno della settimana che precede quello in input" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "इनपुट के दिन के पहले का दिन लौटाता है" } ] } } r5hb3l5bbjdewa0ggaagf3s1tyuflwj Z17485 0 32955 277534 276358 2026-05-23T21:04:10Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 277534 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z17485" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z17402", "Z17K2": "Z17485K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "day" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Wochentag" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "jour" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20", "Z17487", "Z17488" ], "Z8K4": [ "Z14", "Z17486", "Z17489", "Z34634" ], "Z8K5": "Z17485" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "day to day number (starting Sunday=1)" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "nọmba ụbọchị ruo ụbọchị (bido Sọnde = 1) " }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "সপ্তাহের দিনের নাম থেকে সংখ্যা (রবিবার = 1)" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Tag zu Tagnummer" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "jour vers numéro du jour" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "Natural number index from Day of the week", "Day of the week to Natural number (Sunday = 1)", "index for Day of the week" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "কোনো সপ্তাহের বারের নামের সমতুল্য ক্রমিক সংখ্যা প্রদান করবে" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Gibt die Nummer des Tages in einer Woche an, wobei der Sonntag als erster Tag der Woche gilt" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "démarre à partir de dimanche = 1" } ] } } 65ab9tni52s90qxq49jqjd3zc0ufk9m Z17963 0 34321 277544 250699 2026-05-24T00:08:08Z YoshiRulz 10156 Remove trailing whitespace from en label 277544 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z17963" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z17963K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "nominative singular " }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Nominativ Singular" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z17963" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Swedish -s declension" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Schwedische Deklination mit -s" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 6we6a24as9a9mspfrg0ynhgohv4i6rf Z18063 0 34424 277545 254163 2026-05-24T00:08:13Z YoshiRulz 10156 Remove trailing whitespace from en label 277545 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18063" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z18063K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "nominative singular" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Nominativ Singular" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z18064" ], "Z8K4": [ "Z14", "Z18065" ], "Z8K5": "Z18063" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Swedish noun, sixth declension, singular definite genitive -ns/-ets" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "sechste Dekl. für schw. Subst., best. Sing. Gen." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 9zvd8k9ihh2xalh351feuwhgw8wgsu2 Z18524 0 35696 277578 263817 2026-05-24T00:13:15Z YoshiRulz 10156 Remove trailing whitespace from en label 277578 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18524" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z18524K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "String " }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "String" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Zeichenkette" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z18524" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Yoruba plural" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Yoruba plural" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Yoruba-Plural" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Convert English plural to Yoruba plural" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Convert English plural to Yoruba plural" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "wandelt einen englischen Plural in den Plural in Yoruba um" } ] } } pi6zjvlr6anlbbzu0z3iq1jclkpf78a Z18559 0 35732 277577 264509 2026-05-24T00:13:07Z YoshiRulz 10156 Disambiguate en label 277577 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18559" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z18524", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z600", "Z16K2": "function Z18524( Z18524K1 ) {\n\n}" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Yoruba plural, JS" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Yoruba-Plural in JavaScript" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Convert English to Yoruba plural " }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "JavaScript-Implementierung der Funktion zur Ausgabe des Yoruba-Plurals" } ] } } 3rten0yv0p92nb3ud2f3bnhr4nfdawg Wikifunctions:Catalogue/Natural language operations/Bangla 4 41927 277496 273643 2026-05-23T15:27:32Z Asked42 932 /* Sentence generating */ 277496 wikitext text/x-wiki == General == * {{Z+|Z10587}} * {{Z+|Z12678}} * {{Z+|Z12892}} * {{Z+|Z13151}} * {{Z+|Z14260}} * {{Z+|Z16150}} * {{Z+|Z16904}} * {{Z+|Z17526}} * {{Z+|Z17530}} * {{Z+|Z17563}} * {{Z+|Z17564}} * {{Z+|Z17599}} * {{Z+|Z21572}} ==Grammatical & Morphological== * {{Z+|Z10591}} * {{Z+|Z11077}} * {{Z+|Z12919}} * {{Z+|Z13156}} * {{Z+|Z13195}} * {{Z+|Z13238}} * {{Z+|Z13270}} * {{Z+|Z18831}} * {{Z+|Z18837}} * {{Z+|Z18881}} * {{Z+|Z35010}} == Sentence generating == === Helper functions to create sentence fragments === * {{Z+|Z33238}} * {{Z+|Z33172}} * {{Z+|Z35288}} === Available sentence generation functions === * {{Z+|Z26572}} * {{Z+|Z26707}} * {{Z+|Z28049}} * {{Z+|Z33079}} * {{Z+|Z27502}} * {{Z+|Z32973}} * {{Z+|Z33267}} * {{Z+|Z34459}} * {{Z+|Z35018}} [[Category:Lists of functions]] 4zucf9ubxrtuds4kr9ribq02jblafzy 277604 277496 2026-05-24T06:45:59Z Asked42 932 /* Available sentence generation functions */ 277604 wikitext text/x-wiki == General == * {{Z+|Z10587}} * {{Z+|Z12678}} * {{Z+|Z12892}} * {{Z+|Z13151}} * {{Z+|Z14260}} * {{Z+|Z16150}} * {{Z+|Z16904}} * {{Z+|Z17526}} * {{Z+|Z17530}} * {{Z+|Z17563}} * {{Z+|Z17564}} * {{Z+|Z17599}} * {{Z+|Z21572}} ==Grammatical & Morphological== * {{Z+|Z10591}} * {{Z+|Z11077}} * {{Z+|Z12919}} * {{Z+|Z13156}} * {{Z+|Z13195}} * {{Z+|Z13238}} * {{Z+|Z13270}} * {{Z+|Z18831}} * {{Z+|Z18837}} * {{Z+|Z18881}} * {{Z+|Z35010}} == Sentence generating == === Helper functions to create sentence fragments === * {{Z+|Z33238}} * {{Z+|Z33172}} * {{Z+|Z35288}} === Available sentence generation functions === * {{Z+|Z26572}} * {{Z+|Z26707}} * {{Z+|Z28049}} * {{Z+|Z33079}} * {{Z+|Z27502}} * {{Z+|Z32973}} * {{Z+|Z33267}} * {{Z+|Z34459}} * {{Z+|Z35018}} * {{Z+|Z35611}} [[Category:Lists of functions]] mo5fbzaiz5kf4sow8baeu5dtn16gu4d Z20744 0 45240 277546 272202 2026-05-24T00:08:38Z YoshiRulz 10156 Remove trailing whitespace from en label 277546 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z20744" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20420", "Z17K2": "Z20744K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "start date" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "première date" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "von" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "data 1" }, { "Z1K1": "Z11", "Z11K1": "Z1181", "Z11K2": "почетни датум" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "تاريخ البداية" }, { "Z1K1": "Z11", "Z11K1": "Z1237", "Z11K2": "başlangıç tarihi" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z20420", "Z17K2": "Z20744K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "target date" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "seconde date" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "bis" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "data 2" }, { "Z1K1": "Z11", "Z11K1": "Z1181", "Z11K2": "крајњи датум" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "التاريخ المستهدف" }, { "Z1K1": "Z11", "Z11K1": "Z1237", "Z11K2": "hedef tarih" } ] } } ], "Z8K2": "Z16683", "Z8K3": [ "Z20", "Z20746", "Z20747", "Z20748", "Z20749", "Z20805", "Z24872", "Z24896", "Z24897", "Z24898", "Z24899", "Z27563" ], "Z8K4": [ "Z14", "Z27558", "Z20745", "Z24900" ], "Z8K5": "Z20744" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "days until" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "nombre de jours jusque" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Tage bis" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "numero di giorni tra" }, { "Z1K1": "Z11", "Z11K1": "Z1181", "Z11K2": "број дана до датума" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "عدد الأيام حتى" }, { "Z1K1": "Z11", "Z11K1": "Z1237", "Z11K2": "gün farkı" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "distance between days", "day subtraction", "age", "date difference in days (integer)", "Gregorian calendar date difference", "difference between Gregorian calendar dates" ] }, { "Z1K1": "Z31", "Z31K1": "Z1004", "Z31K2": [ "Z6", "distance entre deux jours", "soustraction de jours" ] }, { "Z1K1": "Z31", "Z31K1": "Z1430", "Z31K2": [ "Z6", "Abstand zwischen Tagen", "Alter in Tagen" ] }, { "Z1K1": "Z31", "Z31K1": "Z1787", "Z31K2": [ "Z6", "distanza tra giorni", "distanza tra date", "giorni tra" ] }, { "Z1K1": "Z31", "Z31K1": "Z1181", "Z31K2": [ "Z6", "одузимање дана" ] }, { "Z1K1": "Z31", "Z31K1": "Z1237", "Z31K2": [ "Z6", "tarih farkı", "iki tarih arası gün" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "distance between two days (exclusive of the latter), as an integer" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "distance entre deux jours, sous la forme de nombre entier." }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Abstand zwischen zwei Tagen, als Ganzzahl." }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Distanza in giorni tra due date come Intero" }, { "Z1K1": "Z11", "Z11K1": "Z1181", "Z11K2": "време између од првог до другог датума, враћа цео број" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "المسافة بين يومين من التاريخ، كعدد صحيح" }, { "Z1K1": "Z11", "Z11K1": "Z1237", "Z11K2": "İki tarih arasındaki gün farkını (son gün hariç) tam sayı olarak verir" } ] } } 6irs2rquesv5lbi3j1m1q1803cwgzzn Z20773 0 45431 277547 210739 2026-05-24T00:08:45Z YoshiRulz 10156 Remove trailing whitespace from en label 277547 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z20773" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20420", "Z17K2": "Z20773K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "date" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "date" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z20775", "Z23268", "Z27384", "Z27383" ], "Z8K4": [ "Z14", "Z20774" ], "Z8K5": "Z20773" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "date (enwiki)" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "date (EN Wiki)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "A date in the dmy format" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "une date dans le format jour/mois/année" } ] } } 27g5uhknc1mi7u6ptrxper1rq5rokiz Z20964 0 45771 277548 265718 2026-05-24T00:08:50Z YoshiRulz 10156 Remove trailing whitespace from en label 277548 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z20964" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20838", "Z17K2": "Z20964K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x" } ] } } ], "Z8K2": "Z20838", "Z8K3": [ "Z20", "Z33584", "Z33585" ], "Z8K4": [ "Z14", "Z20989", "Z33583" ], "Z8K5": "Z20964" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hyperbolic cosine" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "cosinus hyperbolique" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "cosh", "ch" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } nnfsnhu67cvqfkijhjcu42hg5god6sm Z20965 0 45772 277549 266024 2026-05-24T00:08:56Z YoshiRulz 10156 Remove trailing whitespace from en label 277549 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z20965" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20838", "Z17K2": "Z20965K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x" } ] } } ], "Z8K2": "Z20838", "Z8K3": [ "Z20", "Z33652", "Z33657", "Z33658" ], "Z8K4": [ "Z14", "Z20990", "Z33651" ], "Z8K5": "Z20965" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hyperbolic tangent" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "tangente hyperbolique" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "tanh", "th" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 65a0rmuekfrnn359so22x53m5hm7864 Z20967 0 45774 277550 147607 2026-05-24T00:09:03Z YoshiRulz 10156 Remove trailing whitespace from en label 277550 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z20967" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20838", "Z17K2": "Z20967K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x" } ] } } ], "Z8K2": "Z20838", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z20992" ], "Z8K5": "Z20967" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hyperbolic secant" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "sech" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } llzngagz1bdugh50cljwfinxfft295a Z20968 0 45775 277551 245272 2026-05-24T00:09:08Z YoshiRulz 10156 Remove trailing whitespace from en label 277551 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z20968" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20838", "Z17K2": "Z20968K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x" } ] } } ], "Z8K2": "Z20838", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z20993" ], "Z8K5": "Z20968" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hyperbolic cosecant" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "csch", "cosech" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } tnhgg2ewztdhwn0ixithvmp4cy5rygf Z20971 0 45778 277552 272232 2026-05-24T00:09:17Z YoshiRulz 10156 Remove trailing whitespace from en label 277552 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z20971" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20838", "Z17K2": "Z20971K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x" } ] } } ], "Z8K2": "Z20838", "Z8K3": [ "Z20", "Z33665", "Z33669" ], "Z8K4": [ "Z14", "Z20996", "Z34764" ], "Z8K5": "Z20971" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "inverse hyperbolic tangent" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "tangente hyperbolique inverse " } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "arctanh", "atanh", "artanh" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "result in radians" } ] } } q89fxxpq446bmbu094xblqamcnqhr5s Z20972 0 45779 277553 147619 2026-05-24T00:09:24Z YoshiRulz 10156 Remove trailing whitespace from en label 277553 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z20972" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20838", "Z17K2": "Z20972K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x" } ] } } ], "Z8K2": "Z20838", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z20997" ], "Z8K5": "Z20972" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "inverse hyperbolic cotangent" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "arccoth" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } rw0g8zaf8ehq9zz7voac6d996hdz52o Z20973 0 45780 277554 147620 2026-05-24T00:09:30Z YoshiRulz 10156 Remove trailing whitespace from en label 277554 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z20973" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20838", "Z17K2": "Z20973K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x" } ] } } ], "Z8K2": "Z20838", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z20998" ], "Z8K5": "Z20973" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "inverse hyperbolic secant" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "arcsech" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } k1qfejoq3h6ny71wujr5w3bnenidh7b Z20974 0 45781 277555 272234 2026-05-24T00:09:38Z YoshiRulz 10156 Remove trailing whitespace from en label 277555 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z20974" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20838", "Z17K2": "Z20974K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x" } ] } } ], "Z8K2": "Z20838", "Z8K3": [ "Z20", "Z33670" ], "Z8K4": [ "Z14", "Z20999", "Z33667" ], "Z8K5": "Z20974" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "inverse hyperbolic cosecant" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "arccsch" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } kgkwoyi8fe3xgnpkj6k1mxtv4allrlv Z21006 0 45813 277556 203597 2026-05-24T00:09:44Z YoshiRulz 10156 Remove trailing whitespace from en label 277556 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z21006" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20838", "Z17K2": "Z21006K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "x" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "numero" } ] } } ], "Z8K2": "Z20838", "Z8K3": [ "Z20", "Z21223", "Z21224", "Z21225", "Z21226" ], "Z8K4": [ "Z14", "Z21227", "Z21020" ], "Z8K5": "Z21006" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "cube root" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "racine cubique" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "akar pangkat tiga" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "radice cubica (float64)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "cbrt" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } hkk08ag5hwujpfoifktjn6qgkpvptic 277584 277556 2026-05-24T01:53:02Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 277584 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z21006" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20838", "Z17K2": "Z21006K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "x" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "numero" } ] } } ], "Z8K2": "Z20838", "Z8K3": [ "Z20", "Z21223", "Z21224", "Z21225", "Z21226" ], "Z8K4": [ "Z14", "Z21020", "Z21227" ], "Z8K5": "Z21006" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "cube root" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "racine cubique" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "akar pangkat tiga" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "radice cubica (float64)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "cbrt" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 4moughb0sid2ox1yx1aktg7ddupvl3w Z21514 0 47576 277557 243084 2026-05-24T00:09:49Z YoshiRulz 10156 Remove trailing whitespace from en label 277557 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z21514" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z21514K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Latin input" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "Latijnse invoer" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z21515", "Z21516", "Z21517", "Z21518", "Z21519", "Z21520" ], "Z8K4": [ "Z14", "Z21521", "Z21522" ], "Z8K5": "Z21514" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Unified English Braille encode" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "Geünificeerde Engelse braille-encodering" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Encodes latin letters into Unified English Braille." }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "Encodeerd Latijnse letters in Geünificeerde Engelse braille." } ] } } r87py7mwqg13j83qwg764qr53cbkipa Z21572 0 47646 277558 219303 2026-05-24T00:09:54Z YoshiRulz 10156 Remove trailing whitespace from en label 277558 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z21572" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z21572K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "একটি শব্দ" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Bengali string" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "chaîne en bengali" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z21573", "Z21574", "Z21575", "Z21611" ], "Z8K4": [ "Z14", "Z24571", "Z21576" ], "Z8K5": "Z21572" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "এটি কি প্যালিনড্রোম (বাংলা)" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "is a palindrome (Bengali)" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "est-ce un palindrome en bengali ?" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1011", "Z31K2": [ "Z6", "বাংলা প্যালিনড্রোম", "দ্বিমুখী শব্দ" ] }, { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "is bengali palindrome", "palindrome in Bengali", "palindrome (Bengali) " ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "একটি বাংলা শব্দ প্যালিনড্রোম কিনা তা পরীক্ষা করে। যুক্তাক্ষরগুলিকে একক অক্ষর হিসেবে বিবেচনা করবে যাচাইয়ের জন্য।" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Checks whether a Bengali word is a palindrome or not. Handles conjunct letters as single units to perform the check. " }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie \"vrai\" si un mot bengali est un palindrome, sinon \"faux\" ; gère les lettres conjointes comme des unités uniques pour effectuer la vérification" } ] } } 0pfpcf4wmhn13p157dygqiqhwlbtrev Z21577 0 47651 277559 272287 2026-05-24T00:10:00Z YoshiRulz 10156 Remove trailing whitespace from en label 277559 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z21577" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6006", "Z17K2": "Z21577K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "sense" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20", "Z21579" ], "Z8K4": [ "Z14", "Z21578", "Z34777" ], "Z8K5": "Z21577" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item reference from sense" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "QID from Lexeme sense", "Lexeme sense to QID", "sense to QID", "Sense to QID", "Lexeme sense to item reference", "QID of sense", "QID of lexeme sense" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the Wikidata item associated (via P5137) with the lexeme sense" } ] } } smxlvxzwv3um9z7i4ec3piac5h7b4fr Z21760 0 47920 277560 235079 2026-05-24T00:10:05Z YoshiRulz 10156 Remove trailing whitespace from en label 277560 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z21760" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6005", "Z17K2": "Z21760K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "noun" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6005", "Z17K2": "Z21760K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "adjective" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z22707" ], "Z8K4": [ "Z14", "Z21761" ], "Z8K5": "Z21760" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "indef noun phrase with adjective" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "noun phrase with adjective indefinite ", "idnpwa" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Creates an indefinite noun phrase from 2 Lexemes. The Lexemes should have the same language." } ] } } 1hb6ulli3oslxno89p55phc4qgtyl8d Z21802 0 48060 277527 263229 2026-05-23T18:39:59Z Waldyrious 801 added example sentence 277527 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z21802" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z21802K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "country" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "pays" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z21802K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "profession" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "profession" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z16659", "Z17K2": "Z21802K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "gender" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "genre" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z21802K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "langue" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z21804" ], "Z8K5": "Z21802" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "\"[gender] is a [country] [professional]\"" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "\"[genre] is a [pays] [profession]\", en anglais" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "E.g. \"She is a Vietnamese philosopher\"" } ] } } hgbs3po5hv6t7c0lu3nxol9lka2mbbl Z21961 0 48551 277561 161437 2026-05-24T00:10:12Z YoshiRulz 10156 Remove trailing whitespace from en label 277561 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z21961" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z21961K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Text" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "chaîne" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "النص" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z21969", "Z21965" ], "Z8K4": [ "Z14", "Z21962", "Z21976" ], "Z8K5": "Z21961" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "remove arabic harakat" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "إزالة حركات الحروف العربية" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "supprimer les signes diacritiques arabes" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "remove harakat", "remove tashkīl" ] }, { "Z1K1": "Z31", "Z31K1": "Z1001", "Z31K2": [ "Z6", "إزالة التشكيل", "إزالة الحركات" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Return the given text without Arabic harakat" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "يُرجع النص بدون حركات على الحروف" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie la chaîne donnée sans les signes diacritiques arabes" } ] } } ps66237uprw39j4rlwczqj47s9dqqnv Z22807 0 51328 277562 259092 2026-05-24T00:10:18Z YoshiRulz 10156 Remove trailing whitespace from en label 277562 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z22807" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6005" }, "Z17K2": "Z22807K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexemes" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z22807K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexical category" } ] } } ], "Z8K2": "Z6005", "Z8K3": [ "Z20", "Z31131", "Z32369" ], "Z8K4": [ "Z14", "Z31132" ], "Z8K5": "Z22807" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "First item of lexeme list with lexical category" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } h54tkgpxpd620y7y92o3dnynrm2iidp User talk:Dv103 3 51991 277645 277310 2026-05-24T08:40:37Z HenkvD 1290 /* State location using entity and class, (simple) (Z35589) */ new section 277645 wikitext text/x-wiki {{Welcome/lang|user=Dv103|welcominguser=VIGNERON|1=[[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 16:51, 7 March 2025 (UTC)}} == Z23478 == I connected this but it relies on a function with no connected implementation, so I’ve disconnected it again. Let me know if you want me to connect it (or anything else). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:39, 30 March 2025 (UTC) :It actually relies on a long list of functions that have disconnected implementations: :* [[Z23592]] :* [[Z23596]] :* [[Z23600]] :All these functions have an already working but disconnected implementation, so you would make me a favour if you connected them too. :Side note: even if it should have value by itself, I created the function [[Z23474]] as a helper function for [[Z23427]], which I thought should be an interesting test for the potentiality of the integration between Wikidata and Wikifunctions. What do you think about it? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:57, 30 March 2025 (UTC) ::{{done}} I haven’t had time to look at it too closely but it looks like a solid piece of work. I like how it links the Paschal computus to real-world dates based on the offsets in Wikidata. Of course, it’s a shame that we can’t currently use the numeric values themselves from Wikidata, but it’s easy to see how that will slot into your framework once they become available. I am puzzled by a couple of things about {{Z|Z23474}}, however. I don’t see how the input argument can be anything other than a {{Z|Z6091}}, so I don’t understand why {{Z|Z1}} is specified. And then, if the input can only be such an object, there’s no point trying to return that argument, since you are bound to get a {{Z|Z517}} (unless the input happens to be a {{Z|Z20342}}, but perhaps that’s the plan). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 30 March 2025 (UTC) :::You're right. The hope is that in the future other types of claims will be supported. The current implementation is simply not able to manage the future developments of Wikidata items fetching. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:44, 30 March 2025 (UTC) ==Functioneer?== Hi! You have been doing great work. I'd like to suggest that you [[Wikifunctions:Requests_for_user_groups|request]] functioneer rights so that you can connect and disconnect implementations and tests as you need. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:52, 16 April 2025 (UTC) :Thanks, but I think that in the next months I will be way less active than I am now. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:34, 16 April 2025 (UTC) == Z30178 == Sei sicuro che questo test debba includere certe parole? [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:21, 5 December 2025 (UTC) :Ora l'ho cambiato con una situazione tecnicamente simile ma meno problematica. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 13:55, 5 December 2025 (UTC) ::Ti ringrazio. :) [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 14:19, 5 December 2025 (UTC) == {{Z|35523}} == Thanks for creating an alternative implementation {{Z|35523}}. That is much better than my attempt. I will request to delete my {{Z|35508}}. Could you connect your implemantatiom? [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 21:18, 22 May 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:32, 22 May 2026 (UTC) == {{Z|35589}} == The function and implementation of {{Z|35589}} is almost ready, but it think I made a mistake on the output. The type should be string, not monolingual. I can't correct that as I don't have permissions 1) Only users with special permissions can change the definition of the function. and 2) disconnecting the test cases. Could you fix this? Thanks [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 08:40, 24 May 2026 (UTC) gcqqffugk782anh3zcv212897hjafab 277656 277645 2026-05-24T11:52:45Z Dv103 11127 /* State location using entity and class, (simple) (Z35589) */ Reply 277656 wikitext text/x-wiki {{Welcome/lang|user=Dv103|welcominguser=VIGNERON|1=[[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 16:51, 7 March 2025 (UTC)}} == Z23478 == I connected this but it relies on a function with no connected implementation, so I’ve disconnected it again. Let me know if you want me to connect it (or anything else). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:39, 30 March 2025 (UTC) :It actually relies on a long list of functions that have disconnected implementations: :* [[Z23592]] :* [[Z23596]] :* [[Z23600]] :All these functions have an already working but disconnected implementation, so you would make me a favour if you connected them too. :Side note: even if it should have value by itself, I created the function [[Z23474]] as a helper function for [[Z23427]], which I thought should be an interesting test for the potentiality of the integration between Wikidata and Wikifunctions. What do you think about it? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:57, 30 March 2025 (UTC) ::{{done}} I haven’t had time to look at it too closely but it looks like a solid piece of work. I like how it links the Paschal computus to real-world dates based on the offsets in Wikidata. Of course, it’s a shame that we can’t currently use the numeric values themselves from Wikidata, but it’s easy to see how that will slot into your framework once they become available. I am puzzled by a couple of things about {{Z|Z23474}}, however. I don’t see how the input argument can be anything other than a {{Z|Z6091}}, so I don’t understand why {{Z|Z1}} is specified. And then, if the input can only be such an object, there’s no point trying to return that argument, since you are bound to get a {{Z|Z517}} (unless the input happens to be a {{Z|Z20342}}, but perhaps that’s the plan). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 30 March 2025 (UTC) :::You're right. The hope is that in the future other types of claims will be supported. The current implementation is simply not able to manage the future developments of Wikidata items fetching. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:44, 30 March 2025 (UTC) ==Functioneer?== Hi! You have been doing great work. I'd like to suggest that you [[Wikifunctions:Requests_for_user_groups|request]] functioneer rights so that you can connect and disconnect implementations and tests as you need. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:52, 16 April 2025 (UTC) :Thanks, but I think that in the next months I will be way less active than I am now. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:34, 16 April 2025 (UTC) == Z30178 == Sei sicuro che questo test debba includere certe parole? [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:21, 5 December 2025 (UTC) :Ora l'ho cambiato con una situazione tecnicamente simile ma meno problematica. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 13:55, 5 December 2025 (UTC) ::Ti ringrazio. :) [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 14:19, 5 December 2025 (UTC) == {{Z|35523}} == Thanks for creating an alternative implementation {{Z|35523}}. That is much better than my attempt. I will request to delete my {{Z|35508}}. Could you connect your implemantatiom? [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 21:18, 22 May 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:32, 22 May 2026 (UTC) == {{Z|35589}} == The function and implementation of {{Z|35589}} is almost ready, but it think I made a mistake on the output. The type should be string, not monolingual. I can't correct that as I don't have permissions 1) Only users with special permissions can change the definition of the function. and 2) disconnecting the test cases. Could you fix this? Thanks [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 08:40, 24 May 2026 (UTC) :Why string? Usually fragment generating functions return monolingual texts. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:52, 24 May 2026 (UTC) fgnyui8iwvfv8eg4cmagvcc3hcfw6c8 Z23783 0 54022 277563 178518 2026-05-24T00:10:23Z YoshiRulz 10156 Remove trailing whitespace from en label 277563 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z23783" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z16683", "Z17K2": "Z23783K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "timestamp" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z23785", "Z23796", "Z23784" ], "Z8K4": [ "Z14", "Z23793" ], "Z8K5": "Z23783" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Neralie timestamp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "see https://wiki.xxiivv.com/site/neralie.html" } ] } } 50aq08knx3w97wqs6d0rmqvl42smgg9 Z24073 0 54720 277564 252106 2026-05-24T00:10:29Z YoshiRulz 10156 Remove trailing whitespace from en label 277564 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24073" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z24073K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of arguments" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z8K3": [ "Z20", "Z24091" ], "Z8K4": [ "Z14", "Z24092" ], "Z8K5": "Z24073" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Sandbox Composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "for testing interactions between Composition implementations and other functions " } ] } } 9prci71zfgoqtn0clmi4rzd9vn5o75b Wikifunctions:Abstract Wikipedia/2025 fragment experiments 4 60835 277520 258671 2026-05-23T17:48:26Z Waldyrious 801 /* Fragments to consider starting */ normalize quotation marks and remove an example from the "<X> is a <Y> of <Z>" examples since it's actually in the form ""<X> is a <Y> in <Z>" (which is already included in the "Fragments being developed" table) 277520 wikitext text/x-wiki This page is a WikiProject for creating the basic natural language building blocks for Abstract Wikipedia articles. == Background == === What is a semantic fragment? === We're using the term "semantic fragment" to refer to the concept of a piece of prose text that makes a particular claim about the world. We're seeing these as the building blocks for Abstract Wikipedia articles, and expect that each such article will be generated from several or dozens of such fragments. They may be whole sentences, but also parts of bigger structures. A very basic such fragment is the class statement:<blockquote>"<X> is a <Y>"<!--.--></blockquote> This can be used for many different statements, including the sentences: <blockquote>"<X> is a <Y>." "<X> is a <Y> in <Z>." "<X> is a <Y> and a <Z>."</blockquote> Here are some examples of that statement in English:<blockquote>"Berlin is a city" "Berlin Brandenburg Airport is an airport" "steam is a gas" "''Anser anser anser'' is a species"<!--.--></blockquote> === What is a semantic fragment Function? === A semantic fragment Function is a Wikifunctions Function that takes some Wikidata references and a language, and outputs some text in that language matching a given semantic fragment. For example fragment given above, we created [[Z26039|Z26039/Article-less instantiating fragment]], which can be used to generate each of the above statements in English by changing the first and second inputs: {| class="wikitable" ! Input ! Result |- | <code><nowiki>{{#function:Z26039|Q64|Q515|Z1002}}</nowiki></code> | {{#function:Z26039|Q64|Q515|Z1002}} |- | <code><nowiki>{{#function:Z26039|Q160556|Q1248784|Z1002}}</nowiki></code> | {{#function:Z26039|Q160556|Q1248784|Z1002}} |- | <code><nowiki>{{#function:Z26039|Q27601002|Q68947|Z1002}}</nowiki></code> | {{#function:Z26039|Q27601002|Q68947|Z1002}} |} By changing the third input, we can instead change the language in which we get the fragment (if available): {| class="wikitable" ! Input ! Result |- | <code><nowiki>{{#function:Z26039|Q64|Q515|Z1003}}</nowiki></code> | {{#function:Z26039|Q64|Q515|Z1003}} |- | <code><nowiki>{{#function:Z26039|Q160556|Q1248784|Z1004}}</nowiki></code> | {{#function:Z26039|Q160556|Q1248784|Z1430}} |- | <code><nowiki>{{#function:Z26039|Q27601002|Q7432|Z1001}}</nowiki></code> | {{#function:Z26039|Q27601002|Q7432|Z1005}} |} In this WikiProject, we're trying to create many such fragment Functions, and importantly, make them available in as many languages as possible. == Completed examples == {{Todo}} We'll list complete example semantic fragment Functions in the catalogue under [[Wikifunctions:Catalogue/Natural language operations/Global language functions|Global language functions]]. Here is a list of examples that are "complete", in that they have at least two languages hooked up to them. We'll never complete all 6000 human languages, but we've listed the "UN 6" as a quick working list. In future, we'll make it easier to see what is and is not yet available in any given language. There are also some fragments that use Lexeme data directly, and should work for all (or at least, most) languages without a specific Function for the language, which are marked with a "∞" symbol. {| class="wikitable" !Models !English examples !Function !EN !AR !ES !FR !RU !ZHs !ZHt |- |"<X> is a <Y>." |"Berlin is a city." |[[Z26039]] |✅ |✅ |✅ |✅ |✅ |✅ |❌ |- |"<X>s are <Y>s." |“Antelopes are mammals.” "Squares are rectangles." |[[Z26627]] |✅ |❌ |❌ |❌ |✅ |✅ |❌ |- |"An <X> is a <Y>." |“An antelope is a mammal.” "A frog is an amphibian." |[[Z26095]] |✅ |❌ |❌ |✅ |✅ |❌ |❌ |- |“<X> is a(n) <Y> <Z>.” |“Mercury is a liquid element.” |[[Z29591]] |✅ |❌ |❌ |❌ |✅ |❌ |❌ |- |“A(n) <x> is a(n) <Y> <Z>.” |“A foal is a young horse.” |[[Z29743]] |✅ |❌ |❌ |❌ |✅ |❌ |❌ |- |"<X> is the <Y> of <Z>" |“Charles III is the son of Elizabeth II.” "Sol is the star of the Solar System." “Berlin is the capital of Germany.” “Amsterdam is the capital of the Netherlands.” |[[Z28016]] |✅ |❌ |❌ |❌ |❌ |❌ |❌ |- |"a <x> <y>" |"a green lime" "a black cat" |[[Z22664]] | colspan="7" |'''∞''' |- |"<N> <x>s" |"12 oranges" |[[Z27137]] | colspan="7" |'''∞''' |} == How to get involved == === Propose a new kind of fragment === {{Todo}} === Add a test case for a fragment in your language === {{Todo}} === Add an implementation for a fragment in your language === {{Todo}} === Create a fragment Function === {{Todo}} ==== Guidance ==== *All top-level ("Outer") Functions should take only Wikidata items / lexemes as references, and a Language *They should output a Monolingual string, to indicate exactly what language was used to generate **''e.g.'' if the user asks for <code>de-at</code> (Austrian German) but there's only a <code>de</code> (general German) response *The outer Function should route requests using a Z14294/language configuration or similar == Fragments being developed == Starting in July 2025, the Abstract Wikipedia team has been co-creating some experimental Functions with the Wikifunctions community to try to generate fragments that demonstrate how we might use code to generate Wikipedia-like text in languages, using Wikidata's lexemes. {| class="wikitable" !Name !Models !English examples !2+ Languages that are fully working !Outer Function !Selector Function !Status |- |Defining sub-class: class / adjective / class |“<X> is <Y> <Z>.” ''Mass noun form'' |“Ice is frozen water.” |{{Doing}} |[[Z27173]] |[[Z27174]] |{{Doing}} |- |Location: entity / class / location |“<X> is a <Y> in <Z>” |"Berlin is a city in Germany." "San Francisco is a city in California." "The Sargasso Sea is a sea in the Atlantic Ocean." |{{Doing}} |[[Z26570]] |[[Z29843]] |{{Doing}} |- |Superlative: entity / adjective / class / location |"<X> is the <Cest> <Y> in <Z>." |"Los Angeles is the biggest city in California." "Canada is the largest country in North America." "The Amazon is the longest river in the world." “The Nile is the longest river in Africa.” "Io is the most volcanic planetary body in the Solar System." |{{Todo}} |[[Z27243]] |[[Z29841]] |{{Doing}} |- |Ordinal: entity / ordinal / adjective / class / location |"<X> is the <N>th <C> <Y> in <Z>" |"San Francisco is the 4th largest city in California." "Saturn is the 2nd largest planet in the Solar System." |{{Todo}} |[[Z27627]] |[[Z29844]] |{{Doing}} |- |Time-specific property claim: entity / property |"The <X> of <Y> was <Z> in <year>." |"The population of North Epping was 4657 in 2021 AD." |{{Doing}} |[[Z28436]] |[[Z28435]] |{{Doing}} |} == Fragments to consider starting == Here are some proposed semantic fragments, along with sub-types needed for some languages, and examples (generally in English) which can later become test cases. If you can think of another fragment that you think is good to work on soon/now, please add it. This is especially valuable for fragment types you think are hard to do in your language, as it will give us the opportunity to learn. * Definition: class / class ** "<X>s are a kind of <Y>." ''e.g.'' "Antelopes are a kind of mammal." ** "An <X> is a kind of <Y>." ''e.g.'' "An antelope is a kind of mammal." or "A frog is a kind of amphibian." * Specific subclass: class / class-type / class ** "<X>s are a <Y> of <Z>." ''e.g.'' "Lions are a species of mammal." or "Ships are a class of watercraft." * Defining sub-class: class / adjective / class ** "<X> is a <Y> <Z>." ''e.g.'' "A ram is a male sheep." or "A woman is a female human." or "A daughter is a female child." * Profession: person / nationality / profession / current? ** "<X> is/was a <Y> <Z>" ''e.g.'' "Marie Curie was a Polish scientist" or "Alan Turing was a British mathematician" or "Plato was an Athenian philosopher." or "Friedrich Merz is a German politician." ** similar function already created: {{Z|21802}} * Generic role: thing / role / thing ** "<X> is a <Y> of <Z>" ''e.g.'' "California is a State of the United States of America." or "Wales is a Part of the United Kingdom." or "Bavaria is a State of Germany." or "Bo is a pet of Barack Obama.", * Source: entity / class / source ** "<X> is a <Y> from <Z>." ''e.g.'' "Frodo is a character from the Lord of the Rings saga." or "Raclette is a dish from Savoie." * Defining, atomic role for entity ** "<X> is the <Y>." ''e.g.'' "Charles III is the Monarch of the United Kingdom." or "Vladimir Putin is the President of the Russian Federation." * Cardinal possessive: entity / cardinal / class ** "<X> has <C> <Y>s." ''e.g.'' "The United States has 50 states." * Cardinal typical possessive: entity / cardinal / adjective / class ** "<X> has <C> <Y> <Z>s." ''e.g.'' "The Solar System has 2 gas giant planets." * Non-characteristic/Non-possessive: entity / thing ** "An <X> has no <Y>s." ''e.g.'' "A fish has no legs." ** "<X> has no <Y>s." ''e.g.'' "The wind has no colour." * Habit: entity / action ** "<X>s be <Ying>." ''e.g.'' "Fish swim." or "Authors write." ** started on retrieving Item for action from Item for class: {{Z|29865}} hhwcej8lit89fiq6pojjrs007s3gzl5 277522 277520 2026-05-23T18:26:41Z Waldyrious 801 complete normalization of quotation marks 277522 wikitext text/x-wiki This page is a WikiProject for creating the basic natural language building blocks for Abstract Wikipedia articles. == Background == === What is a semantic fragment? === We're using the term "semantic fragment" to refer to the concept of a piece of prose text that makes a particular claim about the world. We're seeing these as the building blocks for Abstract Wikipedia articles, and expect that each such article will be generated from several or dozens of such fragments. They may be whole sentences, but also parts of bigger structures. A very basic such fragment is the class statement:<blockquote>"<X> is a <Y>"<!--.--></blockquote> This can be used for many different statements, including the sentences: <blockquote>"<X> is a <Y>." "<X> is a <Y> in <Z>." "<X> is a <Y> and a <Z>."</blockquote> Here are some examples of that statement in English:<blockquote>"Berlin is a city" "Berlin Brandenburg Airport is an airport" "steam is a gas" "''Anser anser anser'' is a species"<!--.--></blockquote> === What is a semantic fragment Function? === A semantic fragment Function is a Wikifunctions Function that takes some Wikidata references and a language, and outputs some text in that language matching a given semantic fragment. For example fragment given above, we created [[Z26039|Z26039/Article-less instantiating fragment]], which can be used to generate each of the above statements in English by changing the first and second inputs: {| class="wikitable" ! Input ! Result |- | <code><nowiki>{{#function:Z26039|Q64|Q515|Z1002}}</nowiki></code> | {{#function:Z26039|Q64|Q515|Z1002}} |- | <code><nowiki>{{#function:Z26039|Q160556|Q1248784|Z1002}}</nowiki></code> | {{#function:Z26039|Q160556|Q1248784|Z1002}} |- | <code><nowiki>{{#function:Z26039|Q27601002|Q68947|Z1002}}</nowiki></code> | {{#function:Z26039|Q27601002|Q68947|Z1002}} |} By changing the third input, we can instead change the language in which we get the fragment (if available): {| class="wikitable" ! Input ! Result |- | <code><nowiki>{{#function:Z26039|Q64|Q515|Z1003}}</nowiki></code> | {{#function:Z26039|Q64|Q515|Z1003}} |- | <code><nowiki>{{#function:Z26039|Q160556|Q1248784|Z1004}}</nowiki></code> | {{#function:Z26039|Q160556|Q1248784|Z1430}} |- | <code><nowiki>{{#function:Z26039|Q27601002|Q7432|Z1001}}</nowiki></code> | {{#function:Z26039|Q27601002|Q7432|Z1005}} |} In this WikiProject, we're trying to create many such fragment Functions, and importantly, make them available in as many languages as possible. == Completed examples == {{Todo}} We'll list complete example semantic fragment Functions in the catalogue under [[Wikifunctions:Catalogue/Natural language operations/Global language functions|Global language functions]]. Here is a list of examples that are "complete", in that they have at least two languages hooked up to them. We'll never complete all 6000 human languages, but we've listed the "UN 6" as a quick working list. In future, we'll make it easier to see what is and is not yet available in any given language. There are also some fragments that use Lexeme data directly, and should work for all (or at least, most) languages without a specific Function for the language, which are marked with a "∞" symbol. {| class="wikitable" !Models !English examples !Function !EN !AR !ES !FR !RU !ZHs !ZHt |- |"<X> is a <Y>." |"Berlin is a city." |[[Z26039]] |✅ |✅ |✅ |✅ |✅ |✅ |❌ |- |"<X>s are <Y>s." |"Antelopes are mammals." "Squares are rectangles." |[[Z26627]] |✅ |❌ |❌ |❌ |✅ |✅ |❌ |- |"An <X> is a <Y>." |"An antelope is a mammal." "A frog is an amphibian." |[[Z26095]] |✅ |❌ |❌ |✅ |✅ |❌ |❌ |- |"<X> is a(n) <Y> <Z>." |"Mercury is a liquid element." |[[Z29591]] |✅ |❌ |❌ |❌ |✅ |❌ |❌ |- |"A(n) <x> is a(n) <Y> <Z>." |"A foal is a young horse." |[[Z29743]] |✅ |❌ |❌ |❌ |✅ |❌ |❌ |- |"<X> is the <Y> of <Z>" |"Charles III is the son of Elizabeth II." "Sol is the star of the Solar System." "Berlin is the capital of Germany." "Amsterdam is the capital of the Netherlands." |[[Z28016]] |✅ |❌ |❌ |❌ |❌ |❌ |❌ |- |"a <x> <y>" |"a green lime" "a black cat" |[[Z22664]] | colspan="7" |'''∞''' |- |"<N> <x>s" |"12 oranges" |[[Z27137]] | colspan="7" |'''∞''' |} == How to get involved == === Propose a new kind of fragment === {{Todo}} === Add a test case for a fragment in your language === {{Todo}} === Add an implementation for a fragment in your language === {{Todo}} === Create a fragment Function === {{Todo}} ==== Guidance ==== *All top-level ("Outer") Functions should take only Wikidata items / lexemes as references, and a Language *They should output a Monolingual string, to indicate exactly what language was used to generate **''e.g.'' if the user asks for <code>de-at</code> (Austrian German) but there's only a <code>de</code> (general German) response *The outer Function should route requests using a Z14294/language configuration or similar == Fragments being developed == Starting in July 2025, the Abstract Wikipedia team has been co-creating some experimental Functions with the Wikifunctions community to try to generate fragments that demonstrate how we might use code to generate Wikipedia-like text in languages, using Wikidata's lexemes. {| class="wikitable" !Name !Models !English examples !2+ Languages that are fully working !Outer Function !Selector Function !Status |- |Defining sub-class: class / adjective / class |"<X> is <Y> <Z>." ''Mass noun form'' |"Ice is frozen water." |{{Doing}} |[[Z27173]] |[[Z27174]] |{{Doing}} |- |Location: entity / class / location |"<X> is a <Y> in <Z>" |"Berlin is a city in Germany." "San Francisco is a city in California." "The Sargasso Sea is a sea in the Atlantic Ocean." |{{Doing}} |[[Z26570]] |[[Z29843]] |{{Doing}} |- |Superlative: entity / adjective / class / location |"<X> is the <Cest> <Y> in <Z>." |"Los Angeles is the biggest city in California." "Canada is the largest country in North America." "The Amazon is the longest river in the world." "The Nile is the longest river in Africa." "Io is the most volcanic planetary body in the Solar System." |{{Todo}} |[[Z27243]] |[[Z29841]] |{{Doing}} |- |Ordinal: entity / ordinal / adjective / class / location |"<X> is the <N>th <C> <Y> in <Z>" |"San Francisco is the 4th largest city in California." "Saturn is the 2nd largest planet in the Solar System." |{{Todo}} |[[Z27627]] |[[Z29844]] |{{Doing}} |- |Time-specific property claim: entity / property |"The <X> of <Y> was <Z> in <year>." |"The population of North Epping was 4657 in 2021 AD." |{{Doing}} |[[Z28436]] |[[Z28435]] |{{Doing}} |} == Fragments to consider starting == Here are some proposed semantic fragments, along with sub-types needed for some languages, and examples (generally in English) which can later become test cases. If you can think of another fragment that you think is good to work on soon/now, please add it. This is especially valuable for fragment types you think are hard to do in your language, as it will give us the opportunity to learn. * Definition: class / class ** "<X>s are a kind of <Y>." ''e.g.'' "Antelopes are a kind of mammal." ** "An <X> is a kind of <Y>." ''e.g.'' "An antelope is a kind of mammal." or "A frog is a kind of amphibian." * Specific subclass: class / class-type / class ** "<X>s are a <Y> of <Z>." ''e.g.'' "Lions are a species of mammal." or "Ships are a class of watercraft." * Defining sub-class: class / adjective / class ** "<X> is a <Y> <Z>." ''e.g.'' "A ram is a male sheep." or "A woman is a female human." or "A daughter is a female child." * Profession: person / nationality / profession / current? ** "<X> is/was a <Y> <Z>" ''e.g.'' "Marie Curie was a Polish scientist" or "Alan Turing was a British mathematician" or "Plato was an Athenian philosopher." or "Friedrich Merz is a German politician." ** similar function already created: {{Z|21802}} * Generic role: thing / role / thing ** "<X> is a <Y> of <Z>" ''e.g.'' "California is a State of the United States of America." or "Wales is a Part of the United Kingdom." or "Bavaria is a State of Germany." or "Bo is a pet of Barack Obama.", * Source: entity / class / source ** "<X> is a <Y> from <Z>." ''e.g.'' "Frodo is a character from the Lord of the Rings saga." or "Raclette is a dish from Savoie." * Defining, atomic role for entity ** "<X> is the <Y>." ''e.g.'' "Charles III is the Monarch of the United Kingdom." or "Vladimir Putin is the President of the Russian Federation." * Cardinal possessive: entity / cardinal / class ** "<X> has <C> <Y>s." ''e.g.'' "The United States has 50 states." * Cardinal typical possessive: entity / cardinal / adjective / class ** "<X> has <C> <Y> <Z>s." ''e.g.'' "The Solar System has 2 gas giant planets." * Non-characteristic/Non-possessive: entity / thing ** "An <X> has no <Y>s." ''e.g.'' "A fish has no legs." ** "<X> has no <Y>s." ''e.g.'' "The wind has no colour." * Habit: entity / action ** "<X>s be <Ying>." ''e.g.'' "Fish swim." or "Authors write." ** started on retrieving Item for action from Item for class: {{Z|29865}} 6a0bmwmlgijyifre66jdge5s9qaq9hv 277526 277522 2026-05-23T18:38:27Z Waldyrious 801 merge two entries from the "Fragments to consider starting" section into the "Completed examples" table 277526 wikitext text/x-wiki This page is a WikiProject for creating the basic natural language building blocks for Abstract Wikipedia articles. == Background == === What is a semantic fragment? === We're using the term "semantic fragment" to refer to the concept of a piece of prose text that makes a particular claim about the world. We're seeing these as the building blocks for Abstract Wikipedia articles, and expect that each such article will be generated from several or dozens of such fragments. They may be whole sentences, but also parts of bigger structures. A very basic such fragment is the class statement:<blockquote>"<X> is a <Y>"<!--.--></blockquote> This can be used for many different statements, including the sentences: <blockquote>"<X> is a <Y>." "<X> is a <Y> in <Z>." "<X> is a <Y> and a <Z>."</blockquote> Here are some examples of that statement in English:<blockquote>"Berlin is a city" "Berlin Brandenburg Airport is an airport" "steam is a gas" "''Anser anser anser'' is a species"<!--.--></blockquote> === What is a semantic fragment Function? === A semantic fragment Function is a Wikifunctions Function that takes some Wikidata references and a language, and outputs some text in that language matching a given semantic fragment. For example fragment given above, we created [[Z26039|Z26039/Article-less instantiating fragment]], which can be used to generate each of the above statements in English by changing the first and second inputs: {| class="wikitable" ! Input ! Result |- | <code><nowiki>{{#function:Z26039|Q64|Q515|Z1002}}</nowiki></code> | {{#function:Z26039|Q64|Q515|Z1002}} |- | <code><nowiki>{{#function:Z26039|Q160556|Q1248784|Z1002}}</nowiki></code> | {{#function:Z26039|Q160556|Q1248784|Z1002}} |- | <code><nowiki>{{#function:Z26039|Q27601002|Q68947|Z1002}}</nowiki></code> | {{#function:Z26039|Q27601002|Q68947|Z1002}} |} By changing the third input, we can instead change the language in which we get the fragment (if available): {| class="wikitable" ! Input ! Result |- | <code><nowiki>{{#function:Z26039|Q64|Q515|Z1003}}</nowiki></code> | {{#function:Z26039|Q64|Q515|Z1003}} |- | <code><nowiki>{{#function:Z26039|Q160556|Q1248784|Z1004}}</nowiki></code> | {{#function:Z26039|Q160556|Q1248784|Z1430}} |- | <code><nowiki>{{#function:Z26039|Q27601002|Q7432|Z1001}}</nowiki></code> | {{#function:Z26039|Q27601002|Q7432|Z1005}} |} In this WikiProject, we're trying to create many such fragment Functions, and importantly, make them available in as many languages as possible. == Completed examples == {{Todo}} We'll list complete example semantic fragment Functions in the catalogue under [[Wikifunctions:Catalogue/Natural language operations/Global language functions|Global language functions]]. Here is a list of examples that are "complete", in that they have at least two languages hooked up to them. We'll never complete all 6000 human languages, but we've listed the "UN 6" as a quick working list. In future, we'll make it easier to see what is and is not yet available in any given language. There are also some fragments that use Lexeme data directly, and should work for all (or at least, most) languages without a specific Function for the language, which are marked with a "∞" symbol. {| class="wikitable" !Models !English examples !Function !EN !AR !ES !FR !RU !ZHs !ZHt |- |"<X> is a <Y>." |"Berlin is a city." |[[Z26039]] |✅ |✅ |✅ |✅ |✅ |✅ |❌ |- |"<X>s are <Y>s." |"Antelopes are mammals." "Squares are rectangles." |[[Z26627]] |✅ |❌ |❌ |❌ |✅ |✅ |❌ |- |"An <X> is a <Y>." |"An antelope is a mammal." "A frog is an amphibian." |[[Z26095]] |✅ |❌ |❌ |✅ |✅ |❌ |❌ |- |"<X> is a(n) <Y> <Z>." |"Mercury is a liquid element." |[[Z29591]] |✅ |❌ |❌ |❌ |✅ |❌ |❌ |- |"A(n) <x> is a(n) <Y> <Z>." |"A foal is a young horse." "A ram is a male sheep." "A woman is a female human." "A daughter is a female child." |[[Z29743]] |✅ |❌ |❌ |❌ |✅ |❌ |❌ |- |"<X> is the <Y> of <Z>" |"Charles III is the Monarch of the United Kingdom." "Sol is the star of the Solar System." "Berlin is the capital of Germany." "Amsterdam is the capital of the Netherlands." "Vladimir Putin is the President of the Russian Federation." |[[Z28016]] |✅ |❌ |❌ |❌ |❌ |❌ |❌ |- |"a <x> <y>" |"a green lime" "a black cat" |[[Z22664]] | colspan="7" |'''∞''' |- |"<N> <x>s" |"12 oranges" |[[Z27137]] | colspan="7" |'''∞''' |} == How to get involved == === Propose a new kind of fragment === {{Todo}} === Add a test case for a fragment in your language === {{Todo}} === Add an implementation for a fragment in your language === {{Todo}} === Create a fragment Function === {{Todo}} ==== Guidance ==== *All top-level ("Outer") Functions should take only Wikidata items / lexemes as references, and a Language *They should output a Monolingual string, to indicate exactly what language was used to generate **''e.g.'' if the user asks for <code>de-at</code> (Austrian German) but there's only a <code>de</code> (general German) response *The outer Function should route requests using a Z14294/language configuration or similar == Fragments being developed == Starting in July 2025, the Abstract Wikipedia team has been co-creating some experimental Functions with the Wikifunctions community to try to generate fragments that demonstrate how we might use code to generate Wikipedia-like text in languages, using Wikidata's lexemes. {| class="wikitable" !Name !Models !English examples !2+ Languages that are fully working !Outer Function !Selector Function !Status |- |Defining sub-class: class / adjective / class |"<X> is <Y> <Z>." ''Mass noun form'' |"Ice is frozen water." |{{Doing}} |[[Z27173]] |[[Z27174]] |{{Doing}} |- |Location: entity / class / location |"<X> is a <Y> in <Z>" |"Berlin is a city in Germany." "San Francisco is a city in California." "The Sargasso Sea is a sea in the Atlantic Ocean." |{{Doing}} |[[Z26570]] |[[Z29843]] |{{Doing}} |- |Superlative: entity / adjective / class / location |"<X> is the <Cest> <Y> in <Z>." |"Los Angeles is the biggest city in California." "Canada is the largest country in North America." "The Amazon is the longest river in the world." "The Nile is the longest river in Africa." "Io is the most volcanic planetary body in the Solar System." |{{Todo}} |[[Z27243]] |[[Z29841]] |{{Doing}} |- |Ordinal: entity / ordinal / adjective / class / location |"<X> is the <N>th <C> <Y> in <Z>" |"San Francisco is the 4th largest city in California." "Saturn is the 2nd largest planet in the Solar System." |{{Todo}} |[[Z27627]] |[[Z29844]] |{{Doing}} |- |Time-specific property claim: entity / property |"The <X> of <Y> was <Z> in <year>." |"The population of North Epping was 4657 in 2021 AD." |{{Doing}} |[[Z28436]] |[[Z28435]] |{{Doing}} |} == Fragments to consider starting == Here are some proposed semantic fragments, along with sub-types needed for some languages, and examples (generally in English) which can later become test cases. If you can think of another fragment that you think is good to work on soon/now, please add it. This is especially valuable for fragment types you think are hard to do in your language, as it will give us the opportunity to learn. * Definition: class / class ** "<X>s are a kind of <Y>." ''e.g.'' "Antelopes are a kind of mammal." ** "An <X> is a kind of <Y>." ''e.g.'' "An antelope is a kind of mammal." or "A frog is a kind of amphibian." * Specific subclass: class / class-type / class ** "<X>s are a <Y> of <Z>." ''e.g.'' "Lions are a species of mammal." or "Ships are a class of watercraft." * Profession: person / nationality / profession / current? ** "<X> is/was a <Y> <Z>" ''e.g.'' "Marie Curie was a Polish scientist" or "Alan Turing was a British mathematician" or "Plato was an Athenian philosopher." or "Friedrich Merz is a German politician." ** similar function already created: {{Z|21802}} * Generic role: thing / role / thing ** "<X> is a <Y> of <Z>" ''e.g.'' "California is a State of the United States of America." or "Wales is a Part of the United Kingdom." or "Bavaria is a State of Germany." or "Bo is a pet of Barack Obama.", * Source: entity / class / source ** "<X> is a <Y> from <Z>." ''e.g.'' "Frodo is a character from the Lord of the Rings saga." or "Raclette is a dish from Savoie." * Cardinal possessive: entity / cardinal / class ** "<X> has <C> <Y>s." ''e.g.'' "The United States has 50 states." * Cardinal typical possessive: entity / cardinal / adjective / class ** "<X> has <C> <Y> <Z>s." ''e.g.'' "The Solar System has 2 gas giant planets." * Non-characteristic/Non-possessive: entity / thing ** "An <X> has no <Y>s." ''e.g.'' "A fish has no legs." ** "<X> has no <Y>s." ''e.g.'' "The wind has no colour." * Habit: entity / action ** "<X>s be <Ying>." ''e.g.'' "Fish swim." or "Authors write." ** started on retrieving Item for action from Item for class: {{Z|29865}} 18ehauxpre7ubshgg4mo1ugl8lomzqu 277528 277526 2026-05-23T18:40:33Z Waldyrious 801 clarify text in the "profession" proposed sentence fragment 277528 wikitext text/x-wiki This page is a WikiProject for creating the basic natural language building blocks for Abstract Wikipedia articles. == Background == === What is a semantic fragment? === We're using the term "semantic fragment" to refer to the concept of a piece of prose text that makes a particular claim about the world. We're seeing these as the building blocks for Abstract Wikipedia articles, and expect that each such article will be generated from several or dozens of such fragments. They may be whole sentences, but also parts of bigger structures. A very basic such fragment is the class statement:<blockquote>"<X> is a <Y>"<!--.--></blockquote> This can be used for many different statements, including the sentences: <blockquote>"<X> is a <Y>." "<X> is a <Y> in <Z>." "<X> is a <Y> and a <Z>."</blockquote> Here are some examples of that statement in English:<blockquote>"Berlin is a city" "Berlin Brandenburg Airport is an airport" "steam is a gas" "''Anser anser anser'' is a species"<!--.--></blockquote> === What is a semantic fragment Function? === A semantic fragment Function is a Wikifunctions Function that takes some Wikidata references and a language, and outputs some text in that language matching a given semantic fragment. For example fragment given above, we created [[Z26039|Z26039/Article-less instantiating fragment]], which can be used to generate each of the above statements in English by changing the first and second inputs: {| class="wikitable" ! Input ! Result |- | <code><nowiki>{{#function:Z26039|Q64|Q515|Z1002}}</nowiki></code> | {{#function:Z26039|Q64|Q515|Z1002}} |- | <code><nowiki>{{#function:Z26039|Q160556|Q1248784|Z1002}}</nowiki></code> | {{#function:Z26039|Q160556|Q1248784|Z1002}} |- | <code><nowiki>{{#function:Z26039|Q27601002|Q68947|Z1002}}</nowiki></code> | {{#function:Z26039|Q27601002|Q68947|Z1002}} |} By changing the third input, we can instead change the language in which we get the fragment (if available): {| class="wikitable" ! Input ! Result |- | <code><nowiki>{{#function:Z26039|Q64|Q515|Z1003}}</nowiki></code> | {{#function:Z26039|Q64|Q515|Z1003}} |- | <code><nowiki>{{#function:Z26039|Q160556|Q1248784|Z1004}}</nowiki></code> | {{#function:Z26039|Q160556|Q1248784|Z1430}} |- | <code><nowiki>{{#function:Z26039|Q27601002|Q7432|Z1001}}</nowiki></code> | {{#function:Z26039|Q27601002|Q7432|Z1005}} |} In this WikiProject, we're trying to create many such fragment Functions, and importantly, make them available in as many languages as possible. == Completed examples == {{Todo}} We'll list complete example semantic fragment Functions in the catalogue under [[Wikifunctions:Catalogue/Natural language operations/Global language functions|Global language functions]]. Here is a list of examples that are "complete", in that they have at least two languages hooked up to them. We'll never complete all 6000 human languages, but we've listed the "UN 6" as a quick working list. In future, we'll make it easier to see what is and is not yet available in any given language. There are also some fragments that use Lexeme data directly, and should work for all (or at least, most) languages without a specific Function for the language, which are marked with a "∞" symbol. {| class="wikitable" !Models !English examples !Function !EN !AR !ES !FR !RU !ZHs !ZHt |- |"<X> is a <Y>." |"Berlin is a city." |[[Z26039]] |✅ |✅ |✅ |✅ |✅ |✅ |❌ |- |"<X>s are <Y>s." |"Antelopes are mammals." "Squares are rectangles." |[[Z26627]] |✅ |❌ |❌ |❌ |✅ |✅ |❌ |- |"An <X> is a <Y>." |"An antelope is a mammal." "A frog is an amphibian." |[[Z26095]] |✅ |❌ |❌ |✅ |✅ |❌ |❌ |- |"<X> is a(n) <Y> <Z>." |"Mercury is a liquid element." |[[Z29591]] |✅ |❌ |❌ |❌ |✅ |❌ |❌ |- |"A(n) <x> is a(n) <Y> <Z>." |"A foal is a young horse." "A ram is a male sheep." "A woman is a female human." "A daughter is a female child." |[[Z29743]] |✅ |❌ |❌ |❌ |✅ |❌ |❌ |- |"<X> is the <Y> of <Z>" |"Charles III is the Monarch of the United Kingdom." "Sol is the star of the Solar System." "Berlin is the capital of Germany." "Amsterdam is the capital of the Netherlands." "Vladimir Putin is the President of the Russian Federation." |[[Z28016]] |✅ |❌ |❌ |❌ |❌ |❌ |❌ |- |"a <x> <y>" |"a green lime" "a black cat" |[[Z22664]] | colspan="7" |'''∞''' |- |"<N> <x>s" |"12 oranges" |[[Z27137]] | colspan="7" |'''∞''' |} == How to get involved == === Propose a new kind of fragment === {{Todo}} === Add a test case for a fragment in your language === {{Todo}} === Add an implementation for a fragment in your language === {{Todo}} === Create a fragment Function === {{Todo}} ==== Guidance ==== *All top-level ("Outer") Functions should take only Wikidata items / lexemes as references, and a Language *They should output a Monolingual string, to indicate exactly what language was used to generate **''e.g.'' if the user asks for <code>de-at</code> (Austrian German) but there's only a <code>de</code> (general German) response *The outer Function should route requests using a Z14294/language configuration or similar == Fragments being developed == Starting in July 2025, the Abstract Wikipedia team has been co-creating some experimental Functions with the Wikifunctions community to try to generate fragments that demonstrate how we might use code to generate Wikipedia-like text in languages, using Wikidata's lexemes. {| class="wikitable" !Name !Models !English examples !2+ Languages that are fully working !Outer Function !Selector Function !Status |- |Defining sub-class: class / adjective / class |"<X> is <Y> <Z>." ''Mass noun form'' |"Ice is frozen water." |{{Doing}} |[[Z27173]] |[[Z27174]] |{{Doing}} |- |Location: entity / class / location |"<X> is a <Y> in <Z>" |"Berlin is a city in Germany." "San Francisco is a city in California." "The Sargasso Sea is a sea in the Atlantic Ocean." |{{Doing}} |[[Z26570]] |[[Z29843]] |{{Doing}} |- |Superlative: entity / adjective / class / location |"<X> is the <Cest> <Y> in <Z>." |"Los Angeles is the biggest city in California." "Canada is the largest country in North America." "The Amazon is the longest river in the world." "The Nile is the longest river in Africa." "Io is the most volcanic planetary body in the Solar System." |{{Todo}} |[[Z27243]] |[[Z29841]] |{{Doing}} |- |Ordinal: entity / ordinal / adjective / class / location |"<X> is the <N>th <C> <Y> in <Z>" |"San Francisco is the 4th largest city in California." "Saturn is the 2nd largest planet in the Solar System." |{{Todo}} |[[Z27627]] |[[Z29844]] |{{Doing}} |- |Time-specific property claim: entity / property |"The <X> of <Y> was <Z> in <year>." |"The population of North Epping was 4657 in 2021 AD." |{{Doing}} |[[Z28436]] |[[Z28435]] |{{Doing}} |} == Fragments to consider starting == Here are some proposed semantic fragments, along with sub-types needed for some languages, and examples (generally in English) which can later become test cases. If you can think of another fragment that you think is good to work on soon/now, please add it. This is especially valuable for fragment types you think are hard to do in your language, as it will give us the opportunity to learn. * Definition: class / class ** "<X>s are a kind of <Y>." ''e.g.'' "Antelopes are a kind of mammal." ** "An <X> is a kind of <Y>." ''e.g.'' "An antelope is a kind of mammal." or "A frog is a kind of amphibian." * Specific subclass: class / class-type / class ** "<X>s are a <Y> of <Z>." ''e.g.'' "Lions are a species of mammal." or "Ships are a class of watercraft." * Profession: person / nationality / profession / living? ** "<X> is/was a <Y> <Z>" ''e.g.'' "Marie Curie was a Polish scientist" or "Alan Turing was a British mathematician" or "Plato was an Athenian philosopher." or "Friedrich Merz is a German politician." ** similar function already created: {{Z|21802}} (e.g. "He is a Portuguese writer.") * Generic role: thing / role / thing ** "<X> is a <Y> of <Z>" ''e.g.'' "California is a State of the United States of America." or "Wales is a Part of the United Kingdom." or "Bavaria is a State of Germany." or "Bo is a pet of Barack Obama.", * Source: entity / class / source ** "<X> is a <Y> from <Z>." ''e.g.'' "Frodo is a character from the Lord of the Rings saga." or "Raclette is a dish from Savoie." * Cardinal possessive: entity / cardinal / class ** "<X> has <C> <Y>s." ''e.g.'' "The United States has 50 states." * Cardinal typical possessive: entity / cardinal / adjective / class ** "<X> has <C> <Y> <Z>s." ''e.g.'' "The Solar System has 2 gas giant planets." * Non-characteristic/Non-possessive: entity / thing ** "An <X> has no <Y>s." ''e.g.'' "A fish has no legs." ** "<X> has no <Y>s." ''e.g.'' "The wind has no colour." * Habit: entity / action ** "<X>s be <Ying>." ''e.g.'' "Fish swim." or "Authors write." ** started on retrieving Item for action from Item for class: {{Z|29865}} 1v21j3w49sfazqktt6twkoat18s9al5 Z26627 0 61763 277521 276344 2026-05-23T17:57:05Z Waldyrious 801 rename "noun" argument to "entity" to match similar functions (e.g. [[Z26095]] and [[Z29743]]) 277521 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z26627" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z26627K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "classe" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "종류" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "classificati" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Klasse" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "kelas" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z26627K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "class" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "classe" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "종류" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "classe" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Klasse" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "kelas" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z26627K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "langue" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "언어" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "lingua" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Sprache" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "bahasa" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z27114" ], "Z8K4": [ "Z14", "Z27127" ], "Z8K5": "Z26627" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "classifying a class of nouns" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "Classer une classe de noms" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "명사의 종류 분류" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "classifica una classe di nomi" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Eine Klasse von Substantiven klassifizieren" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "Mengklasifikasikan kelas dari kata benda" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "E.g. “Antelopes are mammals\", \"Squares are rectangles\"" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "E.g. \"Les antilopes sont des mammifères.\"" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "예를 들어, \"양은 포유류이다\"." }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Es.: \"Le antilopi sono mammiferi.\", \"I quadrati sono rettangoli.\"" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Beispiel: „Antilopen sind Säugetiere“, „Quadrate sind Rechtecke“" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "Misalnya \"Antelop adalah mamalia\", \"Persegi adalah segi empat\"" } ] } } oxeo6dtl8pkeraawc3jj4ac5q3h6z4x Z28016 0 65058 277497 271669 2026-05-23T15:48:13Z Waldyrious 801 clarify that this always includes a definite article 277497 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z28016" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z28016K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subject" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "sujet" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Subjekt" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "subjekt" }, { "Z1K1": "Z11", "Z11K1": "Z1576", "Z11K2": "subjekto" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z28016K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "role" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "rôle" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Rolle" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "role" }, { "Z1K1": "Z11", "Z11K1": "Z1576", "Z11K2": "rolo" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z28016K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "dependency" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "dépendance" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Abhängigkeit" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "kontext" }, { "Z1K1": "Z11", "Z11K1": "Z1576", "Z11K2": "de kio" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z28016K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "langue" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Sprache" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "jazyk" }, { "Z1K1": "Z11", "Z11K1": "Z1576", "Z11K2": "lingvo" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z28017", "Z28033" ], "Z8K4": [ "Z14", "Z28032", "Z28034" ], "Z8K5": "Z28016" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "defining role sentence" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "phrase de définition de rôle" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Satz um etwas mit einer Rolle zu definieren" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "věta definiční role" }, { "Z1K1": "Z11", "Z11K1": "Z1576", "Z11K2": "frazo pri rolo" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "is the", "is the of", "of", "X is the Y of Z" ] }, { "Z1K1": "Z31", "Z31K1": "Z1004", "Z31K2": [ "Z6", "est le, est le de, de, X est le Y de Z" ] }, { "Z1K1": "Z31", "Z31K1": "Z1430", "Z31K2": [ "Z6", "X ist das Y von Z" ] }, { "Z1K1": "Z31", "Z31K1": "Z1062", "Z31K2": [ "Z6", "[X] je [Y] [Z]" ] }, { "Z1K1": "Z31", "Z31K1": "Z1576", "Z31K2": [ "Z6", "[X] estas la [Y] de [Z]", "estas la" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Sentences of the type \"Paris is the capital of France.\" or \"Elisabeth II is the mother of Charles III.\" (with a definite article, like \"the\")" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "Phrases du type \"Paris est la capitale de la France.\" ou \"Elisabeth II est la mère de Charles III.\"" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Sätze wie zB \"Berlin ist die Hauptstadt von Deutschland\"" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "Sestaví větu definující konkrétní entitu pomocí její role, např. „Paříž je hlavní město Francie.“ nebo „Alžběta II. je matka Karla III.“" }, { "Z1K1": "Z11", "Z11K1": "Z1576", "Z11K2": "Por krei frazojn kiel \"Parizo estas la ĉefurbo de Francujo\" aŭ \"Elizabeto la 2-a estas la patrino de Karlo la 3-a\"" } ] } } 7axwdb2tpm0qkv9ueaai7cvaw2oi74l Z28381 0 65842 277565 219520 2026-05-24T00:10:35Z YoshiRulz 10156 Remove trailing whitespace from en label 277565 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z28381" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z28381K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "rational number to read" } ] } } ], "Z8K2": "Z19677", "Z8K3": [ "Z20", "Z28382" ], "Z8K4": [ "Z14", "Z28388" ], "Z8K5": "Z28381" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "read Rational number in Bangla" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } rlsiz3w5uo7o0caxoc3bzctyi75dlh1 Z28445 0 65943 277566 261869 2026-05-24T00:10:41Z YoshiRulz 10156 Remove trailing whitespace from en label 277566 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z28445" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6001", "Z17K2": "Z28445K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "項目" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6092", "Z17K2": "Z28445K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "property reference" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "プロパティ" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z28445K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "言語" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z28449", "Z28459", "Z28460", "Z28463", "Z28464", "Z29631" ], "Z8K4": [ "Z14", "Z30518", "Z28448" ], "Z8K5": "Z28445" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Most recent year-specific sentence about item" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "項目内の最新の文" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "population sentence", "latest dated sentence about property" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "For a given year-specific property with point-in time qualifiers (e.g., population), construct a sentence for the property's most recent value for the given item. " } ] } } inyq8s8d4vffglqcz63icef9q7vl0b6 Z28874 0 67111 277567 267069 2026-05-24T00:10:47Z YoshiRulz 10156 Remove trailing whitespace from en label 277567 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z28874" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6003" }, "Z17K2": "Z28874K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "statements" } ] } } ], "Z8K2": "Z6003", "Z8K3": [ "Z20", "Z28883", "Z28954" ], "Z8K4": [ "Z14", "Z28884" ], "Z8K5": "Z28874" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "most recent qualified statement" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "最新の修飾文" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "most recent point-in-time qualifier" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "From the given statements, all with point-in-time qualifiers, return the statement with the most recent value of the qualifier. There must be at least one statement in the input." } ] } } 07f4fchgofnvompv4nd8673ubzbi5in Z29706 0 68994 277568 230710 2026-05-24T00:10:52Z YoshiRulz 10156 Remove trailing whitespace from en label 277568 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z29706" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z26934", "Z17K2": "Z29706K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number" } ] } } ], "Z8K2": "Z28215", "Z8K3": [ "Z20", "Z29708" ], "Z8K4": [ "Z14", "Z29707" ], "Z8K5": "Z29706" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "convert (s/p) grammatical number to (s/d/p)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "sp to sdp" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Takes a grammatical number of a binary singular/plural and returns the value for the ternary singular/dual/plural type." } ] } } 1621hsls38e13vbs7b65cyorzanp3sl Z30337 0 70107 277569 234118 2026-05-24T00:11:00Z YoshiRulz 10156 Remove trailing whitespace from en label 277569 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z30337" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z30337K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Klasse" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z30337K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Adjektiv" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z30337K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Superklasse" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z30337K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Sprache" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z30338" ], "Z8K4": [ "Z14", "Z30339" ], "Z8K5": "Z30337" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Klasse mit Adjektiv und Superklasse auf Platt" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "class with adjective and superclass low german" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } qsogdsztx4bv17w8pg6fpnibgm8mi3e Z30363 0 70152 277646 234634 2026-05-24T10:02:45Z So9q 3791 use space delimiting function instead 277646 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z30363" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z26671", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z22511", "Z22511K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": [ "Z6", { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z18", "Z18K1": "Z26671K1" }, "Z23753K2": "Z1592" }, "är", { "Z1K1": "Z7", "Z7K1": "Z30349", "Z30349K1": { "Z1K1": "Z7", "Z7K1": "Z19285", "Z19285K1": { "Z1K1": "Z7", "Z7K1": "Z22696", "Z22696K1": { "Z1K1": "Z18", "Z18K1": "Z26671K2" }, "Z22696K2": "Z1592" } } }, { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z18", "Z18K1": "Z26671K2" }, "Z23753K2": "Z1592" } ] } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "use \"en eller ett\", comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "label based" } ] } } 4jvobhnsimuzimob2i8l9quyfa39vin Z30561 0 70728 277570 235780 2026-05-24T00:11:09Z YoshiRulz 10156 Remove trailing whitespace from en label 277570 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z30561" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z19677", "Z17K2": "Z30561K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "radius of circle" } ] } } ], "Z8K2": "Z19677", "Z8K3": [ "Z20", "Z30564" ], "Z8K4": [ "Z14", "Z30563" ], "Z8K5": "Z30561" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "height of inscribed equilateral triangle" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "inscribed equilateral triangle height", "maximum height of triangle in a circle" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "calculate the height based on the radius" } ] } } 2n6kkbldodphakp3mid4j8gjywais5p Z30573 0 70740 277571 235883 2026-05-24T00:11:19Z YoshiRulz 10156 Remove trailing whitespace from en label 277571 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z30573" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20838", "Z17K2": "Z30573K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "side length" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z20838", "Z17K2": "Z30573K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "radius of circle" } ] } } ], "Z8K2": "Z20838", "Z8K3": [ "Z20", "Z30574", "Z30575" ], "Z8K4": [ "Z14" ], "Z8K5": "Z30573" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "area of equilateral triangle inscribed in circle" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Area calculation based on either side length or radius of circle" } ] } } 7gpthkc2oal8tpke7lowf1bnlsr0dlb Z31241 0 73558 277572 256917 2026-05-24T00:11:27Z YoshiRulz 10156 Remove trailing whitespace from en label 277572 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z31241" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20420", "Z17K2": "Z31241K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "date" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "datum" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "date" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z31243" ], "Z8K4": [ "Z14", "Z31244" ], "Z8K5": "Z31241" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "date in Dutch" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "date en néerlandais " }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "datum in het Nederlands " } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "Dutch date" ] }, { "Z1K1": "Z31", "Z31K1": "Z1004", "Z31K2": [ "Z6", "date néerlandaise" ] }, { "Z1K1": "Z31", "Z31K1": "Z1157", "Z31K2": [ "Z6", "Nederlandse datum" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "date in Dutch in the day-month-year format" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "date en néerlandais au format jour-mois-année" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "datum in het Nederlands in het formaat dag-maand-jaar" } ] } } 487w36oh6zo4ko2vyvw7jlflgyhoyeq Z32277 0 78471 277573 259462 2026-05-24T00:11:35Z YoshiRulz 10156 Remove trailing whitespace from en label 277573 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z32277" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z32277K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z32278" ], "Z8K5": "Z32277" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returning default word separator" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 0sw6wziohvx4dds7kkugv5fai8hfi43 Z33019 0 79566 277574 262582 2026-05-24T00:11:40Z YoshiRulz 10156 Remove trailing whitespace from en label 277574 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z33019" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z33019K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Items" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z33019K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Language " } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z33019" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "join labels from items with Oxford punctuation" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "join labels " ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } efecq7xaqqxubkk52jcl3clvgq66co4 Wikifunctions:Project chat/Archive/2026/04 4 80104 277586 277058 2026-05-24T03:08:06Z SpBot 978 archiving 2 sections from [[Wikifunctions:Project chat]] (after section [[Wikifunctions:Project chat/Archive/2026/04#Could_not_serialize_input_JS_object:_Number_<small><small>[insert_tested_number_here]</small></small>|Could_not_serialize_input_JS_object:_Number_<small><small>[insert_tested_number_here]</small></small>]]) 277586 wikitext text/x-wiki {{Talkarchive}} == Wikifunctions & Abstract Wikipedia Newsletter #242 is out: Request for Discussion: Syntactic tables == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we introduce a proposal for Natural Language Generation, we introduce a page for function suggestions from Abstract Wikipedia, we inform you that there will be a presentation about Abstract Wikipedia at WikiCon Australia, 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]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1776101400 April 13, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:37, 3 April 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=30325620 --> :<small>This section was archived on a request by: [[User:Mdktb|Mdktb]] ([[User talk:Mdktb|talk]]) 17:13, 10 April 2026 (UTC)</small> == Special:CreateObject doesn't let me create a typed list == Hello. I tried to create a typed list with all English varieties on Wikifunctions, to create consistency between different configs, but [[Special:CreateObject]] doesn't show typed list as an option for creating. Is this a bug or an intentional restriction? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:24, 2 April 2026 (UTC) :@[[User:ChaoticVermillion|ChaoticVermillion]]: A typed list is an instance of a function call, which is prohibited as a persisted Object. Maybe you want an enum? See [[Wikifunctions:Type proposals]] for the process for creating such a thing. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 12:01, 2 April 2026 (UTC) ::I don't want any sort of enum for this, I just want a list of English varieties (English, American English, Australian English, etc.) as an object that I can put in configs. I tried making an object as a function call, but apparently I have to be a member of the staff to do it. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 12:07, 2 April 2026 (UTC) :::I’ve started this with {{Z|Z33034}}. I’m guessing you were trying to create an object of type {{Z|Z7}} rather than an object whose type is a [[Z7]]. There’s a subtle but important difference. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:29, 2 April 2026 (UTC) ::::How do you create a object whose type is a [[Z7]] then? I can't see any option to do this. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 12:32, 2 April 2026 (UTC) :::::When you are creating an object you must specify its type. By default, the UI expects you to provide a reference to the type, so you can just type in the selector box and click the type you want. For an object like a typed list, the type is specified as a function call, so you click the menu dots beside “type” and choose “function call” instead of “reference”. The selector now allows you to search for functions that can return a type object. You start entering “typed list” and select it in the normal way. Then the UI will allow you to specify the argument to the function call, which is the type shared by all elements in the list. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 2 April 2026 (UTC) == Unable to use the Z32643 function. == I'm trying to use the [[Z32643]] (Article-less multi instantiating fragment) function to edit an article in Abstract Wikipedia, but it looks like it's missing connected implementations, and it looks like i don't have the permissions to connect the function with the implementation and use it in ab.wiki. Since i'm not familiar with Wikifunctions, i would like to get help for this specific problem. Thanks. --[[User:Mattiz6276|Mattiz6276]] ([[User talk:Mattiz6276|talk]]) 13:50, 2 April 2026 (UTC) :@[[User:Mattiz6276|Mattiz6276]]: Hey there, it looks like that's a work-in-progress by @[[User:MetalBreaksAndBends|MetalBreaksAndBends]]. There's only a fall-back implementation, Z32652, which fails its own test for a second item. I can connect the items together but it might not work as you expect? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 14:06, 2 April 2026 (UTC) ::Maybe… I don’t think functions without implementations should be appearing on AW so I have amended the label to avoid giving the impression that this function is available. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:23, 2 April 2026 (UTC) == Being able to use edit summaries == I have wanted to use edit summaries a few times when connecting or disconnecting implementations or tests, and I have found that the only way to do that is to use the [[:User:%D7%9E%D7%A7%D7%A3/wikilambda_editsource.js|wikilambda editsource]] tool. I feel like it would be a lot more convenient to be able to make these edit summaries without having to use that tool. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:40, 3 April 2026 (UTC) == Definite forms == [[Talk:Z32162|I've noticed an incomplete implementation and would like to work on fixing it, but need advice.]] [[User:Ijon|Ijon]] ([[User talk:Ijon|talk]]) 21:05, 3 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #243 is out: Community proposals for capturing meaning == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-10|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we report on three community proposals on syntactic approaches, we introduce a new Type (Complex numbers), we report on current hiccups on Abstract Wikipedia, we share more information about a presentation about Abstract Wikipedia at WikiCon Australia, 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]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1776101400 April 13, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 15:35, 10 April 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=30325620 --> :<small>This section was archived on a request by: [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:12, 3 May 2026 (UTC)</small> == Wikifunctions & Abstract Wikipedia Newsletter #244 is out: Milestones; Some major issues hopefully resolved == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-16|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we celebrate 4000 functions on Wikifunctions and 1000 abstract articles on Abstract Wikipedia, we announce that we should have fixed some major issues with the websites, we inform you on our latest outreach activities, 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]]) 10:22, 17 April 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=30325620 --> :<small>This section was archived on a request by: [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:12, 3 May 2026 (UTC)</small> == Help me understand why test passes but running function with same input errors == I've been working on a function that I thought I had working correctly: {{Z+|Z31108}}. It has a test which is passing, but when I enter the same Wikidata item as the test uses (or any other relevant item that it ought to work for), it errors. I can't figure out what's wrong (and the function itself seemed to be working as expected the last time worked on it, a month ago), and I don't know how to interpret the error info. The error output is: <code> Error type: Unspecified error Error data: error information: "cannot read property 'Z6003K4' of undefined" Execution debug logs: Z12696K2 (find this) ==> ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6007'},Z6007K1:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6092'},Z6092K1:P3831>,Z6007K2:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6091'},Z6091K1:Q7380503>,Z6007K3:ZReference<Z6021>> </code> -- [[User:Ragesoss|Ragesoss]] ([[User talk:Ragesoss|talk]]) 18:02, 10 April 2026 (UTC) :Hmm… I’ve had a quick look and found a comparable error with {{Z|Z29937}}, which was passing “4 months ago”. The debug comes from {{Z|Z12863}}, after it fails to find a match. This is probably because Z6007K3 is ZReference("Z6021") rather than a Z6020 object, as it appears in the debug logs for your test “28 days ago”: :"Z6007K3":{"Z1K1":{"Z1K1":"Z9","Z9K1":"Z6020"},"Z6020K1":{"Z9K1":"Z6021"}} :This means it’s probably a bug introduced by a recent software change. I’ll take a closer look over the weekend, but the actual error for your test case now is: :Unspecified error (error information: "cannot read property 'Z6003K4' of undefined") :I’m guessing that’s from there being no guard against an empty array in {{Z|Z23681}}, but we’ll see. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:22, 10 April 2026 (UTC) :I tracked down the bug to [[Z29869]] and fixed that, but the tests for [[Z31659]] are still failing. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:44, 11 April 2026 (UTC) ::Thanks. I’ve re-implemented {{Z|Z23680}} with {{Z|Z33331}} so we at least get a meaningful error in {{Z|Z31108}}. The new implementation explicitly caters for the alternative representation of {{Z|Z6040}} and errors on the empty list it gets from {{Z|Z31659}}. ::I also made a [[Z33332|simple Python implementation]], which seems to work. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 11 April 2026 (UTC) == No place to ask to activate a function? == I just discovered the {{Z|Z11390}} function and decided to make an overarching language-selecting function for it. After some fiddling around and studying how {{Z|Z32321}} and its set works, I now have {{Z|Z33439}} which has a config object ({{Z|Z33441}}) that selects between the two preexisting language-specific versions I found (English and Malayalam) and the new one I created for my other native language, {{Z|Z33440}}. Except I can't get these to work, because, from what I understand, only [[Wikifunctions:Functioneers|functioneers]] can activate newly created functions and implementations? So where do I apply for the {{Z|Z33439}} and {{Z|Z33440}} functions to be activated? Perhaps we should have a place to ask for it, a la [[w:WP:NPP]] — call it [[Project:New Functions Patrol|New Functions Patrol]] if you will. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] ([[User talk:UndueMarmot|talk]]) 08:58, 14 April 2026 (UTC) :There's [[Wikifunctions:Community portal]] for this. By the way, {{Z|Z33445}} doesn't work because all the code must be inside the main function in Python code. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 09:19, 14 April 2026 (UTC) ::Huh. How could I have missed that? ::But anyway, I've moved the code in {{Z|Z33445}} into inside the main function block. ::Is there any reason why WF decided not to simply allow anyone to write functions? After all, that's how it works with wikitext templates, and these functions are fundamentally serving the same purposes as templates, just written in a different way. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 11:25, 14 April 2026 (UTC) :::I've fixed a couple of technical issues, but tests still fail. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:28, 14 April 2026 (UTC) ::::The tests pass now after some more changes to the code: [[Special:Diff/265232/cur]]. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 12:01, 14 April 2026 (UTC) :::::{{D|Connected}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:02, 14 April 2026 (UTC) :::I think it's a security issue, since Wikifunctions implementations could teoretically be malicious. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:29, 14 April 2026 (UTC) ::::This ^^^. We're very lenient, though, once you've created a few working functions you can apply for the right, per [[WF:Functioneer]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:26, 14 April 2026 (UTC) ::::That explanation [[phab:T343559#11421293|doesn't add up]]. A reason to limit ''connection powers'' to Functioneers might be to prevent vandalism, considering Functions can be used across wikis. But user-provided code is already being executed even without a Functioneer connecting it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:01, 16 April 2026 (UTC) == Actual difference between {{Z|Z26039}} and {{Z|Z26095}} == What is the actual difference between these two functions? I ask, since it seems to me that the current distinction is more or less that the first one doesn't use an indefinite article in English, while the second does. Which is not a good distinction in a project that should be language neutral. This doubt emerged from my use of the first one in [[abstract:Q124441]], which @[[User:Hogü-456|Hogü-456]] made me notice that is probably wrong. My question is: why is it wrong? How could we clarify the difference? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:46, 19 April 2026 (UTC) :I think the difference is if there is an indefinite article like a or an before the subject or not. In German there can be cases where a definite article is necessary before the subject. I looked at the functions and before the object both times an article is mentioned. As it depends on the language and the word what is the correct function to use I hope it will be clarified and it is an example of the necessity to have a human with understanding in a specific language check it. I hope there will be longer functions what generate more content about a specific kind of item. Then it is necessary to write one such function per language and it can be then applied to several items. It still requires checks and so maybe it is better to write down what item category needs what kind of introduction sentence function for what language. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:05, 19 April 2026 (UTC) ::The point of these two functions (and of the entire Abstract Wikipedia project) is that they should be defined in a purely language-independent way, so that the translation to actual language can be done automatically. This is the reason why these functions have been renamed; I think that this attempt was not succesful, since meaning is still unclear. My proposal to clarify them would be to invoke the concept of [[w:specificity (linguistics)|specificity]]: {{Z|Z26039}} should be named "specific subject is instance of (string)", and should be used only when the QID of the subject uniquely identifies a single thing; {{Z|Z26095}} should instead be renamed in "non-specific subject is kind of (Monolingual text)", and should be used when the QID refers to a multitude of real life items, and we are specifying the class that all these item belong to. This clarification would not still be enough, since it doesn't explain how mass nouns are handled (is water a unique thing? Does {{Q|Q7802}} refer to a single piece of bread or to the entirety of bread, like water?). This problem is very tricky, since mass noun are language-specific and blurry the line between these two functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 20:58, 19 April 2026 (UTC) :Simply put, one corresponds to P31 and the other to P279. Paris is an {{Q|P31}} a {{Q|Q1549591}} :whereas a {{Q|Q1549591}} is a {{Q|P279}} (alias “kind of”) {{Q|Q515}}. Whether the Wikidata knowledge representation will be sufficient to resolve into fluent natural language representations in all languages is, of course, a crucial question. Where it is not, the Abstract Wikipedia knowledge representation will need to supplement the Wikidata content with additional details about the relation between the participants or the participants themselves, and these details should be language-neutral, to the extent that this is practicable. The item {{Q|Q124441}} has no [[:d:Q124441#P31|P31]] statements; it has only [[:d:Q124441#P279|P279]]s, including one relating it to {{Q|Q212920}}, which suggests {{Z|Z26095}} is the appropriate choice here even if the rendering in some languages is the same. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:52, 19 April 2026 (UTC) ::Thanks for explaining it. I think that I'll change the implementation of {{Z|Z26095}}, so that in Italian it produces more or less the same output of {{Z|Z26039}} (both with the definite article). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:24, 20 April 2026 (UTC) == Equivalent of Z6830 for lexemes == Is there an equivalent of {{Z|Z6830}} that enables retrieving all lexemes pointing to a particular lexeme using a specific property? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 21:06, 20 April 2026 (UTC) :There's {{Z|6831}} but I think that's slightly different again to what you're after. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:31, 21 April 2026 (UTC) ::Thanks for sharing that one, I did not know it existed. But you are right, it’s not quite what I am looking for. I want a function that would take a Wikidata property reference (like P5191, which is ‘derived from lexeme’) and a Wikidata lexeme reference, and return a list of lexemes that reference that lexeme using that property. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 13:23, 21 April 2026 (UTC) == Storing huge datasets == It is not a necessity I suppose, but an idea came to me earlier to write a function that would give the corresponding [[en:Shavian alphabet|Shavian alphabet representation]] of an English word written with the Latin alphabet, or perhaps apply that operation to an entire sentence. However, just trying to guess as to what the IPA pronunciation of each word passed into it could be is is both not ideal (pronunciations obviously can and will vary widely between accents) and infeasible <s>(Wikidata lexemes don't really seem to account for pronunciation)</s>. It happens, though, that a comprehensive Shavian dictionary exists named the [https://readlex.pythonanywhere.com/ ''Read Lexicon''], which uses pronunciation and spelling similar to that used by the creator of the alphabet himself. This would be a good dataset to use in performing this translation in the function, but it appears that, all in all, the total size of the dictionary is [https://github.com/Shavian-info/readlex/blob/main/readlex.json ''nearly 26MB''] when formatted as JSON, which would certainly be larger when converted into a typed list. I am wondering if this will ever be feasible or admissible, or if there is really a way around this if importing such a large set of data is deemed impractical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 22:30, 20 April 2026 (UTC) :{{re|Theki}} "Wikidata lexemes don't really seem to account for pronunciation"" is patently untrue; not only does every Bokmål lexeme form have IPA attached to it (thanks to Jon Harald Søby), but there are lots of languages--including English--that have pronunciation information, whether through IPA or otherwise, indicated on their forms. The big issue of course is that adding this data is not always possible to perform efficiently--for instance, I'd love to have Yiddish pronunciation respellings from Paul Abelson's dictionary on as many English forms as possible, but this dictionary not being previously processed makes this difficult. The data set you have brought up, if a suitable reading of [[:m:Wikilegal/Lexicographical_Data]] allows it, could be added as {{P|7243}} statements on various English forms. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:20, 20 April 2026 (UTC) ::Well, sorry... I haven't witnessed these pronunciation statements before, I wasn't aware of their existence until you pointed it out. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 21 April 2026 (UTC) :I got 1,900,000 characters into [[Z33875]] before the UI gave up on me. I'm not sure what the limit is. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:21, 21 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) pmz5j6obxl12v7kqgwrkix4wvf59ou7 Z34132 0 81272 277575 272698 2026-05-24T00:11:45Z YoshiRulz 10156 Remove trailing whitespace from en label 277575 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34132" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z34132K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata Item ID" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z34132K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Language" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z34265" ], "Z8K5": "Z34132" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "latest software version sentence" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ozlvtssy5fomw669erpr8aak609bek1 Z34281 0 81547 277602 270674 2026-05-24T06:44:07Z Asked42 932 277602 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34281" }, "Z2K2": { "Z1K1": "Z14294", "Z14294K1": [ "Z14293", { "Z1K1": "Z14293", "Z14293K1": "Z23726", "Z14293K2": [ "Z60", "Z1002" ] }, { "Z1K1": "Z14293", "Z14293K1": "Z26771", "Z14293K2": [ "Z60", "Z1592" ] }, { "Z1K1": "Z14293", "Z14293K1": "Z34434", "Z14293K2": [ "Z60", "Z1004" ] }, { "Z1K1": "Z14293", "Z14293K1": "Z35611", "Z14293K2": [ "Z60", "Z1011" ] } ], "Z14294K2": "Z23726" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "config for classifying sentence" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } gnv241rca7ek71gk2wb1fmz6uwox367 Template:Item linked to mainspace object 10 81579 277607 269694 2026-05-24T07:44:31Z YoshiRulz 10156 Show edit call-to-action 277607 wikitext text/x-wiki <onlyinclude><includeonly>{{#if:{{#invoke:Item_linked_to_mainspace_object|main|{{{1}}}}} |{{{{{2|Q}}}|{{#invoke:Item_linked_to_mainspace_object|main|{{{1}}}}}}}<!-- -->{{#ifeq:{{{show-edit-cta|{{#if:{{{2|}}}|<!--skip-->|y}}}}}|y |{{edit on Wikidata|{{#invoke:Item_linked_to_mainspace_object|main|{{{1}}}}}|sitelinks-special}} |<!--skip--> }} |<!--skip--> }}</includeonly></onlyinclude> * <syntaxhighlight lang="wikitext" inline>{{item linked to mainspace object|Z13955}}</syntaxhighlight> &longrightarrow; {{item linked to mainspace object|Z13955}} * <syntaxhighlight lang="wikitext" inline>{{item linked to mainspace object|Z11853}}</syntaxhighlight> &longrightarrow; {{item linked to mainspace object|Z11853}} * <syntaxhighlight lang="wikitext" inline>{{item linked to mainspace object|Z15654}}</syntaxhighlight> &longrightarrow; {{item linked to mainspace object|Z15654}} * <syntaxhighlight lang="wikitext" inline>{{item linked to mainspace object|Z15654|show-edit-cta=n}}</syntaxhighlight> &longrightarrow; {{item linked to mainspace object|Z15654|show-edit-cta=n}} * <syntaxhighlight lang="wikitext" inline>{{item linked to mainspace object|Z15654|Q+}}</syntaxhighlight> &longrightarrow; {{item linked to mainspace object|Z15654|Q+}} * <syntaxhighlight lang="wikitext" inline>{{item linked to mainspace object|Z15654|1x}}</syntaxhighlight> &longrightarrow; {{item linked to mainspace object|Z15654|1x}} * <syntaxhighlight lang="wikitext" inline>{{item linked to mainspace object|Z15654|1x|show-edit-cta=y}}</syntaxhighlight> &longrightarrow; {{item linked to mainspace object|Z15654|1x|show-edit-cta=y}} * <syntaxhighlight lang="wikitext" inline>a{{item linked to mainspace object|Z46}}z</syntaxhighlight> &longrightarrow; a{{item linked to mainspace object|Z46}}z dyhpqlgcbgrq7vm8l7uwgyv1yzikfku Z862 0 82621 277650 274510 2026-05-24T10:57:23Z VIGNERON 96 + fr 277650 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z862" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z862K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "first language" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "erste Sprache" }, { "Z1K1": "Z11", "Z11K1": "Z1762", "Z11K2": "toki nanpa wan" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z862K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "second language" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "zweite Sprache" }, { "Z1K1": "Z11", "Z11K1": "Z1762", "Z11K2": "toki nanpa tu" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z35112", "Z35113" ], "Z8K4": [ "Z14", "Z962" ], "Z8K5": "Z862" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Natural language equality" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Gleichheit natürlicher Sprachen" }, { "Z1K1": "Z11", "Z11K1": "Z1762", "Z11K2": "toki li sama ala sama" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "égalité de langage naturel" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "Equals", "Same" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2asfbb6gfhvhzid0m1bi7pe2hdycwzq Z34899 0 82649 277651 274439 2026-05-24T11:00:01Z VIGNERON 96 + fr 277651 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34899" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6005", "Z17K2": "Z34899K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z34899K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "features" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6004" }, "Z8K3": [ "Z20", "Z34900" ], "Z8K4": [ "Z14", "Z35083", "Z34901" ], "Z8K5": "Z34899" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "select Forms with given features from Lexeme" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "sélection de formes d'un lexème et caractéristique" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "filter Lexeme Forms by grammatical features" ] }, { "Z1K1": "Z31", "Z31K1": "Z1004", "Z31K2": [ "Z6", "formes d'un lexème et de caractéristiques grammaticales" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "sélection de toutes les formes d'un lexème correspondant aux caractéristiques grammaticales" } ] } } 6tssegkjz8mdi6m0d3ziqxxpr8hoghx Wikifunctions:Requests for user groups/Archive/2026/05 4 82942 277588 273609 2026-05-24T03:08:10Z SpBot 978 archiving 1 section from [[Wikifunctions:Requests for user groups]] (after section [[Wikifunctions:Requests for user groups/Archive/2026/05#Some_helpful_person|Some_helpful_person]]) 277588 wikitext text/x-wiki {{Talkarchive}} === Bunnypranav === :{{UL2.0|1=Bunnypranav|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}} :''Discussion open until: 10:01, 8 May 2026 (UTC)'' :Hello folks! I am here to request renewal of my administrator right. I was granted sysop on 6th May 2025, and have actively served for a year. I regularly help out at deletion requests, and also done a few blocks while responding to reports of vandalism. I will keep in mind the consensus of the community in each one of my actions, which is bound to change often as this wiki is taking shape and growing. I am open to questions, but please do ping me. Thanks! <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 10:01, 1 May 2026 (UTC) ::*{{s}} Thanks for your continuing work. I think you're doing a great job. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:17, 1 May 2026 (UTC) ::*{{s}} No problems with your time as admin. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:29, 1 May 2026 (UTC) ::*{{s}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 13:31, 1 May 2026 (UTC) ::* {{S}} Thanks for your work --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 21:42, 1 May 2026 (UTC) ::*{{s}} [[User:ChaoticV|ChaoticV]] ([[User talk:ChaoticV|talk]]) 23:13, 1 May 2026 (UTC) ::*{{s}} [[User:ToadetteEdit|ToadetteEdit]] ([[User talk:ToadetteEdit|talk]]) 06:55, 4 May 2026 (UTC) Closing as successful: {{O}}: 0; {{S}}: 6. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 12:48, 8 May 2026 (UTC) :<small>This section was archived on a request by: [[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 12:48, 8 May 2026 (UTC)</small> === Some helpful person === :{{UL2.0|1=Some helpful person|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}} :Kind of hesitant to ask, but was encouraged to on my talk page and there are some minor things I'd be willing to fix (i.e. connected implementations and test cases that don't do what they're supposed to) if I didn't have to make connection and disconnection requests every time. I will admit I have been somewhat trigger-happy with the Publish button in my edits on Wikimedia projects, but I promise with Functioneer rights I'd be careful about the changes I make and only do good with it. Aside from that I have contributed a couple of pages to Abstract Wikipedia and can adapt quickly to the unique computational problems presented by Wikifunctions. Granted, I do not have a complete understanding of its internals, but it seems easy enough to get the hang of, and I've already created a few new functions. I like niches and filling them... am also good at discerning what's wrong with things... and have been learning how to fill in gaps on Wikidata so related functions will work better. Functioneer rights would be very much appreciated, now or at a later date. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 18:38, 19 May 2026 (UTC) ::{{Support}} No concerns. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:04, 19 May 2026 (UTC) ::{{s}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:45, 20 May 2026 (UTC) ::{{s}} &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 19:21, 20 May 2026 (UTC) ::{{done}} <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 03:53, 22 May 2026 (UTC) :::<small>This section was archived on a request by: <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 03:53, 22 May 2026 (UTC)</small> mtdxb9zk6r5l7vxvkqkfwfwz7nj4oa2 Z35188 0 83436 277649 276225 2026-05-24T10:44:41Z GrounderUK 50 [[Z1002]] 277649 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35188" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6001", "Z17K2": "Z35188K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "entité" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6092", "Z17K2": "Z35188K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "property reference" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "référence de la propriété" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z35188K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "langue" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z882", "Z882K1": "Z6", "Z882K2": "Z6003" }, "Z8K3": [ "Z20", "Z35361" ], "Z8K4": [ "Z14", "Z35369" ], "Z8K5": "Z35188" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata statement pair" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "paire de déclarations Wikidata" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "Wikidata claim pair" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns a pair whose first element is the label text of the given property type and whose second element is the best statement for that property type" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "récupère la déclaration d'une entité et la renvoie sous forme de paire dont le premier élément est le libellé de cette propriété et dont le second élément est la meilleure affirmation pour cette paire" } ] } } 0gyvlt1hzug21oy4l9e7noare5hoeb6 Z35203 0 83501 277576 275122 2026-05-24T00:11:48Z YoshiRulz 10156 Remove trailing whitespace from en label 277576 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35203" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35203K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "instance" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35203K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "type" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z35204" ], "Z8K5": "Z35203" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Bengali article-ful instantiating sentence" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } riv86lqwwb0vm58t4ody0e1odalf1a2 Z35589 0 84134 277479 277465 2026-05-23T12:45:49Z Dv103 11127 Added Z35596 to the approved list of test cases 277479 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35589" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35589K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35589K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Class" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35589K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Location" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z35589K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z35596" ], "Z8K4": [ "Z14" ], "Z8K5": "Z35589" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "State location using entity and class, (simple)" }, { "Z1K1": "Z11", "Z11K1": "Z1216", "Z11K2": "[fy] A is in B yn C." }, { "Z1K1": "Z11", "Z11K1": "Z1532", "Z11K2": "[af] A is 'n B in C." }, { "Z1K1": "Z11", "Z11K1": "Z1730", "Z11K2": "[bar] A is a B in C." }, { "Z1K1": "Z11", "Z11K1": "Z1576", "Z11K2": "[eo] A estas B en C." }, { "Z1K1": "Z11", "Z11K1": "Z1402", "Z11K2": "[mk] A е B во C." }, { "Z1K1": "Z11", "Z11K1": "Z1137", "Z11K2": "[pap] A ta un B na C." }, { "Z1K1": "Z11", "Z11K1": "Z1650", "Z11K2": "[frr] A as en B uun C." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns a state location using entity and class for language with a simple rule (like [fy] Parys is in stêd yn Frankryk. )" } ] } } ah994ysq5zf55gtgmiolzbcu1j6qhbq 277481 277479 2026-05-23T12:46:18Z Dv103 11127 Added Z35590 to the approved list of test cases 277481 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35589" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35589K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35589K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Class" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35589K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Location" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z35589K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z35596", "Z35590" ], "Z8K4": [ "Z14" ], "Z8K5": "Z35589" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "State location using entity and class, (simple)" }, { "Z1K1": "Z11", "Z11K1": "Z1216", "Z11K2": "[fy] A is in B yn C." }, { "Z1K1": "Z11", "Z11K1": "Z1532", "Z11K2": "[af] A is 'n B in C." }, { "Z1K1": "Z11", "Z11K1": "Z1730", "Z11K2": "[bar] A is a B in C." }, { "Z1K1": "Z11", "Z11K1": "Z1576", "Z11K2": "[eo] A estas B en C." }, { "Z1K1": "Z11", "Z11K1": "Z1402", "Z11K2": "[mk] A е B во C." }, { "Z1K1": "Z11", "Z11K1": "Z1137", "Z11K2": "[pap] A ta un B na C." }, { "Z1K1": "Z11", "Z11K1": "Z1650", "Z11K2": "[frr] A as en B uun C." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns a state location using entity and class for language with a simple rule (like [fy] Parys is in stêd yn Frankryk. )" } ] } } 8km5qg4gw0lfxr1h23nk036pl5v4wry 277484 277481 2026-05-23T12:46:51Z Dv103 11127 Added Z35591 to the approved list of test cases 277484 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35589" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35589K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35589K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Class" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35589K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Location" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z35589K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z35596", "Z35590", "Z35591" ], "Z8K4": [ "Z14" ], "Z8K5": "Z35589" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "State location using entity and class, (simple)" }, { "Z1K1": "Z11", "Z11K1": "Z1216", "Z11K2": "[fy] A is in B yn C." }, { "Z1K1": "Z11", "Z11K1": "Z1532", "Z11K2": "[af] A is 'n B in C." }, { "Z1K1": "Z11", "Z11K1": "Z1730", "Z11K2": "[bar] A is a B in C." }, { "Z1K1": "Z11", "Z11K1": "Z1576", "Z11K2": "[eo] A estas B en C." }, { "Z1K1": "Z11", "Z11K1": "Z1402", "Z11K2": "[mk] A е B во C." }, { "Z1K1": "Z11", "Z11K1": "Z1137", "Z11K2": "[pap] A ta un B na C." }, { "Z1K1": "Z11", "Z11K1": "Z1650", "Z11K2": "[frr] A as en B uun C." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns a state location using entity and class for language with a simple rule (like [fy] Parys is in stêd yn Frankryk. )" } ] } } 6xx0so0il7s5c9b57ixdp4k502v0hzk 277489 277484 2026-05-23T12:48:38Z Dv103 11127 Added Z35592, Z35593, Z35594 e Z35595 to the approved list of test cases 277489 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35589" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35589K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35589K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Class" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35589K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Location" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z35589K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z35596", "Z35590", "Z35591", "Z35592", "Z35593", "Z35594", "Z35595" ], "Z8K4": [ "Z14" ], "Z8K5": "Z35589" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "State location using entity and class, (simple)" }, { "Z1K1": "Z11", "Z11K1": "Z1216", "Z11K2": "[fy] A is in B yn C." }, { "Z1K1": "Z11", "Z11K1": "Z1532", "Z11K2": "[af] A is 'n B in C." }, { "Z1K1": "Z11", "Z11K1": "Z1730", "Z11K2": "[bar] A is a B in C." }, { "Z1K1": "Z11", "Z11K1": "Z1576", "Z11K2": "[eo] A estas B en C." }, { "Z1K1": "Z11", "Z11K1": "Z1402", "Z11K2": "[mk] A е B во C." }, { "Z1K1": "Z11", "Z11K1": "Z1137", "Z11K2": "[pap] A ta un B na C." }, { "Z1K1": "Z11", "Z11K1": "Z1650", "Z11K2": "[frr] A as en B uun C." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns a state location using entity and class for language with a simple rule (like [fy] Parys is in stêd yn Frankryk. )" } ] } } kroiaf5mw87ll89qmmxgd4awewyylss Z35590 0 84135 277480 277443 2026-05-23T12:46:11Z Dv103 11127 277480 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35590" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35589", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35589", "Z35589K1": { "Z1K1": "Z6091", "Z6091K1": "Q90" }, "Z35589K2": { "Z1K1": "Z6091", "Z6091K1": "Q515" }, "Z35589K3": { "Z1K1": "Z6091", "Z6091K1": "Q142" }, "Z35589K4": "Z1216" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1216", "Z11K2": "Parys is in stêd yn Frankryk." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[fy] Parys is in stêd yn Frankryk." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } o2anig5qbzx12po0xdb84kt8ni3fgs7 Z35591 0 84136 277482 277444 2026-05-23T12:46:41Z Dv103 11127 277482 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35591" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35589", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35589", "Z35589K1": { "Z1K1": "Z6091", "Z6091K1": "Q90" }, "Z35589K2": { "Z1K1": "Z6091", "Z6091K1": "Q515" }, "Z35589K3": { "Z1K1": "Z6091", "Z6091K1": "Q142" }, "Z35589K4": "Z1532" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1532", "Z11K2": "Parys is 'n stad in Frankryk." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[af] Parys is 'n stad in Frankryk." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } pdh5itqtsdg7g9hohrno1l26slbwlmu Z35592 0 84137 277485 277445 2026-05-23T12:47:16Z Dv103 11127 277485 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35592" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35589", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35589", "Z35589K1": { "Z1K1": "Z6091", "Z6091K1": "Q90" }, "Z35589K2": { "Z1K1": "Z6091", "Z6091K1": "Q515" }, "Z35589K3": { "Z1K1": "Z6091", "Z6091K1": "Q142" }, "Z35589K4": "Z1730" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1730", "Z11K2": "Paris is a Großståd in Fraunkreich." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[bar] Paris is a Großståd in Fraunkreich." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } rrl3dtjmlkyh21wo4i57pzo82487tvi Z35593 0 84138 277486 277446 2026-05-23T12:47:44Z Dv103 11127 277486 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35593" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35589", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35589", "Z35589K1": { "Z1K1": "Z6091", "Z6091K1": "Q90" }, "Z35589K2": { "Z1K1": "Z6091", "Z6091K1": "Q515" }, "Z35589K3": { "Z1K1": "Z6091", "Z6091K1": "Q142" }, "Z35589K4": "Z1576" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1576", "Z11K2": "Parizo estas urbo en Francio." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[eo] Parizo estas urbo en Francio." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 650fw9nmwsy0d9hx9ziiss811jr8yv2 Z35594 0 84139 277487 277447 2026-05-23T12:48:06Z Dv103 11127 277487 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35594" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35589", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35589", "Z35589K1": { "Z1K1": "Z6091", "Z6091K1": "Q90" }, "Z35589K2": { "Z1K1": "Z6091", "Z6091K1": "Q515" }, "Z35589K3": { "Z1K1": "Z6091", "Z6091K1": "Q142" }, "Z35589K4": "Z1402" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1402", "Z11K2": "Париз е град во Франција." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[mk] Париз е град во Франција." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } dhq378wm7c1q6yidtfbu541vaqp5o0g Z35595 0 84140 277488 277448 2026-05-23T12:48:28Z Dv103 11127 277488 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35595" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35589", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35589", "Z35589K1": { "Z1K1": "Z6091", "Z6091K1": "Q90" }, "Z35589K2": { "Z1K1": "Z6091", "Z6091K1": "Q515" }, "Z35589K3": { "Z1K1": "Z6091", "Z6091K1": "Q142" }, "Z35589K4": "Z1137" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1137", "Z11K2": "Paris ta un siudat na Fransia." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[pap] Paris ta un siudat na Fransia." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 54ru7p2759l3dqbgqyl4n02266dxjyc Z35596 0 84141 277478 277449 2026-05-23T12:45:38Z Dv103 11127 277478 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35596" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35589", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35589", "Z35589K1": { "Z1K1": "Z6091", "Z6091K1": "Q90" }, "Z35589K2": { "Z1K1": "Z6091", "Z6091K1": "Q515" }, "Z35589K3": { "Z1K1": "Z6091", "Z6091K1": "Q142" }, "Z35589K4": "Z1650" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1650", "Z11K2": "Pariis as en steed uun Frankrik." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[frr] Pariis as en steed uun Frankrik." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } nbkqqpz0kyrcsz0f8fnqhhk6pqii9kl Talk:Z35529 1 84152 277483 2026-05-23T12:46:43Z SuperminerJG 34933 /* Use of 两 */ new section 277483 wikitext text/x-wiki == Use of 两 == Ordinals always use 二 and not 两, though cardinals typically do. Even though I do speak some Chinese, I'm not 100% sure on the rules of when to use 两 instead of 二. [[User:SuperminerJG|SuperminerJG]] ([[User talk:SuperminerJG|talk]]) 12:46, 23 May 2026 (UTC) lzxo10k0xnw9ki3mxb6583k5kk3sf2r Wikifunctions:Status updates/2026-05-23 4 84153 277491 2026-05-23T15:16:56Z DVrandecic (WMF) 7 Fresh Functions weekly 277491 wikitext text/x-wiki === Fresh Functions weekly: 65 new Functions === This week we had 65 new functions! 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|Z35072}} * {{Z|Z35073}} * {{Z|Z35085}} * {{Z|Z35087}} * {{Z|Z35090}} * {{Z|Z35094}} * {{Z|Z35126}} * {{Z|Z35133}} * {{Z|Z35139}} * {{Z|Z35151}} * {{Z|Z35154}} * {{Z|Z35158}} * {{Z|Z35161}} * {{Z|Z35167}} * {{Z|Z35171}} * {{Z|Z35176}} * {{Z|Z35188}} * {{Z|Z35192}} * {{Z|Z35196}} * {{Z|Z35219}} * {{Z|Z35221}} * {{Z|Z35222}} * {{Z|Z35223}} * {{Z|Z35224}} * {{Z|Z35241}} * {{Z|Z35256}} * {{Z|Z35261}} * {{Z|Z35269}} 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. bexj2i4lqnfrqt4eq4sgfbw08lcaqhh 277492 277491 2026-05-23T15:18:36Z DVrandecic (WMF) 7 277492 wikitext text/x-wiki === Recent Changes in the software === This week, we made improvements across Abstract Wikipedia and Wikifunctions. On Abstract Wikipedia, edit and history pages now show the article title as well as the QID, which should make it easier to understand which article you are looking at ([[:phab:T424265|T424265]] & [[:phab:T424095|T424095]]). In addition, references created by functions can now also include working links to non-Wikimedia websites, so external citations work as expected ([[:phab:T423180|T423180]]). On Wikifunctions, we also added a new filter to Special:ListObjectsByType, so you can now filter functions based on what kind of result they return ([[:phab:T301712|T301712]]). Finally, we ran a script to try to clean up out-of-date Test case results, though it doesn't seem to have fully fixed things ([[:phab:T422300|T422300]]). Two notes about forthcoming changes: we are planning to raise the version of the Python codebase we're using on the evaluator service, moving to approximately Python 3.14 equivalence, up from 3.13 ([[:phab:T426353|T426353]]). We're saying "approximately" as technically this is RustPython, for performance and security reasons. We don't think this change will break anything, but we wanted to alert you ahead of the changes in the next week or two. Secondly, we are going to drop the pre-defined Function Z831/Validate against schema, which has not been available since the re-write of the orchestrator service, and we believe is unused ([[:phab:T418886|T418886]]). === Fresh Functions weekly: 65 new Functions === This week we had 65 new functions! 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|Z35072}} * {{Z|Z35073}} * {{Z|Z35085}} * {{Z|Z35087}} * {{Z|Z35090}} * {{Z|Z35094}} * {{Z|Z35126}} * {{Z|Z35133}} * {{Z|Z35139}} * {{Z|Z35151}} * {{Z|Z35154}} * {{Z|Z35158}} * {{Z|Z35161}} * {{Z|Z35167}} * {{Z|Z35171}} * {{Z|Z35176}} * {{Z|Z35188}} * {{Z|Z35192}} * {{Z|Z35196}} * {{Z|Z35219}} * {{Z|Z35221}} * {{Z|Z35222}} * {{Z|Z35223}} * {{Z|Z35224}} * {{Z|Z35241}} * {{Z|Z35256}} * {{Z|Z35261}} * {{Z|Z35269}} 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. t15moyg3xvsgd0np55xxkbpf3q26sub 277493 277492 2026-05-23T15:19:48Z DVrandecic (WMF) 7 Wikipediapodden 277493 wikitext text/x-wiki === Wikipediapodden Episode #368 with James Forrester === In the latest episode of the Podcast about Wikipedia, [https://wikipediapodden.se Wikipediapodden], [https://wikipediapodden.se/abstract-wikipedia-james-forrester-368/ Jan Ainali] is interviewing James Forrester. They are discussing the progress of Abstract Wikipedia and Wikifunctions since the last episode that was centered around Abstract Wikipedia four years ago, [https://wikipediapodden.se/episode-154-abstract-wikipedia-and-wikifunctions/ #154]. === Recent Changes in the software === This week, we made improvements across Abstract Wikipedia and Wikifunctions. On Abstract Wikipedia, edit and history pages now show the article title as well as the QID, which should make it easier to understand which article you are looking at ([[:phab:T424265|T424265]] & [[:phab:T424095|T424095]]). In addition, references created by functions can now also include working links to non-Wikimedia websites, so external citations work as expected ([[:phab:T423180|T423180]]). On Wikifunctions, we also added a new filter to Special:ListObjectsByType, so you can now filter functions based on what kind of result they return ([[:phab:T301712|T301712]]). Finally, we ran a script to try to clean up out-of-date Test case results, though it doesn't seem to have fully fixed things ([[:phab:T422300|T422300]]). Two notes about forthcoming changes: we are planning to raise the version of the Python codebase we're using on the evaluator service, moving to approximately Python 3.14 equivalence, up from 3.13 ([[:phab:T426353|T426353]]). We're saying "approximately" as technically this is RustPython, for performance and security reasons. We don't think this change will break anything, but we wanted to alert you ahead of the changes in the next week or two. Secondly, we are going to drop the pre-defined Function Z831/Validate against schema, which has not been available since the re-write of the orchestrator service, and we believe is unused ([[:phab:T418886|T418886]]). === Fresh Functions weekly: 65 new Functions === This week we had 65 new functions! 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|Z35072}} * {{Z|Z35073}} * {{Z|Z35085}} * {{Z|Z35087}} * {{Z|Z35090}} * {{Z|Z35094}} * {{Z|Z35126}} * {{Z|Z35133}} * {{Z|Z35139}} * {{Z|Z35151}} * {{Z|Z35154}} * {{Z|Z35158}} * {{Z|Z35161}} * {{Z|Z35167}} * {{Z|Z35171}} * {{Z|Z35176}} * {{Z|Z35188}} * {{Z|Z35192}} * {{Z|Z35196}} * {{Z|Z35219}} * {{Z|Z35221}} * {{Z|Z35222}} * {{Z|Z35223}} * {{Z|Z35224}} * {{Z|Z35241}} * {{Z|Z35256}} * {{Z|Z35261}} * {{Z|Z35269}} 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. pjwf7rvbs5dljqj3upqi3tti2g7f5ul 277494 277493 2026-05-23T15:23:07Z DVrandecic (WMF) 7 277494 wikitext text/x-wiki === Annual plan 2026-2027 === The draft of the [[:meta:Wikimedia Foundation Annual Plan/2026-2027|Wikimedia Foundation 2026-2027 annual plan]] has been published for discussion. This includes an [[:meta:Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs#Engage|objective for Abstract Wikipedia]]: ''Demonstrate Abstract Wikipedia's viability as a scalable, human-centered way to create multilingual encyclopedic content.'' Context: The Internet is increasingly shaped by automatically produced text that is often opaque and unverifiable. At the same time, manually created knowledge alone cannot adequately fill multilingual content gaps. Can Wikipedia’s human-led model of knowledge creation scale across languages without sacrificing trust, transparency, or community control? By making one contribution reusable across many languages, Abstract Wikipedia seeks to answer that question. This objective is initially broken down into four key results: '''Key Result: By the end of Q1, ensure that fragment rendering performance of the integration into Wikipedias is maintained without regression as deployment expands from the first demonstration into the initial target language Wikipedias, so that the system remains responsive and welcoming to editors as they draft changes.''' Context: Deepen multilingual viability for Abstract Wikipedia by ensuring that expansion of availability and usage does not impair performance. To make sure that Abstract Wikipedia is viable as a platform for users and sustainable for the Foundation, we will rebuild our prototype integration into Wikipedias, expanding from the work done in FY26Q4 into one that supports and scales successfully to our envisioned 5–10 additional early adopter Wikipedias, in a way that keeps down the operational cost for Wikimedia in terms of server time and so production load/scale. '''Key Result: By the end of Q1, increase the number of sentences and core elements in Abstract Wikipedia articles, with more articles receiving follow-up edits.''' Context: This KR builds on our current focus on supporting the core community by strengthening the building blocks that enable richer, longer articles. It shifts the emphasis from simply increasing article volume to fostering meaningful article development that aligns with community expectations around quality. At the same time, it deepens editor engagement while keeping flexibility to adapt based on evolving community needs. '''Key Result: By the end of Q2, one proof of concept article is created on Abstract Wikipedia and integrated in three Wikipedias''' Context: This KR area defines measures for content growth and maintenance rates for the different relevant contents of Abstract Wikipedia, and based on these, measures that indicate that contributor communities will be able to to create and maintain Abstract Wikipedia articles, Wikifunctions language functions, relevant Wikidata Lexemes, and/or integration into Wikipedia at a rate that can meet the threshold for scalable content viability. We also develop an understanding of second-order effects on the development of existing Wikipedia language communities. '''Key Result: By the end of Q1, 100% of pilot cohort users have migrated away from Blazegraph endpoints.''' Context: The Wikidata Platform backend replacement will be ready to serve production traffic by end of FY25/26. The new system will offer capacity improvements for Wikidata, Wikidata Query Service (WDQS), and all systems integrated with either tool. We are beginning our migration with a small group of pilot users to baseline migration efforts and user impact of the new backend. The learnings we collect during Q1 will be used to support the Abstract Wikipedia use case in Q2. Note that the language isn’t final, especially because we are asking [[:meta:Talk:Wikimedia Foundation Annual Plan/2026-2027#Abstract Wikipedia|for feedback and discussion]] to amend the language based on the community's input. === Wikipediapodden Episode #368 with James Forrester === In the latest episode of the Podcast about Wikipedia, [https://wikipediapodden.se Wikipediapodden], [https://wikipediapodden.se/abstract-wikipedia-james-forrester-368/ Jan Ainali] is interviewing James Forrester. They are discussing the progress of Abstract Wikipedia and Wikifunctions since the last episode that was centered around Abstract Wikipedia four years ago, [https://wikipediapodden.se/episode-154-abstract-wikipedia-and-wikifunctions/ #154]. === Recent Changes in the software === This week, we made improvements across Abstract Wikipedia and Wikifunctions. On Abstract Wikipedia, edit and history pages now show the article title as well as the QID, which should make it easier to understand which article you are looking at ([[:phab:T424265|T424265]] & [[:phab:T424095|T424095]]). In addition, references created by functions can now also include working links to non-Wikimedia websites, so external citations work as expected ([[:phab:T423180|T423180]]). On Wikifunctions, we also added a new filter to Special:ListObjectsByType, so you can now filter functions based on what kind of result they return ([[:phab:T301712|T301712]]). Finally, we ran a script to try to clean up out-of-date Test case results, though it doesn't seem to have fully fixed things ([[:phab:T422300|T422300]]). Two notes about forthcoming changes: we are planning to raise the version of the Python codebase we're using on the evaluator service, moving to approximately Python 3.14 equivalence, up from 3.13 ([[:phab:T426353|T426353]]). We're saying "approximately" as technically this is RustPython, for performance and security reasons. We don't think this change will break anything, but we wanted to alert you ahead of the changes in the next week or two. Secondly, we are going to drop the pre-defined Function Z831/Validate against schema, which has not been available since the re-write of the orchestrator service, and we believe is unused ([[:phab:T418886|T418886]]). === Fresh Functions weekly: 65 new Functions === This week we had 65 new functions! 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|Z35072}} * {{Z|Z35073}} * {{Z|Z35085}} * {{Z|Z35087}} * {{Z|Z35090}} * {{Z|Z35094}} * {{Z|Z35126}} * {{Z|Z35133}} * {{Z|Z35139}} * {{Z|Z35151}} * {{Z|Z35154}} * {{Z|Z35158}} * {{Z|Z35161}} * {{Z|Z35167}} * {{Z|Z35171}} * {{Z|Z35176}} * {{Z|Z35188}} * {{Z|Z35192}} * {{Z|Z35196}} * {{Z|Z35219}} * {{Z|Z35221}} * {{Z|Z35222}} * {{Z|Z35223}} * {{Z|Z35224}} * {{Z|Z35241}} * {{Z|Z35256}} * {{Z|Z35261}} * {{Z|Z35269}} 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. 48cj71m694k5cz8s09befla8v8z2r0r 277495 277494 2026-05-23T15:23:39Z DVrandecic (WMF) 7 277495 wikitext text/x-wiki === Annual plan 2026-2027 === The draft of the [[:meta:Wikimedia Foundation Annual Plan/2026-2027|Wikimedia Foundation 2026-2027 annual plan]] has been published for discussion. This includes an [[:meta:Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs#Engage|objective for Abstract Wikipedia]]: '''''Demonstrate Abstract Wikipedia's viability as a scalable, human-centered way to create multilingual encyclopedic content.''''' Context: The Internet is increasingly shaped by automatically produced text that is often opaque and unverifiable. At the same time, manually created knowledge alone cannot adequately fill multilingual content gaps. Can Wikipedia’s human-led model of knowledge creation scale across languages without sacrificing trust, transparency, or community control? By making one contribution reusable across many languages, Abstract Wikipedia seeks to answer that question. This objective is initially broken down into four key results: '''Key Result: By the end of Q1, ensure that fragment rendering performance of the integration into Wikipedias is maintained without regression as deployment expands from the first demonstration into the initial target language Wikipedias, so that the system remains responsive and welcoming to editors as they draft changes.''' Context: Deepen multilingual viability for Abstract Wikipedia by ensuring that expansion of availability and usage does not impair performance. To make sure that Abstract Wikipedia is viable as a platform for users and sustainable for the Foundation, we will rebuild our prototype integration into Wikipedias, expanding from the work done in FY26Q4 into one that supports and scales successfully to our envisioned 5–10 additional early adopter Wikipedias, in a way that keeps down the operational cost for Wikimedia in terms of server time and so production load/scale. '''Key Result: By the end of Q1, increase the number of sentences and core elements in Abstract Wikipedia articles, with more articles receiving follow-up edits.''' Context: This KR builds on our current focus on supporting the core community by strengthening the building blocks that enable richer, longer articles. It shifts the emphasis from simply increasing article volume to fostering meaningful article development that aligns with community expectations around quality. At the same time, it deepens editor engagement while keeping flexibility to adapt based on evolving community needs. '''Key Result: By the end of Q2, one proof of concept article is created on Abstract Wikipedia and integrated in three Wikipedias''' Context: This KR area defines measures for content growth and maintenance rates for the different relevant contents of Abstract Wikipedia, and based on these, measures that indicate that contributor communities will be able to to create and maintain Abstract Wikipedia articles, Wikifunctions language functions, relevant Wikidata Lexemes, and/or integration into Wikipedia at a rate that can meet the threshold for scalable content viability. We also develop an understanding of second-order effects on the development of existing Wikipedia language communities. '''Key Result: By the end of Q1, 100% of pilot cohort users have migrated away from Blazegraph endpoints.''' Context: The Wikidata Platform backend replacement will be ready to serve production traffic by end of FY25/26. The new system will offer capacity improvements for Wikidata, Wikidata Query Service (WDQS), and all systems integrated with either tool. We are beginning our migration with a small group of pilot users to baseline migration efforts and user impact of the new backend. The learnings we collect during Q1 will be used to support the Abstract Wikipedia use case in Q2. Note that the language isn’t final, especially because we are asking [[:meta:Talk:Wikimedia Foundation Annual Plan/2026-2027#Abstract Wikipedia|for feedback and discussion]] to amend the language based on the community's input. === Wikipediapodden Episode #368 with James Forrester === In the latest episode of the Podcast about Wikipedia, [https://wikipediapodden.se Wikipediapodden], [https://wikipediapodden.se/abstract-wikipedia-james-forrester-368/ Jan Ainali] is interviewing James Forrester. They are discussing the progress of Abstract Wikipedia and Wikifunctions since the last episode that was centered around Abstract Wikipedia four years ago, [https://wikipediapodden.se/episode-154-abstract-wikipedia-and-wikifunctions/ #154]. === Recent Changes in the software === This week, we made improvements across Abstract Wikipedia and Wikifunctions. On Abstract Wikipedia, edit and history pages now show the article title as well as the QID, which should make it easier to understand which article you are looking at ([[:phab:T424265|T424265]] & [[:phab:T424095|T424095]]). In addition, references created by functions can now also include working links to non-Wikimedia websites, so external citations work as expected ([[:phab:T423180|T423180]]). On Wikifunctions, we also added a new filter to Special:ListObjectsByType, so you can now filter functions based on what kind of result they return ([[:phab:T301712|T301712]]). Finally, we ran a script to try to clean up out-of-date Test case results, though it doesn't seem to have fully fixed things ([[:phab:T422300|T422300]]). Two notes about forthcoming changes: we are planning to raise the version of the Python codebase we're using on the evaluator service, moving to approximately Python 3.14 equivalence, up from 3.13 ([[:phab:T426353|T426353]]). We're saying "approximately" as technically this is RustPython, for performance and security reasons. We don't think this change will break anything, but we wanted to alert you ahead of the changes in the next week or two. Secondly, we are going to drop the pre-defined Function Z831/Validate against schema, which has not been available since the re-write of the orchestrator service, and we believe is unused ([[:phab:T418886|T418886]]). === Fresh Functions weekly: 65 new Functions === This week we had 65 new functions! 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|Z35072}} * {{Z|Z35073}} * {{Z|Z35085}} * {{Z|Z35087}} * {{Z|Z35090}} * {{Z|Z35094}} * {{Z|Z35126}} * {{Z|Z35133}} * {{Z|Z35139}} * {{Z|Z35151}} * {{Z|Z35154}} * {{Z|Z35158}} * {{Z|Z35161}} * {{Z|Z35167}} * {{Z|Z35171}} * {{Z|Z35176}} * {{Z|Z35188}} * {{Z|Z35192}} * {{Z|Z35196}} * {{Z|Z35219}} * {{Z|Z35221}} * {{Z|Z35222}} * {{Z|Z35223}} * {{Z|Z35224}} * {{Z|Z35241}} * {{Z|Z35256}} * {{Z|Z35261}} * {{Z|Z35269}} 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. 1momsd0me0laib35du7i1ho4nsa0w1r 277530 277495 2026-05-23T19:20:58Z Waldyrious 801 /* Annual plan 2026-2027 */ add missing period in one of the KRs 277530 wikitext text/x-wiki === Annual plan 2026-2027 === The draft of the [[:meta:Wikimedia Foundation Annual Plan/2026-2027|Wikimedia Foundation 2026-2027 annual plan]] has been published for discussion. This includes an [[:meta:Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs#Engage|objective for Abstract Wikipedia]]: '''''Demonstrate Abstract Wikipedia's viability as a scalable, human-centered way to create multilingual encyclopedic content.''''' Context: The Internet is increasingly shaped by automatically produced text that is often opaque and unverifiable. At the same time, manually created knowledge alone cannot adequately fill multilingual content gaps. Can Wikipedia’s human-led model of knowledge creation scale across languages without sacrificing trust, transparency, or community control? By making one contribution reusable across many languages, Abstract Wikipedia seeks to answer that question. This objective is initially broken down into four key results: '''Key Result: By the end of Q1, ensure that fragment rendering performance of the integration into Wikipedias is maintained without regression as deployment expands from the first demonstration into the initial target language Wikipedias, so that the system remains responsive and welcoming to editors as they draft changes.''' Context: Deepen multilingual viability for Abstract Wikipedia by ensuring that expansion of availability and usage does not impair performance. To make sure that Abstract Wikipedia is viable as a platform for users and sustainable for the Foundation, we will rebuild our prototype integration into Wikipedias, expanding from the work done in FY26Q4 into one that supports and scales successfully to our envisioned 5–10 additional early adopter Wikipedias, in a way that keeps down the operational cost for Wikimedia in terms of server time and so production load/scale. '''Key Result: By the end of Q1, increase the number of sentences and core elements in Abstract Wikipedia articles, with more articles receiving follow-up edits.''' Context: This KR builds on our current focus on supporting the core community by strengthening the building blocks that enable richer, longer articles. It shifts the emphasis from simply increasing article volume to fostering meaningful article development that aligns with community expectations around quality. At the same time, it deepens editor engagement while keeping flexibility to adapt based on evolving community needs. '''Key Result: By the end of Q2, one proof of concept article is created on Abstract Wikipedia and integrated in three Wikipedias.''' Context: This KR area defines measures for content growth and maintenance rates for the different relevant contents of Abstract Wikipedia, and based on these, measures that indicate that contributor communities will be able to to create and maintain Abstract Wikipedia articles, Wikifunctions language functions, relevant Wikidata Lexemes, and/or integration into Wikipedia at a rate that can meet the threshold for scalable content viability. We also develop an understanding of second-order effects on the development of existing Wikipedia language communities. '''Key Result: By the end of Q1, 100% of pilot cohort users have migrated away from Blazegraph endpoints.''' Context: The Wikidata Platform backend replacement will be ready to serve production traffic by end of FY25/26. The new system will offer capacity improvements for Wikidata, Wikidata Query Service (WDQS), and all systems integrated with either tool. We are beginning our migration with a small group of pilot users to baseline migration efforts and user impact of the new backend. The learnings we collect during Q1 will be used to support the Abstract Wikipedia use case in Q2. Note that the language isn’t final, especially because we are asking [[:meta:Talk:Wikimedia Foundation Annual Plan/2026-2027#Abstract Wikipedia|for feedback and discussion]] to amend the language based on the community's input. === Wikipediapodden Episode #368 with James Forrester === In the latest episode of the Podcast about Wikipedia, [https://wikipediapodden.se Wikipediapodden], [https://wikipediapodden.se/abstract-wikipedia-james-forrester-368/ Jan Ainali] is interviewing James Forrester. They are discussing the progress of Abstract Wikipedia and Wikifunctions since the last episode that was centered around Abstract Wikipedia four years ago, [https://wikipediapodden.se/episode-154-abstract-wikipedia-and-wikifunctions/ #154]. === Recent Changes in the software === This week, we made improvements across Abstract Wikipedia and Wikifunctions. On Abstract Wikipedia, edit and history pages now show the article title as well as the QID, which should make it easier to understand which article you are looking at ([[:phab:T424265|T424265]] & [[:phab:T424095|T424095]]). In addition, references created by functions can now also include working links to non-Wikimedia websites, so external citations work as expected ([[:phab:T423180|T423180]]). On Wikifunctions, we also added a new filter to Special:ListObjectsByType, so you can now filter functions based on what kind of result they return ([[:phab:T301712|T301712]]). Finally, we ran a script to try to clean up out-of-date Test case results, though it doesn't seem to have fully fixed things ([[:phab:T422300|T422300]]). Two notes about forthcoming changes: we are planning to raise the version of the Python codebase we're using on the evaluator service, moving to approximately Python 3.14 equivalence, up from 3.13 ([[:phab:T426353|T426353]]). We're saying "approximately" as technically this is RustPython, for performance and security reasons. We don't think this change will break anything, but we wanted to alert you ahead of the changes in the next week or two. Secondly, we are going to drop the pre-defined Function Z831/Validate against schema, which has not been available since the re-write of the orchestrator service, and we believe is unused ([[:phab:T418886|T418886]]). === Fresh Functions weekly: 65 new Functions === This week we had 65 new functions! 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|Z35072}} * {{Z|Z35073}} * {{Z|Z35085}} * {{Z|Z35087}} * {{Z|Z35090}} * {{Z|Z35094}} * {{Z|Z35126}} * {{Z|Z35133}} * {{Z|Z35139}} * {{Z|Z35151}} * {{Z|Z35154}} * {{Z|Z35158}} * {{Z|Z35161}} * {{Z|Z35167}} * {{Z|Z35171}} * {{Z|Z35176}} * {{Z|Z35188}} * {{Z|Z35192}} * {{Z|Z35196}} * {{Z|Z35219}} * {{Z|Z35221}} * {{Z|Z35222}} * {{Z|Z35223}} * {{Z|Z35224}} * {{Z|Z35241}} * {{Z|Z35256}} * {{Z|Z35261}} * {{Z|Z35269}} 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. 5xfgf35k6nvy57el7547ndj4hrydoer 277612 277530 2026-05-24T08:26:44Z Ameisenigel 44 prepared for translation 277612 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = <translate>Previous update</translate> | prev = 2026-05-15 | nextlabel = <translate>Next update</translate> | next = }} <translate> === Annual plan 2026-2027 === The draft of the [[<tvar name="1">:meta:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027</tvar>|Wikimedia Foundation 2026-2027 annual plan]] has been published for discussion. This includes an [[<tvar name="2">:meta:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs#Engage</tvar>|objective for Abstract Wikipedia]]: '''''Demonstrate Abstract Wikipedia's viability as a scalable, human-centered way to create multilingual encyclopedic content.''''' Context: The Internet is increasingly shaped by automatically produced text that is often opaque and unverifiable. At the same time, manually created knowledge alone cannot adequately fill multilingual content gaps. Can Wikipedia’s human-led model of knowledge creation scale across languages without sacrificing trust, transparency, or community control? By making one contribution reusable across many languages, Abstract Wikipedia seeks to answer that question. This objective is initially broken down into four key results: '''Key Result: By the end of Q1, ensure that fragment rendering performance of the integration into Wikipedias is maintained without regression as deployment expands from the first demonstration into the initial target language Wikipedias, so that the system remains responsive and welcoming to editors as they draft changes.''' Context: Deepen multilingual viability for Abstract Wikipedia by ensuring that expansion of availability and usage does not impair performance. To make sure that Abstract Wikipedia is viable as a platform for users and sustainable for the Foundation, we will rebuild our prototype integration into Wikipedias, expanding from the work done in FY26Q4 into one that supports and scales successfully to our envisioned 5–10 additional early adopter Wikipedias, in a way that keeps down the operational cost for Wikimedia in terms of server time and so production load/scale. '''Key Result: By the end of Q1, increase the number of sentences and core elements in Abstract Wikipedia articles, with more articles receiving follow-up edits.''' Context: This KR builds on our current focus on supporting the core community by strengthening the building blocks that enable richer, longer articles. It shifts the emphasis from simply increasing article volume to fostering meaningful article development that aligns with community expectations around quality. At the same time, it deepens editor engagement while keeping flexibility to adapt based on evolving community needs. '''Key Result: By the end of Q2, one proof of concept article is created on Abstract Wikipedia and integrated in three Wikipedias.''' Context: This KR area defines measures for content growth and maintenance rates for the different relevant contents of Abstract Wikipedia, and based on these, measures that indicate that contributor communities will be able to to create and maintain Abstract Wikipedia articles, Wikifunctions language functions, relevant Wikidata Lexemes, and/or integration into Wikipedia at a rate that can meet the threshold for scalable content viability. We also develop an understanding of second-order effects on the development of existing Wikipedia language communities. '''Key Result: By the end of Q1, 100% of pilot cohort users have migrated away from Blazegraph endpoints.''' Context: The Wikidata Platform backend replacement will be ready to serve production traffic by end of FY25/26. The new system will offer capacity improvements for Wikidata, Wikidata Query Service (WDQS), and all systems integrated with either tool. We are beginning our migration with a small group of pilot users to baseline migration efforts and user impact of the new backend. The learnings we collect during Q1 will be used to support the Abstract Wikipedia use case in Q2. Note that the language isn’t final, especially because we are asking [[<tvar name="1">:meta:Talk:Wikimedia Foundation Annual Plan/2026-2027#Abstract Wikipedia</tvar>|for feedback and discussion]] to amend the language based on the community's input. === Wikipediapodden Episode #368 with James Forrester === In the latest episode of the Podcast about Wikipedia, [<tvar name="1">https://wikipediapodden.se</tvar> Wikipediapodden], [<tvar name="2">https://wikipediapodden.se/abstract-wikipedia-james-forrester-368/</tvar> Jan Ainali] is interviewing James Forrester. They are discussing the progress of Abstract Wikipedia and Wikifunctions since the last episode that was centered around Abstract Wikipedia four years ago, [<tvar name="3">https://wikipediapodden.se/episode-154-abstract-wikipedia-and-wikifunctions/</tvar> #154]. === Recent Changes in the software === This week, we made improvements across Abstract Wikipedia and Wikifunctions. On Abstract Wikipedia, edit and history pages now show the article title as well as the QID, which should make it easier to understand which article you are looking at (<tvar name="1">[[:phab:T424265|T424265]]</tvar> & <tvar name="2">[[:phab:T424095|T424095]]</tvar>). In addition, references created by functions can now also include working links to non-Wikimedia websites, so external citations work as expected (<tvar name="3">[[:phab:T423180|T423180]]</tvar>). On Wikifunctions, we also added a new filter to Special:ListObjectsByType, so you can now filter functions based on what kind of result they return (<tvar name="1">[[:phab:T301712|T301712]]</tvar>). Finally, we ran a script to try to clean up out-of-date Test case results, though it doesn't seem to have fully fixed things (<tvar name="2">[[:phab:T422300|T422300]]</tvar>). Two notes about forthcoming changes: we are planning to raise the version of the Python codebase we're using on the evaluator service, moving to approximately Python 3.14 equivalence, up from 3.13 (<tvar name="1">[[:phab:T426353|T426353]]</tvar>). We're saying "approximately" as technically this is RustPython, for performance and security reasons. We don't think this change will break anything, but we wanted to alert you ahead of the changes in the next week or two. Secondly, we are going to drop the pre-defined Function Z831/Validate against schema, which has not been available since the re-write of the orchestrator service, and we believe is unused (<tvar name="2">[[:phab:T418886|T418886]]</tvar>). === Fresh Functions weekly: 65 new Functions === This week we had 65 new functions! 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! </translate> * {{Z|Z35072}} * {{Z|Z35073}} * {{Z|Z35085}} * {{Z|Z35087}} * {{Z|Z35090}} * {{Z|Z35094}} * {{Z|Z35126}} * {{Z|Z35133}} * {{Z|Z35139}} * {{Z|Z35151}} * {{Z|Z35154}} * {{Z|Z35158}} * {{Z|Z35161}} * {{Z|Z35167}} * {{Z|Z35171}} * {{Z|Z35176}} * {{Z|Z35188}} * {{Z|Z35192}} * {{Z|Z35196}} * {{Z|Z35219}} * {{Z|Z35221}} * {{Z|Z35222}} * {{Z|Z35223}} * {{Z|Z35224}} * {{Z|Z35241}} * {{Z|Z35256}} * {{Z|Z35261}} * {{Z|Z35269}} <translate> A [<tvar name="1">https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest</tvar> complete list of all functions sorted by when they were created] is available. </translate> [[Category:Status updates{{#translation:}}|2026-05-23]] 6swgg58j5hise8m7072diqx6wykh0tp 277613 277612 2026-05-24T08:26:53Z Ameisenigel 44 Marked this version for translation 277613 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = <translate><!--T:1--> Previous update</translate> | prev = 2026-05-15 | nextlabel = <translate><!--T:2--> Next update</translate> | next = }} <translate> === Annual plan 2026-2027 === <!--T:3--> <!--T:4--> The draft of the [[<tvar name="1">:meta:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027</tvar>|Wikimedia Foundation 2026-2027 annual plan]] has been published for discussion. This includes an [[<tvar name="2">:meta:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs#Engage</tvar>|objective for Abstract Wikipedia]]: <!--T:5--> '''''Demonstrate Abstract Wikipedia's viability as a scalable, human-centered way to create multilingual encyclopedic content.''''' <!--T:6--> Context: The Internet is increasingly shaped by automatically produced text that is often opaque and unverifiable. At the same time, manually created knowledge alone cannot adequately fill multilingual content gaps. Can Wikipedia’s human-led model of knowledge creation scale across languages without sacrificing trust, transparency, or community control? By making one contribution reusable across many languages, Abstract Wikipedia seeks to answer that question. <!--T:7--> This objective is initially broken down into four key results: <!--T:8--> '''Key Result: By the end of Q1, ensure that fragment rendering performance of the integration into Wikipedias is maintained without regression as deployment expands from the first demonstration into the initial target language Wikipedias, so that the system remains responsive and welcoming to editors as they draft changes.''' <!--T:9--> Context: Deepen multilingual viability for Abstract Wikipedia by ensuring that expansion of availability and usage does not impair performance. To make sure that Abstract Wikipedia is viable as a platform for users and sustainable for the Foundation, we will rebuild our prototype integration into Wikipedias, expanding from the work done in FY26Q4 into one that supports and scales successfully to our envisioned 5–10 additional early adopter Wikipedias, in a way that keeps down the operational cost for Wikimedia in terms of server time and so production load/scale. <!--T:10--> '''Key Result: By the end of Q1, increase the number of sentences and core elements in Abstract Wikipedia articles, with more articles receiving follow-up edits.''' <!--T:11--> Context: This KR builds on our current focus on supporting the core community by strengthening the building blocks that enable richer, longer articles. It shifts the emphasis from simply increasing article volume to fostering meaningful article development that aligns with community expectations around quality. At the same time, it deepens editor engagement while keeping flexibility to adapt based on evolving community needs. <!--T:12--> '''Key Result: By the end of Q2, one proof of concept article is created on Abstract Wikipedia and integrated in three Wikipedias.''' <!--T:13--> Context: This KR area defines measures for content growth and maintenance rates for the different relevant contents of Abstract Wikipedia, and based on these, measures that indicate that contributor communities will be able to to create and maintain Abstract Wikipedia articles, Wikifunctions language functions, relevant Wikidata Lexemes, and/or integration into Wikipedia at a rate that can meet the threshold for scalable content viability. We also develop an understanding of second-order effects on the development of existing Wikipedia language communities. <!--T:14--> '''Key Result: By the end of Q1, 100% of pilot cohort users have migrated away from Blazegraph endpoints.''' <!--T:15--> Context: The Wikidata Platform backend replacement will be ready to serve production traffic by end of FY25/26. The new system will offer capacity improvements for Wikidata, Wikidata Query Service (WDQS), and all systems integrated with either tool. We are beginning our migration with a small group of pilot users to baseline migration efforts and user impact of the new backend. The learnings we collect during Q1 will be used to support the Abstract Wikipedia use case in Q2. <!--T:16--> Note that the language isn’t final, especially because we are asking [[<tvar name="1">:meta:Talk:Wikimedia Foundation Annual Plan/2026-2027#Abstract Wikipedia</tvar>|for feedback and discussion]] to amend the language based on the community's input. === Wikipediapodden Episode #368 with James Forrester === <!--T:17--> <!--T:18--> In the latest episode of the Podcast about Wikipedia, [<tvar name="1">https://wikipediapodden.se</tvar> Wikipediapodden], [<tvar name="2">https://wikipediapodden.se/abstract-wikipedia-james-forrester-368/</tvar> Jan Ainali] is interviewing James Forrester. They are discussing the progress of Abstract Wikipedia and Wikifunctions since the last episode that was centered around Abstract Wikipedia four years ago, [<tvar name="3">https://wikipediapodden.se/episode-154-abstract-wikipedia-and-wikifunctions/</tvar> #154]. === Recent Changes in the software === <!--T:19--> <!--T:20--> This week, we made improvements across Abstract Wikipedia and Wikifunctions. On Abstract Wikipedia, edit and history pages now show the article title as well as the QID, which should make it easier to understand which article you are looking at (<tvar name="1">[[:phab:T424265|T424265]]</tvar> & <tvar name="2">[[:phab:T424095|T424095]]</tvar>). In addition, references created by functions can now also include working links to non-Wikimedia websites, so external citations work as expected (<tvar name="3">[[:phab:T423180|T423180]]</tvar>). <!--T:21--> On Wikifunctions, we also added a new filter to Special:ListObjectsByType, so you can now filter functions based on what kind of result they return (<tvar name="1">[[:phab:T301712|T301712]]</tvar>). Finally, we ran a script to try to clean up out-of-date Test case results, though it doesn't seem to have fully fixed things (<tvar name="2">[[:phab:T422300|T422300]]</tvar>). <!--T:22--> Two notes about forthcoming changes: we are planning to raise the version of the Python codebase we're using on the evaluator service, moving to approximately Python 3.14 equivalence, up from 3.13 (<tvar name="1">[[:phab:T426353|T426353]]</tvar>). We're saying "approximately" as technically this is RustPython, for performance and security reasons. We don't think this change will break anything, but we wanted to alert you ahead of the changes in the next week or two. Secondly, we are going to drop the pre-defined Function Z831/Validate against schema, which has not been available since the re-write of the orchestrator service, and we believe is unused (<tvar name="2">[[:phab:T418886|T418886]]</tvar>). === Fresh Functions weekly: 65 new Functions === <!--T:23--> <!--T:24--> This week we had 65 new functions! 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! </translate> * {{Z|Z35072}} * {{Z|Z35073}} * {{Z|Z35085}} * {{Z|Z35087}} * {{Z|Z35090}} * {{Z|Z35094}} * {{Z|Z35126}} * {{Z|Z35133}} * {{Z|Z35139}} * {{Z|Z35151}} * {{Z|Z35154}} * {{Z|Z35158}} * {{Z|Z35161}} * {{Z|Z35167}} * {{Z|Z35171}} * {{Z|Z35176}} * {{Z|Z35188}} * {{Z|Z35192}} * {{Z|Z35196}} * {{Z|Z35219}} * {{Z|Z35221}} * {{Z|Z35222}} * {{Z|Z35223}} * {{Z|Z35224}} * {{Z|Z35241}} * {{Z|Z35256}} * {{Z|Z35261}} * {{Z|Z35269}} <translate> <!--T:25--> A [<tvar name="1">https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest</tvar> complete list of all functions sorted by when they were created] is available. </translate> [[Category:Status updates{{#translation:}}|2026-05-23]] 9tyq1imple1izzdsoq7k5nyn3d23gjz Z35606 0 84154 277498 2026-05-23T15:52:08Z Asked42 932 277498 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35606" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35606K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Item" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z35606" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "add Bangla classifier to Wikidata instance" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } d27xibh9v2b88eah48240tscz887px3 277525 277498 2026-05-23T18:38:06Z Asked42 932 Added Z35610 to the approved list of test cases 277525 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35606" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35606K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Item" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z35610" ], "Z8K4": [ "Z14" ], "Z8K5": "Z35606" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "add Bangla classifier to Wikidata instance" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } kgbb1mzltw37atxgtbctkkelkr370hm 277594 277525 2026-05-24T06:27:37Z Asked42 932 Removed Z35610 from the approved list of test cases 277594 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35606" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35606K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Item" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z35606" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "add Bangla classifier to Wikidata instance" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } d27xibh9v2b88eah48240tscz887px3 277595 277594 2026-05-24T06:27:45Z Asked42 932 Added Z35607 to the approved list of implementations 277595 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35606" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35606K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Item" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z35607" ], "Z8K5": "Z35606" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "add Bangla classifier to Wikidata instance" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } fwxltn568vvfdvxmfn32bs1srzqqfpr 277599 277595 2026-05-24T06:36:14Z Asked42 932 Added Z35610 to the approved list of test cases 277599 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35606" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35606K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Item" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z35610" ], "Z8K4": [ "Z14", "Z35607" ], "Z8K5": "Z35606" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "add Bangla classifier to Wikidata instance" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 66afxxcx8w7f01gc81n3pqxcmxnhdu0 Z35607 0 84155 277499 2026-05-23T16:05:48Z Asked42 932 277499 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35607" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35606", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": "একটি", "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z12964", "Z12964K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 30gcznqllj8pvm53lv2i1af6awlhdcm 277501 277499 2026-05-23T16:36:55Z Asked42 932 277501 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35607" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35606", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z27665", "Z27665K1": [ { "Z1K1": "Z9", "Z9K1": "" }, { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } }, { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": "একটি", "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z12964", "Z12964K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } } ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 4swavfnlo0239b2yp2r46kttdme28k8 277502 277501 2026-05-23T16:43:34Z Asked42 932 277502 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35607" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35606", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": "একটি", "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z12964", "Z12964K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } a2507pzmg1afa4l5psca75npeaxbqf5 277503 277502 2026-05-23T16:50:42Z Asked42 932 277503 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35607" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35606", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z12755", "Z12755K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": "একটি", "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z12964", "Z12964K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } qfrve082hepy110mvc3t1g7ouy9a59k 277519 277503 2026-05-23T17:20:43Z Asked42 932 277519 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35607" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35606", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z12755", "Z12755K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z35608", "Z35608K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": "একটি", "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z12964", "Z12964K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 5eke87ct3aa4drivh99v7s0h07t8x7g 277523 277519 2026-05-23T18:36:33Z Asked42 932 277523 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35607" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35606", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z12755", "Z12755K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z35608", "Z35608K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z12964", "Z12964K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } }, "Z23753K2": "Z1011" } } } } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } n4gmlg53e2mbtrfbqiqyhqpdxaj2aen 277529 277523 2026-05-23T19:05:41Z Asked42 932 277529 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35607" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35606", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z12755", "Z12755K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z35608", "Z35608K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z12964", "Z12964K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } } } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } smny75v0vtaflrh7j5li7mmqfsne8rc 277591 277529 2026-05-24T06:24:50Z Asked42 932 277591 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35607" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35606", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z12755", "Z12755K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z35608", "Z35608K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z12964", "Z12964K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } } } }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 3n53dr22zt45qwtrchvyfz86j90yimm 277592 277591 2026-05-24T06:25:22Z Asked42 932 277592 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35607" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35606", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z12755", "Z12755K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z35608", "Z35608K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z12964", "Z12964K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } } } }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } } } }, "Z23753K2": "Z1011" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "add Bangla classifier to Wikidata instance (comp)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 3b1gvblc9w00vzi5uvl1x8utqbud1y3 277644 277592 2026-05-24T08:36:58Z Dv103 11127 made more efficient 277644 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35607" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35606", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z12755", "Z12755K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z30120", "Z30120K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" }, "Z30120K2": [ "Z6030", "Z6036" ], "Z30120K3": [ "Z60" ], "Z30120K4": [ "Z6092", { "Z1K1": "Z6092", "Z6092K1": "P31" } ] } } }, "Z23753K2": "Z1011" } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z30120", "Z30120K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" }, "Z30120K2": [ "Z6030", "Z6036" ], "Z30120K3": [ "Z60" ], "Z30120K4": [ "Z6092", { "Z1K1": "Z6092", "Z6092K1": "P31" } ] } } }, "Z23753K2": "Z1011" } }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z11542", "Z11542K1": { "Z1K1": "Z7", "Z7K1": "Z35608", "Z35608K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z30120", "Z30120K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" }, "Z30120K2": [ "Z6030", "Z6036" ], "Z30120K3": [ "Z60" ], "Z30120K4": [ "Z6092", { "Z1K1": "Z6092", "Z6092K1": "P31" } ] } } }, "Z23753K2": "Z1011" } } } } }, "Z11542K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": { "Z1K1": "Z7", "Z7K1": "Z12967", "Z12967K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z30120", "Z30120K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" }, "Z30120K2": [ "Z6030", "Z6036" ], "Z30120K3": [ "Z60" ], "Z30120K4": [ "Z6092", { "Z1K1": "Z6092", "Z6092K1": "P31" } ] } } }, "Z23753K2": "Z1011" } } } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z12964", "Z12964K1": { "Z1K1": "Z7", "Z7K1": "Z13411", "Z13411K1": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z30120", "Z30120K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" }, "Z30120K2": [ "Z6030", "Z6036" ], "Z30120K3": [ "Z60" ], "Z30120K4": [ "Z6092", { "Z1K1": "Z6092", "Z6092K1": "P31" } ] } } }, "Z23753K2": "Z1011" } } } } }, "Z11542K3": { "Z1K1": "Z7", "Z7K1": "Z27182", "Z27182K1": { "Z1K1": "Z7", "Z7K1": "Z35288", "Z35288K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" } }, "Z27182K2": { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z30120", "Z30120K1": { "Z1K1": "Z18", "Z18K1": "Z35606K1" }, "Z30120K2": [ "Z6030", "Z6036" ], "Z30120K3": [ "Z60" ], "Z30120K4": [ "Z6092", { "Z1K1": "Z6092", "Z6092K1": "P31" } ] } } }, "Z23753K2": "Z1011" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "add Bangla classifier to Wikidata instance (comp)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } m5q2ouztv9wu02eblb639mdq227xj5l Z35608 0 84156 277512 2026-05-23T17:03:04Z Asked42 932 277512 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35608" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z35608K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "String" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z35608" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "is Bengali word suffixed with -এর" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ebrcct4pf3uvmtomuumye04nhnhdmc9 277514 277512 2026-05-23T17:05:58Z Asked42 932 Added Z35609 to the approved list of implementations 277514 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35608" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z35608K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "String" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z35609" ], "Z8K5": "Z35608" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "is Bengali word suffixed with -এর" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } e3893qom7wf2bc8k8uncimdns6g67wg 277518 277514 2026-05-23T17:12:59Z Asked42 932 277518 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35608" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z35608K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "String" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z35609" ], "Z8K5": "Z35608" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "is Bangla word suffixed with -এর" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ay8abdap1slazvjb2xyu9vbq8jo64pw Z35609 0 84157 277513 2026-05-23T17:05:42Z Asked42 932 277513 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35609" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35608", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z35608(Z35608K1):\n if not Z35608K1:\n return False\n\n if Z35608K1.endswith('য়ের'):\n return True\n\n if Z35608K1.endswith('ের') and len(Z18831K1) \u003E 2:\n return True\n\n return False" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7otrwgreceribmsxr3jl3xzlauv266y 277515 277513 2026-05-23T17:06:32Z Asked42 932 277515 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35609" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35608", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z35608(Z35608K1):\n if not Z35608K1:\n return False\n\n if Z35608K1.endswith('য়ের'):\n return True\n\n if Z35608K1.endswith('ের') and len(Z35608K1) \u003E 2:\n return True\n\n return False" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } oqrvr3fuvihkmxforp6b6ei1dakb3v5 277516 277515 2026-05-23T17:10:12Z Asked42 932 277516 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35609" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35608", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z35608(Z35608K1):\r\n if not Z35608K1:\r\n return False\r\n\r\n if Z35608K1.endswith('য়ের'):\r\n return True\r\n\r\n if Z35608K1.endswith('ের') and len(Z35608K1) \u003E 2:\r\n return True\r\n\r\n return False" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 63l6quhpurcn04p4ie9eynqf6ug1ikc 277517 277516 2026-05-23T17:12:38Z Asked42 932 277517 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35609" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35608", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z35608(Z35608K1):\r\n appends = {\r\n 'া': 'র',\r\n 'ি': 'র',\r\n 'ী': 'র',\r\n 'ু': 'র',\r\n 'ূ': 'র',\r\n 'ৃ': 'র',\r\n 'ে': 'র',\r\n 'ৈ': 'র',\r\n 'ো': 'র',\r\n 'ৌ': 'র',\r\n 'ক': 'ের',\r\n 'খ': 'ের',\r\n 'গ': 'ের',\r\n 'ঘ': 'ের',\r\n 'ঙ': 'ের',\r\n 'চ': 'ের',\r\n 'ছ': 'ের',\r\n 'জ': 'ের',\r\n 'ঝ': 'ের',\r\n 'ঞ': 'ের',\r\n 'ট': 'ের',\r\n 'ঠ': 'ের',\r\n 'ড': 'ের',\r\n 'ঢ': 'ের',\r\n 'ণ': 'ের',\r\n 'ত': 'ের',\r\n 'থ': 'ের',\r\n 'দ': 'ের',\r\n 'ধ': 'ের',\r\n 'ন': 'ের',\r\n 'প': 'ের',\r\n 'ফ': 'ের',\r\n 'ব': 'ের',\r\n 'ভ': 'ের',\r\n 'ম': 'ের',\r\n 'য': 'ের',\r\n 'র': 'ের',\r\n 'ল': 'ের',\r\n 'শ': 'ের',\r\n 'ষ': 'ের',\r\n 'স': 'ের',\r\n 'হ': 'ের',\r\n 'ড়': 'ের',\r\n 'ঢ়': 'ের',\r\n '়': 'ের',\r\n 'ই': 'য়ের',\r\n 'উ': 'য়ের',\r\n 'ও': 'য়ের',\r\n 'ং': 'য়ের',\r\n }\r\n\r\n if not Z35608K1:\r\n return False\r\n\r\n for base_ending, suffix in appends.items():\r\n candidate = base_ending + suffix\r\n if Z35608K1.endswith(candidate):\r\n return True\r\n\r\n return False" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "is Bengali word suffixed with -এর (comp)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 6p8rhka6jhaojcn8g76etvi9tcoj63m Z35610 0 84158 277524 2026-05-23T18:37:24Z Asked42 932 277524 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35610" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35606", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35606", "Z35606K1": { "Z1K1": "Z6091", "Z6091K1": "Q1363" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "ভারতের একটি রাজ্য" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } r4vlfldfe9qldw483soa8h629au3hrt 277593 277524 2026-05-24T06:26:26Z Asked42 932 277593 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35610" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35606", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35606", "Z35606K1": { "Z1K1": "Z6091", "Z6091K1": "Q1363" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "ভারতের একটি রাজ্য" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Q1363 -\u003E 'ভারতের একটি রাজ্য'" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } n0w7i86xn6l9nosf4pfbi72s7zkguov User:YoshiRulz/common.css 2 84159 277580 2026-05-24T01:23:16Z YoshiRulz 10156 Create stylesheet 277580 css text/css /* legible headings */ .mw-body h1, .mw-body .mw-heading1, .mw-body-content h1, .mw-body-content .mw-heading1, .mw-body-content h2, .mw-body-content .mw-heading2 { font-family: inherit; } /* minimise error chips until mouseover'd */ .cdx-info-chip--error { transition: max-width 0.25s ease-out; } .cdx-info-chip--error:not(:hover) { max-width: 1em; } huusuq7bzqkzx36961oj4my2dumfdlm 277581 277580 2026-05-24T01:25:13Z YoshiRulz 10156 277581 css text/css /* legible headings */ .mw-body h1, .mw-body .mw-heading1, .mw-body-content h1, .mw-body-content .mw-heading1, .mw-body-content h2, .mw-body-content .mw-heading2 { font-family: inherit; } /* minimise error chips until mouseover'd, and fix the height so tables remain aligned */ .cdx-info-chip--error { line-height: 1.25rem !important; transition: max-width 0.25s ease-out; } .cdx-info-chip--error:not(:hover) { max-width: 1em; } cf8zlzci7ra03l4jbr785gg6p9bn1a7 277582 277581 2026-05-24T01:30:00Z YoshiRulz 10156 277582 css text/css /* legible headings */ .mw-body h1, .mw-body .mw-heading1, .mw-body-content h1, .mw-body-content .mw-heading1, .mw-body-content h2, .mw-body-content .mw-heading2 { font-family: inherit; } /* fix casing in UI component for Z11s */ .ext-wikilambda-app-monolingual-string__chip > span.cdx-info-chip__text { text-transform: lowercase; } /* minimise error chips until mouseover'd, and fix the height so tables remain aligned */ .cdx-info-chip--error { line-height: 1.25rem !important; transition: max-width 0.25s ease-out; } .cdx-info-chip--error:not(:hover) { max-width: 1em; } de0q1hxtiyqv6jzccienj49tdehizsx 277583 277582 2026-05-24T01:31:47Z YoshiRulz 10156 277583 css text/css /* legible headings */ .mw-body h1, .mw-body .mw-heading1, .mw-body-content h1, .mw-body-content .mw-heading1, .mw-body-content h2, .mw-body-content .mw-heading2 { font-family: inherit; } /* widen input fields in composition editors */ .ext-wikilambda-app-field-overrides .cdx-text-input, .ext-wikilambda-app-field-overrides .cdx-text-area, .ext-wikilambda-app-field-overrides .cdx-select, .ext-wikilambda-app-field-overrides .cdx-select-vue, .ext-wikilambda-app-field-overrides .cdx-lookup { max-width: 25em; } /* fix casing in UI component for Z11s */ .ext-wikilambda-app-monolingual-string__chip > span.cdx-info-chip__text { text-transform: lowercase; } /* minimise error chips until mouseover'd, and fix the height so tables remain aligned */ .cdx-info-chip--error { line-height: 1.25rem !important; transition: max-width 0.25s ease-out; } .cdx-info-chip--error:not(:hover) { max-width: 1em; } 6n4wgxrq4tr6h57eh86csvggapak420 User:配合比全额更好(说说而已) 2 84160 277590 2026-05-24T03:11:35Z 配合比全额更好(说说而已) 67251 Created page with "Hello!I'm 配合比全额更好(说说而已)." 277590 wikitext text/x-wiki Hello!I'm 配合比全额更好(说说而已). 8ku76nd4c1cb0o0z2e6q0rysvn6qd2h Z35611 0 84161 277596 2026-05-24T06:31:11Z Asked42 932 277596 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35611" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35611K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subject" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z35611" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Classifying sentence in Bangla" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } cmmcf0jcd83f572mnb18j1w6nq7f8dr 277600 277596 2026-05-24T06:37:09Z Asked42 932 Added Z35612 to the approved list of implementations 277600 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35611" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35611K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subject" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z35612" ], "Z8K5": "Z35611" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Classifying sentence in Bangla" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } tf21a9zk9immivv8c6fe4kdt7n08tkj 277603 277600 2026-05-24T06:44:55Z Asked42 932 Added Z35613 to the approved list of test cases 277603 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35611" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35611K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subject" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z35613" ], "Z8K4": [ "Z14", "Z35612" ], "Z8K5": "Z35611" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Classifying sentence in Bangla" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2yragtl3lhn3vuk6opsm2isql5hmsoz Z35612 0 84162 277597 2026-05-24T06:34:13Z Asked42 932 277597 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35612" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35611", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": [ "Z6", { "Z1K1": "Z7", "Z7K1": "Z33172", "Z33172K1": { "Z1K1": "Z18", "Z18K1": "Z35611K1" } }, { "Z1K1": "Z7", "Z7K1": "Z35606", "Z35606K1": { "Z1K1": "Z18", "Z18K1": "Z35611K1" } } ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Classifying sentence in Bangla, simple composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 5504fv82148xk7vrvqrlgim92wkswb3 277601 277597 2026-05-24T06:39:24Z Asked42 932 277601 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35612" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35611", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": [ "Z6", { "Z1K1": "Z7", "Z7K1": "Z33172", "Z33172K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35611K1" } } }, { "Z1K1": "Z7", "Z7K1": "Z35606", "Z35606K1": { "Z1K1": "Z18", "Z18K1": "Z35611K1" } } ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Classifying sentence in Bangla, simple composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } n82o5yeis2lksta7svt2f0rvrmt0wle 277643 277601 2026-05-24T08:33:52Z Dv103 11127 made more efficient 277643 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35612" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35611", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": [ "Z6", { "Z1K1": "Z7", "Z7K1": "Z33172", "Z33172K1": { "Z1K1": "Z7", "Z7K1": "Z30120", "Z30120K1": { "Z1K1": "Z18", "Z18K1": "Z35611K1" }, "Z30120K2": [ "Z6030", "Z6033" ], "Z30120K3": [ "Z60", "Z1011" ], "Z30120K4": [ "Z6092" ] } }, { "Z1K1": "Z7", "Z7K1": "Z35606", "Z35606K1": { "Z1K1": "Z18", "Z18K1": "Z35611K1" } } ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Classifying sentence in Bangla, simple composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } oyd6cgr4f71zwpjjmjne8ggqpnz12sd Z35613 0 84163 277598 2026-05-24T06:35:48Z Asked42 932 277598 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35613" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35611", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35611", "Z35611K1": { "Z1K1": "Z6091", "Z6091K1": "Q1363" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "ত্রিপুরা ভারতের একটি রাজ্য" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "'ত্রিপুরা ভারতের একটি রাজ্য' [bn]" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 94phfuxis0rxrfxh17ozwrzy4dpqz2p Template:Edit on Wikidata 10 84164 277605 2026-05-24T07:35:40Z YoshiRulz 10156 Create template 277605 wikitext text/x-wiki <onlyinclude><includeonly><span style="margin-inline-start: 0.25em;">[[File:OOjs_UI_icon_edit-ltr-progressive.svg|frameless|text-top|10px|alt={{msg:i18n/info/edit-on-wikidata}}|link=https://www.wikidata.org/wiki/{{{1}}}?uselang={{PAGELANGUAGE}}#{{{2|}}}|{{msg:i18n/info/edit-on-wikidata}}]]</span></includeonly></onlyinclude> {{documentation}} rsvz0p2f974g76jh7lk2qzl4vlnbujb Template:Edit on Wikidata/doc 10 84165 277606 2026-05-24T07:36:01Z YoshiRulz 10156 Document template 277606 wikitext text/x-wiki Parameters: # QID of subject Item # PID of property to jump to; or <code>sitelinks-special</code> to jump to multilingual sitelinks Examples: * (e.g. on [[Z35312]]) <syntaxhighlight lang="wikitext" inline>domain: {{Q|26851286}}{{edit on Wikidata|Q105356164|P1568}}</syntaxhighlight> &longrightarrow; domain: {{Q|26851286}}{{edit on Wikidata|Q105356164|P1568}} * (e.g. on [[Z40]]) <syntaxhighlight lang="wikitext" inline>linked WD Item: {{Q|520777}}{{edit on Wikidata|Q520777|sitelinks-special}}</syntaxhighlight> &longrightarrow; linked WD Item: {{Q|520777}}{{edit on Wikidata|Q520777|sitelinks-special}} dwvw5maa0ph15gmn4ufyhvggt1pju8u Translations:Wikifunctions:Status updates/2026-05-23/Page display title/en 1198 84167 277614 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277614 wikitext text/x-wiki Wikifunctions:Status updates/2026-05-23 bogz32i86lsms7by3w9e7b9qe1bk76t Translations:Wikifunctions:Status updates/2026-05-23/1/en 1198 84168 277615 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277615 wikitext text/x-wiki Previous update 9vg8ik5cl54jflmg4oolhxg71iuevnn Translations:Wikifunctions:Status updates/2026-05-23/2/en 1198 84169 277616 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277616 wikitext text/x-wiki Next update c8d3p3ibb7xo6gugsz9ua4kzsie95pa Translations:Wikifunctions:Status updates/2026-05-23/3/en 1198 84170 277617 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277617 wikitext text/x-wiki === Annual plan 2026-2027 === iqpxmm5ovdh334ex446fihad9nbjjk1 Translations:Wikifunctions:Status updates/2026-05-23/4/en 1198 84171 277618 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277618 wikitext text/x-wiki The draft of the [[$1|Wikimedia Foundation 2026-2027 annual plan]] has been published for discussion. This includes an [[$2|objective for Abstract Wikipedia]]: pojp5kx6oumvlc4zt65v1jc9f73l3q3 Translations:Wikifunctions:Status updates/2026-05-23/5/en 1198 84172 277619 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277619 wikitext text/x-wiki '''''Demonstrate Abstract Wikipedia's viability as a scalable, human-centered way to create multilingual encyclopedic content.''''' tmxed3dqyzmpbfyv87570qpevu1obso Translations:Wikifunctions:Status updates/2026-05-23/6/en 1198 84173 277620 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277620 wikitext text/x-wiki Context: The Internet is increasingly shaped by automatically produced text that is often opaque and unverifiable. At the same time, manually created knowledge alone cannot adequately fill multilingual content gaps. Can Wikipedia’s human-led model of knowledge creation scale across languages without sacrificing trust, transparency, or community control? By making one contribution reusable across many languages, Abstract Wikipedia seeks to answer that question. 69xb8rhbq7h8i13jyzbludp2qh2t9cd Translations:Wikifunctions:Status updates/2026-05-23/7/en 1198 84174 277621 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277621 wikitext text/x-wiki This objective is initially broken down into four key results: qwdppg8ri2exu6grszure1oy4naz3rb Translations:Wikifunctions:Status updates/2026-05-23/8/en 1198 84175 277622 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277622 wikitext text/x-wiki '''Key Result: By the end of Q1, ensure that fragment rendering performance of the integration into Wikipedias is maintained without regression as deployment expands from the first demonstration into the initial target language Wikipedias, so that the system remains responsive and welcoming to editors as they draft changes.''' foxhhjnxrpufxo9k8xe5mxxt55coimx Translations:Wikifunctions:Status updates/2026-05-23/9/en 1198 84176 277623 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277623 wikitext text/x-wiki Context: Deepen multilingual viability for Abstract Wikipedia by ensuring that expansion of availability and usage does not impair performance. To make sure that Abstract Wikipedia is viable as a platform for users and sustainable for the Foundation, we will rebuild our prototype integration into Wikipedias, expanding from the work done in FY26Q4 into one that supports and scales successfully to our envisioned 5–10 additional early adopter Wikipedias, in a way that keeps down the operational cost for Wikimedia in terms of server time and so production load/scale. r5s45nb2pfjyxm9rdd6nlpnpr8ibss9 Translations:Wikifunctions:Status updates/2026-05-23/10/en 1198 84177 277624 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277624 wikitext text/x-wiki '''Key Result: By the end of Q1, increase the number of sentences and core elements in Abstract Wikipedia articles, with more articles receiving follow-up edits.''' 1qrpwpyr588oyjjgxqj7ne6r6gvlxp8 Translations:Wikifunctions:Status updates/2026-05-23/11/en 1198 84178 277625 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277625 wikitext text/x-wiki Context: This KR builds on our current focus on supporting the core community by strengthening the building blocks that enable richer, longer articles. It shifts the emphasis from simply increasing article volume to fostering meaningful article development that aligns with community expectations around quality. At the same time, it deepens editor engagement while keeping flexibility to adapt based on evolving community needs. 2irki9karupx1bfv1k3y7nc3bo0x8bi Translations:Wikifunctions:Status updates/2026-05-23/12/en 1198 84179 277626 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277626 wikitext text/x-wiki '''Key Result: By the end of Q2, one proof of concept article is created on Abstract Wikipedia and integrated in three Wikipedias.''' ksakfea7nmra82joleizvxl1hyh1h2t Translations:Wikifunctions:Status updates/2026-05-23/13/en 1198 84180 277627 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277627 wikitext text/x-wiki Context: This KR area defines measures for content growth and maintenance rates for the different relevant contents of Abstract Wikipedia, and based on these, measures that indicate that contributor communities will be able to to create and maintain Abstract Wikipedia articles, Wikifunctions language functions, relevant Wikidata Lexemes, and/or integration into Wikipedia at a rate that can meet the threshold for scalable content viability. We also develop an understanding of second-order effects on the development of existing Wikipedia language communities. q2129koyj1strpy5m39nzf9qcj82e7x Translations:Wikifunctions:Status updates/2026-05-23/14/en 1198 84181 277628 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277628 wikitext text/x-wiki '''Key Result: By the end of Q1, 100% of pilot cohort users have migrated away from Blazegraph endpoints.''' 31xr18hdfabmuc9fftl04hf5bvp3k5h Translations:Wikifunctions:Status updates/2026-05-23/15/en 1198 84182 277629 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277629 wikitext text/x-wiki Context: The Wikidata Platform backend replacement will be ready to serve production traffic by end of FY25/26. The new system will offer capacity improvements for Wikidata, Wikidata Query Service (WDQS), and all systems integrated with either tool. We are beginning our migration with a small group of pilot users to baseline migration efforts and user impact of the new backend. The learnings we collect during Q1 will be used to support the Abstract Wikipedia use case in Q2. k7e7fjtuz0c58slikce2nsb3qyh5szw Translations:Wikifunctions:Status updates/2026-05-23/16/en 1198 84183 277630 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277630 wikitext text/x-wiki Note that the language isn’t final, especially because we are asking [[$1|for feedback and discussion]] to amend the language based on the community's input. ihk95gczyaxsdf2z4o3aiti5zglehtl Translations:Wikifunctions:Status updates/2026-05-23/17/en 1198 84184 277631 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277631 wikitext text/x-wiki === Wikipediapodden Episode #368 with James Forrester === jj7tbfhwn39xjqohlfabdbqozt3s4yv Translations:Wikifunctions:Status updates/2026-05-23/18/en 1198 84185 277632 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277632 wikitext text/x-wiki In the latest episode of the Podcast about Wikipedia, [$1 Wikipediapodden], [$2 Jan Ainali] is interviewing James Forrester. They are discussing the progress of Abstract Wikipedia and Wikifunctions since the last episode that was centered around Abstract Wikipedia four years ago, [$3 #154]. p638f7c554qv3lk6lqhjj3x9o7rhm3e Translations:Wikifunctions:Status updates/2026-05-23/19/en 1198 84186 277633 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277633 wikitext text/x-wiki === Recent Changes in the software === 0wkgk5zbnz8yeis277kmszjppej85s4 Translations:Wikifunctions:Status updates/2026-05-23/20/en 1198 84187 277634 2026-05-24T08:26:54Z FuzzyBot 207 Importing a new version from external source 277634 wikitext text/x-wiki This week, we made improvements across Abstract Wikipedia and Wikifunctions. On Abstract Wikipedia, edit and history pages now show the article title as well as the QID, which should make it easier to understand which article you are looking at ($1 & $2). In addition, references created by functions can now also include working links to non-Wikimedia websites, so external citations work as expected ($3). 0bmlxsfuhszsoubkez4em7guntxombo Translations:Wikifunctions:Status updates/2026-05-23/21/en 1198 84188 277635 2026-05-24T08:26:55Z FuzzyBot 207 Importing a new version from external source 277635 wikitext text/x-wiki On Wikifunctions, we also added a new filter to Special:ListObjectsByType, so you can now filter functions based on what kind of result they return ($1). Finally, we ran a script to try to clean up out-of-date Test case results, though it doesn't seem to have fully fixed things ($2). rrs9y8s7rh5r8k5qhkcrojg394vsjdy Translations:Wikifunctions:Status updates/2026-05-23/22/en 1198 84189 277636 2026-05-24T08:26:55Z FuzzyBot 207 Importing a new version from external source 277636 wikitext text/x-wiki Two notes about forthcoming changes: we are planning to raise the version of the Python codebase we're using on the evaluator service, moving to approximately Python 3.14 equivalence, up from 3.13 ($1). We're saying "approximately" as technically this is RustPython, for performance and security reasons. We don't think this change will break anything, but we wanted to alert you ahead of the changes in the next week or two. Secondly, we are going to drop the pre-defined Function Z831/Validate against schema, which has not been available since the re-write of the orchestrator service, and we believe is unused ($2). edwe951cibsv1x5asei1cj1whlwa2r8 Translations:Wikifunctions:Status updates/2026-05-23/23/en 1198 84190 277637 2026-05-24T08:26:55Z FuzzyBot 207 Importing a new version from external source 277637 wikitext text/x-wiki === Fresh Functions weekly: 65 new Functions === ce47pvy7egh5jeqlirkxp9wt895w1lg Translations:Wikifunctions:Status updates/2026-05-23/24/en 1198 84191 277638 2026-05-24T08:26:55Z FuzzyBot 207 Importing a new version from external source 277638 wikitext text/x-wiki This week we had 65 new functions! 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! dxiem53ui6ynea10holbcwpfr0nia1k Translations:Wikifunctions:Status updates/2026-05-23/25/en 1198 84192 277639 2026-05-24T08:26:55Z FuzzyBot 207 Importing a new version from external source 277639 wikitext text/x-wiki A [$1 complete list of all functions sorted by when they were created] is available. 3brx2nrk9em2es1j2gn59c2f6vecc1q Z35615 0 84193 277652 2026-05-24T11:37:46Z HenkvD 1290 Classifying sentence in Dutch 277652 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35615" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35615K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subject" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z35615" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Classifying sentence in Dutch" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 40lgxgdudikoj3ul29sp2e4ope0ujtx Z35616 0 84194 277653 2026-05-24T11:39:38Z HenkvD 1290 [nl] Zondag is een weekdag. 277653 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35616" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35615", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35615", "Z35615K1": { "Z1K1": "Z6091", "Z6091K1": "Q132" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "Zondag is een weekdag." } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[nl] Zondag is een weekdag." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7hb9dy5jvpgopizz780sy0ahmhkwuc1 277655 277653 2026-05-24T11:46:40Z HenkvD 1290 277655 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35616" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35615", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35615", "Z35615K1": { "Z1K1": "Z6091", "Z6091K1": "Q132" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "zondag is een weekdag." } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[nl] zondag is een weekdag." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } pqdyuhr28khrauat8fchqr4nh51i7bo Z35617 0 84195 277654 2026-05-24T11:44:42Z HenkvD 1290 Classifying sentence in Dutch 277654 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35617" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35615", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z21394", "Z21394K1": [ "Z6", { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z18", "Z18K1": "Z35615K1" }, "Z23753K2": "Z1157" }, " is een ", { "Z1K1": "Z7", "Z7K1": "Z23753", "Z23753K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z23543", "Z23543K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z35615K1" } } } }, "Z23753K2": "Z1157" }, "." ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Classifying sentence in Dutch, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 6zadz6biqdytnelvq9upzqhpahjc1nr