Wikifunctions
wikifunctionswiki
https://www.wikifunctions.org/wiki/Wikifunctions:Main_Page
MediaWiki 1.47.0-wmf.1
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
Z60
0
13
272740
268840
2026-05-06T19:01:44Z
WikiLambda system
3
Updating pre-defined WikiLambda content creation
272740
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z60"
},
"Z2K2": {
"Z1K1": "Z4",
"Z4K1": "Z60",
"Z4K2": [
"Z3",
{
"Z1K1": "Z3",
"Z3K1": "Z6",
"Z3K2": "Z60K1",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language tag"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "kod języka"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "språkkod"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "ভাষা কোড"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "语言标签"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "kód"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "קוד שפה"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Code"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "code"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "kode"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "語言標籤"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "code"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "код языка"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "codul limbii"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "رمز اللغة"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "codice della lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "код језика"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "भाषा टैग"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "pananda ng wika"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1823",
"Z11K2": "етикет на езика"
}
]
}
},
{
"Z1K1": "Z3",
"Z3K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6"
},
"Z3K2": "Z60K2",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language tag aliases"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "alternatywne kody"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "alternativa koder"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "বিকল্প কোডসমূহ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "语言标签别名"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "aliasy kódu"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Code-Aliasse"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "code aliases"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "kode alternatif"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "語言標籤別名"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "code alternatif"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "синонимы кода"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "coduri alternative"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "رمز مستعار للغة"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "codici alternativi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "алтернативни кодови"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "भाषा टैग के उपनाम"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "mga alyas ng pananda ng wika"
}
]
}
}
],
"Z4K3": "Z160",
"Z4K4": "Z14326",
"Z4K7": [
"Z46"
],
"Z4K8": [
"Z64"
]
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Natural language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "স্বাভাবিক ভাষা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "Język naturalny"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Naturligt språk"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1513",
"Z11K2": "Természetes nyelv"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Přirozený jazyk"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "natürliche Sprache"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "自然言語"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "Естественный язык"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1127",
"Z11K2": "lenguaje natural"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "שפה טבעית"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1048",
"Z11K2": "Ngôn ngữ tự nhiên"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "natuurlijke taal"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1276",
"Z11K2": "Naturleg språk"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1227",
"Z11K2": "Naturlig språk"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "langage naturel"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "ภาษาธรรมชาติ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1616",
"Z11K2": "naravni jezik"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "linguagem natural"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1237",
"Z11K2": "Doğal dil"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1332",
"Z11K2": "Природна мова"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "Natural language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1657",
"Z11K2": "ਕੁਦਰਤੀ ਬੋਲੀ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1083",
"Z11K2": "قدرتی بولی"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "प्राकृतिक भाषा"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1191",
"Z11K2": "قدرتي ٻولي"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1151",
"Z11K2": "ꯉꯥꯡꯅꯕ ꯂꯣꯟ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1878",
"Z11K2": "ꠙꠇꠞꠤꠔ ꠜꠣꠡꠣ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Bahasa alami"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "自然语言"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "自然語言"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "자연어"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "φυσική γλώσσα"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "lengua natural"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1099",
"Z11K2": "natierlech Sprooch"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Asụsụ eke"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1360",
"Z11K2": "🗣️"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1288",
"Z11K2": "زمانی سروشتی"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "Limbă naturală"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "لغة طبيعية"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Lingua naturale"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1051",
"Z11K2": "luonnollinen kieli"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "Људски језик"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1207",
"Z11K2": "забони табиӣ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "Likas na wika"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1823",
"Z11K2": "Естествен език"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1127",
"Z31K2": [
"Z6",
"lengua natural"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"ordinary language"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1237",
"Z31K2": [
"Z6",
"sıradan dil"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1657",
"Z31K2": [
"Z6",
"ਕੁਦਰਤੀ ਭਾਸ਼ਾ",
"ਕੁਦਰਤੀ ਭਾਖਾ"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1083",
"Z31K2": [
"Z6",
"قدرتی بھاشا",
"قدرتی بھاکھا"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1078",
"Z31K2": [
"Z6",
"Bahasa manusia",
"Bahasa biasa"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1381",
"Z31K2": [
"Z6",
"linguagem ordinária"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"langage ordinaire"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1664",
"Z31K2": [
"Z6",
"limbă obișnuită"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"linguaggio naturale"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1181",
"Z31K2": [
"Z6",
"природан језик"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1820",
"Z31K2": [
"Z6",
"कुदरती ज़ुबान"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "যে শব্দাবলি দিয়ে এই উইকিতে বস্তুর নাম/বিবরণ/উপনাম লেখা হয়"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1127",
"Z11K2": "idioma hablado o escrito por humanos para propósitos generales de comunicación"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language naturally spoken by humans"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "jazyk přirozeně používaný lidmi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "taal die van nature door mensen wordt gesproken"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "ภาษาที่พูดโดยมนุษย์ทั่วไป"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1616",
"Z11K2": "jezik, ki ga govorijo ljudje"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "linguagem naturalmente falada pelos humanos"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1237",
"Z11K2": "insanların doğal olarak konuştuğu dil"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "language naturally spoken by humans"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1657",
"Z11K2": "ਇਨਸਾਨਾਂ ਦੁਆਰਾ ਬੋਲੀ ਜਾਣ ਵਾਲੀ ਭਾਸ਼ਾ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "bahasa yang dituturkan secara alami oleh manusia"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "γλώσσα που ομιλείται από τους ανθρώπους"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "lengua naturalmente hablado por humanos"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "asụsụ nke ụmụ mmadụ na-asụ."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1288",
"Z11K2": "زمانێک کە بە شێوەیەکی سروشتی لەلایەن مرۆڤەکانەوە قسەی پێ دەکرێت"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "langage naturellement parlé par les humains"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "limbă vorbită de către oameni în mod natural"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "لغة يتحدثها بشر بطبيعتهم"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Lingua naturalmente parlata dagli esseri umani"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "језик који људи користе за комуникацију"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "मनुष्यों द्वारा प्राकृतिक रूप से बोली जाने वाली भाषा।"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "wikang likas na sinasalita ng mga tao"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1823",
"Z11K2": "език, естествено говорен от хората."
}
]
}
}
ptpakyrp3xt25ro7iei88gi7yh277nb
Z11
0
14
272926
268824
2026-05-07T10:07:56Z
Mormegil
150
+cs alias
272926
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z11"
},
"Z2K2": {
"Z1K1": "Z4",
"Z4K1": "Z11",
"Z4K2": [
"Z3",
{
"Z1K1": "Z3",
"Z3K1": "Z60",
"Z3K2": "Z11K1",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "język"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "ভাষা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "语言"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "jazyk"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "språk"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "שפה"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Sprache"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "taal"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "bahasa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "語言"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "langue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "язык"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "limbă"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "језик"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "भाषा"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "wika"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1823",
"Z11K2": "език"
}
]
},
"Z3K4": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
},
{
"Z1K1": "Z3",
"Z3K1": "Z6",
"Z3K2": "Z11K2",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "tekst"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "পাঠ্য"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "文本"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "טקסט"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1625",
"Z11K2": "soratra"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "tekst"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "teks"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "文字"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "texte"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "текст"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "testo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "текст"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "टेक्स्ट"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "teksto"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1823",
"Z11K2": "текст"
}
]
},
"Z3K4": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
}
],
"Z4K3": "Z111",
"Z4K4": "Z14392",
"Z4K5": "Z21583",
"Z4K7": [
"Z46"
],
"Z4K8": [
"Z64"
]
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Monolingual text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "Tekst jednojęzyczny"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Enspråkig text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "একভাষিক পাঠ্য"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "einsprachiger Text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1576",
"Z11K2": "unulingva teksto"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Jednojazyčný text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "単一言語テキスト"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1709",
"Z11K2": "Teksts vienā valodā"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "Одноязычный текст"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "טקסט חד־לשוני"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1048",
"Z11K2": "Văn bản đơn ngôn ngữ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "eentalige tekst"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1227",
"Z11K2": "Enspråklig tekst"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "texte monolingue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "ข้อความภาษาเดียว"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1237",
"Z11K2": "Tek dilli metin"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "Texto monolíngue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1332",
"Z11K2": "Одномовний текст"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "Monolingual text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1625",
"Z11K2": "Soratra amin'ny fiteny tokana"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1051",
"Z11K2": "yksikielinen teksti"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Teks satu bahasa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "单语言文本"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "單語言文字"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "μονόγλωσσο κείμενο"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1531",
"Z11K2": "Teks ekabahasa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1434",
"Z11K2": "تيکس ايکابهاس"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "Texto monolingüe"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1099",
"Z11K2": "eesproochegen Text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "Text monolingv"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1902",
"Z11K2": "單語文本"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "نص أحادي اللغة"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Testo monolingue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "단일 언어 텍스트"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "एकभाषी टेक्स्ट"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "Једнојезични текст"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1597",
"Z11K2": "Birdilli mətn"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1207",
"Z11K2": "матни якзабона"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "Teksto sa isang wika"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1823",
"Z11K2": "Едноезичен текст"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1186",
"Z31K2": [
"Z6",
"טקסט חד-לשוני",
"טקסט חד לשוני",
"טקסט בלשון בודדת"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1048",
"Z31K2": [
"Z6",
"Văn bản đơn ngôn ngữ",
"Văn bản đơn ngữ"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1078",
"Z31K2": [
"Z6",
"Teks monobahasa"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1645",
"Z31K2": [
"Z6",
"单语文本"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1672",
"Z31K2": [
"Z6",
"單語文字"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1003",
"Z31K2": [
"Z6",
"texto en una lengua"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1902",
"Z31K2": [
"Z6",
"單語言文本"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1820",
"Z31K2": [
"Z6",
"एकभाषी पाठ्य"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1062",
"Z31K2": [
"Z6",
"Monotext"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "A Z6/String of text in a given Z60/Natural language, used to label things for humans to read."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "Ciąg znaków (Z6) w konkretnym języku naturalnym (Z60), stosowany w etykietach czytanych przez ludzi."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "textsträng på ett naturligt språk, avsedd för människor att läsa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "একটি Z60/স্বাভাবিক ভাষায় পাঠ্যের Z6/স্ট্রিং, যা দিয়ে মানুষদের পড়ার জন্য বস্তুর নাম দেওয়া হয়"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1576",
"Z11K2": "Z6/signoĉeno de teksto en difinita Z60/natura lingvo, uzata por etikedi aferojn por homoj legi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Textový Z6/Řetězec v daném Z60/Přirozeném jazyce, používaný pro lidsky čitelné označení"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Zeichenkette in einer bestimmten natürlichen Sprache zur Bezeichnung von Dingen"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "een Z6/tekenreeks in een bepaalde Z60/natuurlijke taal, gebruikt om dingen te labelen"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1048",
"Z11K2": "Một chuỗi (Z6) ký tự thể hiện một văn bản được viết bằng một ngôn ngữ tự nhiên (Z60)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "une Z6/Chaîne de texte dans un Z60/Langage naturel donné, utilisé pour être lisible par un humain"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "Uma Z6/Cadeia de texto em uma determinada Z60/Linguagem natural, usada para rotular coisas para humanos lerem."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "A Z6/String of text in a given Z60/Natural language, used to label things for humans to read."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "Z6/สตริง ของข้อความใน Z60/ภาษาธรรมชาติ ภาษาหนึ่ง ใช้แปะป้ายสิ่งต่าง ๆ ให้มนุษย์อ่าน"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Sebuah Z6/Untaian teks dalam sebuah Z60/Bahasa alami tertentu, digunakan untuk memberi label untuk dibaca oleh manusia"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "συμβολοσειρά χαρακτήρων σε μια συγκεκριμένη φυσική γλώσσα που χρησιμοποιείται για την ονομασία πραγμάτων"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1531",
"Z11K2": "Z6/Rentetan teks dalam Z60/Bahasa semula jadi yang diberi, digunakan untuk melabel benda untuk manusia baca."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1434",
"Z11K2": "Z6/رينتيتن تيکس دالم Z60/بهاس سمولا جادي يڠ دبري، دݢوناکن اونتوق ملابل بندا اونتوق ماءنسي باچ."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "Una Z6/Cadena de texto en una Z60/Lengua natural dada, usada para etiquetar cosas con el fin de que los humanos las puedan leer."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "Un Z6/Șir de text într-o anumită Z60/Limbă naturală, utilizat pentru a eticheta lucruri pentru a fi citite de oameni."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "Z6/سلسلة نص بـ Z60/لغة طبيعية محددة، تستخدم لتسمية الأشياء لتمكين القراءة على الأشخاص."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Una Z6/Stringa in una data Z60/Lingua naturale, usata per descrivere un'etichetta leggibile dagli umani"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "किसी Z60/प्राकृतिक भाषा में एक Z6/स्ट्रिंग; इससे मनुष्यों द्वारा पढ़ने की चीज़ों को लेबल किया जाता है।"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "Isang Z6/Hanay ng teksto sa isang partikular na Z60/Likas na wika, na ginagamit upang mag-etiketa ng mga bagay na mabasa ng mga tao."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1823",
"Z11K2": "Z6/Низ от текст на даден Z60/Естествен език, използван за етикетиране на неща, които хората могат да четат."
}
]
}
}
jlr7g3r7i6svpe0smb9mmyzs4pz27t5
Z20
0
21
272748
268835
2026-05-06T19:18:41Z
Dv103
11127
+it
272748
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20"
},
"Z2K2": {
"Z1K1": "Z4",
"Z4K1": "Z20",
"Z4K2": [
"Z3",
{
"Z1K1": "Z3",
"Z3K1": "Z8",
"Z3K2": "Z20K1",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "function"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "ফাংশন"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1657",
"Z11K2": "ਕਰਨੀ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1083",
"Z11K2": "کرنی"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "funkcja"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "函数"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "funkce"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "funktion"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "פונקציה"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Funktion"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "function"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1625",
"Z11K2": "lefa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1332",
"Z11K2": "функція"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "fungsi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "functie"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "函式"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "fonction"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "функция"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "funcție"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "دالة"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "функција"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "फ़ंक्शन"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "punsiyon"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1823",
"Z11K2": "функция"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "funzione"
}
]
}
},
{
"Z1K1": "Z3",
"Z3K1": "Z7",
"Z3K2": "Z20K2",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "call"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "কল"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1657",
"Z11K2": "ਲਾਉਣੀ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1083",
"Z11K2": "لاوݨی"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "wywołanie"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "调用"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "volání"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "anrop"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "קריאה לפונקציה"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Aufruf"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "call"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1625",
"Z11K2": "antso"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "panggilan"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "aanroep"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "呼叫"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "appel"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "вызов"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "apel"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "استدعاء"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "позив"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "कॉल"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "tawag"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1823",
"Z11K2": "извикване"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "chiamata"
}
]
}
},
{
"Z1K1": "Z3",
"Z3K1": "Z7",
"Z3K2": "Z20K3",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "result validation"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "ফলাফল বৈধকরণ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1657",
"Z11K2": "ਨਤੀਜਾ ਠੀਕ ਲੱਗਦਾ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1083",
"Z11K2": "نتیجہ ٹھیک لگدا"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "weryfikacja wyniku"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "结果验证"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "ověření výsledku"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "svarsvalidering"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "בדיקת התקינות של התוצאה"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Ergebnisprüfung"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "result validation"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1625",
"Z11K2": "fanekem-baliny"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "validasi hasil"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "resultaatvalidatie"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "結果驗證"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "validation du résultat"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "валидация результата"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "validarea rezultatului"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "التحقق من صحة النتيجة"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "валидација резултата"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "परिणाम का सत्यापन"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "pagpapatunay ng resulta"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1823",
"Z11K2": "валидиране на резултата"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "controllo del risultato"
}
]
}
}
],
"Z4K3": "Z120"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Test case"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "পরীক্ষার ক্ষেত্র"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1657",
"Z11K2": "ਜਾਂਚ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1083",
"Z11K2": "جانچ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "Przypadek testowy"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Testfall"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Testfall"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1576",
"Z11K2": "provkazo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Testovací případ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "テストケース"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1709",
"Z11K2": "Testpiemērs"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "מקרה בדיקה"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1048",
"Z11K2": "Kịch bản kiểm thử"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "ชุดทดสอบ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "cas de test"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "test"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1332",
"Z11K2": "Тест"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "Test case"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1625",
"Z11K2": "Tranga andrana"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "Caso de teste"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1051",
"Z11K2": "testitapaus"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Kasus uji"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "测试用例"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "測試案例"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "δοκιμαστική περίπτωση"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Nyocha ikpe"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Caso di test"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "Тестовый случай"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "Caz de test"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "حالة اختبار"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "테스트 케이스"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "Тест"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "परीक्षण का मामला"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1207",
"Z11K2": "ҳолати санҷишӣ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "Kaso ng pagsubok"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1823",
"Z11K2": "Тестов случай"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1592",
"Z31K2": [
"Z6",
"Test"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1186",
"Z31K2": [
"Z6",
"מקרה מבחן",
"מקרה בוחן"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1048",
"Z31K2": [
"Z6",
"Trường hợp kiểm thử",
"Ca kiểm thử"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1851",
"Z31K2": [
"Z6",
"กรณีทดสอบ"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1645",
"Z31K2": [
"Z6",
"测试"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Unit test"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1381",
"Z31K2": [
"Z6",
"Teste de unidade"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1005",
"Z31K2": [
"Z6",
"Тест-кейс",
"Тест кейс"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1664",
"Z31K2": [
"Z6",
"test unitar"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "A special call to a Z8/Function used to check if a Z14/Implementation returns the expected result."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "যদি Z14/বাস্তবায়ন ঠিক ফলাফল উৎপাদন করে সেটা দেখার জন্য বিশেষ একটি Z8/ফাংশনের কল"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "Szczególne wywołanie funkcji (Z8), wykorzystywane do sprawdzenia poprawności implementacji (Z14)."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "anrop till en funktion (Z8) för att se om en implementering (Z14) ger rätt svar"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1576",
"Z11K2": "speciala voko al Z8/funkcio uzata por kontroli ĉu Z14/efektivigo resendas la atendatan rezulton"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Speciální volání Z8/Funkce sloužící k ověření, že nějaká Z14/Implementace vrací očekávaný výsledek"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "spezieller Aufruf einer Funktion zur Überprüfung"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "aanroep van Z8/functie om te controleren of Z14/implementatie het verwachte resultaat retourneert"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1048",
"Z11K2": "Lời gọi một hàm (Z8) dùng để đối chiếu kết quả của một bản thực hiện (Z14) với kết quả mong đợi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "un appel spécial à une Z8/fonction pour valider qu'une Z14/implémentation renvoie le résultat voulu."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1113",
"Z11K2": "A special call to a Z8/Function used to check if a Z14/Implementation returns the expected result."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "Uma chamada especial para uma Z8/Função usada para verificar se uma Z14/Implementação retorna o resultado esperado."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "การเรียกใช้ Z8/ฟังก์ชัน แบบพิเศษ เพื่อตรวจว่า Z14/นำไปปฏิบัติ แล้วส่งผลลัพธ์ตามที่คาดหวังหรือไม่"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Panggilan khusus ke suatu Z8/Fungsi yang digunakan untuk memeriksa apakah Z14/Implementasi menghasilkan hasil yang diharapkan"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "קריאה מיוחדת ל־Z8/פונקציה שמשמשת לבדיקה אם Z14/מימוש מחזיר את התוצאה הצפויה."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1332",
"Z11K2": "Спеціальний виклик Z8/Функції, який використовується для перевірки, чи Z14/Реалізація повертає очікуваний результат."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Oku pụrụ iche gaa na Z8/Ọrụ a na-eji lelee ma Z14/Mmejuputa weghachiri rezọọtụ a tụrụ anya ya."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "Отдельный вызов Z8/Функции, используемый для проверки того, что Z14/Реализация возвращает ожидаемый результат."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "Un apel special la o Z8/Funcție utilizat pentru a verifica dacă o Z14/Implementare returnează rezultatul așteptat."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "استدعاء خاص لـ Z8/دالة ما يُستعمل للتحقق مما إذا كان Z14/التنفيذ يُرجع النتيجة المتوقّعة."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "Посебан позив Z8/Функције којим се проверава да ли Z14/Имплементација даје очекиван резултат."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "एक Z8/फ़ंक्शन के लिए एक विशेष कॉल जो यह जाँचता है कि एक Z14/कार्यान्वयन अपेक्षित परिणाम लौटा रहा है कि नहीं।"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1844",
"Z11K2": "Isang espesyal na tawag sa isang Z8/Punsiyon na ginagamit upang suriin kung binabalik ng isang Z14/Implementasyon ang inaasahang resulta."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1823",
"Z11K2": "Специално извикване на Z8/Функция, използвано за проверка дали Z14/Имплементация връща очаквания резултат."
}
]
}
}
8fd9nim2v39qlaq5ga4p517vk9e11mr
Z31
0
26
272741
261051
2026-05-06T19:02:02Z
WikiLambda system
3
Updating pre-defined WikiLambda content creation
272741
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z31"
},
"Z2K2": {
"Z1K1": "Z4",
"Z4K1": "Z31",
"Z4K2": [
"Z3",
{
"Z1K1": "Z3",
"Z3K1": "Z60",
"Z3K2": "Z31K1",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "język"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "ভাষা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "jazyk"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "语言"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Sprache"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "bahasa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "語言"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "שפה"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "langue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "язык"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "भाषा"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lingua"
}
]
}
},
{
"Z1K1": "Z3",
"Z3K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6"
},
"Z3K2": "Z31K2",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "stringset"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "napisy"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "স্ট্রিংসমূহ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "řetězce"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "字符串集"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Zeichensatz"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "himpunan untaian"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "字串集"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "ערכת מחרוזות"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "jeu de caractères"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "множество строк"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "स्ट्रिंगसेट"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lista di stringhe"
}
]
}
}
],
"Z4K3": "Z131",
"Z4K4": "Z32758",
"Z4K7": [
"Z46"
],
"Z4K8": [
"Z64"
]
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Monolingual stringset"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "Jednojęzyczny zbiór napisów"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "একভাষিক অক্ষরসারি সেট"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Textsträngar på ett språk"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Jednojazyčná sada řetězců"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "einsprachiger Textsatz"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1048",
"Z11K2": "Tập hợp chuỗi đơn ngữ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "eentalige tekenreeks"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "สตริงเซตภาษาเดียว"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Himpunan untaian satu bahasa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "单语言字符串集"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "單語言字串集"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "ערכת מחרוזות חד־לשונית"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1332",
"Z11K2": "Набір одномовних рядків"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "Conjunto de cadeias monolíngue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "phrase de texte monolingue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "Множество одноязычных строк"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1051",
"Z11K2": "yksikielinen merkkijonoryhmä"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "एकभाषी स्ट्रिंगसेट"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Lista di stringhe monolingue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "مجموعة السلاسل أحادية اللغة"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1048",
"Z31K2": [
"Z6",
"Tập hợp chuỗi một ngôn ngữ",
"Bộ chuỗi đơn ngữ",
"Bộ chuỗi một ngôn ngữ"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1078",
"Z31K2": [
"Z6",
"Himpunan teks satu bahasa"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1011",
"Z31K2": [
"Z6",
"একভাষিক স্ট্রিং সেট"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "A sequence of Z6/Strings in a given Z60/Natural language, used to document multiple human-readable labels for something, like aliases."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "Zbiór napisów (Z6) w pojedynczym języku naturalnym (Z60), używany np. dla zestawu aliasów."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "একটি Z60/স্বাভাবিক ভাষায় Z6/স্ট্রিঙের অনুক্রম"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "uppsättning textsträngar (Z6) på ett språk (Z60), används exempelvis för alias"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Seznam Z6/Řetězců v daném Z60/Přirozeném jazyce, používaný pro lidsky čitelná označení, např. aliasy"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Folge von Zeichenketten in einer bestimmten natürlichen Sprache"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "ลำดับของ Z6/สตริง ใน Z60/ภาษาธรรมชาติ ภาษาหนึ่ง "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Serangkaian Z6/Untaian dalam Z60/Bahasa alami tertentu, digunakan untuk mendokumentasikan kumpulan label yang bisa dibaca manusia, contohnya alias"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "רצף של Z6/מחרוזות ב־Z60/שפה טבעית שמשמש לתיעוד כמה תוויות קריאות לאנשים לדבר־מה, למשל כינויים."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "Uma sequência de Z6/Cadeias em uma determinada Z60/Linguagem natural, usada para documentar vários rótulos legíveis por humanos para algo, como aliases."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "une séquence de Z6/Chaîne dans un langage Z60/Langage naturel, utilisée pour documenter plusieurs libellés lisibles par l'homme pour quelque chose, comme des alias"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "Последовательность Z6/Строк на данном Z60/Естественном языке, используемая для документации нескольких меток, которые могут читать люди, для чего-нибудь, например для синонимов"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "किसी Z60/प्राकृतिक भाषा में Z6/स्ट्रिंग्स का एक अनुक्रम, जिसका उपयोग किसी चीज़ का उपनामों की तरह कई मनुष्य-पठनीय भाषाओं में लेबल्स को प्रलिखित करने के लिए किया जाता है।"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Una sequenza di stringhe in una data lingua, usata per documentare più etichette, come ad esempio gli alias."
}
]
}
}
050gdk4pfg5kcviqzuv2neuckhzl9sw
Z509
0
104
272673
220486
2026-05-06T14:17:03Z
Mormegil
150
+cs
272673
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z509"
},
"Z2K2": {
"Z1K1": "Z50",
"Z50K1": [
"Z3",
{
"Z1K1": "Z3",
"Z3K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z5"
},
"Z3K2": "Z509K1",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "errors"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "שגיאות"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "errori"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "грешке"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "त्रुटियाँ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "chyby"
}
]
}
}
],
"Z50K2": "Z509"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "List of errors"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "רשימת שגיאות"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "ত্রুটির তালিকা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Liste von Fehlern"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "liste d'erreurs"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "lijst van fouten"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "รายการความผิดพลาด"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1332",
"Z11K2": "Список помилок"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "Jerin kurakurai"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Lista di errori"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "Листа грешака"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "त्रुटियों की सूची"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Seznam chyb"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
5aia6uay7xg1j8w5svk6g4un5okn6r5
Wikifunctions:Project chat
4
1184
272676
272636
2026-05-06T14:36:28Z
YoshiRulz
10156
/* Nested functions in compositions */ Reply
272676
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 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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). — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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! — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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? — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 21:09, 24 April 2026 (UTC)
:I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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... — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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™'' 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 (「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!」). — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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)
== 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)
== 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)
1azmbd00i6ydbl3iepwsh4po6t2wluw
272699
272676
2026-05-06T17:22:44Z
GrounderUK
50
/* Z6830 for Chinese */ Reply
272699
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 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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). — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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! — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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? — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 21:09, 24 April 2026 (UTC)
:I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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... — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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™'' 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 (「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!」). — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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)
== 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)
== 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)
lsshqh5c7s8yzvax0h1ldz0pts2qtaa
272872
272699
2026-05-07T03:43:47Z
Sun8908
9804
/* Z6830 for Chinese */ Reply
272872
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 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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). — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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! — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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? — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 21:09, 24 April 2026 (UTC)
:I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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... — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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™'' 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 (「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!」). — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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)
== 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)
== 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)
o7aos9o95d4livpn7h5q3bvtddkxkex
Wikifunctions:Community portal
4
1724
272816
272621
2026-05-06T22:03:01Z
99of9
1622
/* Tasks listed by users */ Reply
272816
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
{{Shortcut|[[WF:CP]]}}
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
__NEWSECTIONLINK__
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
:::May I ask to add the pairs as well? They can also occur in {{Z|1099}}.
:::"ŋ": "Q463515"
:::"ø": "Q118519"
:::Thanks. --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 18:48, 11 April 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:57, 12 April 2026 (UTC)
:::::Thank you! (I overlooked that "ŋ" was already present). --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 16:42, 12 April 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:::I have fixed the errors and added a new test case. Please connect the implementation and all the test cases now. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:23, 28 March 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:04, 28 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
:What is wrong with my implementation at {{Z|Z32851}}? Btw, it would be really useful if errors said which dependency produced the error, instead of just saying "Error in evaluation". [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 07:18, 28 March 2026 (UTC)
::You were catching the wrong {{Z|50}}, but then the error should have bubbled up so you could see it. I think there's something broken in the site w/ {{Z|11}} right now since [[Z32804|I ran into a similar problem yesterday]]. (And to contradict my note there, while debugging your implementation I saw the same behaviour regardless of if I used [[Z26107]] or a literal Z11, so it must be a bug in WikiLambda.) [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 08:14, 28 March 2026 (UTC)
:::Seems to be resolved now. Your implementation has already been connected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:01, 2 April 2026 (UTC)
:Any guesses as to why [[Z32805]] is failing for [[Z33090]]? It says {{Z|507}} but still produces a value. Inspecting the actual and expected values ([https://www.wikifunctions.org/view/en/Z801?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z801%22%2C%22Z801K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z881%22%2C%22Z881K1%22%3A%22Z89%22%7D%2C%5B%22Z89%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3E%3C%2Ftd%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Cth%3EA%3C%2Fth%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Cth%3EB%3C%2Fth%3E%22%7D%5D%2C%5B%22Z89%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Cth%3E1%3C%2Fth%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3EA1%3C%2Ftd%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3EB1%3C%2Ftd%3E%22%7D%5D%2C%5B%22Z89%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Cth%3E2%3C%2Fth%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3EA2%3C%2Ftd%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3EB2%3C%2Ftd%3E%22%7D%5D%5D%7D via echo]), I can see they're identical. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:44, 3 April 2026 (UTC)
::My guess is that there is a bug relating to {{Z|Z877}}. There are no guarantees, but switching the equality function seems successful. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:56, 3 April 2026 (UTC)
:I suggested disconnecting implementations without mul fallback from {{Z|Z23753}} here: [[Talk:Z23753#Disconnect implementations without mul fallback]]. --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 17:30, 11 April 2026 (UTC)
:Can someone please connect the implementation and test cases here? {{Z|Z31832}} Thanks! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 18:44, 11 April 2026 (UTC)
::{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:49, 11 April 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 18:51, 11 April 2026 (UTC)
:Can someone please connect the implementation and test cases here? {{Z|Z33340}} Thanks! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 11 April 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:04, 11 April 2026 (UTC)
:::Thanks! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 21:05, 11 April 2026 (UTC)
:Me again: can someone please connect the implementation and test cases of {{Z|Z33333}}? Thanks. --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 21:51, 11 April 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:59, 11 April 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 22:15, 11 April 2026 (UTC)
:Is it possible to add the variant of Chinese in {{Z|Z24309}}? The following is the fallback mechanism based on practical implementation on zhwiki ([[:zh:Wikipedia:地区词处理]]).
:<syntaxhighlight lang="python">
'zh': ['zh', 'zh-hant', 'zh-hans' 'mul', 'en'],
'zh-hant': ['zh-hant', 'zh', 'mul', 'en'],
'zh-hans': ['zh-hans', 'zh', 'mul', 'en'],
'zh-tw': ['zh-tw', 'zh-hant', 'zh', 'mul', 'en'],
'zh-hk': ['zh-hk', 'zh-hant', 'zh-tw', 'zh', 'mul', 'en'],
'zh-mo': ['zh-mo', 'zh-hk', 'zh-hant', 'zh-tw', 'zh', 'mul', 'en'],
'zh-cn': ['zh-cn', 'zh-hans', 'zh', 'mul', 'en'],
'zh-sg': ['zh-sg', 'zh-hans', 'zh-cn', 'zh', 'mul', 'en'],
'zh-my': ['zh-my', 'zh-sg', 'zh-hans', 'zh-cn', 'zh', 'mul', 'en'],
</syntaxhighlight>
: Is the function supposed to be hardcoded like this? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:06, 13 April 2026 (UTC)
:: Sorry, I think we can omit zh-hant and zh-hans, as they are just the default implementation. I am also not sure whether zh should be included. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 11:08, 13 April 2026 (UTC)
::{{d}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:07, 13 April 2026 (UTC)
::The list is hardcoded because, for now, there is no better option. I tried to implement the function with an external Typed map, but the composition is too long and convoluted. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:08, 13 April 2026 (UTC)
:::Now I've managed to do it: the external map is {{Z|Z33395}}. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:23, 13 April 2026 (UTC)
::::Thank you @[[User:Dv103|Dv103]]. There are a few corrections that needs to be done:
::::*In both [[Z32013]] and [[Z33395]], there is an extra line of <code>"zh-hk": "zh-hant"</code>.
::::*Per Cantonese (yue) local consensus, the fallback language of yue (and yue-hans/t) should be English (en) rather than zh(-xx).
::::*There are some duplicates in the resulting list (see [[Z33436]]) since it falls into the while-loop multiple times (when 'lastcode' appears in 'codes' and before "mul" and "en" are added). This can be fixed by either modifying the while-loop (perhaps better approach) or hardcoding the whole list including mul and en.
::::*After doing some research, I think the fallback chain should follow the [https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/core/+/refs/heads/master/languages/messages/ gerrit files]. Please update the fallback chain according to the gerrit files. (Also, add zh-hant and zh-hans according to gerrit (but fix the point above first, otherwise there would be an infinite loop))
::::Thank you. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 07:26, 14 April 2026 (UTC)
:::::@[[User:Winston Sung|Winston Sung]], could you look into this and see if we can utilize gerrit directly? Or any other approaches that is better than hardcoding. Thank you. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:05, 14 April 2026 (UTC)
::::::Once they are in they won't change often, so this is not a terrible case for hardcoding. --~ [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 11:34, 14 April 2026 (UTC)
:::::I also don't see why we have to follow gerrit. Users here are welcome to come to consensus about how their language should operate on WF. Gerrit could be a good starting point, but I think we should retain agency. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 11:36, 14 April 2026 (UTC)
::::::Fair point. I think we can follow gerrit for now, as it should represent a consensus (more or less) for their language on other Wikimedia project. It would indeed not be a problem for hardcoding. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 12:19, 14 April 2026 (UTC)
:{{Z|26107}} is still broken it seems. And unlike last time I ran into it, [[Z33664|this time]] I don't have the luxury of using a literal Z11. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:33, 18 April 2026 (UTC)
::To me it seems that it is working fine. Could you create a test that fails? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 09:43, 18 April 2026 (UTC)
:::[[Z33730]], and from last time, [[Z32804]] [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 18 April 2026 (UTC)
::::I've connected those, and disabled the Implementation [[Z27080]] for now since the Function's other Implementations pass them. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 10:14, 18 April 2026 (UTC)
::::These are not standard tests, because the outer call of the test is not the tested function. I wonder if that is causing the failures. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 11:18, 18 April 2026 (UTC)
:::::Pretty sure it must be a v2 bug. The argument references must be resolved upstream; once they arrive here, it’s too late. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:25, 18 April 2026 (UTC)
{{tracked|T423853}}
::I think it’s the apply that is failing. The argument references [https://www.wikifunctions.org/view/en/Z801?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z801%22%2C%22Z801K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13436%22%2C%22Z13436K1%22%3A%22Z26107%22%2C%22Z13436K2%22%3A%22Z1444%22%2C%22Z13436K3%22%3A%5B%22Z6%22%2C%221%22%2C%222%22%5D%7D%7D appear unresolved]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:59, 18 April 2026 (UTC
::::I’ve added {{Z|Z33748}} to demonstrate the problem. I’ll file a ticket tomorrow, referencing {{Z|Z32804}} as well. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 18 April 2026 (UTC)
:Can someone import the {{t|about}} hatnote from one of the other wikis? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:40, 1 May 2026 (UTC)
:[[Module:Navbar]] seems to be broken; there's no rule for <code>.hlist > ul</code> present in the page. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:39, 3 May 2026 (UTC)
:Ugh I accidentally entered [[Z34853|this expression]] as the ''type'' for a persistent object instead of its value, and now I can't edit it. Please fix. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:12, 6 May 2026 (UTC)
::Sorry, the type of an existing object can only be changed by an administrator or staff. Please request at [[Wikifunctions:Administrators' noticeboard]] if no one spots your request here. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:19, 6 May 2026 (UTC)
:::I briefly tried yesterday, but couldn't see a way to do it in the interface. Perhaps easier to just make a new object and delete this one? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:03, 6 May 2026 (UTC)
==== Connection / Disconnection requests ====
Moved to [[Wikifunctions:Requests for connection and disconnection]]
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
:{{done}}, [[Special:Permalink/264775]] and [[Special:Permalink/264777]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:34, 11 April 2026 (UTC)
r0ij2nw4c9nmo4gzbouu2d3baxde5qo
272817
272816
2026-05-06T22:28:10Z
GrounderUK
50
/* Tasks listed by users */ Reply
272817
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
{{Shortcut|[[WF:CP]]}}
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
__NEWSECTIONLINK__
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
:::May I ask to add the pairs as well? They can also occur in {{Z|1099}}.
:::"ŋ": "Q463515"
:::"ø": "Q118519"
:::Thanks. --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 18:48, 11 April 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:57, 12 April 2026 (UTC)
:::::Thank you! (I overlooked that "ŋ" was already present). --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 16:42, 12 April 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:::I have fixed the errors and added a new test case. Please connect the implementation and all the test cases now. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:23, 28 March 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:04, 28 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
:What is wrong with my implementation at {{Z|Z32851}}? Btw, it would be really useful if errors said which dependency produced the error, instead of just saying "Error in evaluation". [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 07:18, 28 March 2026 (UTC)
::You were catching the wrong {{Z|50}}, but then the error should have bubbled up so you could see it. I think there's something broken in the site w/ {{Z|11}} right now since [[Z32804|I ran into a similar problem yesterday]]. (And to contradict my note there, while debugging your implementation I saw the same behaviour regardless of if I used [[Z26107]] or a literal Z11, so it must be a bug in WikiLambda.) [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 08:14, 28 March 2026 (UTC)
:::Seems to be resolved now. Your implementation has already been connected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:01, 2 April 2026 (UTC)
:Any guesses as to why [[Z32805]] is failing for [[Z33090]]? It says {{Z|507}} but still produces a value. Inspecting the actual and expected values ([https://www.wikifunctions.org/view/en/Z801?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z801%22%2C%22Z801K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z881%22%2C%22Z881K1%22%3A%22Z89%22%7D%2C%5B%22Z89%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3E%3C%2Ftd%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Cth%3EA%3C%2Fth%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Cth%3EB%3C%2Fth%3E%22%7D%5D%2C%5B%22Z89%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Cth%3E1%3C%2Fth%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3EA1%3C%2Ftd%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3EB1%3C%2Ftd%3E%22%7D%5D%2C%5B%22Z89%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Cth%3E2%3C%2Fth%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3EA2%3C%2Ftd%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3EB2%3C%2Ftd%3E%22%7D%5D%5D%7D via echo]), I can see they're identical. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:44, 3 April 2026 (UTC)
::My guess is that there is a bug relating to {{Z|Z877}}. There are no guarantees, but switching the equality function seems successful. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:56, 3 April 2026 (UTC)
:I suggested disconnecting implementations without mul fallback from {{Z|Z23753}} here: [[Talk:Z23753#Disconnect implementations without mul fallback]]. --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 17:30, 11 April 2026 (UTC)
:Can someone please connect the implementation and test cases here? {{Z|Z31832}} Thanks! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 18:44, 11 April 2026 (UTC)
::{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:49, 11 April 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 18:51, 11 April 2026 (UTC)
:Can someone please connect the implementation and test cases here? {{Z|Z33340}} Thanks! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 11 April 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:04, 11 April 2026 (UTC)
:::Thanks! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 21:05, 11 April 2026 (UTC)
:Me again: can someone please connect the implementation and test cases of {{Z|Z33333}}? Thanks. --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 21:51, 11 April 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:59, 11 April 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 22:15, 11 April 2026 (UTC)
:Is it possible to add the variant of Chinese in {{Z|Z24309}}? The following is the fallback mechanism based on practical implementation on zhwiki ([[:zh:Wikipedia:地区词处理]]).
:<syntaxhighlight lang="python">
'zh': ['zh', 'zh-hant', 'zh-hans' 'mul', 'en'],
'zh-hant': ['zh-hant', 'zh', 'mul', 'en'],
'zh-hans': ['zh-hans', 'zh', 'mul', 'en'],
'zh-tw': ['zh-tw', 'zh-hant', 'zh', 'mul', 'en'],
'zh-hk': ['zh-hk', 'zh-hant', 'zh-tw', 'zh', 'mul', 'en'],
'zh-mo': ['zh-mo', 'zh-hk', 'zh-hant', 'zh-tw', 'zh', 'mul', 'en'],
'zh-cn': ['zh-cn', 'zh-hans', 'zh', 'mul', 'en'],
'zh-sg': ['zh-sg', 'zh-hans', 'zh-cn', 'zh', 'mul', 'en'],
'zh-my': ['zh-my', 'zh-sg', 'zh-hans', 'zh-cn', 'zh', 'mul', 'en'],
</syntaxhighlight>
: Is the function supposed to be hardcoded like this? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:06, 13 April 2026 (UTC)
:: Sorry, I think we can omit zh-hant and zh-hans, as they are just the default implementation. I am also not sure whether zh should be included. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 11:08, 13 April 2026 (UTC)
::{{d}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:07, 13 April 2026 (UTC)
::The list is hardcoded because, for now, there is no better option. I tried to implement the function with an external Typed map, but the composition is too long and convoluted. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:08, 13 April 2026 (UTC)
:::Now I've managed to do it: the external map is {{Z|Z33395}}. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:23, 13 April 2026 (UTC)
::::Thank you @[[User:Dv103|Dv103]]. There are a few corrections that needs to be done:
::::*In both [[Z32013]] and [[Z33395]], there is an extra line of <code>"zh-hk": "zh-hant"</code>.
::::*Per Cantonese (yue) local consensus, the fallback language of yue (and yue-hans/t) should be English (en) rather than zh(-xx).
::::*There are some duplicates in the resulting list (see [[Z33436]]) since it falls into the while-loop multiple times (when 'lastcode' appears in 'codes' and before "mul" and "en" are added). This can be fixed by either modifying the while-loop (perhaps better approach) or hardcoding the whole list including mul and en.
::::*After doing some research, I think the fallback chain should follow the [https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/core/+/refs/heads/master/languages/messages/ gerrit files]. Please update the fallback chain according to the gerrit files. (Also, add zh-hant and zh-hans according to gerrit (but fix the point above first, otherwise there would be an infinite loop))
::::Thank you. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 07:26, 14 April 2026 (UTC)
:::::@[[User:Winston Sung|Winston Sung]], could you look into this and see if we can utilize gerrit directly? Or any other approaches that is better than hardcoding. Thank you. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:05, 14 April 2026 (UTC)
::::::Once they are in they won't change often, so this is not a terrible case for hardcoding. --~ [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 11:34, 14 April 2026 (UTC)
:::::I also don't see why we have to follow gerrit. Users here are welcome to come to consensus about how their language should operate on WF. Gerrit could be a good starting point, but I think we should retain agency. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 11:36, 14 April 2026 (UTC)
::::::Fair point. I think we can follow gerrit for now, as it should represent a consensus (more or less) for their language on other Wikimedia project. It would indeed not be a problem for hardcoding. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 12:19, 14 April 2026 (UTC)
:{{Z|26107}} is still broken it seems. And unlike last time I ran into it, [[Z33664|this time]] I don't have the luxury of using a literal Z11. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:33, 18 April 2026 (UTC)
::To me it seems that it is working fine. Could you create a test that fails? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 09:43, 18 April 2026 (UTC)
:::[[Z33730]], and from last time, [[Z32804]] [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 18 April 2026 (UTC)
::::I've connected those, and disabled the Implementation [[Z27080]] for now since the Function's other Implementations pass them. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 10:14, 18 April 2026 (UTC)
::::These are not standard tests, because the outer call of the test is not the tested function. I wonder if that is causing the failures. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 11:18, 18 April 2026 (UTC)
:::::Pretty sure it must be a v2 bug. The argument references must be resolved upstream; once they arrive here, it’s too late. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:25, 18 April 2026 (UTC)
{{tracked|T423853}}
::I think it’s the apply that is failing. The argument references [https://www.wikifunctions.org/view/en/Z801?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z801%22%2C%22Z801K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13436%22%2C%22Z13436K1%22%3A%22Z26107%22%2C%22Z13436K2%22%3A%22Z1444%22%2C%22Z13436K3%22%3A%5B%22Z6%22%2C%221%22%2C%222%22%5D%7D%7D appear unresolved]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:59, 18 April 2026 (UTC
::::I’ve added {{Z|Z33748}} to demonstrate the problem. I’ll file a ticket tomorrow, referencing {{Z|Z32804}} as well. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 18 April 2026 (UTC)
:Can someone import the {{t|about}} hatnote from one of the other wikis? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:40, 1 May 2026 (UTC)
:[[Module:Navbar]] seems to be broken; there's no rule for <code>.hlist > ul</code> present in the page. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:39, 3 May 2026 (UTC)
:Ugh I accidentally entered [[Z34853|this expression]] as the ''type'' for a persistent object instead of its value, and now I can't edit it. Please fix. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:12, 6 May 2026 (UTC)
::Sorry, the type of an existing object can only be changed by an administrator or staff. Please request at [[Wikifunctions:Administrators' noticeboard]] if no one spots your request here. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:19, 6 May 2026 (UTC)
:::I briefly tried yesterday, but couldn't see a way to do it in the interface. Perhaps easier to just make a new object and delete this one? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:03, 6 May 2026 (UTC)
::::I could be wrong, but I think you just need to copy the list, replace the call to {{Z|Z801}} with a call to {{Z|Z881}} and paste in the copied list. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:28, 6 May 2026 (UTC)
==== Connection / Disconnection requests ====
Moved to [[Wikifunctions:Requests for connection and disconnection]]
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
:{{done}}, [[Special:Permalink/264775]] and [[Special:Permalink/264777]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:34, 11 April 2026 (UTC)
bgtsmxgic39lho0koy04675a363qvu9
272819
272817
2026-05-06T23:45:46Z
99of9
1622
/* Tasks listed by users */ Reply
272819
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
{{Shortcut|[[WF:CP]]}}
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
[[Special:MyLanguage/Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful links ==
* [[Wikifunctions:List of policies and guidelines]]
* [[Special:MyLanguage/Help:Contents|Help:Contents]]
* [[Special:MyLanguage/Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Special:MyLanguage/Wikifunctions:User scripts|Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
* [[Wikifunctions:Requests for deletions]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Report vandalism]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg|class=skin-invert]] [[Special:MyLanguage/Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[Special:MyLanguage/Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
*[[File:Octicons-tools.svg|15px|class=skin-invert]] [[:Category:Tracking categories|Tracking categories]]
* [[File:Octicons-tools.svg|15px|class=skin-invert]] [[Wikifunctions:Request for cleanup|Requests for cleanup]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
__NEWSECTIONLINK__
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:Heya, I tried to make a {{Z|Z29010}} implementation in composition <small>({{Z|Z29012}})</small>, but it errors out: <code>Unable to convert to canonical form (path to the problem: "Z22K2.K1.K1.K2.Z5K2.Z528K1.Z99K1.Z7K1.Z8K4.[ 1 ].Z14K2.Z26107K2.Z21394K1.[ 1 ].Z10771K1.Z23753K2.Z18K1.{"Z1K1":"Z18","Z6K1":"Z29010K5","Z18K1":""}")</code> - why does this happen, and how would I fix it? I tried to use {{Z|Z28030}} as a guide, but for a first dive into composition I may have taken on something a bit large. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 02:49, 23 October 2025 (UTC)
::When you go to {{Z|Z29012}} you'll see two red words "Function" and "Wikidata item". Both of those were not set in the composition, so it is missing information. There may be more deeper problems, but fix this first. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:33, 23 October 2025 (UTC)
::{{done}} Works now, seemed to be just a couple typos. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:14, 24 December 2025 (UTC)
:Please connect the tests and implementation for {{Z|29750}}. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:33, 25 November 2025 (UTC)
::This ^ was done, so thanks for that, and I've now built a new function around it that's ready to be connected: {{Z|29749}}<!-- --><br>Having fallbacks to other languages and indicating such does of course raise the question of ''when'' it should be indicated, and I certainly don't have the answer, so I might leave this message here for the multilingual among you to see it and chime in. Either on [[Talk:Z24144]], or by way of adding a test case on one of these functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:42, 25 November 2025 (UTC)
:::If it’s about the way labels in fallback languages are displayed, perhaps the [[Talk:Z21583|Discussion page]] for {{Z|Z21583}} would be a better location? There has been some discussion at [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. (The spinoff, [[Wikifunctions talk:Abstract Wikipedia/2025 fragment experiments#Fallbacks]], might also be relevant.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 15:23, 25 November 2025 (UTC)
:Now that raising and catching errors has better support, [[Z28159]] should take an {{Z|50}} instead of a ZID {{Z|6}}. Unfortunately it's already been used in other functions so it might be a pain to change. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:20, 21 December 2025 (UTC)
::Yes. I think this gets fixed along with {{Z|Z28162}}, which is listed in [[Wikifunctions:Request for cleanup#Function:(!) throw error (Z28154)]].
::@[[User:Dv103|Dv103]] I was thinking we might just wrap {{Z|851}}? Custom errors will support only strings for the foreseeable future, as I understand it [can’t currently locate the relevant comment on Phabricator]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 21 December 2025 (UTC)
:The simple implementation for {{Z|30737}} is failing with [[Z516]], even though I can get a (correct) result by [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30260%22%2C%22Z30260K1%22%3A%5B%22Z6095%22%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L100%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L101%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L102%22%7D%2C%7B%22Z1K1%22%3A%22Z6095%22%2C%22Z6095K1%22%3A%22L103%22%7D%5D%2C%22Z30260K2%22%3A%5B%22Z6030%22%2C%22Z6031%22%5D%2C%22Z30260K3%22%3A%5B%22Z60%22%5D%2C%22Z30260K4%22%3A%5B%22Z6092%22%5D%7D%7D%7D calling those functions on the test input]. Oddly enough [https://www.wikifunctions.org/view/en/Z12681?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z12681%22%2C%22Z12681K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22475%22%2C%22Z22475K1%22%3A%7B%22Z1K1%22%3A%22Z39%22%2C%22Z39K1%22%3A%22K1%22%7D%2C%22Z22475K2%22%3A%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z883%22%2C%22Z883K1%22%3A%22Z1%22%2C%22Z883K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%7B%22Z1K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z882%22%2C%22Z882K1%22%3A%22Z1%22%2C%22Z882K2%22%3A%22Z1%22%7D%2C%22K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%226%22%7D%2C%22K2%22%3A%22Abacus%22%7D%5D%7D%7D%7D a trivial input] causes that to fail with the same error. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:43, 26 December 2025 (UTC)
::Sorry, I missed this one. Initial validation rejects a map with {{Z|Z1}} as its key type. Although it’s not guaranteed to be hashable, [[Z1]] should probably be admitted as a placeholder {{Z|Z4}}. In any event, using {{Z|Z6}} as the alternative seems to work and does not restrict the map to having only Strings for keys (as seen in {{Z|Z30906}}, where the keys have {{Z|Z39}} for their Type). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:18, 31 December 2025 (UTC)
:::[[Z30907|Documented]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:50, 31 December 2025 (UTC)
:The implementation for {{Z|29183}} is slightly incorrect, it needs to subtract 9 on the condition that variable <code>add</code> is >9 (tests >10 currently). For me to change {{Z|29185}}, the implementation needs to be disconnected from {{Z|29183}} by a functioneer ([[Special:ListUsers/functioneer]]) first. The english wiki also warns about using negative values as input for the modulo operation, so, in addition, the result computation should be rephrased to be
<syntaxhighlight lang="python">
def intdivceil(x, d):
return x//d + (0 if x % d == 0 else 1)
return 10 * intdivceil(sum, 10) - sum
</syntaxhighlight>
:I'd also like to have all test cases of {{Z|29183}} connected by a functioneer, after changes to {{Z|29185}} have been commited. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 21:54, 2 January 2026 (UTC)
::Disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:12, 2 January 2026 (UTC)
:::Thanks, changes done - please reconnect. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 22:33, 2 January 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:08, 2 January 2026 (UTC)
:::Weird: {{Z|30940}} and {{Z|30941}} tests do not pass after the reconnect, although [https://www.wikifunctions.org/wiki/Special:RunFunction?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29183%22%2C%22Z29183K1%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%2290544230009%22%7D%7D running them manually] produces the expected result. Judging from the timestamps within the detail view, pressing the Refresh-Button does not actually re-run the tests.
:::It seems that their results have been generated with the previous function. Can you make an effort to dis- and reconnect these two tests? The (unconfirmed) presumption is that tests only run on demand (event-triggered vs time scheduled). If this is true it may be noteworthy in the [[WF:FAQ]].
:::The first test, {{Z|29184}}, did not exhibit the same problem, it has been updated as expected. Because the execution timestamps of all three tests do not vary greatly, they were probably triggered, correctly so, by the same event. In theory they should then have consequently worked on the same function - since the test results suggest different, there could have either been a race condition or a stale cache, eventually with some tests running before the action that triggered them was fully committed. If this is not a timing issue, the response to the connection event might miss to update some of the data structures associated with the connected tests and simply run them unchanged, but this is speculative. --[[User:Cmuelle8|Cmuelle8]] ([[User talk:Cmuelle8|talk]]) 01:38, 3 January 2026 (UTC)
::::Yeah the cached failures are super annoying, I think they reduced the cache duration recently but it's still too high IMO. Disconnecting and reconnecting the Implementation triggered them to run again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:16, 3 January 2026 (UTC)
:Can somebody connect the tests and implementation of this function? [[Z31047|arithmetical average of numbers (Z31047)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 04:35, 13 January 2026 (UTC)
::The implementation seems to fail all the tests. I suspect from the use of <code>{}</code> in Python code. Besides, on the implementation ({{Z|Z31048}}), it used <code>sum</code> as variable, which I don't think allowable in Python. Try to use another variable name. Last, what is the expected result of {{Z|Z31050}}? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 04:50, 13 January 2026 (UTC)
:::Sorry, @[[User:Sys64ish|Sys64ish]], I just got the expected result from {{Z|31050}}. I have connected the test cases, but not yet for the implementation as you may want to fix it first(?) [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:05, 13 January 2026 (UTC)
::::Fixed it, passes tests [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 05:09, 13 January 2026 (UTC)
:::::{{Done}} connected! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:11, 13 January 2026 (UTC)
:When I go to add a test to this function, for some reason I cannot select a fixed value for the expected value, the type is fixed to a function call. Can somebody fix this? [[Z31051|graph a one parameter function (Z31051)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 06:16, 13 January 2026 (UTC)
::You need to select an equality function, which in this case would be {{Z|889}} with {{Z|20924}} as an argument. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:59, 13 January 2026 (UTC)
:::Just what I was about to say, only shorter!
:::I had a look at the Python implementation and that doesn’t appear to be viable, because a {{Z|Z8}} object is data, not a callable Python function. I think a composition is the only option here, but we don’t appear to have a [[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 Z20838"|generator function for ]]{{Z|Z20838}} yet ([[Special:Search/:"z8k2 z1k1 z7 z7k1 z881 z881k1 z19677"|nor for rationals]]). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:39, 13 January 2026 (UTC)
:Can somebody connect the tests and implementations of this function? [[Z31079|decimal number range (Z31079)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:57, 14 January 2026 (UTC)
::I’ve connected the test but there are a few issues with the implementation. The function has no return and the list to return shouldn’t be called range, as that overwrites the built-in range() function. Wikifunctions.Error requires a list of strings and you should probably guard against K3 being zero. Just let us know if you need any help with this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:22, 14 January 2026 (UTC)
:::I think I fixed the implementation [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 14:28, 14 January 2026 (UTC)
::::Looks close. You probably want to *return* Wikifunctions.Error in order to halt execution. The K1 and K2 arguments are float64s rather than strings, so they need coercing to str for the error. You still risk a divide by zero if K3 has no guard. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:48, 14 January 2026 (UTC)
:::::I fixed it now, tests are passing(?) and when I run it locally it works as intended. [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 02:22, 15 January 2026 (UTC)
::::::{{done}}
::::::I created {{Z|31093}} to fix the last test, since your Python implementation was returning slightly inaccurate values for [[w:en:Floating-point_arithmetic#Accuracy_problems|reasons]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:11, 15 January 2026 (UTC)
:Can somebody connect the impl. and test cases of these functions? [[Z31051|generate real (float64) list from a function (Z31051)]] [[Z31111|increment (float64) (Z31111)]] [[Z31116|decrement (float64) (Z31116)]] [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 00:11, 16 January 2026 (UTC)
::Mostly. I see {{Z|Z31051}} has its Minimum and Maximum defined as integers rather than float64, as defined for the generator. Something has to change here, and I’m guessing it’s [[Z31051]], so I disconnected its implementation again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 01:31, 16 January 2026 (UTC)
:::all inputs except the input for the function are now float64 [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 13:36, 16 January 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:07, 16 January 2026 (UTC)
: Can someone here connect the implementation and test cases of this function: [[Z18679|Malay cardinal to ordinal]]? {{User|Hakimi97}}
:: {{Done}} [[User:Sys64ish|Sys32ish]] ([[User talk:Sys32ish|talk]]) 09:16, 19 January 2026 (UTC)
:Can someone please add the following IPA symbols needed for {{Z|Z1099}} to <code>lookup</code> in the JavaScript implementation {{Z|Z29880}}?
: "ɐ": "Q503323",
: "u": "Q29653",
: "ɕ": "Q605116",
: "x": "Q271603",
: "ʑ": "Q684085",
: "ɣ": "Q654670",
: "ʀ": "Q864677",
: "χ": "Q849796",
: "ʁ": "Q1054276",
: "o": "Q862579",
: "æ": "Q740768",
: "ɪ": "Q1070049",
: "ʊ": "Q1137807",
:Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:23, 27 February 2026 (UTC)
::I forgot to mention the ligatures
::"ʤ": "Q778145",
::"ʧ": "Q518603",
::which could be put next to the already present
::"dʒ": "Q778145",
::"tʃ": "Q518603",
::--[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 27 February 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 00:33, 28 February 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 08:59, 28 February 2026 (UTC)
:::May I ask to add the pairs as well? They can also occur in {{Z|1099}}.
:::"ŋ": "Q463515"
:::"ø": "Q118519"
:::Thanks. --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 18:48, 11 April 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:57, 12 April 2026 (UTC)
:::::Thank you! (I overlooked that "ŋ" was already present). --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 16:42, 12 April 2026 (UTC)
: Can someone connect up [[Z31844]] and [[Z31837]]. These are better than the other implementations on their pages. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:04, 1 March 2026 (UTC)
::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:12, 1 March 2026 (UTC)
:Hello, please connect {{Z|Z31729}}'s implementation and test cases. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:48, 8 March 2026 (UTC)
::The implementation does not seem to pass any of the test case. If you click on the [[File:Icon Information.svg|Icon_Information|15px|class=skin-invert-image]] (i) icon on the test status, you can find the error, what the implementation output, etc. Try to fix the implementation first. Thanks! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 11:22, 8 March 2026 (UTC)
::It seems you're returning a string value when it expects a HTML fragment. HTML fragment and string are different. Maybe you can change the output type to string? [[User:Sys64ish|Sys64ish]] ([[User talk:Sys64ish|talk]]) 11:44, 10 March 2026 (UTC)
:::Thanks for running the tests, @[[User:NikolasKHF|NikolasKHF]]; I couldn’t run them on my own (seemingly because I don’t have the needed right). I will fix the errors.
:::Thanks for looking into this, @[[User:Sys64ish|Sys64ish]]. I actually did want to return an HTML fragment instead of a string because I think that would be more useful on the wikis. However, it looks like I forgot to convert the string for most cases where an output is returned (hence why only one test failure actually complains about the output value being incorrect). [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 19:52, 10 March 2026 (UTC)
:::I have fixed the errors and added a new test case. Please connect the implementation and all the test cases now. Thank you. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 10:23, 28 March 2026 (UTC)
::::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:04, 28 March 2026 (UTC)
:Can someone connect [[Z31994]] and [[Z31999]] with its tests and implementations. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:41, 11 March 2026 (UTC)
::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 08:49, 11 March 2026 (UTC)
:::Oh yeah I also made another function now, [[Z32004]]. Can someone connect its implementations and tests. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 09:02, 11 March 2026 (UTC)
::::{{done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:23, 11 March 2026 (UTC)
:Can someone connect up [[Z32013]]. Also how do you become able to connect and disconnect implementations? Is it only available to extended confirmed users? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:06, 12 March 2026 (UTC)
::I don’t believe this implementation should be connected at this time. The existing Python implementation respects the community consensus represented by the test cases connected to {{Z|Z24144}}. What do you think, @[[User:99of9|99of9]]? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:28, 12 March 2026 (UTC)
:::Fair, I didn't realise the test cases served as implicit consensus. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 11:42, 12 March 2026 (UTC)
::::No worries. It’s not clearly articulated, but we’ll clarify that later. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:51, 12 March 2026 (UTC)
:::I'm not sure. At the moment it correctly reproduces all those we got "consensus" for. So in some sense this implementation is just suggesting/assuming extra fallbacks for those we haven't properly considered? One option would be to connect it and then add counter test cases if we ever felt we didn't like it's current suggestions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:30, 13 March 2026 (UTC)
::::We should be careful… It’s not easy to tell how many test case results would be affected. It’s easy enough to disconnect again, of course, so I’m happy to give it a go while activity in this domain is at a low ebb. {{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:04, 13 March 2026 (UTC)
::To connect implementations, you need Functioneer rights, which can be requested here [[Wikifunctions:Requests for user groups]]. There is a 48-hour waiting period. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:32, 12 March 2026 (UTC)
:Can someone connect up [[Z32027]] with its implementation and test? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:29, 13 March 2026 (UTC)
::And also [[Z32031]]. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 10:16, 13 March 2026 (UTC)
:::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:51, 13 March 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:50, 13 March 2026 (UTC)
{{tracked|T419920|resolved}}
:What is wrong with my implementation at [[Z32055]]? Looking at the failed test, it returns an error because 'dict' has no attribute 'split', but I didn't use split anywhere in my code. What is the issue? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 01:38, 14 March 2026 (UTC)
::I think that error message is coming from the [[Z20424|type converter]]. I think <code>Z20424K1['Z20420K2']['Z20342K1']</code> would be a dictionary representing a {{Z|16098}} but the code is written as though it were a string? Neither Python nor type converters are in my wheelhouse. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:49, 14 March 2026 (UTC)
:::I think this is [[:phab:T419920]] and presumed to be a consequence of this week’s rollout of “v2”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:08, 14 March 2026 (UTC)
::The type converter issue has gone away, but your Implementation doesn't quite match the tests (and composition), so I've disconnected it again. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:54, 20 March 2026 (UTC)
:What is wrong with my implementation at {{Z|Z32851}}? Btw, it would be really useful if errors said which dependency produced the error, instead of just saying "Error in evaluation". [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 07:18, 28 March 2026 (UTC)
::You were catching the wrong {{Z|50}}, but then the error should have bubbled up so you could see it. I think there's something broken in the site w/ {{Z|11}} right now since [[Z32804|I ran into a similar problem yesterday]]. (And to contradict my note there, while debugging your implementation I saw the same behaviour regardless of if I used [[Z26107]] or a literal Z11, so it must be a bug in WikiLambda.) [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 08:14, 28 March 2026 (UTC)
:::Seems to be resolved now. Your implementation has already been connected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:01, 2 April 2026 (UTC)
:Any guesses as to why [[Z32805]] is failing for [[Z33090]]? It says {{Z|507}} but still produces a value. Inspecting the actual and expected values ([https://www.wikifunctions.org/view/en/Z801?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z801%22%2C%22Z801K1%22%3A%5B%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z881%22%2C%22Z881K1%22%3A%22Z89%22%7D%2C%5B%22Z89%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3E%3C%2Ftd%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Cth%3EA%3C%2Fth%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Cth%3EB%3C%2Fth%3E%22%7D%5D%2C%5B%22Z89%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Cth%3E1%3C%2Fth%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3EA1%3C%2Ftd%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3EB1%3C%2Ftd%3E%22%7D%5D%2C%5B%22Z89%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Cth%3E2%3C%2Fth%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3EA2%3C%2Ftd%3E%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z27861%22%2C%22Z27861K1%22%3A%22%3Ctd%3EB2%3C%2Ftd%3E%22%7D%5D%5D%7D via echo]), I can see they're identical. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:44, 3 April 2026 (UTC)
::My guess is that there is a bug relating to {{Z|Z877}}. There are no guarantees, but switching the equality function seems successful. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:56, 3 April 2026 (UTC)
:I suggested disconnecting implementations without mul fallback from {{Z|Z23753}} here: [[Talk:Z23753#Disconnect implementations without mul fallback]]. --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 17:30, 11 April 2026 (UTC)
:Can someone please connect the implementation and test cases here? {{Z|Z31832}} Thanks! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 18:44, 11 April 2026 (UTC)
::{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:49, 11 April 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 18:51, 11 April 2026 (UTC)
:Can someone please connect the implementation and test cases here? {{Z|Z33340}} Thanks! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:24, 11 April 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:04, 11 April 2026 (UTC)
:::Thanks! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 21:05, 11 April 2026 (UTC)
:Me again: can someone please connect the implementation and test cases of {{Z|Z33333}}? Thanks. --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 21:51, 11 April 2026 (UTC)
::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:59, 11 April 2026 (UTC)
:::Thank you! --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 22:15, 11 April 2026 (UTC)
:Is it possible to add the variant of Chinese in {{Z|Z24309}}? The following is the fallback mechanism based on practical implementation on zhwiki ([[:zh:Wikipedia:地区词处理]]).
:<syntaxhighlight lang="python">
'zh': ['zh', 'zh-hant', 'zh-hans' 'mul', 'en'],
'zh-hant': ['zh-hant', 'zh', 'mul', 'en'],
'zh-hans': ['zh-hans', 'zh', 'mul', 'en'],
'zh-tw': ['zh-tw', 'zh-hant', 'zh', 'mul', 'en'],
'zh-hk': ['zh-hk', 'zh-hant', 'zh-tw', 'zh', 'mul', 'en'],
'zh-mo': ['zh-mo', 'zh-hk', 'zh-hant', 'zh-tw', 'zh', 'mul', 'en'],
'zh-cn': ['zh-cn', 'zh-hans', 'zh', 'mul', 'en'],
'zh-sg': ['zh-sg', 'zh-hans', 'zh-cn', 'zh', 'mul', 'en'],
'zh-my': ['zh-my', 'zh-sg', 'zh-hans', 'zh-cn', 'zh', 'mul', 'en'],
</syntaxhighlight>
: Is the function supposed to be hardcoded like this? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:06, 13 April 2026 (UTC)
:: Sorry, I think we can omit zh-hant and zh-hans, as they are just the default implementation. I am also not sure whether zh should be included. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 11:08, 13 April 2026 (UTC)
::{{d}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:07, 13 April 2026 (UTC)
::The list is hardcoded because, for now, there is no better option. I tried to implement the function with an external Typed map, but the composition is too long and convoluted. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:08, 13 April 2026 (UTC)
:::Now I've managed to do it: the external map is {{Z|Z33395}}. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:23, 13 April 2026 (UTC)
::::Thank you @[[User:Dv103|Dv103]]. There are a few corrections that needs to be done:
::::*In both [[Z32013]] and [[Z33395]], there is an extra line of <code>"zh-hk": "zh-hant"</code>.
::::*Per Cantonese (yue) local consensus, the fallback language of yue (and yue-hans/t) should be English (en) rather than zh(-xx).
::::*There are some duplicates in the resulting list (see [[Z33436]]) since it falls into the while-loop multiple times (when 'lastcode' appears in 'codes' and before "mul" and "en" are added). This can be fixed by either modifying the while-loop (perhaps better approach) or hardcoding the whole list including mul and en.
::::*After doing some research, I think the fallback chain should follow the [https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/core/+/refs/heads/master/languages/messages/ gerrit files]. Please update the fallback chain according to the gerrit files. (Also, add zh-hant and zh-hans according to gerrit (but fix the point above first, otherwise there would be an infinite loop))
::::Thank you. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 07:26, 14 April 2026 (UTC)
:::::@[[User:Winston Sung|Winston Sung]], could you look into this and see if we can utilize gerrit directly? Or any other approaches that is better than hardcoding. Thank you. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:05, 14 April 2026 (UTC)
::::::Once they are in they won't change often, so this is not a terrible case for hardcoding. --~ [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 11:34, 14 April 2026 (UTC)
:::::I also don't see why we have to follow gerrit. Users here are welcome to come to consensus about how their language should operate on WF. Gerrit could be a good starting point, but I think we should retain agency. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 11:36, 14 April 2026 (UTC)
::::::Fair point. I think we can follow gerrit for now, as it should represent a consensus (more or less) for their language on other Wikimedia project. It would indeed not be a problem for hardcoding. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 12:19, 14 April 2026 (UTC)
:{{Z|26107}} is still broken it seems. And unlike last time I ran into it, [[Z33664|this time]] I don't have the luxury of using a literal Z11. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:33, 18 April 2026 (UTC)
::To me it seems that it is working fine. Could you create a test that fails? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 09:43, 18 April 2026 (UTC)
:::[[Z33730]], and from last time, [[Z32804]] [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 09:48, 18 April 2026 (UTC)
::::I've connected those, and disabled the Implementation [[Z27080]] for now since the Function's other Implementations pass them. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 10:14, 18 April 2026 (UTC)
::::These are not standard tests, because the outer call of the test is not the tested function. I wonder if that is causing the failures. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 11:18, 18 April 2026 (UTC)
:::::Pretty sure it must be a v2 bug. The argument references must be resolved upstream; once they arrive here, it’s too late. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:25, 18 April 2026 (UTC)
{{tracked|T423853}}
::I think it’s the apply that is failing. The argument references [https://www.wikifunctions.org/view/en/Z801?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z801%22%2C%22Z801K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13436%22%2C%22Z13436K1%22%3A%22Z26107%22%2C%22Z13436K2%22%3A%22Z1444%22%2C%22Z13436K3%22%3A%5B%22Z6%22%2C%221%22%2C%222%22%5D%7D%7D appear unresolved]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:59, 18 April 2026 (UTC
::::I’ve added {{Z|Z33748}} to demonstrate the problem. I’ll file a ticket tomorrow, referencing {{Z|Z32804}} as well. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 18 April 2026 (UTC)
:Can someone import the {{t|about}} hatnote from one of the other wikis? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:40, 1 May 2026 (UTC)
:[[Module:Navbar]] seems to be broken; there's no rule for <code>.hlist > ul</code> present in the page. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:39, 3 May 2026 (UTC)
:Ugh I accidentally entered [[Z34853|this expression]] as the ''type'' for a persistent object instead of its value, and now I can't edit it. Please fix. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:12, 6 May 2026 (UTC)
::Sorry, the type of an existing object can only be changed by an administrator or staff. Please request at [[Wikifunctions:Administrators' noticeboard]] if no one spots your request here. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:19, 6 May 2026 (UTC)
:::I briefly tried yesterday, but couldn't see a way to do it in the interface. Perhaps easier to just make a new object and delete this one? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:03, 6 May 2026 (UTC)
::::I could be wrong, but I think you just need to copy the list, replace the call to {{Z|Z801}} with a call to {{Z|Z881}} and paste in the copied list. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:28, 6 May 2026 (UTC)
:::::I tried this, but after Z881 it gives me an actual new list where I could past the copied list as the first item, but not as the whole list. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:45, 6 May 2026 (UTC)
==== Connection / Disconnection requests ====
Moved to [[Wikifunctions:Requests for connection and disconnection]]
==== [[WF:HL]] ====
I have recently drafted some revamps of [[Wikifunctions:Human languages]] ([[User:Xeroctic/Human languages]]) and [[Wikifunctions:Reserved ZIDs]] ([[User:Xeroctic/Reserved ZIDs]]) in my userspace, and I think they are ready to replace the originals. I have not included translation tags for HL (which would be entirely different) and they need major modification for RZIDs to add or re-add them, so I would like that to be done as well. — [[User:Xeroctic|Xeroctic]] ([[User talk:Xeroctic|talk]]) 16:39, 3 November 2025 (UTC)
: {{s}} since Xeroctic's versions improve readability. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 11:17, 24 November 2025 (UTC)
:: Restoring this unresolved thread which was archived in oldid 237379. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 14:36, 16 January 2026 (UTC)
:[[WF:Human languages]]: Copying the categorisation from enWiktionary seems like a good idea. I don't understand why this page is separate from [[WF:Catalogue/Natural language operations]] though? (time/happenstance? [[WT:Human_languages#proposal|previous disc.]]) Redlinks to cataloguing subpages will remain red unless and until someone makes an NLG function in that language.
:[[WF:Reserved ZIDs]]: Using the live labels is an obvious improvement. I appreciate it being kept up-to-date. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:55, 16 January 2026 (UTC)
:{{support}} per Arlo Barnes and YoshiRulz [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 01:11, 11 March 2026 (UTC)
:{{support}} Let’s do this already. --[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 08:33, 27 March 2026 (UTC)
:{{done}}, [[Special:Permalink/264775]] and [[Special:Permalink/264777]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:34, 11 April 2026 (UTC)
frq2d9tjyq90r8u3qcnrxkjz1zlgu1h
Wikifunctions:Reserved ZIDs/cs
4
7397
272661
270838
2026-05-06T14:14:30Z
Mormegil
150
272661
wikitext
text/x-wiki
<noinclude><languages/>{{Technical documentation navbox}}</noinclude>
Tato stránka popisuje ZIDy, které jsou vyhrazené pro Wikilambda, software, na kterém Wikifunkce běží. Všechny ZIDy se čtyřmi nebo méně číslicemi jsou vyhrazené. Seznam všech potenciálních předdefinovaných objektů najdete na [[Wikifunctions:Reserved ZIDs/all]].
<span id="Ranges"></span>
=== Rozsahy ===
Určité prostory vyhrazujeme pro určité druhy předem definovaných objektů.
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code> – <code>Z99</code>: základní typy. ''(Viz [[#core-types|§ Základní typy]] níže.)''
* <code>Z100</code> – <code>Z199</code>: validátory pro základní typy (tj. pro každý základní typ existuje validátor pod +100), např. Z104 je validátor pro Z4/Typ
* <code>Z200</code> – <code>Z299</code>: vestavěné implementace validátorů pro základní typy (''tj.'' Z204 je vestavěná implementace validátoru pro Z4/Type (Typ)).
* <code>Z300</code> – <code>Z399</code>: ''prozatím nepřiřazeno''
* <code>Z400</code> – <code>Z499</code>: ''vyhrazeno pro místní použití''
* <code>Z500</code> – <code>Z599</code>: základní typy chyb (<code>Z5xx</code> protože <code>Z5</code> je chyba) ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z600</code> – <code>Z699</code>: základní programovací jazyky (<code>Z6xx</code> protože <code>Z61</code> je programovací jazyk)
* <code>Z700</code> – <code>Z799</code>: ''prozatím nepřiřazeno''
* <code>Z800</code> – <code>Z899</code>: definice základních funkcí s vestavěnými moduly (<code>Z8xx</code> protože <code>Z8</code> je funkce) ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z900</code> – <code>Z999</code>: vestavěné moduly pro základní funkce (jsou +100 od příslušného Z8xx).
* <code>Z1000</code> – <code>Z2999</code>: přirozené jazyky (instance Z60)
* <code>Z3000</code> – <code>Z5999</code>: ''vyhrazeno pro budoucí použití''
* <code>Z6000</code> – <code>Z6999</code>: ''typy, funkce atp. pro využívání obsahu Wikidat a dalších projektů nadace Wikimedia''
** <code>Z6000</code> – <code>Z6099</code>: ''typy pro obsah Wikidat a dalších projektů Wikimedia'' ''(See [[<tvar name="1">#wikidata-types</tvar>|§ Wikidata types]] below.)''
** <code>Z6100</code> – <code>Z6199</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">validators for these types</span>''
** <code>Z6200</code> – <code>Z6299</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">built-in implementations of the validators</span>''
** <code>Z6800</code> – <code>Z6899</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">helper functions for these types that need to be built-in (e.g., fetching, equality)</span>'' ''(See [[<tvar name="1">#wikidata-functions</tvar>|§ Wikidata functions]] below.)''
** <code>Z6900</code> – <code>Z6999</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">built-in implementations of the helper functions</span>''
* <code>Z7000</code> – <code>Z7999</code>: ''vyhrazeno pro budoucí užití''
* <code>Z8000</code> – <code>Z8999</code>: Testery pro každou předem definovanou funkci (''např.'' Z801 se testuje prostřednictvím Z8010, Z8011, Z8012, ... Z8019).
* <code>Z9000</code> – <code>Z9999</code>: ''vyhrazeno pro budoucí použití''
</div></div>
{{Anchor|core-types}}
<span id="Core_types"></span>
=== Základní typy ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code>: {{Z|Z1}} (Typ), kořenový prvek.
* <code>Z2</code>: {{Z|Z2}} (Typ): vše na wiki je <code>Z2</code>, proto má tak nízký ZID.
* <code>Z3</code>: {{Z|Z3}} (Typ): protože slovo <bdi lang="en" dir="ltr">''key''</bdi> má v angličtině tři písmena.
* <code>Z4</code>: {{Z|Z4}} (Typ): protože slovo <bdi lang="en" dir="ltr">''type''</bdi> má v angličtině čtyři písmena.
* <code>Z5</code>: {{Z|Z5}} (Typ): protože slovo <bdi lang="en" dir="ltr">''error''</bdi> má v angličtině pět písmen. ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z6</code>: {{Z|Z6}} (Typ): protože slovo <bdi lang="en" dir="ltr">''string''</bdi> má v angličtině šest písmen.
* <code>Z7</code>: {{Z|Z7}} (Typ): protože volání funkcí tvoří hlavním kouzlo tohoto systému a 7 je kouzelné číslo. Je také blízké hodnotě <code>Z8</code>.
* <code>Z8</code>: {{Z|Z8}} (generický typ, technicky tedy funkce): protože <bdi lang="en" dir="ltr">''function''</bdi> má v angličtině osm písmen. ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z9</code>: {{Z|Z9}} (Typ): protože slovo <bdi lang="en" dir="ltr">''reference''</bdi> má v angličtině devět písmen.
* <code>Z10</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z11</code>: {{Z|Z11}} (Typ): protože je to jen jeden jazyk a v názvu je ''jeden''.
* <code>Z12</code>: {{Z|Z12}} (Typ): protože se jedná o rozšíření <code>Z11</code>.
* <code>Z13</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z14</code>: {{Z|Z14}} (Typ): protože slovo <bdi lang="en" dir="ltr">''implementation''</bdi> má v angličtině čtrnáct písmen.
* <code>Z15</code>: ''Ještě není přiděleno.''
* <code>Z16</code>: {{Z|Z16}} (Typ): žádný dobrý důvod, je to podobné Z14 a Z61/Programovací jazyk.
* <code>Z17</code>: {{Z|Z17}} (Typ).
* <code>Z18</code>: {{Z|Z18}} (Typ).
* <code>Z19</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z20</code>: {{Z|Z20}} (Typ): protože 20/20 je dokonalý zrak a testy zviditelňují chyby.
* <code>Z21</code>: {{Z|Z21}} (Typ).
* <code>Z22</code>: {{Z|Z22}} (Typ).
* <code>Z23</code>: {{Z|Z23}} (Typ).
* <code>Z24</code>: {{Z|Z24}} (Jednotkový typ).
* <code>Z25</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z26</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z27</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z28</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z29</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z30</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z31</code>: {{Z|Z31}} (Typ).
* <code>Z32</code>: {{Z|Z32}} (Typ): protože se jedná o rozšíření <code>Z31</code>.
* <code>Z33</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z34</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z35</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z36</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z37</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z38</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z39</code>: {{Z|Z39}} (Typ): protože Z3/Klíč Z9/Reference.
* <code>Z40</code>: {{Z|Z40}} (Typ): protože Boole poprvé publikoval v roce (18)40.
* <code>Z41</code>: {{Z|Z41}} (Logická hodnota).
* <code>Z42</code>: {{Z|Z42}} (Logická hodnota).
* <code>Z43</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z44</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z45</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z46</code>: {{Z|Z46}} (Typ): protože převádí Z4/Typ na kód v Z61/Programovacím jazyce.
* <code>Z47</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z48</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z49</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z50</code>: {{Z|Z50}} (Typ): protože Chyba je <code>Z5</code>.
<!--<nowiki>
* <code>Z51</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z59</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z60</code>: {{Z|Z60}} (Typ): protože <code>Z6</code> je Řetězec.
* <code>Z61</code>: {{Z|Z61}} (Typ): protože <code>Z16</code> je Zdrojový kód.
* <code>Z64</code>: {{Z|Z64}}: protože je to opak <code>Z46</code>.
<!--<nowiki>
* <code>Z62</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z79</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z80</code>: {{Z|Z80}} (Typ): protože je to oktet.
<!--<nowiki>
* <code>Z81</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z69</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z84</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z85</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z86</code>: {{Z|Z86}} (Typ): protože to není přesně Z80/Bajt, ale spíše Z6/Řetězec.
<!--<nowiki>
* <code>Z87</code>: <translate>'''…''' (Type).</translate>
* <code>Z88</code>: <translate>'''…''' (Type).</translate>
</nowiki>
-->
* <code>Z89</code>: {{Z|Z89}} (Typ)
* <code>Z99</code>: {{Z|Z99}} (Typ): protože v angličtině to vypadá trochu jako uzavírací uvozovka.
</div></div>
{{Anchor|wikidata-types}}
<span id="Wikidata_types"></span>
==== Typy pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<code>Z6001</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6001}} (Type)</span>
*<code>Z6002</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6002}} (Type)</span>
*<code>Z6003</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6003}} (Type)</span>
*<code>Z6004</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6004}} (Type)</span>
*<code>Z6005</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6005}} (Type)</span>
*<code>Z6006</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6006}} (Type)</span>
*<code>Z6007</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6007}} (Type)</span>
*<code>Z6008</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6008}} (Type)</span>
*<code>Z6010</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6010}} (Type)</span>
*<code>Z6011</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6011}} (Type)</span>
*<code>Z6020</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6020}} (Type)</span>
*<code>Z6021</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6021}} (Claim subtype)</span>
*<code>Z6022</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6022}} (Claim subtype)</span>
*<code>Z6023</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6023}} (Claim subtype)</span>
*<code>Z6030</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6030}} (Type)</span>
*<code>Z6031</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6031}} (Entity part)</span>
*<code>Z6032</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6032}} (Entity part)</span>
*<code>Z6033</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6033}} (Entity part)</span>
*<code>Z6034</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6034}} (Entity part)</span>
*<code>Z6035</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6035}} (Entity part)</span>
*<code>Z6036</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6036}} (Entity part)</span>
*<code>Z6037</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6037}} (Entity part)</span>
*<code>Z6038</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6038}} (Entity part)</span>
*<code>Z6040</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6040}} (Type)</span>
*<code>Z6041</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6041}} (Statement rank)</span>
*<code>Z6042</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6042}} (Statement rank)</span>
*<code>Z6043</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6043}} (Statement rank)</span>
*<code>Z6060</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6060}} (Type)</span>
*<code>Z6061</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6061}} (Type)</span>
*<code>Z6062</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6062}} (Type)</span>
*<code>Z6063</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6063}} (Type)</span>
*<code>Z6064</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6064}} (Type)</span>
*<code>Z6091</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6091}} (Type)</span>
*<code>Z6092</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6092}} (Type)</span>
*<code>Z6094</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6094}} (Type)</span>
*<code>Z6095</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6095}} (Type)</span>
*<code>Z6096</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6096}} (Type)</span>
</div></div>
{{Anchor|core-functions}}
<span id="Core_functions"></span>
=== Základní funkce ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z801</code> {{Z+|Z801}}: T ➝ T
* <code>Z802</code> {{Z+|Z802}}: Boolean, T, T ➝ T
* <code>Z803</code> {{Z+|Z803}}: Key reference, Any ➝ Any
*: Z3/Klíč
* <code>Z804</code> {{Z+|Z804}}: List(Key reference) ➝ Abt
* <code>Z805</code> {{Z+|Z805}}: Any ➝ List(Pair(Key reference, Any))
*: ''Reify'' má pět písmen.
* <code>Z808</code> {{Z+|Z808}}: List(Pair(Key reference, Any)) ➝ Any
*: ''Abstract'' má osm písmen.
* <code>Z810</code> {{Z+|Z810}}: T, List(T) ➝ List(T)
*: (protože Z10 je seznam).
* <code>Z811</code> {{Z+|Z811}}: List(T) ➝ T
*: (protože Z10 měl být seznam a my získáváme to první)
* <code>Z812</code> {{Z+|Z812}}: List(T) ➝ List(T)
*: (protože Z10 měl být seznam a my získáváme to druhé, zbytek)
* <code>Z813</code> {{Z+|Z813}}: List(T) ➝ Boolean
*: (protože Z13 měl být prázdný seznam)
* <code>Z820</code> {{Z+|Z820}}: String, Any ➝ Any
* <code>Z821</code> {{Z+|Z821}}: Pair(T1, T2) ➝ T1
*: (protože Z22 je dvojice).
* <code>Z822</code> {{Z+|Z822}}: Pair(T1, T2) ➝ T2
*: (protože Z22 je dvojice).
* <code>Z844</code> {{Z+|Z844}}: Boolean, Boolean ➝ Boolean
* <code>Z850</code> {{Z+|Z850}}: Object, Error type, Object ➝ Object
*: (protože řeší Z5/Chyby)
* <code>Z851</code> {{Z+|Z851}}: Error type, List(T) ➝ Unit
* <code>Z852</code> {{Z+|Z852}}: Error, Error type ➝ Boolean
* <code>Z853</code> {{Z+|Z853}}: Object ➝ Pair(Error, Object)
* <code>Z854</code> {{Z+|Z854}}: Object ➝ String
* <code>Z860</code> {{Z+|Z860}}: String ➝ Language
* <code>Z866</code> {{Z+|Z866}}: String, String ➝ Boolean
* <code>Z868</code> Nahrazeno {{Z+|Z22717}}: String ➝ List(Character)
*: Protože Z6/Řetězec a Z86/Kódový bod Unicode.
* <code>Z872</code> {{Z+|Z872}}: Function, Typed list (Object) ➝ Object
* <code>Z873</code> {{Z+|Z873}} Function, List ➝ List
* <code>Z876</code> {{Z+|Z876}}: Function, List, Object ➝ Object
* <code>Z877</code> {{Z+|Z877}}: HTML fragment -> HTML fragment
* <code>Z881</code> {{Z+|Z881}}: Type ➝ Type
* <code>Z882</code> {{Z+|Z882}}: Type, Type ➝ Type
* <code>Z883</code> {{Z+|Z883}}: T ➝ T
* <code>Z884</code> {{Z+|Z884}}: Type, List(Reference), String ➝ Type
* <code>Z885</code> {{Z+|Z885}}: Error type ➝ Type
* <code>Z886</code> Nahrazeno {{Z+|Z22693}}: List*(Character) ➝ String
*: protože Z86/Kódový bod Unicode a Z6/Řetězec.
* <code>Z888</code> Nahrazeno {{Z+|Z22683}}: Character, Character ➝ Boolean
* <code>Z899</code> {{Z+|Z899}}: Quote ➝ Any
*: protože Z99/Citace.
</div></div>
{{Anchor|wikidata-functions}}
<span id="Wikidata_functions"></span>
==== Funkce pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<span lang="en" dir="ltr" class="mw-content-ltr"><code>Z6801</code> to <code>Z6808</code> are the 'same object' functions corresponding to <code>Z6001</code> to <code>Z6008</code>.</span>
*<code>Z6820</code> {{Z+|Z6820}}: List(Object) ➝ Map(String, Object)
*<code>Z6821</code> {{Z+|Z6821}}: Item reference ➝ Item
*<code>Z6822</code> {{Z+|Z6822}}: Property reference ➝ Property
*<code>Z6824</code> {{Z+|Z6824}}: Lexeme form reference ➝ Lexeme form
*<code>Z6825</code> {{Z+|Z6825}}: Lexeme reference ➝ Lexeme
*<code>Z6826</code> {{Z+|Z6826}}: Lexeme sense reference ➝ Lexeme sense
*<code>Z6830</code> {{Z+|Z6830}}: Item reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6831</code> {{Z+|Z6831}}: Lexeme sense reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6884</code> {{Z+|Z6884}}: Type, List(Object), String ➝ Type
*<code>Z6894</code> {{Z+|Z6894}}
*<code>Z6895</code> {{Z+|Z6895}}: Object ➝ Object
*<code>Z6896</code> {{Z+|Z6896}}: List(String) ➝ Object
</div></div>
{{Anchor|core-error-types}}
<span id="Core_error_types"></span>
=== Základní typy chyb ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* {{Z|Z501}} (chybová zpráva, vstup): syntaktická chyba
* {{Z|Z502}} (podtyp, hodnota): není dobře zapsáno, ukazuje na Z52x nebo Z53x
* {{Z|Z503}} (název funkce): zatím neimplementováno
* {{Z|Z504}} (zid): Zid nebyl nenalezen
* {{Z|Z505}} (očekáváný počet, vložený počet, argumenty): nesprávný počet argumentů
* {{Z|Z506}} (očekávaný typ, vložený typ, argument): nesprávný typ argumentu
* {{Z|Z507}} (volání funkce): chyba při evaluaci
* {{Z|Z508}} (objekt): konkurenční klíče
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z509}} (errors): List of errors</span>
* {{Z|Z510}} (none): nil
* {{Z|Z511}} (klíč, objekt): klíč nebyl nalezen
* {{Z|Z512}} (object): Z9 chyba
* {{Z|Z513}} (cílový objekt): cílový objekt bez Z2K2
* {{Z|Z514}} (implementace): Builtin (zabudovaná funkce) neexistuje
* {{Z|Z515}} (implementace): Builtin ID (zabudované ID) je chybné
* {{Z|Z516}} (klíč, špatná hodnota): Chyba hodnoty argumentu
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z517}} (expected type, actual type, returned value, propagated error): Return type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z518}} (expected type, object, propagated error): Object type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z519}} (object): Undefined list type</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z520}} (object): Wrong list type</span>
* {{Z|Z521}} (chybná hodnota): ZObject nesmí být číslo nebo boolean nebo null
* {{Z|Z522}} (chybný index v poli, propagovaná chyba): Prvek pole není správný
* {{Z|Z523}} (objekt): Chybí Z1K1
* {{Z|Z524}} (hodnota Z1K1): Z1K1 nesmí být string (řetězec) nebo array (pole)
* {{Z|Z525}} (klíč): Neplatný klíč
* {{Z|Z526}} (klíč, propagovaná chyba): není správně formulovaná hodnota]
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z529}} (host name)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z530}} (function call, propagated error)</span>
* {{Z|Z531}} (celý objekt): Z6 musí mít 2 klíče
* {{Z|Z532}} (celý objekt): Z6 bez Z6K1
* {{Z|Z533}} (hodnota Z6K1): Z6K1 musí být string (řetězec)
* {{Z|Z534}} (celý objekt): Z9 musí mít 2 klíče
* {{Z|Z535}} (celý objekt): Z9 bez Z9K1
* {{Z|Z536}} (hodnota Z9K1): Z9K1 musí být string (řetězec) ve formátu JSON
* {{Z|Z537}} (hodnota Z9K1): Z9K1 musí být reference (odkaz)
* {{Z|Z538}} (název stránky): chybný jmenný prostor
* {{Z|Z539}} (název stránky): chybný typ obsahu
* {{Z|Z540}} (kód jazyka): neplatný kód jazyka
* {{Z|Z541}} (kód jazyka): kód jazyka nebyl nalezen
* {{Z|Z542}} (očekávaný typ, zadaný objekt): očekávaný typ, zadaný objekt
* {{Z|Z543}} (název typu): typ nenalezen
* {{Z|Z544}} (typ zid, název typu, existující název typu): konfliktní názvy typů
* {{Z|Z545}} (typ zid, název typu, existující typ zid): konfliktní typ Zidů
* {{Z|Z546}} (typ zid, název typu): builtin type (vestavěný typ) nenalezen
* {{Z|Z547}} (vstup): neplatný formát
* {{Z|Z548}} (chybová zpráva, vstup): neplatný JSON
* {{Z|Z549}} (referenční hodnota): neplatná ZReference
* {{Z|Z550}} (referenční hodnota): neznámá ZReference
* {{Z|Z551}} (klíč, očekávaný typ, zadaný typ): neshoda typu schématu
* {{Z|Z552}} (index, očekávaný typ, skutečný typ): neshoda typu prvku pole
* {{Z|Z553}} (zobject): nepovolený typ kořene
* {{Z|Z554}} (kolidující ZID, jazyk): štítek koliduje se štítkem jiného ZObjektu
* {{Z|Z555}} (ZID, titulek): chybně zadaný ZID a titulek stránky
* {{Z|Z556}} (titulek): neplatný titulek stránky
* {{Z|Z557}} (chybová zpráva): uživatel nemá oprávnění
* {{Z|Z558}} (programovací jazyk): neplatný programovací jazyk
* {{Z|Z559}} <span lang="en" dir="ltr" class="mw-content-ltr">(none): user not permitted to evaluate function</span>
* {{Z|Z560}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluation result): invalid evaluation result</span>
* {{Z|Z561}} <span lang="en" dir="ltr" class="mw-content-ltr">(propagated error): invalid evaluation request</span>
* {{Z|Z562}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): incomplete evaluation request</span>
* {{Z|Z563}} <span lang="en" dir="ltr" class="mw-content-ltr">(call): call by non-reentrant executor</span>
* {{Z|Z564}} <span lang="en" dir="ltr" class="mw-content-ltr">(contents): invalid executor response</span>
* {{Z|Z565}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): Incomplete executor request</span>
* {{Z|Z570}} <span lang="en" dir="ltr" class="mw-content-ltr">(orchestrator rate limit): reached rate limit in orchestrator</span>
* {{Z|Z571}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluator rate limit): reached rate limit in evaluator</span>
* {{Z|Z572}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in orchestrator</span>
* {{Z|Z573}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in evaluator</span>
* {{Z|Z574}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in orchestrator</span>
* {{Z|Z575}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in evaluator</span>
* {{Z|Z576}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit)</span>
* {{Z|Z580}} <span lang="en" dir="ltr" class="mw-content-ltr">(duplicate language)</span>
</div></div>
<span id="See_also"></span>
== Viz též ==
* [[:m:Special:MyLanguage/Abstract Wikipedia/Notes|Přehled poznámek]]
<noinclude>
[[Category:Technical documentation{{#translation:}}|Reserved ZIDs]]
</noinclude>
9s6ff91bo5fm78p1q7be45rghdju2xb
272663
272661
2026-05-06T14:14:47Z
Mormegil
150
272663
wikitext
text/x-wiki
<noinclude><languages/>{{Technical documentation navbox}}</noinclude>
Tato stránka popisuje ZIDy, které jsou vyhrazené pro Wikilambda, software, na kterém Wikifunkce běží. Všechny ZIDy se čtyřmi nebo méně číslicemi jsou vyhrazené. Seznam všech potenciálních předdefinovaných objektů najdete na [[Wikifunctions:Reserved ZIDs/all]].
<span id="Ranges"></span>
=== Rozsahy ===
Určité prostory vyhrazujeme pro určité druhy předem definovaných objektů.
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code> – <code>Z99</code>: základní typy. ''(Viz [[#core-types|§ Základní typy]] níže.)''
* <code>Z100</code> – <code>Z199</code>: validátory pro základní typy (tj. pro každý základní typ existuje validátor pod +100), např. Z104 je validátor pro Z4/Typ
* <code>Z200</code> – <code>Z299</code>: vestavěné implementace validátorů pro základní typy (tj. Z204 je vestavěná implementace validátoru pro Z4/Typ).
* <code>Z300</code> – <code>Z399</code>: ''prozatím nepřiřazeno''
* <code>Z400</code> – <code>Z499</code>: ''vyhrazeno pro místní použití''
* <code>Z500</code> – <code>Z599</code>: základní typy chyb (<code>Z5xx</code> protože <code>Z5</code> je chyba) ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z600</code> – <code>Z699</code>: základní programovací jazyky (<code>Z6xx</code> protože <code>Z61</code> je programovací jazyk)
* <code>Z700</code> – <code>Z799</code>: ''prozatím nepřiřazeno''
* <code>Z800</code> – <code>Z899</code>: definice základních funkcí s vestavěnými moduly (<code>Z8xx</code> protože <code>Z8</code> je funkce) ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z900</code> – <code>Z999</code>: vestavěné moduly pro základní funkce (jsou +100 od příslušného Z8xx).
* <code>Z1000</code> – <code>Z2999</code>: přirozené jazyky (instance Z60)
* <code>Z3000</code> – <code>Z5999</code>: ''vyhrazeno pro budoucí použití''
* <code>Z6000</code> – <code>Z6999</code>: ''typy, funkce atp. pro využívání obsahu Wikidat a dalších projektů nadace Wikimedia''
** <code>Z6000</code> – <code>Z6099</code>: ''typy pro obsah Wikidat a dalších projektů Wikimedia'' ''(See [[<tvar name="1">#wikidata-types</tvar>|§ Wikidata types]] below.)''
** <code>Z6100</code> – <code>Z6199</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">validators for these types</span>''
** <code>Z6200</code> – <code>Z6299</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">built-in implementations of the validators</span>''
** <code>Z6800</code> – <code>Z6899</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">helper functions for these types that need to be built-in (e.g., fetching, equality)</span>'' ''(See [[<tvar name="1">#wikidata-functions</tvar>|§ Wikidata functions]] below.)''
** <code>Z6900</code> – <code>Z6999</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">built-in implementations of the helper functions</span>''
* <code>Z7000</code> – <code>Z7999</code>: ''vyhrazeno pro budoucí užití''
* <code>Z8000</code> – <code>Z8999</code>: Testery pro každou předem definovanou funkci (''např.'' Z801 se testuje prostřednictvím Z8010, Z8011, Z8012, ... Z8019).
* <code>Z9000</code> – <code>Z9999</code>: ''vyhrazeno pro budoucí použití''
</div></div>
{{Anchor|core-types}}
<span id="Core_types"></span>
=== Základní typy ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code>: {{Z|Z1}} (Typ), kořenový prvek.
* <code>Z2</code>: {{Z|Z2}} (Typ): vše na wiki je <code>Z2</code>, proto má tak nízký ZID.
* <code>Z3</code>: {{Z|Z3}} (Typ): protože slovo <bdi lang="en" dir="ltr">''key''</bdi> má v angličtině tři písmena.
* <code>Z4</code>: {{Z|Z4}} (Typ): protože slovo <bdi lang="en" dir="ltr">''type''</bdi> má v angličtině čtyři písmena.
* <code>Z5</code>: {{Z|Z5}} (Typ): protože slovo <bdi lang="en" dir="ltr">''error''</bdi> má v angličtině pět písmen. ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z6</code>: {{Z|Z6}} (Typ): protože slovo <bdi lang="en" dir="ltr">''string''</bdi> má v angličtině šest písmen.
* <code>Z7</code>: {{Z|Z7}} (Typ): protože volání funkcí tvoří hlavním kouzlo tohoto systému a 7 je kouzelné číslo. Je také blízké hodnotě <code>Z8</code>.
* <code>Z8</code>: {{Z|Z8}} (generický typ, technicky tedy funkce): protože <bdi lang="en" dir="ltr">''function''</bdi> má v angličtině osm písmen. ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z9</code>: {{Z|Z9}} (Typ): protože slovo <bdi lang="en" dir="ltr">''reference''</bdi> má v angličtině devět písmen.
* <code>Z10</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z11</code>: {{Z|Z11}} (Typ): protože je to jen jeden jazyk a v názvu je ''jeden''.
* <code>Z12</code>: {{Z|Z12}} (Typ): protože se jedná o rozšíření <code>Z11</code>.
* <code>Z13</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z14</code>: {{Z|Z14}} (Typ): protože slovo <bdi lang="en" dir="ltr">''implementation''</bdi> má v angličtině čtrnáct písmen.
* <code>Z15</code>: ''Ještě není přiděleno.''
* <code>Z16</code>: {{Z|Z16}} (Typ): žádný dobrý důvod, je to podobné Z14 a Z61/Programovací jazyk.
* <code>Z17</code>: {{Z|Z17}} (Typ).
* <code>Z18</code>: {{Z|Z18}} (Typ).
* <code>Z19</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z20</code>: {{Z|Z20}} (Typ): protože 20/20 je dokonalý zrak a testy zviditelňují chyby.
* <code>Z21</code>: {{Z|Z21}} (Typ).
* <code>Z22</code>: {{Z|Z22}} (Typ).
* <code>Z23</code>: {{Z|Z23}} (Typ).
* <code>Z24</code>: {{Z|Z24}} (Jednotkový typ).
* <code>Z25</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z26</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z27</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z28</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z29</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z30</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z31</code>: {{Z|Z31}} (Typ).
* <code>Z32</code>: {{Z|Z32}} (Typ): protože se jedná o rozšíření <code>Z31</code>.
* <code>Z33</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z34</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z35</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z36</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z37</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z38</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z39</code>: {{Z|Z39}} (Typ): protože Z3/Klíč Z9/Reference.
* <code>Z40</code>: {{Z|Z40}} (Typ): protože Boole poprvé publikoval v roce (18)40.
* <code>Z41</code>: {{Z|Z41}} (Logická hodnota).
* <code>Z42</code>: {{Z|Z42}} (Logická hodnota).
* <code>Z43</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z44</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z45</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z46</code>: {{Z|Z46}} (Typ): protože převádí Z4/Typ na kód v Z61/Programovacím jazyce.
* <code>Z47</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z48</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z49</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z50</code>: {{Z|Z50}} (Typ): protože Chyba je <code>Z5</code>.
<!--<nowiki>
* <code>Z51</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z59</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z60</code>: {{Z|Z60}} (Typ): protože <code>Z6</code> je Řetězec.
* <code>Z61</code>: {{Z|Z61}} (Typ): protože <code>Z16</code> je Zdrojový kód.
* <code>Z64</code>: {{Z|Z64}}: protože je to opak <code>Z46</code>.
<!--<nowiki>
* <code>Z62</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z79</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z80</code>: {{Z|Z80}} (Typ): protože je to oktet.
<!--<nowiki>
* <code>Z81</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z69</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z84</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z85</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z86</code>: {{Z|Z86}} (Typ): protože to není přesně Z80/Bajt, ale spíše Z6/Řetězec.
<!--<nowiki>
* <code>Z87</code>: <translate>'''…''' (Type).</translate>
* <code>Z88</code>: <translate>'''…''' (Type).</translate>
</nowiki>
-->
* <code>Z89</code>: {{Z|Z89}} (Typ)
* <code>Z99</code>: {{Z|Z99}} (Typ): protože v angličtině to vypadá trochu jako uzavírací uvozovka.
</div></div>
{{Anchor|wikidata-types}}
<span id="Wikidata_types"></span>
==== Typy pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<code>Z6001</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6001}} (Type)</span>
*<code>Z6002</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6002}} (Type)</span>
*<code>Z6003</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6003}} (Type)</span>
*<code>Z6004</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6004}} (Type)</span>
*<code>Z6005</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6005}} (Type)</span>
*<code>Z6006</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6006}} (Type)</span>
*<code>Z6007</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6007}} (Type)</span>
*<code>Z6008</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6008}} (Type)</span>
*<code>Z6010</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6010}} (Type)</span>
*<code>Z6011</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6011}} (Type)</span>
*<code>Z6020</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6020}} (Type)</span>
*<code>Z6021</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6021}} (Claim subtype)</span>
*<code>Z6022</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6022}} (Claim subtype)</span>
*<code>Z6023</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6023}} (Claim subtype)</span>
*<code>Z6030</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6030}} (Type)</span>
*<code>Z6031</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6031}} (Entity part)</span>
*<code>Z6032</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6032}} (Entity part)</span>
*<code>Z6033</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6033}} (Entity part)</span>
*<code>Z6034</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6034}} (Entity part)</span>
*<code>Z6035</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6035}} (Entity part)</span>
*<code>Z6036</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6036}} (Entity part)</span>
*<code>Z6037</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6037}} (Entity part)</span>
*<code>Z6038</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6038}} (Entity part)</span>
*<code>Z6040</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6040}} (Type)</span>
*<code>Z6041</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6041}} (Statement rank)</span>
*<code>Z6042</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6042}} (Statement rank)</span>
*<code>Z6043</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6043}} (Statement rank)</span>
*<code>Z6060</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6060}} (Type)</span>
*<code>Z6061</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6061}} (Type)</span>
*<code>Z6062</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6062}} (Type)</span>
*<code>Z6063</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6063}} (Type)</span>
*<code>Z6064</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6064}} (Type)</span>
*<code>Z6091</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6091}} (Type)</span>
*<code>Z6092</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6092}} (Type)</span>
*<code>Z6094</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6094}} (Type)</span>
*<code>Z6095</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6095}} (Type)</span>
*<code>Z6096</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6096}} (Type)</span>
</div></div>
{{Anchor|core-functions}}
<span id="Core_functions"></span>
=== Základní funkce ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z801</code> {{Z+|Z801}}: T ➝ T
* <code>Z802</code> {{Z+|Z802}}: Boolean, T, T ➝ T
* <code>Z803</code> {{Z+|Z803}}: Key reference, Any ➝ Any
*: Z3/Klíč
* <code>Z804</code> {{Z+|Z804}}: List(Key reference) ➝ Abt
* <code>Z805</code> {{Z+|Z805}}: Any ➝ List(Pair(Key reference, Any))
*: ''Reify'' má pět písmen.
* <code>Z808</code> {{Z+|Z808}}: List(Pair(Key reference, Any)) ➝ Any
*: ''Abstract'' má osm písmen.
* <code>Z810</code> {{Z+|Z810}}: T, List(T) ➝ List(T)
*: (protože Z10 je seznam).
* <code>Z811</code> {{Z+|Z811}}: List(T) ➝ T
*: (protože Z10 měl být seznam a my získáváme to první)
* <code>Z812</code> {{Z+|Z812}}: List(T) ➝ List(T)
*: (protože Z10 měl být seznam a my získáváme to druhé, zbytek)
* <code>Z813</code> {{Z+|Z813}}: List(T) ➝ Boolean
*: (protože Z13 měl být prázdný seznam)
* <code>Z820</code> {{Z+|Z820}}: String, Any ➝ Any
* <code>Z821</code> {{Z+|Z821}}: Pair(T1, T2) ➝ T1
*: (protože Z22 je dvojice).
* <code>Z822</code> {{Z+|Z822}}: Pair(T1, T2) ➝ T2
*: (protože Z22 je dvojice).
* <code>Z844</code> {{Z+|Z844}}: Boolean, Boolean ➝ Boolean
* <code>Z850</code> {{Z+|Z850}}: Object, Error type, Object ➝ Object
*: (protože řeší Z5/Chyby)
* <code>Z851</code> {{Z+|Z851}}: Error type, List(T) ➝ Unit
* <code>Z852</code> {{Z+|Z852}}: Error, Error type ➝ Boolean
* <code>Z853</code> {{Z+|Z853}}: Object ➝ Pair(Error, Object)
* <code>Z854</code> {{Z+|Z854}}: Object ➝ String
* <code>Z860</code> {{Z+|Z860}}: String ➝ Language
* <code>Z866</code> {{Z+|Z866}}: String, String ➝ Boolean
* <code>Z868</code> Nahrazeno {{Z+|Z22717}}: String ➝ List(Character)
*: Protože Z6/Řetězec a Z86/Kódový bod Unicode.
* <code>Z872</code> {{Z+|Z872}}: Function, Typed list (Object) ➝ Object
* <code>Z873</code> {{Z+|Z873}} Function, List ➝ List
* <code>Z876</code> {{Z+|Z876}}: Function, List, Object ➝ Object
* <code>Z877</code> {{Z+|Z877}}: HTML fragment -> HTML fragment
* <code>Z881</code> {{Z+|Z881}}: Type ➝ Type
* <code>Z882</code> {{Z+|Z882}}: Type, Type ➝ Type
* <code>Z883</code> {{Z+|Z883}}: T ➝ T
* <code>Z884</code> {{Z+|Z884}}: Type, List(Reference), String ➝ Type
* <code>Z885</code> {{Z+|Z885}}: Error type ➝ Type
* <code>Z886</code> Nahrazeno {{Z+|Z22693}}: List*(Character) ➝ String
*: protože Z86/Kódový bod Unicode a Z6/Řetězec.
* <code>Z888</code> Nahrazeno {{Z+|Z22683}}: Character, Character ➝ Boolean
* <code>Z899</code> {{Z+|Z899}}: Quote ➝ Any
*: protože Z99/Citace.
</div></div>
{{Anchor|wikidata-functions}}
<span id="Wikidata_functions"></span>
==== Funkce pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<span lang="en" dir="ltr" class="mw-content-ltr"><code>Z6801</code> to <code>Z6808</code> are the 'same object' functions corresponding to <code>Z6001</code> to <code>Z6008</code>.</span>
*<code>Z6820</code> {{Z+|Z6820}}: List(Object) ➝ Map(String, Object)
*<code>Z6821</code> {{Z+|Z6821}}: Item reference ➝ Item
*<code>Z6822</code> {{Z+|Z6822}}: Property reference ➝ Property
*<code>Z6824</code> {{Z+|Z6824}}: Lexeme form reference ➝ Lexeme form
*<code>Z6825</code> {{Z+|Z6825}}: Lexeme reference ➝ Lexeme
*<code>Z6826</code> {{Z+|Z6826}}: Lexeme sense reference ➝ Lexeme sense
*<code>Z6830</code> {{Z+|Z6830}}: Item reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6831</code> {{Z+|Z6831}}: Lexeme sense reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6884</code> {{Z+|Z6884}}: Type, List(Object), String ➝ Type
*<code>Z6894</code> {{Z+|Z6894}}
*<code>Z6895</code> {{Z+|Z6895}}: Object ➝ Object
*<code>Z6896</code> {{Z+|Z6896}}: List(String) ➝ Object
</div></div>
{{Anchor|core-error-types}}
<span id="Core_error_types"></span>
=== Základní typy chyb ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* {{Z|Z501}} (chybová zpráva, vstup): syntaktická chyba
* {{Z|Z502}} (podtyp, hodnota): není dobře zapsáno, ukazuje na Z52x nebo Z53x
* {{Z|Z503}} (název funkce): zatím neimplementováno
* {{Z|Z504}} (zid): Zid nebyl nenalezen
* {{Z|Z505}} (očekáváný počet, vložený počet, argumenty): nesprávný počet argumentů
* {{Z|Z506}} (očekávaný typ, vložený typ, argument): nesprávný typ argumentu
* {{Z|Z507}} (volání funkce): chyba při evaluaci
* {{Z|Z508}} (objekt): konkurenční klíče
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z509}} (errors): List of errors</span>
* {{Z|Z510}} (none): nil
* {{Z|Z511}} (klíč, objekt): klíč nebyl nalezen
* {{Z|Z512}} (object): Z9 chyba
* {{Z|Z513}} (cílový objekt): cílový objekt bez Z2K2
* {{Z|Z514}} (implementace): Builtin (zabudovaná funkce) neexistuje
* {{Z|Z515}} (implementace): Builtin ID (zabudované ID) je chybné
* {{Z|Z516}} (klíč, špatná hodnota): Chyba hodnoty argumentu
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z517}} (expected type, actual type, returned value, propagated error): Return type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z518}} (expected type, object, propagated error): Object type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z519}} (object): Undefined list type</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z520}} (object): Wrong list type</span>
* {{Z|Z521}} (chybná hodnota): ZObject nesmí být číslo nebo boolean nebo null
* {{Z|Z522}} (chybný index v poli, propagovaná chyba): Prvek pole není správný
* {{Z|Z523}} (objekt): Chybí Z1K1
* {{Z|Z524}} (hodnota Z1K1): Z1K1 nesmí být string (řetězec) nebo array (pole)
* {{Z|Z525}} (klíč): Neplatný klíč
* {{Z|Z526}} (klíč, propagovaná chyba): není správně formulovaná hodnota]
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z529}} (host name)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z530}} (function call, propagated error)</span>
* {{Z|Z531}} (celý objekt): Z6 musí mít 2 klíče
* {{Z|Z532}} (celý objekt): Z6 bez Z6K1
* {{Z|Z533}} (hodnota Z6K1): Z6K1 musí být string (řetězec)
* {{Z|Z534}} (celý objekt): Z9 musí mít 2 klíče
* {{Z|Z535}} (celý objekt): Z9 bez Z9K1
* {{Z|Z536}} (hodnota Z9K1): Z9K1 musí být string (řetězec) ve formátu JSON
* {{Z|Z537}} (hodnota Z9K1): Z9K1 musí být reference (odkaz)
* {{Z|Z538}} (název stránky): chybný jmenný prostor
* {{Z|Z539}} (název stránky): chybný typ obsahu
* {{Z|Z540}} (kód jazyka): neplatný kód jazyka
* {{Z|Z541}} (kód jazyka): kód jazyka nebyl nalezen
* {{Z|Z542}} (očekávaný typ, zadaný objekt): očekávaný typ, zadaný objekt
* {{Z|Z543}} (název typu): typ nenalezen
* {{Z|Z544}} (typ zid, název typu, existující název typu): konfliktní názvy typů
* {{Z|Z545}} (typ zid, název typu, existující typ zid): konfliktní typ Zidů
* {{Z|Z546}} (typ zid, název typu): builtin type (vestavěný typ) nenalezen
* {{Z|Z547}} (vstup): neplatný formát
* {{Z|Z548}} (chybová zpráva, vstup): neplatný JSON
* {{Z|Z549}} (referenční hodnota): neplatná ZReference
* {{Z|Z550}} (referenční hodnota): neznámá ZReference
* {{Z|Z551}} (klíč, očekávaný typ, zadaný typ): neshoda typu schématu
* {{Z|Z552}} (index, očekávaný typ, skutečný typ): neshoda typu prvku pole
* {{Z|Z553}} (zobject): nepovolený typ kořene
* {{Z|Z554}} (kolidující ZID, jazyk): štítek koliduje se štítkem jiného ZObjektu
* {{Z|Z555}} (ZID, titulek): chybně zadaný ZID a titulek stránky
* {{Z|Z556}} (titulek): neplatný titulek stránky
* {{Z|Z557}} (chybová zpráva): uživatel nemá oprávnění
* {{Z|Z558}} (programovací jazyk): neplatný programovací jazyk
* {{Z|Z559}} <span lang="en" dir="ltr" class="mw-content-ltr">(none): user not permitted to evaluate function</span>
* {{Z|Z560}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluation result): invalid evaluation result</span>
* {{Z|Z561}} <span lang="en" dir="ltr" class="mw-content-ltr">(propagated error): invalid evaluation request</span>
* {{Z|Z562}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): incomplete evaluation request</span>
* {{Z|Z563}} <span lang="en" dir="ltr" class="mw-content-ltr">(call): call by non-reentrant executor</span>
* {{Z|Z564}} <span lang="en" dir="ltr" class="mw-content-ltr">(contents): invalid executor response</span>
* {{Z|Z565}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): Incomplete executor request</span>
* {{Z|Z570}} <span lang="en" dir="ltr" class="mw-content-ltr">(orchestrator rate limit): reached rate limit in orchestrator</span>
* {{Z|Z571}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluator rate limit): reached rate limit in evaluator</span>
* {{Z|Z572}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in orchestrator</span>
* {{Z|Z573}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in evaluator</span>
* {{Z|Z574}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in orchestrator</span>
* {{Z|Z575}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in evaluator</span>
* {{Z|Z576}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit)</span>
* {{Z|Z580}} <span lang="en" dir="ltr" class="mw-content-ltr">(duplicate language)</span>
</div></div>
<span id="See_also"></span>
== Viz též ==
* [[:m:Special:MyLanguage/Abstract Wikipedia/Notes|Přehled poznámek]]
<noinclude>
[[Category:Technical documentation{{#translation:}}|Reserved ZIDs]]
</noinclude>
p6u3m7o4ilmolf2snyhpgwnmka47u7j
272665
272663
2026-05-06T14:15:11Z
Mormegil
150
Created page with "validátory pro tyto typy"
272665
wikitext
text/x-wiki
<noinclude><languages/>{{Technical documentation navbox}}</noinclude>
Tato stránka popisuje ZIDy, které jsou vyhrazené pro Wikilambda, software, na kterém Wikifunkce běží. Všechny ZIDy se čtyřmi nebo méně číslicemi jsou vyhrazené. Seznam všech potenciálních předdefinovaných objektů najdete na [[Wikifunctions:Reserved ZIDs/all]].
<span id="Ranges"></span>
=== Rozsahy ===
Určité prostory vyhrazujeme pro určité druhy předem definovaných objektů.
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code> – <code>Z99</code>: základní typy. ''(Viz [[#core-types|§ Základní typy]] níže.)''
* <code>Z100</code> – <code>Z199</code>: validátory pro základní typy (tj. pro každý základní typ existuje validátor pod +100), např. Z104 je validátor pro Z4/Typ
* <code>Z200</code> – <code>Z299</code>: vestavěné implementace validátorů pro základní typy (tj. Z204 je vestavěná implementace validátoru pro Z4/Typ).
* <code>Z300</code> – <code>Z399</code>: ''prozatím nepřiřazeno''
* <code>Z400</code> – <code>Z499</code>: ''vyhrazeno pro místní použití''
* <code>Z500</code> – <code>Z599</code>: základní typy chyb (<code>Z5xx</code> protože <code>Z5</code> je chyba) ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z600</code> – <code>Z699</code>: základní programovací jazyky (<code>Z6xx</code> protože <code>Z61</code> je programovací jazyk)
* <code>Z700</code> – <code>Z799</code>: ''prozatím nepřiřazeno''
* <code>Z800</code> – <code>Z899</code>: definice základních funkcí s vestavěnými moduly (<code>Z8xx</code> protože <code>Z8</code> je funkce) ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z900</code> – <code>Z999</code>: vestavěné moduly pro základní funkce (jsou +100 od příslušného Z8xx).
* <code>Z1000</code> – <code>Z2999</code>: přirozené jazyky (instance Z60)
* <code>Z3000</code> – <code>Z5999</code>: ''vyhrazeno pro budoucí použití''
* <code>Z6000</code> – <code>Z6999</code>: ''typy, funkce atp. pro využívání obsahu Wikidat a dalších projektů nadace Wikimedia''
** <code>Z6000</code> – <code>Z6099</code>: ''typy pro obsah Wikidat a dalších projektů Wikimedia'' ''(See [[<tvar name="1">#wikidata-types</tvar>|§ Wikidata types]] below.)''
** <code>Z6100</code> – <code>Z6199</code>: ''validátory pro tyto typy''
** <code>Z6200</code> – <code>Z6299</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">built-in implementations of the validators</span>''
** <code>Z6800</code> – <code>Z6899</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">helper functions for these types that need to be built-in (e.g., fetching, equality)</span>'' ''(See [[<tvar name="1">#wikidata-functions</tvar>|§ Wikidata functions]] below.)''
** <code>Z6900</code> – <code>Z6999</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">built-in implementations of the helper functions</span>''
* <code>Z7000</code> – <code>Z7999</code>: ''vyhrazeno pro budoucí užití''
* <code>Z8000</code> – <code>Z8999</code>: Testery pro každou předem definovanou funkci (''např.'' Z801 se testuje prostřednictvím Z8010, Z8011, Z8012, ... Z8019).
* <code>Z9000</code> – <code>Z9999</code>: ''vyhrazeno pro budoucí použití''
</div></div>
{{Anchor|core-types}}
<span id="Core_types"></span>
=== Základní typy ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code>: {{Z|Z1}} (Typ), kořenový prvek.
* <code>Z2</code>: {{Z|Z2}} (Typ): vše na wiki je <code>Z2</code>, proto má tak nízký ZID.
* <code>Z3</code>: {{Z|Z3}} (Typ): protože slovo <bdi lang="en" dir="ltr">''key''</bdi> má v angličtině tři písmena.
* <code>Z4</code>: {{Z|Z4}} (Typ): protože slovo <bdi lang="en" dir="ltr">''type''</bdi> má v angličtině čtyři písmena.
* <code>Z5</code>: {{Z|Z5}} (Typ): protože slovo <bdi lang="en" dir="ltr">''error''</bdi> má v angličtině pět písmen. ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z6</code>: {{Z|Z6}} (Typ): protože slovo <bdi lang="en" dir="ltr">''string''</bdi> má v angličtině šest písmen.
* <code>Z7</code>: {{Z|Z7}} (Typ): protože volání funkcí tvoří hlavním kouzlo tohoto systému a 7 je kouzelné číslo. Je také blízké hodnotě <code>Z8</code>.
* <code>Z8</code>: {{Z|Z8}} (generický typ, technicky tedy funkce): protože <bdi lang="en" dir="ltr">''function''</bdi> má v angličtině osm písmen. ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z9</code>: {{Z|Z9}} (Typ): protože slovo <bdi lang="en" dir="ltr">''reference''</bdi> má v angličtině devět písmen.
* <code>Z10</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z11</code>: {{Z|Z11}} (Typ): protože je to jen jeden jazyk a v názvu je ''jeden''.
* <code>Z12</code>: {{Z|Z12}} (Typ): protože se jedná o rozšíření <code>Z11</code>.
* <code>Z13</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z14</code>: {{Z|Z14}} (Typ): protože slovo <bdi lang="en" dir="ltr">''implementation''</bdi> má v angličtině čtrnáct písmen.
* <code>Z15</code>: ''Ještě není přiděleno.''
* <code>Z16</code>: {{Z|Z16}} (Typ): žádný dobrý důvod, je to podobné Z14 a Z61/Programovací jazyk.
* <code>Z17</code>: {{Z|Z17}} (Typ).
* <code>Z18</code>: {{Z|Z18}} (Typ).
* <code>Z19</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z20</code>: {{Z|Z20}} (Typ): protože 20/20 je dokonalý zrak a testy zviditelňují chyby.
* <code>Z21</code>: {{Z|Z21}} (Typ).
* <code>Z22</code>: {{Z|Z22}} (Typ).
* <code>Z23</code>: {{Z|Z23}} (Typ).
* <code>Z24</code>: {{Z|Z24}} (Jednotkový typ).
* <code>Z25</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z26</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z27</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z28</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z29</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z30</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z31</code>: {{Z|Z31}} (Typ).
* <code>Z32</code>: {{Z|Z32}} (Typ): protože se jedná o rozšíření <code>Z31</code>.
* <code>Z33</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z34</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z35</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z36</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z37</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z38</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z39</code>: {{Z|Z39}} (Typ): protože Z3/Klíč Z9/Reference.
* <code>Z40</code>: {{Z|Z40}} (Typ): protože Boole poprvé publikoval v roce (18)40.
* <code>Z41</code>: {{Z|Z41}} (Logická hodnota).
* <code>Z42</code>: {{Z|Z42}} (Logická hodnota).
* <code>Z43</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z44</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z45</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z46</code>: {{Z|Z46}} (Typ): protože převádí Z4/Typ na kód v Z61/Programovacím jazyce.
* <code>Z47</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z48</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z49</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z50</code>: {{Z|Z50}} (Typ): protože Chyba je <code>Z5</code>.
<!--<nowiki>
* <code>Z51</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z59</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z60</code>: {{Z|Z60}} (Typ): protože <code>Z6</code> je Řetězec.
* <code>Z61</code>: {{Z|Z61}} (Typ): protože <code>Z16</code> je Zdrojový kód.
* <code>Z64</code>: {{Z|Z64}}: protože je to opak <code>Z46</code>.
<!--<nowiki>
* <code>Z62</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z79</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z80</code>: {{Z|Z80}} (Typ): protože je to oktet.
<!--<nowiki>
* <code>Z81</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z69</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z84</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z85</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z86</code>: {{Z|Z86}} (Typ): protože to není přesně Z80/Bajt, ale spíše Z6/Řetězec.
<!--<nowiki>
* <code>Z87</code>: <translate>'''…''' (Type).</translate>
* <code>Z88</code>: <translate>'''…''' (Type).</translate>
</nowiki>
-->
* <code>Z89</code>: {{Z|Z89}} (Typ)
* <code>Z99</code>: {{Z|Z99}} (Typ): protože v angličtině to vypadá trochu jako uzavírací uvozovka.
</div></div>
{{Anchor|wikidata-types}}
<span id="Wikidata_types"></span>
==== Typy pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<code>Z6001</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6001}} (Type)</span>
*<code>Z6002</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6002}} (Type)</span>
*<code>Z6003</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6003}} (Type)</span>
*<code>Z6004</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6004}} (Type)</span>
*<code>Z6005</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6005}} (Type)</span>
*<code>Z6006</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6006}} (Type)</span>
*<code>Z6007</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6007}} (Type)</span>
*<code>Z6008</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6008}} (Type)</span>
*<code>Z6010</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6010}} (Type)</span>
*<code>Z6011</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6011}} (Type)</span>
*<code>Z6020</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6020}} (Type)</span>
*<code>Z6021</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6021}} (Claim subtype)</span>
*<code>Z6022</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6022}} (Claim subtype)</span>
*<code>Z6023</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6023}} (Claim subtype)</span>
*<code>Z6030</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6030}} (Type)</span>
*<code>Z6031</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6031}} (Entity part)</span>
*<code>Z6032</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6032}} (Entity part)</span>
*<code>Z6033</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6033}} (Entity part)</span>
*<code>Z6034</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6034}} (Entity part)</span>
*<code>Z6035</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6035}} (Entity part)</span>
*<code>Z6036</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6036}} (Entity part)</span>
*<code>Z6037</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6037}} (Entity part)</span>
*<code>Z6038</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6038}} (Entity part)</span>
*<code>Z6040</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6040}} (Type)</span>
*<code>Z6041</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6041}} (Statement rank)</span>
*<code>Z6042</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6042}} (Statement rank)</span>
*<code>Z6043</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6043}} (Statement rank)</span>
*<code>Z6060</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6060}} (Type)</span>
*<code>Z6061</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6061}} (Type)</span>
*<code>Z6062</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6062}} (Type)</span>
*<code>Z6063</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6063}} (Type)</span>
*<code>Z6064</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6064}} (Type)</span>
*<code>Z6091</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6091}} (Type)</span>
*<code>Z6092</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6092}} (Type)</span>
*<code>Z6094</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6094}} (Type)</span>
*<code>Z6095</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6095}} (Type)</span>
*<code>Z6096</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6096}} (Type)</span>
</div></div>
{{Anchor|core-functions}}
<span id="Core_functions"></span>
=== Základní funkce ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z801</code> {{Z+|Z801}}: T ➝ T
* <code>Z802</code> {{Z+|Z802}}: Boolean, T, T ➝ T
* <code>Z803</code> {{Z+|Z803}}: Key reference, Any ➝ Any
*: Z3/Klíč
* <code>Z804</code> {{Z+|Z804}}: List(Key reference) ➝ Abt
* <code>Z805</code> {{Z+|Z805}}: Any ➝ List(Pair(Key reference, Any))
*: ''Reify'' má pět písmen.
* <code>Z808</code> {{Z+|Z808}}: List(Pair(Key reference, Any)) ➝ Any
*: ''Abstract'' má osm písmen.
* <code>Z810</code> {{Z+|Z810}}: T, List(T) ➝ List(T)
*: (protože Z10 je seznam).
* <code>Z811</code> {{Z+|Z811}}: List(T) ➝ T
*: (protože Z10 měl být seznam a my získáváme to první)
* <code>Z812</code> {{Z+|Z812}}: List(T) ➝ List(T)
*: (protože Z10 měl být seznam a my získáváme to druhé, zbytek)
* <code>Z813</code> {{Z+|Z813}}: List(T) ➝ Boolean
*: (protože Z13 měl být prázdný seznam)
* <code>Z820</code> {{Z+|Z820}}: String, Any ➝ Any
* <code>Z821</code> {{Z+|Z821}}: Pair(T1, T2) ➝ T1
*: (protože Z22 je dvojice).
* <code>Z822</code> {{Z+|Z822}}: Pair(T1, T2) ➝ T2
*: (protože Z22 je dvojice).
* <code>Z844</code> {{Z+|Z844}}: Boolean, Boolean ➝ Boolean
* <code>Z850</code> {{Z+|Z850}}: Object, Error type, Object ➝ Object
*: (protože řeší Z5/Chyby)
* <code>Z851</code> {{Z+|Z851}}: Error type, List(T) ➝ Unit
* <code>Z852</code> {{Z+|Z852}}: Error, Error type ➝ Boolean
* <code>Z853</code> {{Z+|Z853}}: Object ➝ Pair(Error, Object)
* <code>Z854</code> {{Z+|Z854}}: Object ➝ String
* <code>Z860</code> {{Z+|Z860}}: String ➝ Language
* <code>Z866</code> {{Z+|Z866}}: String, String ➝ Boolean
* <code>Z868</code> Nahrazeno {{Z+|Z22717}}: String ➝ List(Character)
*: Protože Z6/Řetězec a Z86/Kódový bod Unicode.
* <code>Z872</code> {{Z+|Z872}}: Function, Typed list (Object) ➝ Object
* <code>Z873</code> {{Z+|Z873}} Function, List ➝ List
* <code>Z876</code> {{Z+|Z876}}: Function, List, Object ➝ Object
* <code>Z877</code> {{Z+|Z877}}: HTML fragment -> HTML fragment
* <code>Z881</code> {{Z+|Z881}}: Type ➝ Type
* <code>Z882</code> {{Z+|Z882}}: Type, Type ➝ Type
* <code>Z883</code> {{Z+|Z883}}: T ➝ T
* <code>Z884</code> {{Z+|Z884}}: Type, List(Reference), String ➝ Type
* <code>Z885</code> {{Z+|Z885}}: Error type ➝ Type
* <code>Z886</code> Nahrazeno {{Z+|Z22693}}: List*(Character) ➝ String
*: protože Z86/Kódový bod Unicode a Z6/Řetězec.
* <code>Z888</code> Nahrazeno {{Z+|Z22683}}: Character, Character ➝ Boolean
* <code>Z899</code> {{Z+|Z899}}: Quote ➝ Any
*: protože Z99/Citace.
</div></div>
{{Anchor|wikidata-functions}}
<span id="Wikidata_functions"></span>
==== Funkce pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<span lang="en" dir="ltr" class="mw-content-ltr"><code>Z6801</code> to <code>Z6808</code> are the 'same object' functions corresponding to <code>Z6001</code> to <code>Z6008</code>.</span>
*<code>Z6820</code> {{Z+|Z6820}}: List(Object) ➝ Map(String, Object)
*<code>Z6821</code> {{Z+|Z6821}}: Item reference ➝ Item
*<code>Z6822</code> {{Z+|Z6822}}: Property reference ➝ Property
*<code>Z6824</code> {{Z+|Z6824}}: Lexeme form reference ➝ Lexeme form
*<code>Z6825</code> {{Z+|Z6825}}: Lexeme reference ➝ Lexeme
*<code>Z6826</code> {{Z+|Z6826}}: Lexeme sense reference ➝ Lexeme sense
*<code>Z6830</code> {{Z+|Z6830}}: Item reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6831</code> {{Z+|Z6831}}: Lexeme sense reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6884</code> {{Z+|Z6884}}: Type, List(Object), String ➝ Type
*<code>Z6894</code> {{Z+|Z6894}}
*<code>Z6895</code> {{Z+|Z6895}}: Object ➝ Object
*<code>Z6896</code> {{Z+|Z6896}}: List(String) ➝ Object
</div></div>
{{Anchor|core-error-types}}
<span id="Core_error_types"></span>
=== Základní typy chyb ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* {{Z|Z501}} (chybová zpráva, vstup): syntaktická chyba
* {{Z|Z502}} (podtyp, hodnota): není dobře zapsáno, ukazuje na Z52x nebo Z53x
* {{Z|Z503}} (název funkce): zatím neimplementováno
* {{Z|Z504}} (zid): Zid nebyl nenalezen
* {{Z|Z505}} (očekáváný počet, vložený počet, argumenty): nesprávný počet argumentů
* {{Z|Z506}} (očekávaný typ, vložený typ, argument): nesprávný typ argumentu
* {{Z|Z507}} (volání funkce): chyba při evaluaci
* {{Z|Z508}} (objekt): konkurenční klíče
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z509}} (errors): List of errors</span>
* {{Z|Z510}} (none): nil
* {{Z|Z511}} (klíč, objekt): klíč nebyl nalezen
* {{Z|Z512}} (object): Z9 chyba
* {{Z|Z513}} (cílový objekt): cílový objekt bez Z2K2
* {{Z|Z514}} (implementace): Builtin (zabudovaná funkce) neexistuje
* {{Z|Z515}} (implementace): Builtin ID (zabudované ID) je chybné
* {{Z|Z516}} (klíč, špatná hodnota): Chyba hodnoty argumentu
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z517}} (expected type, actual type, returned value, propagated error): Return type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z518}} (expected type, object, propagated error): Object type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z519}} (object): Undefined list type</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z520}} (object): Wrong list type</span>
* {{Z|Z521}} (chybná hodnota): ZObject nesmí být číslo nebo boolean nebo null
* {{Z|Z522}} (chybný index v poli, propagovaná chyba): Prvek pole není správný
* {{Z|Z523}} (objekt): Chybí Z1K1
* {{Z|Z524}} (hodnota Z1K1): Z1K1 nesmí být string (řetězec) nebo array (pole)
* {{Z|Z525}} (klíč): Neplatný klíč
* {{Z|Z526}} (klíč, propagovaná chyba): není správně formulovaná hodnota]
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z529}} (host name)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z530}} (function call, propagated error)</span>
* {{Z|Z531}} (celý objekt): Z6 musí mít 2 klíče
* {{Z|Z532}} (celý objekt): Z6 bez Z6K1
* {{Z|Z533}} (hodnota Z6K1): Z6K1 musí být string (řetězec)
* {{Z|Z534}} (celý objekt): Z9 musí mít 2 klíče
* {{Z|Z535}} (celý objekt): Z9 bez Z9K1
* {{Z|Z536}} (hodnota Z9K1): Z9K1 musí být string (řetězec) ve formátu JSON
* {{Z|Z537}} (hodnota Z9K1): Z9K1 musí být reference (odkaz)
* {{Z|Z538}} (název stránky): chybný jmenný prostor
* {{Z|Z539}} (název stránky): chybný typ obsahu
* {{Z|Z540}} (kód jazyka): neplatný kód jazyka
* {{Z|Z541}} (kód jazyka): kód jazyka nebyl nalezen
* {{Z|Z542}} (očekávaný typ, zadaný objekt): očekávaný typ, zadaný objekt
* {{Z|Z543}} (název typu): typ nenalezen
* {{Z|Z544}} (typ zid, název typu, existující název typu): konfliktní názvy typů
* {{Z|Z545}} (typ zid, název typu, existující typ zid): konfliktní typ Zidů
* {{Z|Z546}} (typ zid, název typu): builtin type (vestavěný typ) nenalezen
* {{Z|Z547}} (vstup): neplatný formát
* {{Z|Z548}} (chybová zpráva, vstup): neplatný JSON
* {{Z|Z549}} (referenční hodnota): neplatná ZReference
* {{Z|Z550}} (referenční hodnota): neznámá ZReference
* {{Z|Z551}} (klíč, očekávaný typ, zadaný typ): neshoda typu schématu
* {{Z|Z552}} (index, očekávaný typ, skutečný typ): neshoda typu prvku pole
* {{Z|Z553}} (zobject): nepovolený typ kořene
* {{Z|Z554}} (kolidující ZID, jazyk): štítek koliduje se štítkem jiného ZObjektu
* {{Z|Z555}} (ZID, titulek): chybně zadaný ZID a titulek stránky
* {{Z|Z556}} (titulek): neplatný titulek stránky
* {{Z|Z557}} (chybová zpráva): uživatel nemá oprávnění
* {{Z|Z558}} (programovací jazyk): neplatný programovací jazyk
* {{Z|Z559}} <span lang="en" dir="ltr" class="mw-content-ltr">(none): user not permitted to evaluate function</span>
* {{Z|Z560}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluation result): invalid evaluation result</span>
* {{Z|Z561}} <span lang="en" dir="ltr" class="mw-content-ltr">(propagated error): invalid evaluation request</span>
* {{Z|Z562}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): incomplete evaluation request</span>
* {{Z|Z563}} <span lang="en" dir="ltr" class="mw-content-ltr">(call): call by non-reentrant executor</span>
* {{Z|Z564}} <span lang="en" dir="ltr" class="mw-content-ltr">(contents): invalid executor response</span>
* {{Z|Z565}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): Incomplete executor request</span>
* {{Z|Z570}} <span lang="en" dir="ltr" class="mw-content-ltr">(orchestrator rate limit): reached rate limit in orchestrator</span>
* {{Z|Z571}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluator rate limit): reached rate limit in evaluator</span>
* {{Z|Z572}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in orchestrator</span>
* {{Z|Z573}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in evaluator</span>
* {{Z|Z574}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in orchestrator</span>
* {{Z|Z575}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in evaluator</span>
* {{Z|Z576}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit)</span>
* {{Z|Z580}} <span lang="en" dir="ltr" class="mw-content-ltr">(duplicate language)</span>
</div></div>
<span id="See_also"></span>
== Viz též ==
* [[:m:Special:MyLanguage/Abstract Wikipedia/Notes|Přehled poznámek]]
<noinclude>
[[Category:Technical documentation{{#translation:}}|Reserved ZIDs]]
</noinclude>
myogx7cjsjnswq2824pzuxrx5ajtgjj
272667
272665
2026-05-06T14:15:16Z
Mormegil
150
Created page with "vestavěné implementace validátorů"
272667
wikitext
text/x-wiki
<noinclude><languages/>{{Technical documentation navbox}}</noinclude>
Tato stránka popisuje ZIDy, které jsou vyhrazené pro Wikilambda, software, na kterém Wikifunkce běží. Všechny ZIDy se čtyřmi nebo méně číslicemi jsou vyhrazené. Seznam všech potenciálních předdefinovaných objektů najdete na [[Wikifunctions:Reserved ZIDs/all]].
<span id="Ranges"></span>
=== Rozsahy ===
Určité prostory vyhrazujeme pro určité druhy předem definovaných objektů.
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code> – <code>Z99</code>: základní typy. ''(Viz [[#core-types|§ Základní typy]] níže.)''
* <code>Z100</code> – <code>Z199</code>: validátory pro základní typy (tj. pro každý základní typ existuje validátor pod +100), např. Z104 je validátor pro Z4/Typ
* <code>Z200</code> – <code>Z299</code>: vestavěné implementace validátorů pro základní typy (tj. Z204 je vestavěná implementace validátoru pro Z4/Typ).
* <code>Z300</code> – <code>Z399</code>: ''prozatím nepřiřazeno''
* <code>Z400</code> – <code>Z499</code>: ''vyhrazeno pro místní použití''
* <code>Z500</code> – <code>Z599</code>: základní typy chyb (<code>Z5xx</code> protože <code>Z5</code> je chyba) ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z600</code> – <code>Z699</code>: základní programovací jazyky (<code>Z6xx</code> protože <code>Z61</code> je programovací jazyk)
* <code>Z700</code> – <code>Z799</code>: ''prozatím nepřiřazeno''
* <code>Z800</code> – <code>Z899</code>: definice základních funkcí s vestavěnými moduly (<code>Z8xx</code> protože <code>Z8</code> je funkce) ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z900</code> – <code>Z999</code>: vestavěné moduly pro základní funkce (jsou +100 od příslušného Z8xx).
* <code>Z1000</code> – <code>Z2999</code>: přirozené jazyky (instance Z60)
* <code>Z3000</code> – <code>Z5999</code>: ''vyhrazeno pro budoucí použití''
* <code>Z6000</code> – <code>Z6999</code>: ''typy, funkce atp. pro využívání obsahu Wikidat a dalších projektů nadace Wikimedia''
** <code>Z6000</code> – <code>Z6099</code>: ''typy pro obsah Wikidat a dalších projektů Wikimedia'' ''(See [[<tvar name="1">#wikidata-types</tvar>|§ Wikidata types]] below.)''
** <code>Z6100</code> – <code>Z6199</code>: ''validátory pro tyto typy''
** <code>Z6200</code> – <code>Z6299</code>: ''vestavěné implementace validátorů''
** <code>Z6800</code> – <code>Z6899</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">helper functions for these types that need to be built-in (e.g., fetching, equality)</span>'' ''(See [[<tvar name="1">#wikidata-functions</tvar>|§ Wikidata functions]] below.)''
** <code>Z6900</code> – <code>Z6999</code>: ''<span lang="en" dir="ltr" class="mw-content-ltr">built-in implementations of the helper functions</span>''
* <code>Z7000</code> – <code>Z7999</code>: ''vyhrazeno pro budoucí užití''
* <code>Z8000</code> – <code>Z8999</code>: Testery pro každou předem definovanou funkci (''např.'' Z801 se testuje prostřednictvím Z8010, Z8011, Z8012, ... Z8019).
* <code>Z9000</code> – <code>Z9999</code>: ''vyhrazeno pro budoucí použití''
</div></div>
{{Anchor|core-types}}
<span id="Core_types"></span>
=== Základní typy ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code>: {{Z|Z1}} (Typ), kořenový prvek.
* <code>Z2</code>: {{Z|Z2}} (Typ): vše na wiki je <code>Z2</code>, proto má tak nízký ZID.
* <code>Z3</code>: {{Z|Z3}} (Typ): protože slovo <bdi lang="en" dir="ltr">''key''</bdi> má v angličtině tři písmena.
* <code>Z4</code>: {{Z|Z4}} (Typ): protože slovo <bdi lang="en" dir="ltr">''type''</bdi> má v angličtině čtyři písmena.
* <code>Z5</code>: {{Z|Z5}} (Typ): protože slovo <bdi lang="en" dir="ltr">''error''</bdi> má v angličtině pět písmen. ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z6</code>: {{Z|Z6}} (Typ): protože slovo <bdi lang="en" dir="ltr">''string''</bdi> má v angličtině šest písmen.
* <code>Z7</code>: {{Z|Z7}} (Typ): protože volání funkcí tvoří hlavním kouzlo tohoto systému a 7 je kouzelné číslo. Je také blízké hodnotě <code>Z8</code>.
* <code>Z8</code>: {{Z|Z8}} (generický typ, technicky tedy funkce): protože <bdi lang="en" dir="ltr">''function''</bdi> má v angličtině osm písmen. ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z9</code>: {{Z|Z9}} (Typ): protože slovo <bdi lang="en" dir="ltr">''reference''</bdi> má v angličtině devět písmen.
* <code>Z10</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z11</code>: {{Z|Z11}} (Typ): protože je to jen jeden jazyk a v názvu je ''jeden''.
* <code>Z12</code>: {{Z|Z12}} (Typ): protože se jedná o rozšíření <code>Z11</code>.
* <code>Z13</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z14</code>: {{Z|Z14}} (Typ): protože slovo <bdi lang="en" dir="ltr">''implementation''</bdi> má v angličtině čtrnáct písmen.
* <code>Z15</code>: ''Ještě není přiděleno.''
* <code>Z16</code>: {{Z|Z16}} (Typ): žádný dobrý důvod, je to podobné Z14 a Z61/Programovací jazyk.
* <code>Z17</code>: {{Z|Z17}} (Typ).
* <code>Z18</code>: {{Z|Z18}} (Typ).
* <code>Z19</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z20</code>: {{Z|Z20}} (Typ): protože 20/20 je dokonalý zrak a testy zviditelňují chyby.
* <code>Z21</code>: {{Z|Z21}} (Typ).
* <code>Z22</code>: {{Z|Z22}} (Typ).
* <code>Z23</code>: {{Z|Z23}} (Typ).
* <code>Z24</code>: {{Z|Z24}} (Jednotkový typ).
* <code>Z25</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z26</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z27</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z28</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z29</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z30</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z31</code>: {{Z|Z31}} (Typ).
* <code>Z32</code>: {{Z|Z32}} (Typ): protože se jedná o rozšíření <code>Z31</code>.
* <code>Z33</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z34</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z35</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z36</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z37</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z38</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z39</code>: {{Z|Z39}} (Typ): protože Z3/Klíč Z9/Reference.
* <code>Z40</code>: {{Z|Z40}} (Typ): protože Boole poprvé publikoval v roce (18)40.
* <code>Z41</code>: {{Z|Z41}} (Logická hodnota).
* <code>Z42</code>: {{Z|Z42}} (Logická hodnota).
* <code>Z43</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z44</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z45</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z46</code>: {{Z|Z46}} (Typ): protože převádí Z4/Typ na kód v Z61/Programovacím jazyce.
* <code>Z47</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z48</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z49</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z50</code>: {{Z|Z50}} (Typ): protože Chyba je <code>Z5</code>.
<!--<nowiki>
* <code>Z51</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z59</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z60</code>: {{Z|Z60}} (Typ): protože <code>Z6</code> je Řetězec.
* <code>Z61</code>: {{Z|Z61}} (Typ): protože <code>Z16</code> je Zdrojový kód.
* <code>Z64</code>: {{Z|Z64}}: protože je to opak <code>Z46</code>.
<!--<nowiki>
* <code>Z62</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z79</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z80</code>: {{Z|Z80}} (Typ): protože je to oktet.
<!--<nowiki>
* <code>Z81</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z69</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z84</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z85</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z86</code>: {{Z|Z86}} (Typ): protože to není přesně Z80/Bajt, ale spíše Z6/Řetězec.
<!--<nowiki>
* <code>Z87</code>: <translate>'''…''' (Type).</translate>
* <code>Z88</code>: <translate>'''…''' (Type).</translate>
</nowiki>
-->
* <code>Z89</code>: {{Z|Z89}} (Typ)
* <code>Z99</code>: {{Z|Z99}} (Typ): protože v angličtině to vypadá trochu jako uzavírací uvozovka.
</div></div>
{{Anchor|wikidata-types}}
<span id="Wikidata_types"></span>
==== Typy pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<code>Z6001</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6001}} (Type)</span>
*<code>Z6002</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6002}} (Type)</span>
*<code>Z6003</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6003}} (Type)</span>
*<code>Z6004</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6004}} (Type)</span>
*<code>Z6005</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6005}} (Type)</span>
*<code>Z6006</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6006}} (Type)</span>
*<code>Z6007</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6007}} (Type)</span>
*<code>Z6008</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6008}} (Type)</span>
*<code>Z6010</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6010}} (Type)</span>
*<code>Z6011</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6011}} (Type)</span>
*<code>Z6020</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6020}} (Type)</span>
*<code>Z6021</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6021}} (Claim subtype)</span>
*<code>Z6022</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6022}} (Claim subtype)</span>
*<code>Z6023</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6023}} (Claim subtype)</span>
*<code>Z6030</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6030}} (Type)</span>
*<code>Z6031</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6031}} (Entity part)</span>
*<code>Z6032</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6032}} (Entity part)</span>
*<code>Z6033</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6033}} (Entity part)</span>
*<code>Z6034</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6034}} (Entity part)</span>
*<code>Z6035</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6035}} (Entity part)</span>
*<code>Z6036</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6036}} (Entity part)</span>
*<code>Z6037</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6037}} (Entity part)</span>
*<code>Z6038</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6038}} (Entity part)</span>
*<code>Z6040</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6040}} (Type)</span>
*<code>Z6041</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6041}} (Statement rank)</span>
*<code>Z6042</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6042}} (Statement rank)</span>
*<code>Z6043</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6043}} (Statement rank)</span>
*<code>Z6060</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6060}} (Type)</span>
*<code>Z6061</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6061}} (Type)</span>
*<code>Z6062</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6062}} (Type)</span>
*<code>Z6063</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6063}} (Type)</span>
*<code>Z6064</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6064}} (Type)</span>
*<code>Z6091</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6091}} (Type)</span>
*<code>Z6092</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6092}} (Type)</span>
*<code>Z6094</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6094}} (Type)</span>
*<code>Z6095</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6095}} (Type)</span>
*<code>Z6096</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6096}} (Type)</span>
</div></div>
{{Anchor|core-functions}}
<span id="Core_functions"></span>
=== Základní funkce ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z801</code> {{Z+|Z801}}: T ➝ T
* <code>Z802</code> {{Z+|Z802}}: Boolean, T, T ➝ T
* <code>Z803</code> {{Z+|Z803}}: Key reference, Any ➝ Any
*: Z3/Klíč
* <code>Z804</code> {{Z+|Z804}}: List(Key reference) ➝ Abt
* <code>Z805</code> {{Z+|Z805}}: Any ➝ List(Pair(Key reference, Any))
*: ''Reify'' má pět písmen.
* <code>Z808</code> {{Z+|Z808}}: List(Pair(Key reference, Any)) ➝ Any
*: ''Abstract'' má osm písmen.
* <code>Z810</code> {{Z+|Z810}}: T, List(T) ➝ List(T)
*: (protože Z10 je seznam).
* <code>Z811</code> {{Z+|Z811}}: List(T) ➝ T
*: (protože Z10 měl být seznam a my získáváme to první)
* <code>Z812</code> {{Z+|Z812}}: List(T) ➝ List(T)
*: (protože Z10 měl být seznam a my získáváme to druhé, zbytek)
* <code>Z813</code> {{Z+|Z813}}: List(T) ➝ Boolean
*: (protože Z13 měl být prázdný seznam)
* <code>Z820</code> {{Z+|Z820}}: String, Any ➝ Any
* <code>Z821</code> {{Z+|Z821}}: Pair(T1, T2) ➝ T1
*: (protože Z22 je dvojice).
* <code>Z822</code> {{Z+|Z822}}: Pair(T1, T2) ➝ T2
*: (protože Z22 je dvojice).
* <code>Z844</code> {{Z+|Z844}}: Boolean, Boolean ➝ Boolean
* <code>Z850</code> {{Z+|Z850}}: Object, Error type, Object ➝ Object
*: (protože řeší Z5/Chyby)
* <code>Z851</code> {{Z+|Z851}}: Error type, List(T) ➝ Unit
* <code>Z852</code> {{Z+|Z852}}: Error, Error type ➝ Boolean
* <code>Z853</code> {{Z+|Z853}}: Object ➝ Pair(Error, Object)
* <code>Z854</code> {{Z+|Z854}}: Object ➝ String
* <code>Z860</code> {{Z+|Z860}}: String ➝ Language
* <code>Z866</code> {{Z+|Z866}}: String, String ➝ Boolean
* <code>Z868</code> Nahrazeno {{Z+|Z22717}}: String ➝ List(Character)
*: Protože Z6/Řetězec a Z86/Kódový bod Unicode.
* <code>Z872</code> {{Z+|Z872}}: Function, Typed list (Object) ➝ Object
* <code>Z873</code> {{Z+|Z873}} Function, List ➝ List
* <code>Z876</code> {{Z+|Z876}}: Function, List, Object ➝ Object
* <code>Z877</code> {{Z+|Z877}}: HTML fragment -> HTML fragment
* <code>Z881</code> {{Z+|Z881}}: Type ➝ Type
* <code>Z882</code> {{Z+|Z882}}: Type, Type ➝ Type
* <code>Z883</code> {{Z+|Z883}}: T ➝ T
* <code>Z884</code> {{Z+|Z884}}: Type, List(Reference), String ➝ Type
* <code>Z885</code> {{Z+|Z885}}: Error type ➝ Type
* <code>Z886</code> Nahrazeno {{Z+|Z22693}}: List*(Character) ➝ String
*: protože Z86/Kódový bod Unicode a Z6/Řetězec.
* <code>Z888</code> Nahrazeno {{Z+|Z22683}}: Character, Character ➝ Boolean
* <code>Z899</code> {{Z+|Z899}}: Quote ➝ Any
*: protože Z99/Citace.
</div></div>
{{Anchor|wikidata-functions}}
<span id="Wikidata_functions"></span>
==== Funkce pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<span lang="en" dir="ltr" class="mw-content-ltr"><code>Z6801</code> to <code>Z6808</code> are the 'same object' functions corresponding to <code>Z6001</code> to <code>Z6008</code>.</span>
*<code>Z6820</code> {{Z+|Z6820}}: List(Object) ➝ Map(String, Object)
*<code>Z6821</code> {{Z+|Z6821}}: Item reference ➝ Item
*<code>Z6822</code> {{Z+|Z6822}}: Property reference ➝ Property
*<code>Z6824</code> {{Z+|Z6824}}: Lexeme form reference ➝ Lexeme form
*<code>Z6825</code> {{Z+|Z6825}}: Lexeme reference ➝ Lexeme
*<code>Z6826</code> {{Z+|Z6826}}: Lexeme sense reference ➝ Lexeme sense
*<code>Z6830</code> {{Z+|Z6830}}: Item reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6831</code> {{Z+|Z6831}}: Lexeme sense reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6884</code> {{Z+|Z6884}}: Type, List(Object), String ➝ Type
*<code>Z6894</code> {{Z+|Z6894}}
*<code>Z6895</code> {{Z+|Z6895}}: Object ➝ Object
*<code>Z6896</code> {{Z+|Z6896}}: List(String) ➝ Object
</div></div>
{{Anchor|core-error-types}}
<span id="Core_error_types"></span>
=== Základní typy chyb ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* {{Z|Z501}} (chybová zpráva, vstup): syntaktická chyba
* {{Z|Z502}} (podtyp, hodnota): není dobře zapsáno, ukazuje na Z52x nebo Z53x
* {{Z|Z503}} (název funkce): zatím neimplementováno
* {{Z|Z504}} (zid): Zid nebyl nenalezen
* {{Z|Z505}} (očekáváný počet, vložený počet, argumenty): nesprávný počet argumentů
* {{Z|Z506}} (očekávaný typ, vložený typ, argument): nesprávný typ argumentu
* {{Z|Z507}} (volání funkce): chyba při evaluaci
* {{Z|Z508}} (objekt): konkurenční klíče
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z509}} (errors): List of errors</span>
* {{Z|Z510}} (none): nil
* {{Z|Z511}} (klíč, objekt): klíč nebyl nalezen
* {{Z|Z512}} (object): Z9 chyba
* {{Z|Z513}} (cílový objekt): cílový objekt bez Z2K2
* {{Z|Z514}} (implementace): Builtin (zabudovaná funkce) neexistuje
* {{Z|Z515}} (implementace): Builtin ID (zabudované ID) je chybné
* {{Z|Z516}} (klíč, špatná hodnota): Chyba hodnoty argumentu
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z517}} (expected type, actual type, returned value, propagated error): Return type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z518}} (expected type, object, propagated error): Object type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z519}} (object): Undefined list type</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z520}} (object): Wrong list type</span>
* {{Z|Z521}} (chybná hodnota): ZObject nesmí být číslo nebo boolean nebo null
* {{Z|Z522}} (chybný index v poli, propagovaná chyba): Prvek pole není správný
* {{Z|Z523}} (objekt): Chybí Z1K1
* {{Z|Z524}} (hodnota Z1K1): Z1K1 nesmí být string (řetězec) nebo array (pole)
* {{Z|Z525}} (klíč): Neplatný klíč
* {{Z|Z526}} (klíč, propagovaná chyba): není správně formulovaná hodnota]
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z529}} (host name)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z530}} (function call, propagated error)</span>
* {{Z|Z531}} (celý objekt): Z6 musí mít 2 klíče
* {{Z|Z532}} (celý objekt): Z6 bez Z6K1
* {{Z|Z533}} (hodnota Z6K1): Z6K1 musí být string (řetězec)
* {{Z|Z534}} (celý objekt): Z9 musí mít 2 klíče
* {{Z|Z535}} (celý objekt): Z9 bez Z9K1
* {{Z|Z536}} (hodnota Z9K1): Z9K1 musí být string (řetězec) ve formátu JSON
* {{Z|Z537}} (hodnota Z9K1): Z9K1 musí být reference (odkaz)
* {{Z|Z538}} (název stránky): chybný jmenný prostor
* {{Z|Z539}} (název stránky): chybný typ obsahu
* {{Z|Z540}} (kód jazyka): neplatný kód jazyka
* {{Z|Z541}} (kód jazyka): kód jazyka nebyl nalezen
* {{Z|Z542}} (očekávaný typ, zadaný objekt): očekávaný typ, zadaný objekt
* {{Z|Z543}} (název typu): typ nenalezen
* {{Z|Z544}} (typ zid, název typu, existující název typu): konfliktní názvy typů
* {{Z|Z545}} (typ zid, název typu, existující typ zid): konfliktní typ Zidů
* {{Z|Z546}} (typ zid, název typu): builtin type (vestavěný typ) nenalezen
* {{Z|Z547}} (vstup): neplatný formát
* {{Z|Z548}} (chybová zpráva, vstup): neplatný JSON
* {{Z|Z549}} (referenční hodnota): neplatná ZReference
* {{Z|Z550}} (referenční hodnota): neznámá ZReference
* {{Z|Z551}} (klíč, očekávaný typ, zadaný typ): neshoda typu schématu
* {{Z|Z552}} (index, očekávaný typ, skutečný typ): neshoda typu prvku pole
* {{Z|Z553}} (zobject): nepovolený typ kořene
* {{Z|Z554}} (kolidující ZID, jazyk): štítek koliduje se štítkem jiného ZObjektu
* {{Z|Z555}} (ZID, titulek): chybně zadaný ZID a titulek stránky
* {{Z|Z556}} (titulek): neplatný titulek stránky
* {{Z|Z557}} (chybová zpráva): uživatel nemá oprávnění
* {{Z|Z558}} (programovací jazyk): neplatný programovací jazyk
* {{Z|Z559}} <span lang="en" dir="ltr" class="mw-content-ltr">(none): user not permitted to evaluate function</span>
* {{Z|Z560}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluation result): invalid evaluation result</span>
* {{Z|Z561}} <span lang="en" dir="ltr" class="mw-content-ltr">(propagated error): invalid evaluation request</span>
* {{Z|Z562}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): incomplete evaluation request</span>
* {{Z|Z563}} <span lang="en" dir="ltr" class="mw-content-ltr">(call): call by non-reentrant executor</span>
* {{Z|Z564}} <span lang="en" dir="ltr" class="mw-content-ltr">(contents): invalid executor response</span>
* {{Z|Z565}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): Incomplete executor request</span>
* {{Z|Z570}} <span lang="en" dir="ltr" class="mw-content-ltr">(orchestrator rate limit): reached rate limit in orchestrator</span>
* {{Z|Z571}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluator rate limit): reached rate limit in evaluator</span>
* {{Z|Z572}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in orchestrator</span>
* {{Z|Z573}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in evaluator</span>
* {{Z|Z574}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in orchestrator</span>
* {{Z|Z575}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in evaluator</span>
* {{Z|Z576}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit)</span>
* {{Z|Z580}} <span lang="en" dir="ltr" class="mw-content-ltr">(duplicate language)</span>
</div></div>
<span id="See_also"></span>
== Viz též ==
* [[:m:Special:MyLanguage/Abstract Wikipedia/Notes|Přehled poznámek]]
<noinclude>
[[Category:Technical documentation{{#translation:}}|Reserved ZIDs]]
</noinclude>
7oxa8by0rpd70e2laqd6wq1jyxdz6pr
272670
272667
2026-05-06T14:15:53Z
Mormegil
150
Created page with "pomocné funkce pro tyto typy, které musí být vestavěné (např. načítání, rovnost)"
272670
wikitext
text/x-wiki
<noinclude><languages/>{{Technical documentation navbox}}</noinclude>
Tato stránka popisuje ZIDy, které jsou vyhrazené pro Wikilambda, software, na kterém Wikifunkce běží. Všechny ZIDy se čtyřmi nebo méně číslicemi jsou vyhrazené. Seznam všech potenciálních předdefinovaných objektů najdete na [[Wikifunctions:Reserved ZIDs/all]].
<span id="Ranges"></span>
=== Rozsahy ===
Určité prostory vyhrazujeme pro určité druhy předem definovaných objektů.
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code> – <code>Z99</code>: základní typy. ''(Viz [[#core-types|§ Základní typy]] níže.)''
* <code>Z100</code> – <code>Z199</code>: validátory pro základní typy (tj. pro každý základní typ existuje validátor pod +100), např. Z104 je validátor pro Z4/Typ
* <code>Z200</code> – <code>Z299</code>: vestavěné implementace validátorů pro základní typy (tj. Z204 je vestavěná implementace validátoru pro Z4/Typ).
* <code>Z300</code> – <code>Z399</code>: ''prozatím nepřiřazeno''
* <code>Z400</code> – <code>Z499</code>: ''vyhrazeno pro místní použití''
* <code>Z500</code> – <code>Z599</code>: základní typy chyb (<code>Z5xx</code> protože <code>Z5</code> je chyba) ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z600</code> – <code>Z699</code>: základní programovací jazyky (<code>Z6xx</code> protože <code>Z61</code> je programovací jazyk)
* <code>Z700</code> – <code>Z799</code>: ''prozatím nepřiřazeno''
* <code>Z800</code> – <code>Z899</code>: definice základních funkcí s vestavěnými moduly (<code>Z8xx</code> protože <code>Z8</code> je funkce) ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z900</code> – <code>Z999</code>: vestavěné moduly pro základní funkce (jsou +100 od příslušného Z8xx).
* <code>Z1000</code> – <code>Z2999</code>: přirozené jazyky (instance Z60)
* <code>Z3000</code> – <code>Z5999</code>: ''vyhrazeno pro budoucí použití''
* <code>Z6000</code> – <code>Z6999</code>: ''typy, funkce atp. pro využívání obsahu Wikidat a dalších projektů nadace Wikimedia''
** <code>Z6000</code> – <code>Z6099</code>: ''typy pro obsah Wikidat a dalších projektů Wikimedia'' ''(See [[<tvar name="1">#wikidata-types</tvar>|§ Wikidata types]] below.)''
** <code>Z6100</code> – <code>Z6199</code>: ''validátory pro tyto typy''
** <code>Z6200</code> – <code>Z6299</code>: ''vestavěné implementace validátorů''
** <code>Z6800</code> – <code>Z6899</code>: ''pomocné funkce pro tyto typy, které musí být vestavěné (např. načítání, rovnost)'' ''(See [[<tvar name="1">#wikidata-functions</tvar>|§ Wikidata functions]] below.)''
** <code>Z6900</code> – <code>Z6999</code>: ''vestavěné implementace pomocných funkcí''
* <code>Z7000</code> – <code>Z7999</code>: ''vyhrazeno pro budoucí užití''
* <code>Z8000</code> – <code>Z8999</code>: Testery pro každou předem definovanou funkci (''např.'' Z801 se testuje prostřednictvím Z8010, Z8011, Z8012, ... Z8019).
* <code>Z9000</code> – <code>Z9999</code>: ''vyhrazeno pro budoucí použití''
</div></div>
{{Anchor|core-types}}
<span id="Core_types"></span>
=== Základní typy ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code>: {{Z|Z1}} (Typ), kořenový prvek.
* <code>Z2</code>: {{Z|Z2}} (Typ): vše na wiki je <code>Z2</code>, proto má tak nízký ZID.
* <code>Z3</code>: {{Z|Z3}} (Typ): protože slovo <bdi lang="en" dir="ltr">''key''</bdi> má v angličtině tři písmena.
* <code>Z4</code>: {{Z|Z4}} (Typ): protože slovo <bdi lang="en" dir="ltr">''type''</bdi> má v angličtině čtyři písmena.
* <code>Z5</code>: {{Z|Z5}} (Typ): protože slovo <bdi lang="en" dir="ltr">''error''</bdi> má v angličtině pět písmen. ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z6</code>: {{Z|Z6}} (Typ): protože slovo <bdi lang="en" dir="ltr">''string''</bdi> má v angličtině šest písmen.
* <code>Z7</code>: {{Z|Z7}} (Typ): protože volání funkcí tvoří hlavním kouzlo tohoto systému a 7 je kouzelné číslo. Je také blízké hodnotě <code>Z8</code>.
* <code>Z8</code>: {{Z|Z8}} (generický typ, technicky tedy funkce): protože <bdi lang="en" dir="ltr">''function''</bdi> má v angličtině osm písmen. ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z9</code>: {{Z|Z9}} (Typ): protože slovo <bdi lang="en" dir="ltr">''reference''</bdi> má v angličtině devět písmen.
* <code>Z10</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z11</code>: {{Z|Z11}} (Typ): protože je to jen jeden jazyk a v názvu je ''jeden''.
* <code>Z12</code>: {{Z|Z12}} (Typ): protože se jedná o rozšíření <code>Z11</code>.
* <code>Z13</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z14</code>: {{Z|Z14}} (Typ): protože slovo <bdi lang="en" dir="ltr">''implementation''</bdi> má v angličtině čtrnáct písmen.
* <code>Z15</code>: ''Ještě není přiděleno.''
* <code>Z16</code>: {{Z|Z16}} (Typ): žádný dobrý důvod, je to podobné Z14 a Z61/Programovací jazyk.
* <code>Z17</code>: {{Z|Z17}} (Typ).
* <code>Z18</code>: {{Z|Z18}} (Typ).
* <code>Z19</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z20</code>: {{Z|Z20}} (Typ): protože 20/20 je dokonalý zrak a testy zviditelňují chyby.
* <code>Z21</code>: {{Z|Z21}} (Typ).
* <code>Z22</code>: {{Z|Z22}} (Typ).
* <code>Z23</code>: {{Z|Z23}} (Typ).
* <code>Z24</code>: {{Z|Z24}} (Jednotkový typ).
* <code>Z25</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z26</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z27</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z28</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z29</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z30</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z31</code>: {{Z|Z31}} (Typ).
* <code>Z32</code>: {{Z|Z32}} (Typ): protože se jedná o rozšíření <code>Z31</code>.
* <code>Z33</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z34</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z35</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z36</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z37</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z38</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z39</code>: {{Z|Z39}} (Typ): protože Z3/Klíč Z9/Reference.
* <code>Z40</code>: {{Z|Z40}} (Typ): protože Boole poprvé publikoval v roce (18)40.
* <code>Z41</code>: {{Z|Z41}} (Logická hodnota).
* <code>Z42</code>: {{Z|Z42}} (Logická hodnota).
* <code>Z43</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z44</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z45</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z46</code>: {{Z|Z46}} (Typ): protože převádí Z4/Typ na kód v Z61/Programovacím jazyce.
* <code>Z47</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z48</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z49</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z50</code>: {{Z|Z50}} (Typ): protože Chyba je <code>Z5</code>.
<!--<nowiki>
* <code>Z51</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z59</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z60</code>: {{Z|Z60}} (Typ): protože <code>Z6</code> je Řetězec.
* <code>Z61</code>: {{Z|Z61}} (Typ): protože <code>Z16</code> je Zdrojový kód.
* <code>Z64</code>: {{Z|Z64}}: protože je to opak <code>Z46</code>.
<!--<nowiki>
* <code>Z62</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z79</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z80</code>: {{Z|Z80}} (Typ): protože je to oktet.
<!--<nowiki>
* <code>Z81</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z69</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z84</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z85</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z86</code>: {{Z|Z86}} (Typ): protože to není přesně Z80/Bajt, ale spíše Z6/Řetězec.
<!--<nowiki>
* <code>Z87</code>: <translate>'''…''' (Type).</translate>
* <code>Z88</code>: <translate>'''…''' (Type).</translate>
</nowiki>
-->
* <code>Z89</code>: {{Z|Z89}} (Typ)
* <code>Z99</code>: {{Z|Z99}} (Typ): protože v angličtině to vypadá trochu jako uzavírací uvozovka.
</div></div>
{{Anchor|wikidata-types}}
<span id="Wikidata_types"></span>
==== Typy pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<code>Z6001</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6001}} (Type)</span>
*<code>Z6002</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6002}} (Type)</span>
*<code>Z6003</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6003}} (Type)</span>
*<code>Z6004</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6004}} (Type)</span>
*<code>Z6005</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6005}} (Type)</span>
*<code>Z6006</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6006}} (Type)</span>
*<code>Z6007</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6007}} (Type)</span>
*<code>Z6008</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6008}} (Type)</span>
*<code>Z6010</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6010}} (Type)</span>
*<code>Z6011</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6011}} (Type)</span>
*<code>Z6020</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6020}} (Type)</span>
*<code>Z6021</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6021}} (Claim subtype)</span>
*<code>Z6022</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6022}} (Claim subtype)</span>
*<code>Z6023</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6023}} (Claim subtype)</span>
*<code>Z6030</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6030}} (Type)</span>
*<code>Z6031</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6031}} (Entity part)</span>
*<code>Z6032</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6032}} (Entity part)</span>
*<code>Z6033</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6033}} (Entity part)</span>
*<code>Z6034</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6034}} (Entity part)</span>
*<code>Z6035</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6035}} (Entity part)</span>
*<code>Z6036</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6036}} (Entity part)</span>
*<code>Z6037</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6037}} (Entity part)</span>
*<code>Z6038</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6038}} (Entity part)</span>
*<code>Z6040</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6040}} (Type)</span>
*<code>Z6041</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6041}} (Statement rank)</span>
*<code>Z6042</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6042}} (Statement rank)</span>
*<code>Z6043</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6043}} (Statement rank)</span>
*<code>Z6060</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6060}} (Type)</span>
*<code>Z6061</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6061}} (Type)</span>
*<code>Z6062</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6062}} (Type)</span>
*<code>Z6063</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6063}} (Type)</span>
*<code>Z6064</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6064}} (Type)</span>
*<code>Z6091</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6091}} (Type)</span>
*<code>Z6092</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6092}} (Type)</span>
*<code>Z6094</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6094}} (Type)</span>
*<code>Z6095</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6095}} (Type)</span>
*<code>Z6096</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6096}} (Type)</span>
</div></div>
{{Anchor|core-functions}}
<span id="Core_functions"></span>
=== Základní funkce ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z801</code> {{Z+|Z801}}: T ➝ T
* <code>Z802</code> {{Z+|Z802}}: Boolean, T, T ➝ T
* <code>Z803</code> {{Z+|Z803}}: Key reference, Any ➝ Any
*: Z3/Klíč
* <code>Z804</code> {{Z+|Z804}}: List(Key reference) ➝ Abt
* <code>Z805</code> {{Z+|Z805}}: Any ➝ List(Pair(Key reference, Any))
*: ''Reify'' má pět písmen.
* <code>Z808</code> {{Z+|Z808}}: List(Pair(Key reference, Any)) ➝ Any
*: ''Abstract'' má osm písmen.
* <code>Z810</code> {{Z+|Z810}}: T, List(T) ➝ List(T)
*: (protože Z10 je seznam).
* <code>Z811</code> {{Z+|Z811}}: List(T) ➝ T
*: (protože Z10 měl být seznam a my získáváme to první)
* <code>Z812</code> {{Z+|Z812}}: List(T) ➝ List(T)
*: (protože Z10 měl být seznam a my získáváme to druhé, zbytek)
* <code>Z813</code> {{Z+|Z813}}: List(T) ➝ Boolean
*: (protože Z13 měl být prázdný seznam)
* <code>Z820</code> {{Z+|Z820}}: String, Any ➝ Any
* <code>Z821</code> {{Z+|Z821}}: Pair(T1, T2) ➝ T1
*: (protože Z22 je dvojice).
* <code>Z822</code> {{Z+|Z822}}: Pair(T1, T2) ➝ T2
*: (protože Z22 je dvojice).
* <code>Z844</code> {{Z+|Z844}}: Boolean, Boolean ➝ Boolean
* <code>Z850</code> {{Z+|Z850}}: Object, Error type, Object ➝ Object
*: (protože řeší Z5/Chyby)
* <code>Z851</code> {{Z+|Z851}}: Error type, List(T) ➝ Unit
* <code>Z852</code> {{Z+|Z852}}: Error, Error type ➝ Boolean
* <code>Z853</code> {{Z+|Z853}}: Object ➝ Pair(Error, Object)
* <code>Z854</code> {{Z+|Z854}}: Object ➝ String
* <code>Z860</code> {{Z+|Z860}}: String ➝ Language
* <code>Z866</code> {{Z+|Z866}}: String, String ➝ Boolean
* <code>Z868</code> Nahrazeno {{Z+|Z22717}}: String ➝ List(Character)
*: Protože Z6/Řetězec a Z86/Kódový bod Unicode.
* <code>Z872</code> {{Z+|Z872}}: Function, Typed list (Object) ➝ Object
* <code>Z873</code> {{Z+|Z873}} Function, List ➝ List
* <code>Z876</code> {{Z+|Z876}}: Function, List, Object ➝ Object
* <code>Z877</code> {{Z+|Z877}}: HTML fragment -> HTML fragment
* <code>Z881</code> {{Z+|Z881}}: Type ➝ Type
* <code>Z882</code> {{Z+|Z882}}: Type, Type ➝ Type
* <code>Z883</code> {{Z+|Z883}}: T ➝ T
* <code>Z884</code> {{Z+|Z884}}: Type, List(Reference), String ➝ Type
* <code>Z885</code> {{Z+|Z885}}: Error type ➝ Type
* <code>Z886</code> Nahrazeno {{Z+|Z22693}}: List*(Character) ➝ String
*: protože Z86/Kódový bod Unicode a Z6/Řetězec.
* <code>Z888</code> Nahrazeno {{Z+|Z22683}}: Character, Character ➝ Boolean
* <code>Z899</code> {{Z+|Z899}}: Quote ➝ Any
*: protože Z99/Citace.
</div></div>
{{Anchor|wikidata-functions}}
<span id="Wikidata_functions"></span>
==== Funkce pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<span lang="en" dir="ltr" class="mw-content-ltr"><code>Z6801</code> to <code>Z6808</code> are the 'same object' functions corresponding to <code>Z6001</code> to <code>Z6008</code>.</span>
*<code>Z6820</code> {{Z+|Z6820}}: List(Object) ➝ Map(String, Object)
*<code>Z6821</code> {{Z+|Z6821}}: Item reference ➝ Item
*<code>Z6822</code> {{Z+|Z6822}}: Property reference ➝ Property
*<code>Z6824</code> {{Z+|Z6824}}: Lexeme form reference ➝ Lexeme form
*<code>Z6825</code> {{Z+|Z6825}}: Lexeme reference ➝ Lexeme
*<code>Z6826</code> {{Z+|Z6826}}: Lexeme sense reference ➝ Lexeme sense
*<code>Z6830</code> {{Z+|Z6830}}: Item reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6831</code> {{Z+|Z6831}}: Lexeme sense reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6884</code> {{Z+|Z6884}}: Type, List(Object), String ➝ Type
*<code>Z6894</code> {{Z+|Z6894}}
*<code>Z6895</code> {{Z+|Z6895}}: Object ➝ Object
*<code>Z6896</code> {{Z+|Z6896}}: List(String) ➝ Object
</div></div>
{{Anchor|core-error-types}}
<span id="Core_error_types"></span>
=== Základní typy chyb ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* {{Z|Z501}} (chybová zpráva, vstup): syntaktická chyba
* {{Z|Z502}} (podtyp, hodnota): není dobře zapsáno, ukazuje na Z52x nebo Z53x
* {{Z|Z503}} (název funkce): zatím neimplementováno
* {{Z|Z504}} (zid): Zid nebyl nenalezen
* {{Z|Z505}} (očekáváný počet, vložený počet, argumenty): nesprávný počet argumentů
* {{Z|Z506}} (očekávaný typ, vložený typ, argument): nesprávný typ argumentu
* {{Z|Z507}} (volání funkce): chyba při evaluaci
* {{Z|Z508}} (objekt): konkurenční klíče
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z509}} (errors): List of errors</span>
* {{Z|Z510}} (none): nil
* {{Z|Z511}} (klíč, objekt): klíč nebyl nalezen
* {{Z|Z512}} (object): Z9 chyba
* {{Z|Z513}} (cílový objekt): cílový objekt bez Z2K2
* {{Z|Z514}} (implementace): Builtin (zabudovaná funkce) neexistuje
* {{Z|Z515}} (implementace): Builtin ID (zabudované ID) je chybné
* {{Z|Z516}} (klíč, špatná hodnota): Chyba hodnoty argumentu
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z517}} (expected type, actual type, returned value, propagated error): Return type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z518}} (expected type, object, propagated error): Object type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z519}} (object): Undefined list type</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z520}} (object): Wrong list type</span>
* {{Z|Z521}} (chybná hodnota): ZObject nesmí být číslo nebo boolean nebo null
* {{Z|Z522}} (chybný index v poli, propagovaná chyba): Prvek pole není správný
* {{Z|Z523}} (objekt): Chybí Z1K1
* {{Z|Z524}} (hodnota Z1K1): Z1K1 nesmí být string (řetězec) nebo array (pole)
* {{Z|Z525}} (klíč): Neplatný klíč
* {{Z|Z526}} (klíč, propagovaná chyba): není správně formulovaná hodnota]
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z529}} (host name)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z530}} (function call, propagated error)</span>
* {{Z|Z531}} (celý objekt): Z6 musí mít 2 klíče
* {{Z|Z532}} (celý objekt): Z6 bez Z6K1
* {{Z|Z533}} (hodnota Z6K1): Z6K1 musí být string (řetězec)
* {{Z|Z534}} (celý objekt): Z9 musí mít 2 klíče
* {{Z|Z535}} (celý objekt): Z9 bez Z9K1
* {{Z|Z536}} (hodnota Z9K1): Z9K1 musí být string (řetězec) ve formátu JSON
* {{Z|Z537}} (hodnota Z9K1): Z9K1 musí být reference (odkaz)
* {{Z|Z538}} (název stránky): chybný jmenný prostor
* {{Z|Z539}} (název stránky): chybný typ obsahu
* {{Z|Z540}} (kód jazyka): neplatný kód jazyka
* {{Z|Z541}} (kód jazyka): kód jazyka nebyl nalezen
* {{Z|Z542}} (očekávaný typ, zadaný objekt): očekávaný typ, zadaný objekt
* {{Z|Z543}} (název typu): typ nenalezen
* {{Z|Z544}} (typ zid, název typu, existující název typu): konfliktní názvy typů
* {{Z|Z545}} (typ zid, název typu, existující typ zid): konfliktní typ Zidů
* {{Z|Z546}} (typ zid, název typu): builtin type (vestavěný typ) nenalezen
* {{Z|Z547}} (vstup): neplatný formát
* {{Z|Z548}} (chybová zpráva, vstup): neplatný JSON
* {{Z|Z549}} (referenční hodnota): neplatná ZReference
* {{Z|Z550}} (referenční hodnota): neznámá ZReference
* {{Z|Z551}} (klíč, očekávaný typ, zadaný typ): neshoda typu schématu
* {{Z|Z552}} (index, očekávaný typ, skutečný typ): neshoda typu prvku pole
* {{Z|Z553}} (zobject): nepovolený typ kořene
* {{Z|Z554}} (kolidující ZID, jazyk): štítek koliduje se štítkem jiného ZObjektu
* {{Z|Z555}} (ZID, titulek): chybně zadaný ZID a titulek stránky
* {{Z|Z556}} (titulek): neplatný titulek stránky
* {{Z|Z557}} (chybová zpráva): uživatel nemá oprávnění
* {{Z|Z558}} (programovací jazyk): neplatný programovací jazyk
* {{Z|Z559}} <span lang="en" dir="ltr" class="mw-content-ltr">(none): user not permitted to evaluate function</span>
* {{Z|Z560}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluation result): invalid evaluation result</span>
* {{Z|Z561}} <span lang="en" dir="ltr" class="mw-content-ltr">(propagated error): invalid evaluation request</span>
* {{Z|Z562}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): incomplete evaluation request</span>
* {{Z|Z563}} <span lang="en" dir="ltr" class="mw-content-ltr">(call): call by non-reentrant executor</span>
* {{Z|Z564}} <span lang="en" dir="ltr" class="mw-content-ltr">(contents): invalid executor response</span>
* {{Z|Z565}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): Incomplete executor request</span>
* {{Z|Z570}} <span lang="en" dir="ltr" class="mw-content-ltr">(orchestrator rate limit): reached rate limit in orchestrator</span>
* {{Z|Z571}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluator rate limit): reached rate limit in evaluator</span>
* {{Z|Z572}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in orchestrator</span>
* {{Z|Z573}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in evaluator</span>
* {{Z|Z574}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in orchestrator</span>
* {{Z|Z575}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in evaluator</span>
* {{Z|Z576}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit)</span>
* {{Z|Z580}} <span lang="en" dir="ltr" class="mw-content-ltr">(duplicate language)</span>
</div></div>
<span id="See_also"></span>
== Viz též ==
* [[:m:Special:MyLanguage/Abstract Wikipedia/Notes|Přehled poznámek]]
<noinclude>
[[Category:Technical documentation{{#translation:}}|Reserved ZIDs]]
</noinclude>
9i53zmqf48eguab686402rdqac6m4b1
272672
272670
2026-05-06T14:16:23Z
Mormegil
150
Created page with "$1 až $2 jsou funkce „stejný objekt“ odpovídající $3 až $4."
272672
wikitext
text/x-wiki
<noinclude><languages/>{{Technical documentation navbox}}</noinclude>
Tato stránka popisuje ZIDy, které jsou vyhrazené pro Wikilambda, software, na kterém Wikifunkce běží. Všechny ZIDy se čtyřmi nebo méně číslicemi jsou vyhrazené. Seznam všech potenciálních předdefinovaných objektů najdete na [[Wikifunctions:Reserved ZIDs/all]].
<span id="Ranges"></span>
=== Rozsahy ===
Určité prostory vyhrazujeme pro určité druhy předem definovaných objektů.
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code> – <code>Z99</code>: základní typy. ''(Viz [[#core-types|§ Základní typy]] níže.)''
* <code>Z100</code> – <code>Z199</code>: validátory pro základní typy (tj. pro každý základní typ existuje validátor pod +100), např. Z104 je validátor pro Z4/Typ
* <code>Z200</code> – <code>Z299</code>: vestavěné implementace validátorů pro základní typy (tj. Z204 je vestavěná implementace validátoru pro Z4/Typ).
* <code>Z300</code> – <code>Z399</code>: ''prozatím nepřiřazeno''
* <code>Z400</code> – <code>Z499</code>: ''vyhrazeno pro místní použití''
* <code>Z500</code> – <code>Z599</code>: základní typy chyb (<code>Z5xx</code> protože <code>Z5</code> je chyba) ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z600</code> – <code>Z699</code>: základní programovací jazyky (<code>Z6xx</code> protože <code>Z61</code> je programovací jazyk)
* <code>Z700</code> – <code>Z799</code>: ''prozatím nepřiřazeno''
* <code>Z800</code> – <code>Z899</code>: definice základních funkcí s vestavěnými moduly (<code>Z8xx</code> protože <code>Z8</code> je funkce) ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z900</code> – <code>Z999</code>: vestavěné moduly pro základní funkce (jsou +100 od příslušného Z8xx).
* <code>Z1000</code> – <code>Z2999</code>: přirozené jazyky (instance Z60)
* <code>Z3000</code> – <code>Z5999</code>: ''vyhrazeno pro budoucí použití''
* <code>Z6000</code> – <code>Z6999</code>: ''typy, funkce atp. pro využívání obsahu Wikidat a dalších projektů nadace Wikimedia''
** <code>Z6000</code> – <code>Z6099</code>: ''typy pro obsah Wikidat a dalších projektů Wikimedia'' ''(See [[<tvar name="1">#wikidata-types</tvar>|§ Wikidata types]] below.)''
** <code>Z6100</code> – <code>Z6199</code>: ''validátory pro tyto typy''
** <code>Z6200</code> – <code>Z6299</code>: ''vestavěné implementace validátorů''
** <code>Z6800</code> – <code>Z6899</code>: ''pomocné funkce pro tyto typy, které musí být vestavěné (např. načítání, rovnost)'' ''(See [[<tvar name="1">#wikidata-functions</tvar>|§ Wikidata functions]] below.)''
** <code>Z6900</code> – <code>Z6999</code>: ''vestavěné implementace pomocných funkcí''
* <code>Z7000</code> – <code>Z7999</code>: ''vyhrazeno pro budoucí užití''
* <code>Z8000</code> – <code>Z8999</code>: Testery pro každou předem definovanou funkci (''např.'' Z801 se testuje prostřednictvím Z8010, Z8011, Z8012, ... Z8019).
* <code>Z9000</code> – <code>Z9999</code>: ''vyhrazeno pro budoucí použití''
</div></div>
{{Anchor|core-types}}
<span id="Core_types"></span>
=== Základní typy ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code>: {{Z|Z1}} (Typ), kořenový prvek.
* <code>Z2</code>: {{Z|Z2}} (Typ): vše na wiki je <code>Z2</code>, proto má tak nízký ZID.
* <code>Z3</code>: {{Z|Z3}} (Typ): protože slovo <bdi lang="en" dir="ltr">''key''</bdi> má v angličtině tři písmena.
* <code>Z4</code>: {{Z|Z4}} (Typ): protože slovo <bdi lang="en" dir="ltr">''type''</bdi> má v angličtině čtyři písmena.
* <code>Z5</code>: {{Z|Z5}} (Typ): protože slovo <bdi lang="en" dir="ltr">''error''</bdi> má v angličtině pět písmen. ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z6</code>: {{Z|Z6}} (Typ): protože slovo <bdi lang="en" dir="ltr">''string''</bdi> má v angličtině šest písmen.
* <code>Z7</code>: {{Z|Z7}} (Typ): protože volání funkcí tvoří hlavním kouzlo tohoto systému a 7 je kouzelné číslo. Je také blízké hodnotě <code>Z8</code>.
* <code>Z8</code>: {{Z|Z8}} (generický typ, technicky tedy funkce): protože <bdi lang="en" dir="ltr">''function''</bdi> má v angličtině osm písmen. ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z9</code>: {{Z|Z9}} (Typ): protože slovo <bdi lang="en" dir="ltr">''reference''</bdi> má v angličtině devět písmen.
* <code>Z10</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z11</code>: {{Z|Z11}} (Typ): protože je to jen jeden jazyk a v názvu je ''jeden''.
* <code>Z12</code>: {{Z|Z12}} (Typ): protože se jedná o rozšíření <code>Z11</code>.
* <code>Z13</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z14</code>: {{Z|Z14}} (Typ): protože slovo <bdi lang="en" dir="ltr">''implementation''</bdi> má v angličtině čtrnáct písmen.
* <code>Z15</code>: ''Ještě není přiděleno.''
* <code>Z16</code>: {{Z|Z16}} (Typ): žádný dobrý důvod, je to podobné Z14 a Z61/Programovací jazyk.
* <code>Z17</code>: {{Z|Z17}} (Typ).
* <code>Z18</code>: {{Z|Z18}} (Typ).
* <code>Z19</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z20</code>: {{Z|Z20}} (Typ): protože 20/20 je dokonalý zrak a testy zviditelňují chyby.
* <code>Z21</code>: {{Z|Z21}} (Typ).
* <code>Z22</code>: {{Z|Z22}} (Typ).
* <code>Z23</code>: {{Z|Z23}} (Typ).
* <code>Z24</code>: {{Z|Z24}} (Jednotkový typ).
* <code>Z25</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z26</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z27</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z28</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z29</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z30</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z31</code>: {{Z|Z31}} (Typ).
* <code>Z32</code>: {{Z|Z32}} (Typ): protože se jedná o rozšíření <code>Z31</code>.
* <code>Z33</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z34</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z35</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z36</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z37</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z38</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z39</code>: {{Z|Z39}} (Typ): protože Z3/Klíč Z9/Reference.
* <code>Z40</code>: {{Z|Z40}} (Typ): protože Boole poprvé publikoval v roce (18)40.
* <code>Z41</code>: {{Z|Z41}} (Logická hodnota).
* <code>Z42</code>: {{Z|Z42}} (Logická hodnota).
* <code>Z43</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z44</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z45</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z46</code>: {{Z|Z46}} (Typ): protože převádí Z4/Typ na kód v Z61/Programovacím jazyce.
* <code>Z47</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z48</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z49</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z50</code>: {{Z|Z50}} (Typ): protože Chyba je <code>Z5</code>.
<!--<nowiki>
* <code>Z51</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z59</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z60</code>: {{Z|Z60}} (Typ): protože <code>Z6</code> je Řetězec.
* <code>Z61</code>: {{Z|Z61}} (Typ): protože <code>Z16</code> je Zdrojový kód.
* <code>Z64</code>: {{Z|Z64}}: protože je to opak <code>Z46</code>.
<!--<nowiki>
* <code>Z62</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z79</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z80</code>: {{Z|Z80}} (Typ): protože je to oktet.
<!--<nowiki>
* <code>Z81</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z69</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z84</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z85</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z86</code>: {{Z|Z86}} (Typ): protože to není přesně Z80/Bajt, ale spíše Z6/Řetězec.
<!--<nowiki>
* <code>Z87</code>: <translate>'''…''' (Type).</translate>
* <code>Z88</code>: <translate>'''…''' (Type).</translate>
</nowiki>
-->
* <code>Z89</code>: {{Z|Z89}} (Typ)
* <code>Z99</code>: {{Z|Z99}} (Typ): protože v angličtině to vypadá trochu jako uzavírací uvozovka.
</div></div>
{{Anchor|wikidata-types}}
<span id="Wikidata_types"></span>
==== Typy pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<code>Z6001</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6001}} (Type)</span>
*<code>Z6002</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6002}} (Type)</span>
*<code>Z6003</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6003}} (Type)</span>
*<code>Z6004</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6004}} (Type)</span>
*<code>Z6005</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6005}} (Type)</span>
*<code>Z6006</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6006}} (Type)</span>
*<code>Z6007</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6007}} (Type)</span>
*<code>Z6008</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6008}} (Type)</span>
*<code>Z6010</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6010}} (Type)</span>
*<code>Z6011</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6011}} (Type)</span>
*<code>Z6020</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6020}} (Type)</span>
*<code>Z6021</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6021}} (Claim subtype)</span>
*<code>Z6022</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6022}} (Claim subtype)</span>
*<code>Z6023</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6023}} (Claim subtype)</span>
*<code>Z6030</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6030}} (Type)</span>
*<code>Z6031</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6031}} (Entity part)</span>
*<code>Z6032</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6032}} (Entity part)</span>
*<code>Z6033</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6033}} (Entity part)</span>
*<code>Z6034</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6034}} (Entity part)</span>
*<code>Z6035</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6035}} (Entity part)</span>
*<code>Z6036</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6036}} (Entity part)</span>
*<code>Z6037</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6037}} (Entity part)</span>
*<code>Z6038</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6038}} (Entity part)</span>
*<code>Z6040</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6040}} (Type)</span>
*<code>Z6041</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6041}} (Statement rank)</span>
*<code>Z6042</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6042}} (Statement rank)</span>
*<code>Z6043</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6043}} (Statement rank)</span>
*<code>Z6060</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6060}} (Type)</span>
*<code>Z6061</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6061}} (Type)</span>
*<code>Z6062</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6062}} (Type)</span>
*<code>Z6063</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6063}} (Type)</span>
*<code>Z6064</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6064}} (Type)</span>
*<code>Z6091</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6091}} (Type)</span>
*<code>Z6092</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6092}} (Type)</span>
*<code>Z6094</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6094}} (Type)</span>
*<code>Z6095</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6095}} (Type)</span>
*<code>Z6096</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6096}} (Type)</span>
</div></div>
{{Anchor|core-functions}}
<span id="Core_functions"></span>
=== Základní funkce ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z801</code> {{Z+|Z801}}: T ➝ T
* <code>Z802</code> {{Z+|Z802}}: Boolean, T, T ➝ T
* <code>Z803</code> {{Z+|Z803}}: Key reference, Any ➝ Any
*: Z3/Klíč
* <code>Z804</code> {{Z+|Z804}}: List(Key reference) ➝ Abt
* <code>Z805</code> {{Z+|Z805}}: Any ➝ List(Pair(Key reference, Any))
*: ''Reify'' má pět písmen.
* <code>Z808</code> {{Z+|Z808}}: List(Pair(Key reference, Any)) ➝ Any
*: ''Abstract'' má osm písmen.
* <code>Z810</code> {{Z+|Z810}}: T, List(T) ➝ List(T)
*: (protože Z10 je seznam).
* <code>Z811</code> {{Z+|Z811}}: List(T) ➝ T
*: (protože Z10 měl být seznam a my získáváme to první)
* <code>Z812</code> {{Z+|Z812}}: List(T) ➝ List(T)
*: (protože Z10 měl být seznam a my získáváme to druhé, zbytek)
* <code>Z813</code> {{Z+|Z813}}: List(T) ➝ Boolean
*: (protože Z13 měl být prázdný seznam)
* <code>Z820</code> {{Z+|Z820}}: String, Any ➝ Any
* <code>Z821</code> {{Z+|Z821}}: Pair(T1, T2) ➝ T1
*: (protože Z22 je dvojice).
* <code>Z822</code> {{Z+|Z822}}: Pair(T1, T2) ➝ T2
*: (protože Z22 je dvojice).
* <code>Z844</code> {{Z+|Z844}}: Boolean, Boolean ➝ Boolean
* <code>Z850</code> {{Z+|Z850}}: Object, Error type, Object ➝ Object
*: (protože řeší Z5/Chyby)
* <code>Z851</code> {{Z+|Z851}}: Error type, List(T) ➝ Unit
* <code>Z852</code> {{Z+|Z852}}: Error, Error type ➝ Boolean
* <code>Z853</code> {{Z+|Z853}}: Object ➝ Pair(Error, Object)
* <code>Z854</code> {{Z+|Z854}}: Object ➝ String
* <code>Z860</code> {{Z+|Z860}}: String ➝ Language
* <code>Z866</code> {{Z+|Z866}}: String, String ➝ Boolean
* <code>Z868</code> Nahrazeno {{Z+|Z22717}}: String ➝ List(Character)
*: Protože Z6/Řetězec a Z86/Kódový bod Unicode.
* <code>Z872</code> {{Z+|Z872}}: Function, Typed list (Object) ➝ Object
* <code>Z873</code> {{Z+|Z873}} Function, List ➝ List
* <code>Z876</code> {{Z+|Z876}}: Function, List, Object ➝ Object
* <code>Z877</code> {{Z+|Z877}}: HTML fragment -> HTML fragment
* <code>Z881</code> {{Z+|Z881}}: Type ➝ Type
* <code>Z882</code> {{Z+|Z882}}: Type, Type ➝ Type
* <code>Z883</code> {{Z+|Z883}}: T ➝ T
* <code>Z884</code> {{Z+|Z884}}: Type, List(Reference), String ➝ Type
* <code>Z885</code> {{Z+|Z885}}: Error type ➝ Type
* <code>Z886</code> Nahrazeno {{Z+|Z22693}}: List*(Character) ➝ String
*: protože Z86/Kódový bod Unicode a Z6/Řetězec.
* <code>Z888</code> Nahrazeno {{Z+|Z22683}}: Character, Character ➝ Boolean
* <code>Z899</code> {{Z+|Z899}}: Quote ➝ Any
*: protože Z99/Citace.
</div></div>
{{Anchor|wikidata-functions}}
<span id="Wikidata_functions"></span>
==== Funkce pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<code>Z6801</code> až <code>Z6808</code> jsou funkce „stejný objekt“ odpovídající <code>Z6001</code> až <code>Z6008</code>.
*<code>Z6820</code> {{Z+|Z6820}}: List(Object) ➝ Map(String, Object)
*<code>Z6821</code> {{Z+|Z6821}}: Item reference ➝ Item
*<code>Z6822</code> {{Z+|Z6822}}: Property reference ➝ Property
*<code>Z6824</code> {{Z+|Z6824}}: Lexeme form reference ➝ Lexeme form
*<code>Z6825</code> {{Z+|Z6825}}: Lexeme reference ➝ Lexeme
*<code>Z6826</code> {{Z+|Z6826}}: Lexeme sense reference ➝ Lexeme sense
*<code>Z6830</code> {{Z+|Z6830}}: Item reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6831</code> {{Z+|Z6831}}: Lexeme sense reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6884</code> {{Z+|Z6884}}: Type, List(Object), String ➝ Type
*<code>Z6894</code> {{Z+|Z6894}}
*<code>Z6895</code> {{Z+|Z6895}}: Object ➝ Object
*<code>Z6896</code> {{Z+|Z6896}}: List(String) ➝ Object
</div></div>
{{Anchor|core-error-types}}
<span id="Core_error_types"></span>
=== Základní typy chyb ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* {{Z|Z501}} (chybová zpráva, vstup): syntaktická chyba
* {{Z|Z502}} (podtyp, hodnota): není dobře zapsáno, ukazuje na Z52x nebo Z53x
* {{Z|Z503}} (název funkce): zatím neimplementováno
* {{Z|Z504}} (zid): Zid nebyl nenalezen
* {{Z|Z505}} (očekáváný počet, vložený počet, argumenty): nesprávný počet argumentů
* {{Z|Z506}} (očekávaný typ, vložený typ, argument): nesprávný typ argumentu
* {{Z|Z507}} (volání funkce): chyba při evaluaci
* {{Z|Z508}} (objekt): konkurenční klíče
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z509}} (errors): List of errors</span>
* {{Z|Z510}} (none): nil
* {{Z|Z511}} (klíč, objekt): klíč nebyl nalezen
* {{Z|Z512}} (object): Z9 chyba
* {{Z|Z513}} (cílový objekt): cílový objekt bez Z2K2
* {{Z|Z514}} (implementace): Builtin (zabudovaná funkce) neexistuje
* {{Z|Z515}} (implementace): Builtin ID (zabudované ID) je chybné
* {{Z|Z516}} (klíč, špatná hodnota): Chyba hodnoty argumentu
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z517}} (expected type, actual type, returned value, propagated error): Return type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z518}} (expected type, object, propagated error): Object type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z519}} (object): Undefined list type</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z520}} (object): Wrong list type</span>
* {{Z|Z521}} (chybná hodnota): ZObject nesmí být číslo nebo boolean nebo null
* {{Z|Z522}} (chybný index v poli, propagovaná chyba): Prvek pole není správný
* {{Z|Z523}} (objekt): Chybí Z1K1
* {{Z|Z524}} (hodnota Z1K1): Z1K1 nesmí být string (řetězec) nebo array (pole)
* {{Z|Z525}} (klíč): Neplatný klíč
* {{Z|Z526}} (klíč, propagovaná chyba): není správně formulovaná hodnota]
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z529}} (host name)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z530}} (function call, propagated error)</span>
* {{Z|Z531}} (celý objekt): Z6 musí mít 2 klíče
* {{Z|Z532}} (celý objekt): Z6 bez Z6K1
* {{Z|Z533}} (hodnota Z6K1): Z6K1 musí být string (řetězec)
* {{Z|Z534}} (celý objekt): Z9 musí mít 2 klíče
* {{Z|Z535}} (celý objekt): Z9 bez Z9K1
* {{Z|Z536}} (hodnota Z9K1): Z9K1 musí být string (řetězec) ve formátu JSON
* {{Z|Z537}} (hodnota Z9K1): Z9K1 musí být reference (odkaz)
* {{Z|Z538}} (název stránky): chybný jmenný prostor
* {{Z|Z539}} (název stránky): chybný typ obsahu
* {{Z|Z540}} (kód jazyka): neplatný kód jazyka
* {{Z|Z541}} (kód jazyka): kód jazyka nebyl nalezen
* {{Z|Z542}} (očekávaný typ, zadaný objekt): očekávaný typ, zadaný objekt
* {{Z|Z543}} (název typu): typ nenalezen
* {{Z|Z544}} (typ zid, název typu, existující název typu): konfliktní názvy typů
* {{Z|Z545}} (typ zid, název typu, existující typ zid): konfliktní typ Zidů
* {{Z|Z546}} (typ zid, název typu): builtin type (vestavěný typ) nenalezen
* {{Z|Z547}} (vstup): neplatný formát
* {{Z|Z548}} (chybová zpráva, vstup): neplatný JSON
* {{Z|Z549}} (referenční hodnota): neplatná ZReference
* {{Z|Z550}} (referenční hodnota): neznámá ZReference
* {{Z|Z551}} (klíč, očekávaný typ, zadaný typ): neshoda typu schématu
* {{Z|Z552}} (index, očekávaný typ, skutečný typ): neshoda typu prvku pole
* {{Z|Z553}} (zobject): nepovolený typ kořene
* {{Z|Z554}} (kolidující ZID, jazyk): štítek koliduje se štítkem jiného ZObjektu
* {{Z|Z555}} (ZID, titulek): chybně zadaný ZID a titulek stránky
* {{Z|Z556}} (titulek): neplatný titulek stránky
* {{Z|Z557}} (chybová zpráva): uživatel nemá oprávnění
* {{Z|Z558}} (programovací jazyk): neplatný programovací jazyk
* {{Z|Z559}} <span lang="en" dir="ltr" class="mw-content-ltr">(none): user not permitted to evaluate function</span>
* {{Z|Z560}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluation result): invalid evaluation result</span>
* {{Z|Z561}} <span lang="en" dir="ltr" class="mw-content-ltr">(propagated error): invalid evaluation request</span>
* {{Z|Z562}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): incomplete evaluation request</span>
* {{Z|Z563}} <span lang="en" dir="ltr" class="mw-content-ltr">(call): call by non-reentrant executor</span>
* {{Z|Z564}} <span lang="en" dir="ltr" class="mw-content-ltr">(contents): invalid executor response</span>
* {{Z|Z565}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): Incomplete executor request</span>
* {{Z|Z570}} <span lang="en" dir="ltr" class="mw-content-ltr">(orchestrator rate limit): reached rate limit in orchestrator</span>
* {{Z|Z571}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluator rate limit): reached rate limit in evaluator</span>
* {{Z|Z572}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in orchestrator</span>
* {{Z|Z573}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in evaluator</span>
* {{Z|Z574}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in orchestrator</span>
* {{Z|Z575}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in evaluator</span>
* {{Z|Z576}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit)</span>
* {{Z|Z580}} <span lang="en" dir="ltr" class="mw-content-ltr">(duplicate language)</span>
</div></div>
<span id="See_also"></span>
== Viz též ==
* [[:m:Special:MyLanguage/Abstract Wikipedia/Notes|Přehled poznámek]]
<noinclude>
[[Category:Technical documentation{{#translation:}}|Reserved ZIDs]]
</noinclude>
9jhndy3q1ijelp1aapeq1qjqgpa4cdd
272675
272672
2026-05-06T14:17:15Z
Mormegil
150
Created page with "$zid (chyby): Seznam chyb"
272675
wikitext
text/x-wiki
<noinclude><languages/>{{Technical documentation navbox}}</noinclude>
Tato stránka popisuje ZIDy, které jsou vyhrazené pro Wikilambda, software, na kterém Wikifunkce běží. Všechny ZIDy se čtyřmi nebo méně číslicemi jsou vyhrazené. Seznam všech potenciálních předdefinovaných objektů najdete na [[Wikifunctions:Reserved ZIDs/all]].
<span id="Ranges"></span>
=== Rozsahy ===
Určité prostory vyhrazujeme pro určité druhy předem definovaných objektů.
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code> – <code>Z99</code>: základní typy. ''(Viz [[#core-types|§ Základní typy]] níže.)''
* <code>Z100</code> – <code>Z199</code>: validátory pro základní typy (tj. pro každý základní typ existuje validátor pod +100), např. Z104 je validátor pro Z4/Typ
* <code>Z200</code> – <code>Z299</code>: vestavěné implementace validátorů pro základní typy (tj. Z204 je vestavěná implementace validátoru pro Z4/Typ).
* <code>Z300</code> – <code>Z399</code>: ''prozatím nepřiřazeno''
* <code>Z400</code> – <code>Z499</code>: ''vyhrazeno pro místní použití''
* <code>Z500</code> – <code>Z599</code>: základní typy chyb (<code>Z5xx</code> protože <code>Z5</code> je chyba) ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z600</code> – <code>Z699</code>: základní programovací jazyky (<code>Z6xx</code> protože <code>Z61</code> je programovací jazyk)
* <code>Z700</code> – <code>Z799</code>: ''prozatím nepřiřazeno''
* <code>Z800</code> – <code>Z899</code>: definice základních funkcí s vestavěnými moduly (<code>Z8xx</code> protože <code>Z8</code> je funkce) ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z900</code> – <code>Z999</code>: vestavěné moduly pro základní funkce (jsou +100 od příslušného Z8xx).
* <code>Z1000</code> – <code>Z2999</code>: přirozené jazyky (instance Z60)
* <code>Z3000</code> – <code>Z5999</code>: ''vyhrazeno pro budoucí použití''
* <code>Z6000</code> – <code>Z6999</code>: ''typy, funkce atp. pro využívání obsahu Wikidat a dalších projektů nadace Wikimedia''
** <code>Z6000</code> – <code>Z6099</code>: ''typy pro obsah Wikidat a dalších projektů Wikimedia'' ''(See [[<tvar name="1">#wikidata-types</tvar>|§ Wikidata types]] below.)''
** <code>Z6100</code> – <code>Z6199</code>: ''validátory pro tyto typy''
** <code>Z6200</code> – <code>Z6299</code>: ''vestavěné implementace validátorů''
** <code>Z6800</code> – <code>Z6899</code>: ''pomocné funkce pro tyto typy, které musí být vestavěné (např. načítání, rovnost)'' ''(See [[<tvar name="1">#wikidata-functions</tvar>|§ Wikidata functions]] below.)''
** <code>Z6900</code> – <code>Z6999</code>: ''vestavěné implementace pomocných funkcí''
* <code>Z7000</code> – <code>Z7999</code>: ''vyhrazeno pro budoucí užití''
* <code>Z8000</code> – <code>Z8999</code>: Testery pro každou předem definovanou funkci (''např.'' Z801 se testuje prostřednictvím Z8010, Z8011, Z8012, ... Z8019).
* <code>Z9000</code> – <code>Z9999</code>: ''vyhrazeno pro budoucí použití''
</div></div>
{{Anchor|core-types}}
<span id="Core_types"></span>
=== Základní typy ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z1</code>: {{Z|Z1}} (Typ), kořenový prvek.
* <code>Z2</code>: {{Z|Z2}} (Typ): vše na wiki je <code>Z2</code>, proto má tak nízký ZID.
* <code>Z3</code>: {{Z|Z3}} (Typ): protože slovo <bdi lang="en" dir="ltr">''key''</bdi> má v angličtině tři písmena.
* <code>Z4</code>: {{Z|Z4}} (Typ): protože slovo <bdi lang="en" dir="ltr">''type''</bdi> má v angličtině čtyři písmena.
* <code>Z5</code>: {{Z|Z5}} (Typ): protože slovo <bdi lang="en" dir="ltr">''error''</bdi> má v angličtině pět písmen. ''(Viz [[#core-error-types|§ Základní typy chyb]] níže.)''
* <code>Z6</code>: {{Z|Z6}} (Typ): protože slovo <bdi lang="en" dir="ltr">''string''</bdi> má v angličtině šest písmen.
* <code>Z7</code>: {{Z|Z7}} (Typ): protože volání funkcí tvoří hlavním kouzlo tohoto systému a 7 je kouzelné číslo. Je také blízké hodnotě <code>Z8</code>.
* <code>Z8</code>: {{Z|Z8}} (generický typ, technicky tedy funkce): protože <bdi lang="en" dir="ltr">''function''</bdi> má v angličtině osm písmen. ''(Viz [[#core-functions|§ Základní funkce]] níže.)''
* <code>Z9</code>: {{Z|Z9}} (Typ): protože slovo <bdi lang="en" dir="ltr">''reference''</bdi> má v angličtině devět písmen.
* <code>Z10</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z11</code>: {{Z|Z11}} (Typ): protože je to jen jeden jazyk a v názvu je ''jeden''.
* <code>Z12</code>: {{Z|Z12}} (Typ): protože se jedná o rozšíření <code>Z11</code>.
* <code>Z13</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z14</code>: {{Z|Z14}} (Typ): protože slovo <bdi lang="en" dir="ltr">''implementation''</bdi> má v angličtině čtrnáct písmen.
* <code>Z15</code>: ''Ještě není přiděleno.''
* <code>Z16</code>: {{Z|Z16}} (Typ): žádný dobrý důvod, je to podobné Z14 a Z61/Programovací jazyk.
* <code>Z17</code>: {{Z|Z17}} (Typ).
* <code>Z18</code>: {{Z|Z18}} (Typ).
* <code>Z19</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z20</code>: {{Z|Z20}} (Typ): protože 20/20 je dokonalý zrak a testy zviditelňují chyby.
* <code>Z21</code>: {{Z|Z21}} (Typ).
* <code>Z22</code>: {{Z|Z22}} (Typ).
* <code>Z23</code>: {{Z|Z23}} (Typ).
* <code>Z24</code>: {{Z|Z24}} (Jednotkový typ).
* <code>Z25</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z26</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z27</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z28</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z29</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z30</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z31</code>: {{Z|Z31}} (Typ).
* <code>Z32</code>: {{Z|Z32}} (Typ): protože se jedná o rozšíření <code>Z31</code>.
* <code>Z33</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z34</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z35</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z36</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z37</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z38</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z39</code>: {{Z|Z39}} (Typ): protože Z3/Klíč Z9/Reference.
* <code>Z40</code>: {{Z|Z40}} (Typ): protože Boole poprvé publikoval v roce (18)40.
* <code>Z41</code>: {{Z|Z41}} (Logická hodnota).
* <code>Z42</code>: {{Z|Z42}} (Logická hodnota).
* <code>Z43</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z44</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z45</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z46</code>: {{Z|Z46}} (Typ): protože převádí Z4/Typ na kód v Z61/Programovacím jazyce.
* <code>Z47</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z48</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z49</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z50</code>: {{Z|Z50}} (Typ): protože Chyba je <code>Z5</code>.
<!--<nowiki>
* <code>Z51</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z59</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z60</code>: {{Z|Z60}} (Typ): protože <code>Z6</code> je Řetězec.
* <code>Z61</code>: {{Z|Z61}} (Typ): protože <code>Z16</code> je Zdrojový kód.
* <code>Z64</code>: {{Z|Z64}}: protože je to opak <code>Z46</code>.
<!--<nowiki>
* <code>Z62</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z79</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z80</code>: {{Z|Z80}} (Typ): protože je to oktet.
<!--<nowiki>
* <code>Z81</code>: <translate>'''…''' (Type).</translate>
…
* <code>Z69</code>: <translate>'''…''' (Type).</translate>
</nowiki>-->
* <code>Z84</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z85</code>: {{Tunit|151|''Not yet assigned.''}}
* <code>Z86</code>: {{Z|Z86}} (Typ): protože to není přesně Z80/Bajt, ale spíše Z6/Řetězec.
<!--<nowiki>
* <code>Z87</code>: <translate>'''…''' (Type).</translate>
* <code>Z88</code>: <translate>'''…''' (Type).</translate>
</nowiki>
-->
* <code>Z89</code>: {{Z|Z89}} (Typ)
* <code>Z99</code>: {{Z|Z99}} (Typ): protože v angličtině to vypadá trochu jako uzavírací uvozovka.
</div></div>
{{Anchor|wikidata-types}}
<span id="Wikidata_types"></span>
==== Typy pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<code>Z6001</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6001}} (Type)</span>
*<code>Z6002</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6002}} (Type)</span>
*<code>Z6003</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6003}} (Type)</span>
*<code>Z6004</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6004}} (Type)</span>
*<code>Z6005</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6005}} (Type)</span>
*<code>Z6006</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6006}} (Type)</span>
*<code>Z6007</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6007}} (Type)</span>
*<code>Z6008</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6008}} (Type)</span>
*<code>Z6010</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6010}} (Type)</span>
*<code>Z6011</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6011}} (Type)</span>
*<code>Z6020</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6020}} (Type)</span>
*<code>Z6021</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6021}} (Claim subtype)</span>
*<code>Z6022</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6022}} (Claim subtype)</span>
*<code>Z6023</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6023}} (Claim subtype)</span>
*<code>Z6030</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6030}} (Type)</span>
*<code>Z6031</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6031}} (Entity part)</span>
*<code>Z6032</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6032}} (Entity part)</span>
*<code>Z6033</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6033}} (Entity part)</span>
*<code>Z6034</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6034}} (Entity part)</span>
*<code>Z6035</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6035}} (Entity part)</span>
*<code>Z6036</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6036}} (Entity part)</span>
*<code>Z6037</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6037}} (Entity part)</span>
*<code>Z6038</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6038}} (Entity part)</span>
*<code>Z6040</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6040}} (Type)</span>
*<code>Z6041</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6041}} (Statement rank)</span>
*<code>Z6042</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6042}} (Statement rank)</span>
*<code>Z6043</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6043}} (Statement rank)</span>
*<code>Z6060</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6060}} (Type)</span>
*<code>Z6061</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6061}} (Type)</span>
*<code>Z6062</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6062}} (Type)</span>
*<code>Z6063</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6063}} (Type)</span>
*<code>Z6064</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6064}} (Type)</span>
*<code>Z6091</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6091}} (Type)</span>
*<code>Z6092</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6092}} (Type)</span>
*<code>Z6094</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6094}} (Type)</span>
*<code>Z6095</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6095}} (Type)</span>
*<code>Z6096</code>: <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z6096}} (Type)</span>
</div></div>
{{Anchor|core-functions}}
<span id="Core_functions"></span>
=== Základní funkce ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* <code>Z801</code> {{Z+|Z801}}: T ➝ T
* <code>Z802</code> {{Z+|Z802}}: Boolean, T, T ➝ T
* <code>Z803</code> {{Z+|Z803}}: Key reference, Any ➝ Any
*: Z3/Klíč
* <code>Z804</code> {{Z+|Z804}}: List(Key reference) ➝ Abt
* <code>Z805</code> {{Z+|Z805}}: Any ➝ List(Pair(Key reference, Any))
*: ''Reify'' má pět písmen.
* <code>Z808</code> {{Z+|Z808}}: List(Pair(Key reference, Any)) ➝ Any
*: ''Abstract'' má osm písmen.
* <code>Z810</code> {{Z+|Z810}}: T, List(T) ➝ List(T)
*: (protože Z10 je seznam).
* <code>Z811</code> {{Z+|Z811}}: List(T) ➝ T
*: (protože Z10 měl být seznam a my získáváme to první)
* <code>Z812</code> {{Z+|Z812}}: List(T) ➝ List(T)
*: (protože Z10 měl být seznam a my získáváme to druhé, zbytek)
* <code>Z813</code> {{Z+|Z813}}: List(T) ➝ Boolean
*: (protože Z13 měl být prázdný seznam)
* <code>Z820</code> {{Z+|Z820}}: String, Any ➝ Any
* <code>Z821</code> {{Z+|Z821}}: Pair(T1, T2) ➝ T1
*: (protože Z22 je dvojice).
* <code>Z822</code> {{Z+|Z822}}: Pair(T1, T2) ➝ T2
*: (protože Z22 je dvojice).
* <code>Z844</code> {{Z+|Z844}}: Boolean, Boolean ➝ Boolean
* <code>Z850</code> {{Z+|Z850}}: Object, Error type, Object ➝ Object
*: (protože řeší Z5/Chyby)
* <code>Z851</code> {{Z+|Z851}}: Error type, List(T) ➝ Unit
* <code>Z852</code> {{Z+|Z852}}: Error, Error type ➝ Boolean
* <code>Z853</code> {{Z+|Z853}}: Object ➝ Pair(Error, Object)
* <code>Z854</code> {{Z+|Z854}}: Object ➝ String
* <code>Z860</code> {{Z+|Z860}}: String ➝ Language
* <code>Z866</code> {{Z+|Z866}}: String, String ➝ Boolean
* <code>Z868</code> Nahrazeno {{Z+|Z22717}}: String ➝ List(Character)
*: Protože Z6/Řetězec a Z86/Kódový bod Unicode.
* <code>Z872</code> {{Z+|Z872}}: Function, Typed list (Object) ➝ Object
* <code>Z873</code> {{Z+|Z873}} Function, List ➝ List
* <code>Z876</code> {{Z+|Z876}}: Function, List, Object ➝ Object
* <code>Z877</code> {{Z+|Z877}}: HTML fragment -> HTML fragment
* <code>Z881</code> {{Z+|Z881}}: Type ➝ Type
* <code>Z882</code> {{Z+|Z882}}: Type, Type ➝ Type
* <code>Z883</code> {{Z+|Z883}}: T ➝ T
* <code>Z884</code> {{Z+|Z884}}: Type, List(Reference), String ➝ Type
* <code>Z885</code> {{Z+|Z885}}: Error type ➝ Type
* <code>Z886</code> Nahrazeno {{Z+|Z22693}}: List*(Character) ➝ String
*: protože Z86/Kódový bod Unicode a Z6/Řetězec.
* <code>Z888</code> Nahrazeno {{Z+|Z22683}}: Character, Character ➝ Boolean
* <code>Z899</code> {{Z+|Z899}}: Quote ➝ Any
*: protože Z99/Citace.
</div></div>
{{Anchor|wikidata-functions}}
<span id="Wikidata_functions"></span>
==== Funkce pro Wikidata ====
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
*<code>Z6801</code> až <code>Z6808</code> jsou funkce „stejný objekt“ odpovídající <code>Z6001</code> až <code>Z6008</code>.
*<code>Z6820</code> {{Z+|Z6820}}: List(Object) ➝ Map(String, Object)
*<code>Z6821</code> {{Z+|Z6821}}: Item reference ➝ Item
*<code>Z6822</code> {{Z+|Z6822}}: Property reference ➝ Property
*<code>Z6824</code> {{Z+|Z6824}}: Lexeme form reference ➝ Lexeme form
*<code>Z6825</code> {{Z+|Z6825}}: Lexeme reference ➝ Lexeme
*<code>Z6826</code> {{Z+|Z6826}}: Lexeme sense reference ➝ Lexeme sense
*<code>Z6830</code> {{Z+|Z6830}}: Item reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6831</code> {{Z+|Z6831}}: Lexeme sense reference, Property reference, Natural language ➝ List(Lexeme reference)
*<code>Z6884</code> {{Z+|Z6884}}: Type, List(Object), String ➝ Type
*<code>Z6894</code> {{Z+|Z6894}}
*<code>Z6895</code> {{Z+|Z6895}}: Object ➝ Object
*<code>Z6896</code> {{Z+|Z6896}}: List(String) ➝ Object
</div></div>
{{Anchor|core-error-types}}
<span id="Core_error_types"></span>
=== Základní typy chyb ===
<div style="margin:.3em 0; border:1px solid #AAA; padding:.3em .5em;"><div style="margin-top:-.3em">
* {{Z|Z501}} (chybová zpráva, vstup): syntaktická chyba
* {{Z|Z502}} (podtyp, hodnota): není dobře zapsáno, ukazuje na Z52x nebo Z53x
* {{Z|Z503}} (název funkce): zatím neimplementováno
* {{Z|Z504}} (zid): Zid nebyl nenalezen
* {{Z|Z505}} (očekáváný počet, vložený počet, argumenty): nesprávný počet argumentů
* {{Z|Z506}} (očekávaný typ, vložený typ, argument): nesprávný typ argumentu
* {{Z|Z507}} (volání funkce): chyba při evaluaci
* {{Z|Z508}} (objekt): konkurenční klíče
* {{Z|Z509}} (chyby): Seznam chyb
* {{Z|Z510}} (none): nil
* {{Z|Z511}} (klíč, objekt): klíč nebyl nalezen
* {{Z|Z512}} (object): Z9 chyba
* {{Z|Z513}} (cílový objekt): cílový objekt bez Z2K2
* {{Z|Z514}} (implementace): Builtin (zabudovaná funkce) neexistuje
* {{Z|Z515}} (implementace): Builtin ID (zabudované ID) je chybné
* {{Z|Z516}} (klíč, špatná hodnota): Chyba hodnoty argumentu
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z517}} (expected type, actual type, returned value, propagated error): Return type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z518}} (expected type, object, propagated error): Object type mismatch</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z519}} (object): Undefined list type</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z520}} (object): Wrong list type</span>
* {{Z|Z521}} (chybná hodnota): ZObject nesmí být číslo nebo boolean nebo null
* {{Z|Z522}} (chybný index v poli, propagovaná chyba): Prvek pole není správný
* {{Z|Z523}} (objekt): Chybí Z1K1
* {{Z|Z524}} (hodnota Z1K1): Z1K1 nesmí být string (řetězec) nebo array (pole)
* {{Z|Z525}} (klíč): Neplatný klíč
* {{Z|Z526}} (klíč, propagovaná chyba): není správně formulovaná hodnota]
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z529}} (host name)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">{{Z|Z530}} (function call, propagated error)</span>
* {{Z|Z531}} (celý objekt): Z6 musí mít 2 klíče
* {{Z|Z532}} (celý objekt): Z6 bez Z6K1
* {{Z|Z533}} (hodnota Z6K1): Z6K1 musí být string (řetězec)
* {{Z|Z534}} (celý objekt): Z9 musí mít 2 klíče
* {{Z|Z535}} (celý objekt): Z9 bez Z9K1
* {{Z|Z536}} (hodnota Z9K1): Z9K1 musí být string (řetězec) ve formátu JSON
* {{Z|Z537}} (hodnota Z9K1): Z9K1 musí být reference (odkaz)
* {{Z|Z538}} (název stránky): chybný jmenný prostor
* {{Z|Z539}} (název stránky): chybný typ obsahu
* {{Z|Z540}} (kód jazyka): neplatný kód jazyka
* {{Z|Z541}} (kód jazyka): kód jazyka nebyl nalezen
* {{Z|Z542}} (očekávaný typ, zadaný objekt): očekávaný typ, zadaný objekt
* {{Z|Z543}} (název typu): typ nenalezen
* {{Z|Z544}} (typ zid, název typu, existující název typu): konfliktní názvy typů
* {{Z|Z545}} (typ zid, název typu, existující typ zid): konfliktní typ Zidů
* {{Z|Z546}} (typ zid, název typu): builtin type (vestavěný typ) nenalezen
* {{Z|Z547}} (vstup): neplatný formát
* {{Z|Z548}} (chybová zpráva, vstup): neplatný JSON
* {{Z|Z549}} (referenční hodnota): neplatná ZReference
* {{Z|Z550}} (referenční hodnota): neznámá ZReference
* {{Z|Z551}} (klíč, očekávaný typ, zadaný typ): neshoda typu schématu
* {{Z|Z552}} (index, očekávaný typ, skutečný typ): neshoda typu prvku pole
* {{Z|Z553}} (zobject): nepovolený typ kořene
* {{Z|Z554}} (kolidující ZID, jazyk): štítek koliduje se štítkem jiného ZObjektu
* {{Z|Z555}} (ZID, titulek): chybně zadaný ZID a titulek stránky
* {{Z|Z556}} (titulek): neplatný titulek stránky
* {{Z|Z557}} (chybová zpráva): uživatel nemá oprávnění
* {{Z|Z558}} (programovací jazyk): neplatný programovací jazyk
* {{Z|Z559}} <span lang="en" dir="ltr" class="mw-content-ltr">(none): user not permitted to evaluate function</span>
* {{Z|Z560}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluation result): invalid evaluation result</span>
* {{Z|Z561}} <span lang="en" dir="ltr" class="mw-content-ltr">(propagated error): invalid evaluation request</span>
* {{Z|Z562}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): incomplete evaluation request</span>
* {{Z|Z563}} <span lang="en" dir="ltr" class="mw-content-ltr">(call): call by non-reentrant executor</span>
* {{Z|Z564}} <span lang="en" dir="ltr" class="mw-content-ltr">(contents): invalid executor response</span>
* {{Z|Z565}} <span lang="en" dir="ltr" class="mw-content-ltr">(missing property): Incomplete executor request</span>
* {{Z|Z570}} <span lang="en" dir="ltr" class="mw-content-ltr">(orchestrator rate limit): reached rate limit in orchestrator</span>
* {{Z|Z571}} <span lang="en" dir="ltr" class="mw-content-ltr">(evaluator rate limit): reached rate limit in evaluator</span>
* {{Z|Z572}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in orchestrator</span>
* {{Z|Z573}} <span lang="en" dir="ltr" class="mw-content-ltr">(recursion limit, function name): reached recursion limit in evaluator</span>
* {{Z|Z574}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in orchestrator</span>
* {{Z|Z575}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit): reached time limit in evaluator</span>
* {{Z|Z576}} <span lang="en" dir="ltr" class="mw-content-ltr">(time limit)</span>
* {{Z|Z580}} <span lang="en" dir="ltr" class="mw-content-ltr">(duplicate language)</span>
</div></div>
<span id="See_also"></span>
== Viz též ==
* [[:m:Special:MyLanguage/Abstract Wikipedia/Notes|Přehled poznámek]]
<noinclude>
[[Category:Technical documentation{{#translation:}}|Reserved ZIDs]]
</noinclude>
piak1tpgm9a1psjxtz84zpr0vophg7h
Translations:Wikifunctions:Reserved ZIDs/65/cs
1198
8212
272660
29851
2026-05-06T14:14:29Z
Mormegil
150
272660
wikitext
text/x-wiki
validátory pro základní typy (tj. pro každý základní typ existuje validátor pod +100), např. Z104 je validátor pro Z4/Typ
qmwoc4prdxijdogvxvu5h1mbxasj83o
Translations:Wikifunctions:Reserved ZIDs/66/cs
1198
8216
272662
29862
2026-05-06T14:14:46Z
Mormegil
150
272662
wikitext
text/x-wiki
vestavěné implementace validátorů pro základní typy (tj. Z204 je vestavěná implementace validátoru pro Z4/Typ).
n7k2zjezu7lyfzdco2vgrkzatm9g6wl
Wikifunctions talk:Suggest a function
5
14943
272892
246935
2026-05-07T06:08:04Z
Kriegerdaemon
68588
/* Fourier transform... */ new section
272892
wikitext
text/x-wiki
== Clearing completed functions ==
At what point should we clear out the functions that have already been created? -[[User:Wd-Ryan|wd-Ryan]] ([[User_talk:Wd-Ryan|Talk]]/[[Special:Contributions/Wd-Ryan|Edits]]) 16:24, 15 September 2023 (UTC)
:I'd hesitantly suggest leaving many of them in place for "a while" [purposefully fuzzy!].
:Perhaps [only/especially?] if they're part of a larger group of related functions?
:I think that could be useful because they might provide both helpful examples for other editors to examine/adapt, as well as simple motivation/inspiration along the lines of "''other people have solved some of these, so maybe I can help, and add a {{tl|done}} of my own!''".
:I do agree occasional cleanup would be good, but I'm not sure on the timing. [[User:Quiddity (WMF)|Quiddity (WMF)]] ([[User talk:Quiddity (WMF)|talk]]) 20:36, 15 September 2023 (UTC)
::Alright, I think they should also be added to the [[Wikifunctions:Catalogue]] when created/cleared. -[[User:Wd-Ryan|wd-Ryan]] ([[User_talk:Wd-Ryan|Talk]]/[[Special:Contributions/Wd-Ryan|Edits]]) 01:03, 16 September 2023 (UTC)
== Some functions that might prove useful to some people are various statistical lookups.. ==
I was wondering if there are some statistical significance/ranking tests that could be added here. The thought was being able to take a wikitable as input, and do something like a Spearman rank test, very quickly. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 15:21, 26 January 2024 (UTC)
:@[[User:ShakespeareFan00|ShakespeareFan00]] Yes, I definitely expect those to be ones people create. However, we don't have support for integers, let along floating point numbers yet, so these should probably wait. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 15:47, 29 January 2024 (UTC)
== natural language morphological functions ==
I was thinking that [[WF:human languages]] would have and link to subpages that could act like wikiprojects for each language. Thus projects building up to abstractwiki could stay in one place instead of being shuffled from [[WF:suggest a function#Morphological functions]] to [[WF:catalogue#Natural language String operations]]. [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 22:22, 16 February 2024 (UTC)
== Merge into Function catalogue ==
I believe the purpose of [[Wikifunctions:Suggest a function]] would be better achieved by adding a “Requested functions” section to any appropriate sub-section of [[Wikifunctions:Catalogue]]. Specifically, any such section should follow the “Search for” section (where present), so that contributors are encouraged to review both what is presented in the catalogue and similar functions that may be available or underway. Requested functions may be linked to {{Z|Z8}} objects and labelled there as “requested” or “underway” (perhaps using symbols such as❓and 🚧). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 00:20, 15 October 2025 (UTC)
:{{support}} for reasons related to the previous section. IMO early in a wiki's existence it's better to start with fewer pages and split as needed for growth. [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 08:25, 20 October 2025 (UTC)
:@[[User:GrounderUK|GrounderUK]]: The idea for this page was to be like Requests for permissions, short discussions followed by action/declination and archival, not a long-running list. I agree that as it's currently set up, it's not good, but I think burying it into perhaps hundreds of in-flight conversations across dozens of catalogue pages makes it harder for people to find conversations and take part? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 15:52, 7 November 2025 (UTC)
::To my eye, the point of putting it inside the catalog would be that converting 'functions for creation' into 'created functions' could happen within one page's history (not counting the created function page itself). [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 07:01, 8 November 2025 (UTC)
:::@[[User:Arlo Barnes|Arlo Barnes]]: Filling the "catalogue of functions you can use right now" with proposed functions that don't exist yet sounds like a bad outcome though? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:04, 13 November 2025 (UTC)
::::Well, if a function proposal is not clear enough to develop a function from, then it arguably shouldn't reside at 'suggest a function' indefinitely either (as you mention). On the other hand, if it can be easily implemented, then it should be at whatever location function creators are most likely to see it; right now that's this page, but if I understand GrounderUK's suggestion, there may be a way to structure the pages to encourage a shorter pipeline from idea to at least working draft. [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 21:23, 13 November 2025 (UTC)
:::::Yes, we might have multiple views of the function landscape (see [[Wikifunctions talk:Catalogue#Proposal for restructuring the page]]), but whether the function exists, is adequately implemented, “catalogue-worthy” or otherwise classified (aka “badged”) is a secondary consideration.
:::::If the function objects themselves had categories etc, we could just create placeholder functions (aka “stubs”), but I don’t see any such option being available for the foreseeable future, so we need not worry about its merits.
:::::That having been said, it might be simple enough to upgrade [[Special:ListFunctionsByTests]] to show functions where all tests fail. Or we could just look at [[Special:Search/: "Z8K4 Z14 Z8K5"|functions without connected implementations]], which may be the better option?
:::::The exceptions would be where new types are required for correctly specifying the function signature. In such a case, the appropriate [[Wikifunctions:Type proposals|Type proposal]] (or a stub) might serve as a temporary home. For vague or otherwise complex cases, we should at least start at [[Wikifunctions:Project chat]]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:21, 13 November 2025 (UTC)
== i18n ==
How can we make this page accessible to non-English speakers?
Once {{Z|31041}} is working, we can use that for some of the headings. The leading paragraph can use Extension:Translate like normal. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 16:16, 26 January 2026 (UTC)
== Fourier transform... ==
Hi guys, I was surprised not to find this very common funktion. Any reason to refrain from doing this? [[User:Kriegerdaemon|Kriegerdaemon]] ([[User talk:Kriegerdaemon|talk]]) 06:08, 7 May 2026 (UTC)
2z8xzoxl015g4ent4rwo0nhh63mn0dv
User talk:FenrisAureus
3
23468
272891
258877
2026-05-07T05:38:51Z
FenrisAureus
1444
/* Z13147 */ Reply
272891
wikitext
text/x-wiki
{{Welcome/lang|user=FenrisAureus|welcominguser=VIGNERON|1=[[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 16:05, 15 February 2024 (UTC)}}
== Z13147 ==
Hi! You've created [[Z13147]]. It doesn't have any tests or implementations. Do you plan to do anything with it? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 23:20, 21 March 2026 (UTC)
:honestly, no. i dont have time for wiki projects at the moment. — [[User:FenrisAureus|<span style="color:#f18">'''''FenrisAureus '''''▲ <span style="font-size:75%">'''''(she/they)'''''</span></span>]] ([[User talk:FenrisAureus|<span style="color:#060">talk</span>]]) 05:38, 7 May 2026 (UTC)
qg8qztyqii39habuj4h3fphqa0qpb35
Wikifunctions:Type proposals
4
24480
272910
267237
2026-05-07T08:54:12Z
GrounderUK
50
/* Being prepared */ early draft
272910
wikitext
text/x-wiki
{{see also|d:Special:ListDatatypes}}
{{shortcut|[[WF:TP]]}}
This page is to discuss and decide on proposals for new [[WF:types|Types]], and for changing existing ones.
Before proposing, you should familiarize yourself with the [[WF:Function model|Function model]].
Types are currently being created by Wikifunctions staff. Over time these rights will be handed over to the community.
== Proposals for new types to be created ==
=== In discussion ===
* [[WF:type proposals/SI units|SI units]]
* [[WF:type proposals/Unit of measurement|Unit of measurement]]
* [[WF:type proposals/Moment in time|Moment in time]]
* [[WF:type proposals/Julian calendar date|Julian calendar date]]
* [[WF:type proposals/Grapheme|Grapheme]]
* [[WF:type proposals/Wikifunctions object reference|Wikifunctions object reference]]
* [[WF:type proposals/Value with error|Value with error]]
* [[WF:type proposals/configuration of functions for given types|configuration of functions for given types]]
* [[WF:type proposals/Geometrical point|Geometrical point]]
* [[WF:type proposals/Currency|Currency]]
==== Representing abstract content ====
* [[WF:type proposal/Syntactic table|Syntactic table]]
* [[WF:type proposals/Semantic unit|Semantic unit]] ([[WF:type proposals/Syntactic unit|Syntactic unit]] is a section of this proposal)
==== Lightweight Wikidata enumerations ====
* [[WF:type proposals/French tenses|French tenses]]
* [[WF:type proposals/French subjects|French subjects]]
* [[WF:type proposals/Italian auxiliary verb|Italian auxiliary verb]]
* [[WF:type proposals/Italian simple preposition|Italian simple preposition]]
* [[WF:type proposals/Italian tense|Italian tense]]
* [[WF:type proposals/Unicode General Category|Unicode General Category]]
* [[WF:type proposals/Taxon rank|Taxon rank]]
* [[WF:Type_proposals/IPA_phone_base_glyph|IPA phone]]
* [[WF:Type_proposals/Zodiac sign|Zodiac sign]]
* [[WF:Type_proposals/Simple temporal entity|Simple temporal entity]]
* [[WF:Type_proposals/Japanese verb conjugation class|Japanese verb conjugation class]]
* [[WF:Type_proposals/Topic-comment|Topic-comment]]
* [[WF:Type_proposals/Grammatical specificity|Grammatical specificity]]
=== Being prepared ===
[[WF:type proposals/HTML fragment structure |HTML fragment structure]]
=== Stalled ===
* [[WF:type proposals/Typed string|Typed string]]
* [[WF:type proposals/Wikidata value|Wikidata value]]
* [[WF:type proposals/Wikidata string-based value|Wikidata string-based value]]
* [[WF:type proposals/bytes|bytes]]
* [[WF:type proposals/Percentage|Percentage]]
* [[WF:type proposals/Timezone|Timezone]]
* [[WF:type proposals/Named parameters list|Named parameters list]]
* [[WF:type proposals/Abstract sentence|Abstract sentence]]
=== Something to think about ===
* Symbol and expression (as in a [[w:computer algebra system|computer algebra system]]) - currently no idea yet
* [[WF:type proposals/Alphabet|Alphabet]]
* [[WF:type proposals/Context|Context]]
* [[WF:type proposals/Imperial Units|Imperial Units]]
* months in calendars
** [[WF:type proposals/Bengali month|Bengali month]]
** [[WF:type proposals/Darian month|Darian month]]
** [[WF:type proposals/Hebrew month|Hebrew month]]
** [[WF:type proposals/Hindu month|Hindu month]]
** [[WF:type proposals/Nepali month|Nepali month]]
** [[WF:type proposals/Sindhi month|Sindhi month]]
** [[WF:type proposals/Tamil month|Tamil month]]
* [[WF:type proposals/Multilingual gloss|Multilingual gloss]]
* [[WF:type proposals/Position on Earth|Position on Earth]]
* [[WF:type proposals/URL|URL]]
==== Wikidata integration ====
(These are just the types we will need that are not listed somewhere else)
* Wikidata qualifier
* Wikidata Data type
* Wikidata sitelink
* Unknown value
* Entity schema
==== "Heavy" data ====
Heavy data is those that can be more than 1.5MB (where medium data are between 60KB and 1.5MB). This includes most real-world files (jpg, mp3, pdf, zip, exe) and raw forms of data containing in such files (e.g. 1024*768 RGB image has 2359296 bytes in raw form). Wikifunctions currently have limited support for medium data and little support for heavy data (and neither support file uploading for computation). See [[WF:type proposals/bytes#Uses|bytes § Uses]] for more information.
* Image (raster): basically, a 2D or 3D array of number (though we ''do'' need a type to represent both the array and image mode)
* Audio and signal: basically, one number (sampling rate) and one or more (1D) arrays of number, one per channel (though we ''do'' need a type to represent all of them)
* Video: audio plus series of image
=== Unclear necessity / probably unnecessary ===
* Multidimensional array: can be represented as list of lists, but a dedicated edit interface would be nice (and way to enforce an array not to be jagged)
* Typed tuple: can be represented as nested [[Z882]]
* Set: use list instead
* Multiset: use list instead
* Multimap: use list of [[Z882]] instead (see also simple map [[Z883]])
* [[WF:type proposals/Syntactic type|Syntactic type]]
== Types that have already been Implemented ==
{{main|WF:type}}
* [[WF:Type_proposals/Season|Season]]
* [[WF:type proposals/Word order|Word order]]
* [[WF:type proposals/complex128|complex128]]
* [[WF:type proposals/Grammatical voice (a/m/p)|Grammatical voice (a/m/p)]]
* [[WF:type proposals/Grammatical voice (a/mp)|Grammatical voice (a/mp)]]
* [[WF:type proposals/RGBA color|RGBA color]]
* [[WF:type proposals/Grammatical number (singular/paucal/multal)|Grammatical number (singular/paucal/multal)]]
* [[WF:type proposals/Grammatical definiteness|Grammatical definiteness]]
* [[WF:type proposals/Grammatical voice (a/p)|Grammatical voice (a/p)]]
* [[WF:type proposals/Grammatical affirmation and negation|Grammatical affirmation and negation]]
* [[WF:type proposals/Grammatical cases (n/g/d/a)|Grammatical cases (n/g/d/a)]]
* [[WF:type proposals/Grammatical degree of comparison (p/c/s)|Grammatical degree of comparison (p/c/s)]]
* [[WF:type proposals/Chemical element|Chemical element]]
* [[WF:type proposals/Wikidata based types|Wikidata based types]] as {{Z|Z6001}}, {{Z|Z6002}}, {{Z|Z6003}}, {{Z|Z6004}}, {{Z|Z6005}}
** [[WF:type proposals/Wikidata lexeme senses|Wikidata lexeme senses]] as {{Z|Z6006}}
** [[WF:type proposals/Wikidata time|Wikidata time]] as {{Z|Z6064}}
** [[WF:type proposals/Wikidata quantity|Wikidata quantity]] as {{Z|Z6010}}
** [[WF:type proposals/Wikidata geocoordinates|Wikidata geocoordinates]] as {{Z|Z6011}}
* [[WF:type proposals/Grammatical number (singular/dual/plural)|Grammatical number (singular/dual/plural)]] as {{Z|Z28215}}
* [[WF:type proposals/Breton mutation|Breton mutation]] as {{Z|Z27971}}
* [[WF:type proposals/Grammatical person (1/2/3)|Grammatical person (1/2/3)]] as {{Z|Z27970}}
* [[WF:type proposals/Grammatical gender (a/i)|Grammatical gender (a/i)]] as {{Z|Z26935}}
* [[WF:type proposals/Grammatical number (s/p)|Grammatical number (s/p)]] as {{Z|Z26934}}
* [[WF:type proposals/Hijri calendar month|Hijri calendar month]] as {{Z|Z26582}}
* [[WF:type proposals/Grammatical gender (m/f)|Grammatical gender (m/f)]] as {{Z|Z25340}}
* [[WF:type proposals/Grammatical gender (m/f/n)|Grammatical gender (m/f/n)]] as {{Z|Z25501}}
* [[WF:type proposals/Grammatical gender (c/n)|Grammatical gender (c/n)]] as {{Z|Z25502}}
* [[WF:type proposals/Natural number|Natural number]] as {{Z|Z13518}}
* [[WF:type_proposals/Gregorian calendar month|Gregorian calendar month]] as {{Z|Z16098}}
* [[WF:type proposals/Sign|Sign]] as {{Z|Z16659}}
* [[WF:type proposals/Igbo calendar month|Igbo calendar month]] as {{Z|Z16927}}
* [[WF:type proposals/Integer|Integer]] as {{Z|Z16683}}
* [[WF:type proposals/Day of the week|Day of the week]] as {{Z|Z17402}}
* [[WF:type proposals/Gregorian era|Gregorian era]] as {{Z|Z17813}}
* [[WF:type proposals/Rational number|Rational number]] as {{Z|Z19677}}
* [[WF:type proposals/Gregorian year|Gregorian year]] as {{Z|Z20159}}
* [[WF:type proposals/Day of Roman year|Day of Roman year]] as {{Z|Z20342}}
* [[WF:type proposals/Gregorian calendar date|Gregorian calendar date]] as {{Z|Z20420}}
* [[WF:type proposals/float64|float64]] as {{Z|Z20838}}
* [[WF:type proposals/Kleenean|Kleenean]] as {{Z|Z22112}}
* [[WF:type proposals/Byte|Byte]] as {{Z|Z80}}
* [[WF:type proposals/Unicode codepoint|Unicode codepoint]] as {{Z|Z86}}
== Proposals for changing existing types ==
=== Changes to existing types ===
* ...
== Templates ==
* [[WF:type proposals/(unnamed – new Type)|unnamed – new Type]]
* [[WF:type proposals/(unnamed – new lightweight Wikidata enumeration)|unnamed – new lightweight Wikidata enumeration]]
* [[WF:type proposals/(unnamed – modification of an existing Type)|unnamed – modification of an existing Type]]
[[category:project concept]]
5ldkvhaeusksmggur06hbslwtg3sz99
Z13827
0
25079
272815
269371
2026-05-06T21:46:28Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
272815
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13827"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13827K1",
"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": "Z1078",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "paramètre"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z17397"
],
"Z8K4": [
"Z14",
"Z34238",
"Z13828"
],
"Z8K5": "Z13827"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "return 1 (natural number)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "usoro 1 niile"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "alle 1er-Sequenz"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "kembalikan 1 (bilangan asli)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "entier naturel 1"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"A000012",
"all 1's sequence",
"one",
"1"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1078",
"Z31K2": [
"Z6",
"A000012"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns 1 (ignoring its input)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "weghachi 1 (na-eleghara ntinye ya anya)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gibt 1 aus"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Mengembalikan 1 (mengabaikan inputnya)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "rend 1"
}
]
}
}
fbhlhptwjneamss7buq6bv8xmaenvyh
Z14325
0
26580
272792
170065
2026-05-06T20:25:04Z
GrounderUK
50
[[Z14326]]🔀[[Z860]]
272792
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14325"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z14321",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z813",
"Z813K1": {
"Z1K1": "Z18",
"Z18K1": "Z14321K2"
}
},
"Z802K2": {
"Z1K1": "Z40",
"Z40K1": "Z42"
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z862",
"Z862K1": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z18",
"Z18K1": "Z14321K2"
}
},
"Z862K2": {
"Z1K1": "Z18",
"Z18K1": "Z14321K1"
}
},
"Z802K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z14321",
"Z14321K1": {
"Z1K1": "Z18",
"Z18K1": "Z14321K1"
},
"Z14321K2": {
"Z1K1": "Z7",
"Z7K1": "Z812",
"Z812K1": {
"Z1K1": "Z18",
"Z18K1": "Z14321K2"
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "looks recursively through list"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "le anya nke ọma site na ndepụta"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "ist Sprache in Liste als Komposition"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "cette langue est-elle dans la liste ?, Compo (2)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "composition récursive"
}
]
}
}
3u772a6k4k4dztc3ztixwh7dfv7017j
Z14326
0
26581
272746
263554
2026-05-06T19:07:36Z
Dv103
11127
Added Z34885 to the approved list of implementations
272746
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14326"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z14326K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "this language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "একটি ভাষা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "wannan harshe"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1818",
"Z11K2": "ede yi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "este idioma"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "eine Sprache"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "επιλογή πρώτης γλώσσας "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "première langue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Prima lingua"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z14326K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "that language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "আরেকটি"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "otro idioma"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "andere Sprache"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "επιλογή δεύτερης γλώσσας"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "seconde langue"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Seconda lingua"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z14327",
"Z14328",
"Z14385",
"Z14386",
"Z18765",
"Z22385",
"Z32090"
],
"Z8K4": [
"Z14",
"Z14387",
"Z14333",
"Z18607",
"Z22446",
"Z33003",
"Z34885"
],
"Z8K5": "Z14326"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "same language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "ভাষার সমতা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "otu asụsụ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1852",
"Z11K2": "iche ewu iche"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "harshe iri ɗaya"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1818",
"Z11K2": "ede kanna"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "mismo idioma"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gleiche Sprache"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "ίδια φυσική γλώσσα"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "är samma språk"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "est-ce la même langue ?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "stessa lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "समान भाषा"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1237",
"Z11K2": "aynı dil"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"natural language equality",
"equality of natural languages",
"languages are the same",
"are same languages",
"is language the same as the other",
"identical languages",
"equal language codes",
"equal languages",
"languages equal",
"language equality",
"="
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1011",
"Z31K2": [
"Z6",
"প্রাকৃতিক ভাষার সমতা",
"স্বাভাবিক ভাষার সমতা",
"দুটো ভাষা একই",
"কী দুটো ভাষা একটি"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"gleichheit Natürlicher Sprachen",
"Sprachen sind gleich",
"ist Sprache die selbe"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1592",
"Z31K2": [
"Z6",
"samma språk"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"stesso linguaggio",
"lingue uguali",
"linguaggi uguali",
"lingue identiche",
"linguaggi identici"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "একটি ভাষা কি অপরটির সমান তা যাচাই করবে। অর্থাৎ দুটো ভাষা একই হলে ফলাফল হবে সত্য।"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "asụsụ bụ otu"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1852",
"Z11K2": "ichi abile wa de"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "harshen da suke iri ɗaya"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1818",
"Z11K2": "ede ti o jẹ kanna"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gibt wahr zurück, wenn beide Eingaben die gleiche Sprachen sind"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns true if two given languages are the same (defined here as having identical language tags) otherwise false (or a key value error if an argument is not a Natural language object or reference)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "ελέγχει εάν δύο φυσικές γλώσσες είναι ίδιες"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie \"vrai\" si les deux langues données sont identiques, sinon \"faux\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Ritorna Vero se le due lingue sono uguali (ovvero hanno gli stessi identici codici), Falso altrimenti."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "अगर दो निर्दिष्ट भाषाएँ समान हों (यानी समान भाषा कोड्स हों) तो सच लौटाता है, वरना झूठ।"
}
]
}
}
ee8f0na89fru4sldp1ysu2m8o4p8wc8
Z14349
0
26605
272797
161316
2026-05-06T20:37:40Z
GrounderUK
50
[[Z1002]] alias
272797
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14349"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z14310",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z14311",
"Z14311K1": {
"Z1K1": "Z7",
"Z7K1": "Z803",
"Z803K1": {
"Z1K1": "Z39",
"Z39K1": "Z14294K1"
},
"Z803K2": {
"Z1K1": "Z18",
"Z18K1": "Z14310K1"
}
},
"Z14311K2": {
"Z1K1": "Z7",
"Z7K1": "Z803",
"Z803K1": {
"Z1K1": "Z39",
"Z39K1": "Z14294K2"
},
"Z803K2": {
"Z1K1": "Z18",
"Z18K1": "Z14310K1"
}
},
"Z14311K3": {
"Z1K1": "Z18",
"Z18K1": "Z14310K2"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select a function based on languages but using direct values"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "Zaɓi aiki bisa yaruka amma ta amfani da ƙimar kai tsaye"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "họrọ ọrụ dabere na asụsụ mana na-eji ụkpụrụ kpọmkwem"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Funktion nach Sprache, Komposition mit Sprachcode"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"choose function based on languages using direct values",
"function by language"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
pv75sbxql9s092fwbw2w89wwnh18nai
Z17911
0
34168
272700
271448
2026-05-06T17:29:03Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
272700
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z17911"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z17911K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "nominative singular "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Nominativ Singular"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z17912",
"Z17913"
],
"Z8K4": [
"Z14",
"Z17914",
"Z34653"
],
"Z8K5": "Z17911"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Swedish noun declension, singular definite, -nen/-en"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Deklination für schw. Subst., best. Sing. (nen/en)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "E.g. mus -\u003E musen, man -\u003E mannen"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "fügt \"-nen\" oder \"-en\" an das Wort an"
}
]
}
}
1pmdqpatp2uw01seme2sm2tsu9kckqg
Z19243
0
41161
272799
271898
2026-05-06T20:50:26Z
YoshiRulz
10156
Add en aliases
272799
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19243"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6005",
"Z17K2": "Z19243K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "lexème"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lexeme"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lessema"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "詞位"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6091"
},
"Z17K2": "Z19243K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "grammatical features"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "caractéristiques grammaticales"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "caratteristiche grammaticali"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "語法特徵"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6004"
},
"Z8K3": [
"Z20",
"Z19251",
"Z19395",
"Z21612",
"Z22814"
],
"Z8K4": [
"Z14",
"Z24279",
"Z19244",
"Z34715"
],
"Z8K5": "Z19243"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select lexeme forms from lexeme"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "sélectionner les formes du lexème d'un lexème"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "seleziona Forme di lessema da Lessema"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "從詞位選取詞形"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"lexeme forms from lexeme with grammatical features",
"lexeme to lexeme forms",
"select Forms with given features from Lexeme",
"filter Lexeme Forms by grammatical features"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"forme di lessema da lessema con caratteristiche grammaticali"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns the lexeme forms, from the given lexeme, which contain all of the given grammatical features."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie les formes du lexème, à partir du lexème donné, qui contiennent toutes les caractéristiques grammaticales données."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Restituisce tutte le forme di un dato lessema che soddisfino tutte le caratteristiche grammaticali"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "從指定的詞位回傳詞形,其中包含所有指定的語法特徵。"
}
]
}
}
0he83s5wlj4iptutrrc0lnu26oupa9f
Wikifunctions:Support for Wikidata content
4
42228
272875
262456
2026-05-07T04:09:34Z
DMartin (WMF)
24
Added clarifying remarks re: overloading of the word "reference"
272875
wikitext
text/x-wiki
<languages/>
{{AW Content}}{{Technical documentation navbox}}
<translate>
<!--T:1-->
Wikifunctions provides support for retrieving and using Wikidata content, including encyclopedic content contained primarily in ''Items'' and lexicographic content contained in ''Lexemes, Lexeme forms'', and ''Lexeme senses''.</translate>
<translate><!--T:165-->
Since instances of these four content types can contain ''Statements'', Wikifunctions also includes support for ''Statements'' and their components, including ''Properties'', ''Statement ranks'', ''Qualifiers'', and (coming soon) ''References''.
<!--T:2-->
Documentation of Wikidata's lexicographic types can be found at [[<tvar name="1">:d:Special:MyLanguage/WD:Lexicographical data/Documentation</tvar>|lexicographical data documentation]], and documentation of the other Wikidata types can be found at [[<tvar name="2">mw:Special:MyLanguage/Wikibase/DataModel</tvar>|Wikibase/DataModel]].
<!--T:3-->
'''Terminology note''': On Wikidata, ''Item, Property, Lexeme, Lexeme form'', and ''Lexeme sense'' are all types of ''entities'', so we refer to these as the ''entity types''.
<!--T:4-->
Implemented support currently includes:
</translate>
# <translate><!--T:5--> Built-in types corresponding to the 5 entity types, ''Statement'', and ''Statement rank''</translate>
# <translate><!--T:141--> A built-in type "Reference", which corresponds to Wikidata's ''ReferenceRecord'' type</translate>
# <translate><!--T:142--> A built-in type "Claim" <sup>[ [[<tvar name="1">d:Special:MyLanguage/Wikidata:Glossary#Claim</tvar>|glossary]] ]</sup>, which corresponds to Wikidata's type <tvar name="2">{{Q|86719099}}</tvar> <sup>[ [[<tvar name="3">d:Special:MyLanguage/Wikidata:Glossary#Snak</tvar>|glossary]] ]</sup>, and is used in Wikifunctions' representation of qualifiers and references inside statements</translate>
# <translate><!--T:6--> Built-in ''reference types'' corresponding to the 5 entity types</translate>
# <translate><!--T:7--> Built-in ''fetch functions'', for each of the entity types, which retrieve content from Wikidata and transform it into instances of the built-in types</translate>
# <translate><!--T:143--> Built-in ''search functions'', which provide methods for finding lexemes by their relations to other entities</translate>
# <translate><!--T:8--> User interface components for selecting Wikidata content to be fetched, and for displaying the fetched content.</translate>
<translate>
<!--T:9-->
'''Terminology notes''':
</translate>
* <translate><!--T:10--> We refer to the built-in types of (1) -- (3) as the “Wikidata types”, and the built-in types of (4) as the “Wikidata reference types”, but note that all of these are types '''on Wikifunctions''' for working with content '''from Wikidata'''.</translate> <translate><!--T:166--> When we mention one of these types below, it will be underlined, and it will also be a link if it’s currently defined on Wikifunctions (e.g., [[<tvar name="1">Z6005</tvar>|<u>Wikidata lexeme</u>]]).</translate>
* <translate><!--T:11--> To help keep things clear, when we mention a type ''in italics'' (such as ''Lexeme'' or ''Item'') we are talking about a type that exists '''on Wikidata'''.</translate> <translate><!--T:167--> For example, we will talk about the [[<tvar name="1">Z6005</tvar>|<u>Wikidata lexeme</u>]] type that’s been created on Wikifunctions, which corresponds to the ''Lexeme'' type on Wikidata.</translate>
* <translate><!--T:144--> The ''reference types'' mentioned in (4) are not related to the "Reference" type mentioned in (2).</translate> <translate><!--T:168--> (4) provides a way to refer to Wikidata entities using their identifiers, whereas (2) captures the sources that substantiate particular content. </translate>
<translate>
<!--T:12-->
This page describes each of the above areas of support. Everything described here is deployed and available, except as noted in a few places.
== Wikidata types == <!--T:13-->
<!--T:14-->
The following types have been defined, with their structure corresponding closely to the structure of the corresponding types on wikidata:
</translate>
* [[Z6005|<u><translate><!--T:15--> Wikidata lexeme</translate></u>]]
* [[Z6004|<u><translate><!--T:16--> Wikidata lexeme form</translate></u>]]
* [[Z6006|<u><translate><!--T:17--> Wikidata lexeme sense</translate></u>]]
* [[Z6003|<u><translate><!--T:18--> Wikidata statement</translate></u>]]
* [[Z6002|<u><translate><!--T:19--> Wikidata property</translate></u>]]
* [[Z6001|<u><translate><!--T:20--> Wikidata item</translate></u>]]
* [[Z6040|<u><translate><!--T:21--> Wikidata statement rank</translate></u>]]
* [[Z6008|<u><translate><!--T:145--> Wikidata reference</translate></u>]]
* <translate><!--T:146--> [[<tvar name="1">Z6007</tvar>|<u> Wikidata claim</u>]], which corresponds to Wikidata's ''Snak'' type</translate>
* <translate><!--T:147--> [[<tvar name="1">Z6020</tvar>|<u> Wikidata claim subtype</u>]], which captures the 3 types of Snaks on Wikidata</translate>
<translate>
<!--T:22-->
Instances of these types are never made persistent on Wikifunctions (except for the instances of [[<tvar name="1">Z6040</tvar>|<u>Wikidata statement rank</u>]] and [[<tvar name="2">Z6020</tvar>|<u>Wikidata claim subtype</u>]]).</translate>
<translate><!--T:169--> They are constructed on the fly, when needed, using content retrieved directly from Wikidata.</translate>
<translate><!--T:170-->
Instances of the entity types carry within them the identifier of the Wikidata entity from which they were obtained.
<!--T:23-->
[[<tvar name="1">Z6040</tvar>|<u>Wikidata statement rank</u>]] is an enumeration type which has only the 3 fixed instances <u>preferred</u>, <u>normal</u>, and <u>deprecated</u>.
<!--T:148-->
[[<tvar name="1">Z6020</tvar>|<u>Wikidata claim subtype</u>]] is an enumeration type which has only the 3 fixed instances <u>value</u>, <u>some value</u>, and <u>no value</u>.
<!--T:24-->
Additional background, motivation, and examples of the Wikidata types may be found on the [[<tvar name="1">Wikifunctions:Type proposals/Wikidata based types</tvar>|types proposal discussion page]] (but please be aware that page is no longer active and isn't necessarily up-to-date in all details).
=== Example === <!--T:25-->
<!--T:26-->
An instance of [[<tvar name="1">Z6005</tvar>|<u>Wikidata lexeme</u>]] has these 7 parts:
</translate>
# <translate><!--T:27--> identity, with a value of type [[<tvar name="1">Z6095</tvar>|<u>Wikidata lexeme reference</u>]]</translate>
# <translate><!--T:28--> lemmas, with a value of type [[<tvar name="1">Z12</tvar>|Multilingual text]]</translate>
# <translate><!--T:29--> language, with a value of type [[<tvar name="1">Z60</tvar>|Natural language]]</translate>
# <translate><!--T:30--> lexical category, with a value of type [[<tvar name="1">Z6091</tvar>|<u>Wikidata item reference</u>]]</translate>
# <translate><!--T:31--> statements, whose value is a list of [[<tvar name="1">Z6003</tvar>|<u>Wikidata statement</u>]]</translate>
# <translate><!--T:32--> senses, whose value is a list of [[<tvar name="1">Z6006</tvar>|<u>Wikidata lexeme sense</u>]]</translate>
# <translate><!--T:33--> forms, whose value is a list of [[<tvar name="1">Z6004</tvar>|<u>Wikidata lexeme form</u>]]</translate>
<translate>
<!--T:34-->
Note, then, that each such instance contains instances of three other Wikidata types ([[<tvar name="1">Z6003</tvar>|<u>Wikidata statement</u>]], [[<tvar name="2">Z6006</tvar>|<u>Wikidata lexeme sense</u>]], and [[<tvar name="3">Z6004</tvar>|<u>Wikidata lexeme form</u>]]), and also two Wikidata reference types (which are discussed in the next section).</translate>
<translate><!--T:171-->
[[<tvar name="4">Z12</tvar>|Multilingual text]] and [[<tvar name="5">Z60</tvar>|Natural language]] are multipurpose Wikifunctions’ types, not created specifically for handling Wikidata content.
<!--T:35-->
The identity part stores the Wikidata identifier associated with the lexeme, and serves as a self-reference.</translate>
<translate><!--T:172-->
For information about the content of each of the other parts, please see [[<tvar name="1">:d:Special:MyLanguage/d:Lexicographical data/Documentation</tvar>|d:Lexicographical data/Documentation]].
<!--T:36-->
A specific instance, which has been fetched from [[<tvar name="1">:d:Lexeme:L3435</tvar>|L3435 on Wikidata]], is shown in the appendix.
=== Status of Wikidata types === <!--T:37-->
<!--T:38-->
All these types are defined and available for use; there are no outstanding tasks directly related to them.</translate>
<translate><!--T:173--> They all have built-in equality functions.</translate>
<translate><!--T:174-->
Each of the five entity types has a built-in fetch function, as described below, by which its instances can be directly fetched (retrieved from Wikidata and instantiated on Wikifunctions).
=== Notes about Wikidata statements === <!--T:122-->
<!--T:41-->
Statements appear inside of Wikidata items, properties, lexemes, lexeme forms, and lexeme senses.</translate>
<translate><!--T:175-->
Each [[<tvar name="1">Z6003</tvar>|<u>Wikidata statement</u>]] imported from Wikidata contains seven parts:
</translate>
# <translate><!--T:149--> a subject (an entity reference, discussed below)</translate>
# <translate><!--T:150--> a predicate (a property reference, discussed below)</translate>
# <translate><!--T:151--> a value</translate>
# <translate><!--T:152--> a rank (an instance of [[<tvar name="1">Z6040</tvar>|<u>Wikidata statement rank</u>]])</translate>
# <translate><!--T:153--> a list of qualifiers (each represented as a [[<tvar name="1">Z6003</tvar>|<u>Wikidata claim</u>]])</translate>
# <translate><!--T:154--> a list of [[<tvar name="1">Z6008</tvar>|<u>Wikidata reference</u>]]</translate>
# <translate><!--T:155--> an instance of [[<tvar name="1">Z6020</tvar>|<u>Wikidata claim subtype</u>]].</translate>
<translate>
<!--T:156-->
The value, (3), may be of several different Wikifunctions types, including:
</translate>
* [[Z6|<u><translate><!--T:42--> String</translate></u>]]
* [[Z11|<u><translate><!--T:47--> Monolingual text</translate></u>]]
* [[Z6010|<u><translate><!--T:157--> Wikidata quantity</translate></u>]]
* [[Z6011|<u><translate><!--T:158--> Wikidata geo-coordinate</translate></u>]]
* [[Z6040|<u><translate><!--T:159--> Wikidata time</translate></u>]]
* <translate><!--T:160--> one of the Wikidata reference types, discussed below.</translate>
<translate>
Please note the overloading of the word "reference". [[Z6008|<u>Wikidata reference</u>]], (6) above, is a Wikifunctions type that holds references (to information sources), and appears in statements imported from Wikidata. The ''Wikidata reference types'', discussed in the next section, are also Wikifunctions types, but they refer to Wikidata entities, and contain only Wikidata identifiers.
</translate>
<translate>
<!--T:123-->
Because ''Statements'' in Wikidata do not have public identifiers, in Wikifunctions [[<tvar name="1">Z6003</tvar>|<u>Wikidata statement</u>]] does not have a reference type or a fetch function. (These are described in more detail below.)
== Wikidata reference types == <!--T:50-->
<!--T:51-->
The following reference types provide the means to refer to Wikidata entities without including the details of their content.</translate>
<translate><!--T:176-->
Instances of these reference types contain ''only'' the Wikidata ID of an entity, as a Z6/String.
</translate>
* [[Z6095|<u><translate><!--T:52--> Wikidata lexeme reference</translate></u>]]
* [[Z6094|<u><translate><!--T:53--> Wikidata lexeme form reference</translate></u>]]
* [[Z6096|<u><translate><!--T:54--> Wikidata lexeme sense reference</translate></u>]]
* [[Z6092|<u><translate><!--T:55--> Wikidata property reference</translate></u>]]
* [[Z6091|<u><translate><!--T:56--> Wikidata item reference</translate></u>]]
<translate>
<!--T:57-->
'''Example''': a [[<tvar name="1">Z6091</tvar>|<u>Wikidata item reference</u>]] to the item ''Q1084'' (which represents the concept ''noun'' on Wikidata) looks like the following.</translate>
<translate><!--T:177--> The right column shows the formal ZObject representation (in canonical form); the left column, for readability, shows the same content with English labels for each of the ZObject's elements.</translate>
<translate><!--T:178-->
Wikifunctions’ ZObject representation is presented in <tvar name="2">{{ll|Wikifunctions:Function model}}</tvar>; we do not explain the details of the representation here.
</translate>
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "Wikidata item reference",
"Wikidata item id": "Q1084"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Z6091",
"Z6091K1": "Q1084"
}</syntaxhighlight>
|}
<translate>
<!--T:58-->
'''Example uses''':
</translate>
* <translate><!--T:59--> Wikidata reference types are used with Wikidata fetch functions (see below).</translate>
* <translate><!--T:60--> When entity IDs and ''Property'' IDs appear inside of Wikidata lexemes, Wikidata lexeme forms, Wikidata lexeme senses, or Wikidata statements, they appear as instances of the appropriate Wikidata reference types.</translate> <translate><!--T:179--> For example, to indicate that ''Lexeme L3435'' (“umbrella”) has lexical category ''noun'' (which has entity ID ''Q1084''), the [[<tvar name="1">Z6005</tvar>|<u>Wikidata lexeme</u>]] for ''L3435'' contains the [[<tvar name="2">Z6091</tvar>|<u>Wikidata item reference</u>]] shown above, in the '''Example'''.</translate>
<translate>
=== Status of Wikidata reference types === <!--T:61-->
<!--T:62-->
Ready for use. No outstanding tasks directly related to these types.
== Wikidata fetch functions == <!--T:63-->
<!--T:64-->
A fetch function is a built-in Wikifunctions function that takes an instance of one of the Wikidata reference types as its input argument.</translate>
<translate><!--T:180--> As noted above, each such instance contains the ID of a Wikidata entity.</translate>
<translate><!--T:181-->
Given that, it retrieves the content of that entity from Wikidata and transforms it into an instance of the corresponding Wikidata type.
<!--T:65-->
'''Example''': If [[<tvar name="1">Z6825</tvar>|<u>Fetch Wikidata lexeme</u>]] is called with this instance of [[<tvar name="2">Z6095</tvar>|<u>Wikidata lexeme reference</u>]]:
</translate>
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "Wikidata lexeme reference",
"Wikidata lexeme id": "L3435"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Z6095",
"Z6095K1": "L3435"
}</syntaxhighlight>
|}
<translate>
<!--T:66-->
it will return the instance of [[<tvar name="1">Z6005</tvar>|<u>Wikidata lexeme</u>]] that is introduced in the ''Example'' subsection of the ''Wikidata types'' section above, and shown in greater detail in the Appendix.
=== Status of Wikidata fetch functions === <!--T:67-->
<!--T:68-->
A fetch function exists for each of the entity types on Wikifunctions:
</translate>
* [[Z6825|<u><translate><!--T:69--> Fetch Wikidata lexeme</translate></u>]]
* [[Z6824|<u><translate><!--T:71--> Fetch Wikidata lexeme form</translate></u>]]
* [[Z6826|<u><translate><!--T:73--> Fetch Wikidata lexeme sense</translate></u>]]
* [[Z6822|<u><translate><!--T:75--> Fetch Wikidata property</translate></u>]]
* [[Z6821|<u><translate><!--T:78--> Fetch Wikidata item</translate></u>]]
<translate>
<!--T:81-->
To enable calling the fetch functions from the user interface, Wikifunctions provides selector components, which make it possible to select an entity to be fetched.</translate>
<translate><!--T:182--> There will eventually be a selector corresponding to each of the entity types (and thus, to each of the fetch functions).</translate>
<translate><!--T:183-->
The next section provides more information about selector components.
== Wikidata search functions == <!--T:124-->
<!--T:125-->
In addition to fetching content from Wikidata, it's also possible to search Wikidata content in various ways, using its APIs.</translate>
<translate><!--T:184-->
Wikifunctions currently provides two built-in functions based on these search capabilities.
=== Function: [[<tvar name="1">Z6830</tvar>|<u>Find lexemes for an item</u>]] === <!--T:126-->
</translate>
* <translate><!--T:127--> Argument types: [[<tvar name="1">Z6091</tvar>|<u>Wikidata item reference</u>]], [[<tvar name="2">Z6092</tvar>|<u>Wikidata property reference</u>]], [[<tvar name="3">Z60</tvar>|<u>Natural language</u>]]</translate>
* <translate><!--T:128--> Return value type: List of [[<tvar name="1">Z6095</tvar>|<u>Wikidata lexeme reference</u>]]</translate>
<translate>
<!--T:129-->
Wikidata captures useful relationships between lexeme senses (which represent the meanings of a lexeme) and items. These include:
</translate>
* <translate><!--T:130--> [[<tvar name="1">d:Property:P5137</tvar>|item for this sense]], most often connecting a noun to a thing or a class of things in Wikidata</translate>
* <translate><!--T:131--> [[<tvar name="1">d:Property:P9970</tvar>|predicate for]], connecting a verb to an action or event</translate>
* <translate><!--T:132--> [[<tvar name="1">d:Property:P6271</tvar>|demonym of]], connecting a noun or adjective to a location, describing the people and things that live or are from that place.</translate>
<translate>
<!--T:133-->
'''Example 1.''' The three senses of the lexeme [[<tvar name="1">d:Lexeme:L18379</tvar>|L18379/rose]] refer to the color, the flower, and the biological taxon.</translate>
<translate><!--T:185-->
Each of these 3 senses is related to a different item, by means of a statement, in Wikidata, such as this (for the first sense):
</translate>
* <translate><!--T:134--> statement subject: [[<tvar name="1">d:Lexeme:L18379</tvar>|L18379-S1/rose sense 1]]</translate>
* <translate><!--T:135--> statement property: [[<tvar name="1">d:Property:P5137</tvar>|P5137/item for this sense]]</translate>
* <translate><!--T:136--> statement value: [[<tvar name="1">d:Q533047</tvar>|Q533047/rose]]</translate>
<translate>
<!--T:137-->
[[<tvar name="1">Z6830</tvar>|<u>Find lexemes for an item</u>]] searches for lexemes that are related to a given item by a given property. (Even though the relationships exist between a ''lexeme sense'' and an item, Wikidata's API, and this function, return references to the ''lexeme(s)'' that contain the sense(s).)
<!--T:138-->
'''Example''' '''2''': Calling [[<tvar name="1">Z6830</tvar>|<u>Find lexemes for an item</u>]] with [[<tvar name="2">d:Q533047</tvar>|Q533047/rose]] (the color), [[<tvar name="3">d:Property:P5137</tvar>|P5137/item for this sense]], and [[<tvar name="4">Z1002</tvar>|<u>Z1002/English</u>]] returns a list containing the lexeme reference for [[<tvar name="5">d:Lexeme:L18379</tvar>|L18379/rose]].</translate>
<translate><!--T:186-->
Calling the function with [[<tvar name="6">d:Q102231</tvar>|Q102231/rose]] (the flower) or with [[<tvar name="7">d:Q34687</tvar>|Q34687/Rosa ]] (the biological taxon) as the first argument also returns the lexeme [[<tvar name="8">d:Lexeme:L18379</tvar>|L18379/rose]], because that lexeme is related (via its 3 senses) to all 3 of those items.
<!--T:139-->
'''Example''' '''3''': Calling [[<tvar name="1">Z6830</tvar>|<u>Find lexemes for an item</u>]] with [[<tvar name="2">d:Q55</tvar>|Q55/Netherlands]], [[<tvar name="3">d:Property:P6271</tvar>|P6271/demonym of]], and [[<tvar name="4">Z1002</tvar>|<u>Z1002/English</u>]] returns a list containing the [[<tvar name="5">Z6095</tvar>|<u>Wikidata lexeme reference</u>]] for [[<tvar name="6">d:Lexeme:L34519</tvar>|L34519/Dutch]].
<!--T:140-->
For an example in which [[<tvar name="1">Z6830</tvar>|<u>Find lexemes for an item</u>]] is used in generating a natural language phrase, please see the ''Function of the Week'' section in <tvar name="2">{{ll|Wikifunctions:Status updates/2025-02-26}}</tvar>.
=== Function: [[<tvar name="1">Z6831</tvar>|<u>Find lexemes for a Wikidata lexeme sense</u>]] === <!--T:161-->
</translate>
* <translate><!--T:162--> Argument types: [[<tvar name="1">Z6096</tvar>|<u>Wikidata lexeme sense reference</u>]], [[<tvar name="2">Z6092</tvar>|<u>Wikidata property reference</u>]], [[<tvar name="3">Z60</tvar>|<u>Natural language</u>]]</translate>
* <translate><!--T:163--> Return value type: List of [[<tvar name="1">Z6095</tvar>|<u>Wikidata lexeme reference</u>]]</translate>
<translate>
<!--T:164-->
Wikidata also captures useful relationships between lexemes senses and other lexeme senses, such as the relationships expressed using the property [[<tvar name="1">:d:Property:P8471</tvar>|pertainym of]], which links an adjective sense to a related noun sense (e.g. lunar → moon), or an adverb sense to a related adjective sense (e.g. slowly → slow).</translate>
<translate><!--T:212-->
[[<tvar name="2">Z6831</tvar>|<u>Find lexemes for a Wikidata lexeme sense</u>]] searches for lexemes that are related to a given lexeme sense by a given property, such as [[<tvar name="1">:d:Property:P8471</tvar>|pertainym of]]. (Even though the relationships exist between pairs of ''lexeme senses'', Wikidata's API, and this function, return references to the ''lexeme(s)'' that contain the target sense(s).)
== User interface == <!--T:82-->
=== Selectors === <!--T:83-->
</translate>
[[File:Selecting a lexeme for "goose".png|thumb|<translate><!--T:84--> Fig. 1. Selecting a lexeme for "goose"</translate>]]
<translate>
<!--T:85-->
Selectors make it possible, in Wikifunctions' user interface, to select an entity to be used.</translate>
<translate><!--T:187--> For example, when the user types a partial keyword in Wikifunctions' lexeme selector, the selector will query Wikidata for lexemes that match that partial keyword. (The search matches the partial keyword against the lemmas of all the lexemes on Wikidata.)</translate>
<translate><!--T:188--> It shows up to 10 of the current matches, and allows the user to pick one of them.</translate>
<translate><!--T:189-->
It updates the matches list as more typing is done.
<!--T:86-->
'''Example''': Figure 1 shows the appearance of a lexeme selector, after typing in the 5 characters "goose".</translate>
<translate><!--T:190--> At this point the user is presented with 4 matching lexemes to choose from.</translate>
<translate><!--T:191--> For an example in which this lexeme selector is used in preparing a function call, please see the ''Function of the Week'' section in <tvar name="1">{{ll|Wikifunctions:Status updates/2024-10-17}}</tvar>.</translate>
<translate><!--T:192-->
Note that the presence of a Wikidata selector is indicated by the Wikidata icon (with vertical bars in red, green, and blue).
<!--T:87-->
Once a choice has been made by the user, the selector will generate the appropriate internal representation of the selected item, depending on context:
</translate>
# <translate><!--T:88--> an instance of the appropriate Wikidata reference type, if that's all that's needed, or</translate>
# <translate><!--T:89--> a call to the appropriate fetch function, with an instance of the reference type as the argument passed to that call.</translate>
<translate>
<!--T:90-->
Selectors are primarily used when providing the arguments for a function call in the UI, and the called function provides the relevant context.</translate>
<translate><!--T:193--> If the user is specifying a value for an argument having a Wikidata reference type as its type, the selector will provide (1).</translate>
<translate><!--T:194--> In this case, no fetch is performed.</translate>
<translate><!--T:195-->
If the argument in question has a Wikidata type as its type, the selector will provide (2), which will internally fetch the entire object and make it available to the called function.
=== Display elements === <!--T:91-->
</translate>
[[File:Compact view of lexeme form for "umbrellas".png|thumb|<translate><!--T:92--> Fig. 2. Compact view of the lexeme form for "umbrellas"</translate>]]
<translate>
<!--T:93-->
Wikifunctions also provides a simplified, compact view of Wikidata entities.</translate>
<translate><!--T:196--> This view is displayed in read pages and when viewing the output of a function call.</translate>
<translate><!--T:197--> This compact view displays the Wikidata icon followed by a word-form associated with the Wikidata entity (e.g., a lemma from a lexeme, representation from a lexeme form, or label from an entity), in the user's language if available.</translate>
<translate><!--T:198-->
The word-form is linked to the Wikidata page from which the entity has been fetched.
<!--T:94-->
'''Example:''' Figure 2 shows the compact view, below the word '''Result''', of the [[<tvar name="1">Z6824</tvar>|<u>Wikidata lexeme form</u>]] for ''umbrellas'' (which is called the ''representation'' of the form).</translate>
<translate><!--T:199-->
This is the initial appearance of the result of running a function that returns a lexeme form.
</translate>
[[File:Expanded view of lexeme form for "umbrellas".png|thumb|<translate><!--T:95--> Fig. 3. Expanded view of the lexeme form for "umbrellas"</translate>]]
<translate>
<!--T:96-->
If there's a need to explore the entity and its details, it can be expanded using the right ''chevron'' button (which looks like '>') preceding the element.</translate>
<translate><!--T:200--> The expanded view allows the user to understand what kind of representation is being used for this entity.</translate>
<translate><!--T:201--> The representation might employ a Wikidata reference type, a function call to the appropriate Wikidata fetch function, or the entire entity instance returned by that function call.</translate>
<translate><!--T:202-->
In any case, the user will be able to expand, explore and navigate through its content.
<!--T:97-->
'''Example:''' Figure 3 shows the expanded view of the lexeme form for ''umbrellas'', which results from clicking the chevron in Figure 2.</translate>
<translate><!--T:203--> Here we see the presentation of the entire instance of [[<tvar name="1">Z6824</tvar>|<u>Wikidata lexeme form</u>]].</translate>
<translate><!--T:204-->
Each of the form's nested components with a chevron (e.g., <code>identity</code>, <code>lexeme</code>, etc.), can be expanded for further exploration.
=== Status of UI components for Wikidata entity types === <!--T:98-->
</translate>
* [[Z6825|<u><translate><!--T:99--> Wikidata lexeme</translate></u>]]
** <translate><!--T:100--> Display and selector: available</translate>
* [[Z6824|<u><translate><!--T:101--> Wikidata lexeme form</translate></u>]]
** <translate><!--T:102--> Display and selector: available</translate>
* [[Z6826|<u><translate><!--T:103--> Wikidata lexeme sense</translate></u>]]
** <translate><!--T:104--> Display and selector: date of release not yet determined</translate>
* [[Z6821|<u><translate><!--T:105--> Wikidata item</translate></u>]]
** <translate><!--T:106--> Display and selector: available</translate>
* [[Z6822|<u><translate><!--T:107--> Wikidata property</translate></u>]]
** <translate><!--T:108--> Display and selector: available</translate>
<translate>
=== Limitations of UI components for Wikidata entity types === <!--T:110-->
<!--T:111-->
'''Visual discrimination'''.
Currently the Wikifunctions UI is lacking in visual discrimination between the various Wikidata entity types:
</translate>
* <translate><!--T:112--> The selectors for the other entity types look very similar to that for Wikidata lexemes, shown in Figure 1.</translate> <translate><!--T:205--> There is no explicit indication of which type is being selected.</translate>
** <translate><!--T:113--> Workarounds: Usually one knows from context which type of thing is being selected.</translate> <translate><!--T:206--> In addition, the content of the selection choices (in the drop-down list) varies depending on which type of thing is being selected.</translate> <translate><!--T:207--> For example, in a ''lexeme'' selector each choice shows its lemma, language, and part of speech (as shown in Figure 1), whereas in a ''lexeme form'' selector each choice shows its word-form and grammatical features, along with information that identifies its containing lexeme.</translate>
* <translate><!--T:114--> The compact views for the other entity types look the same as that for Wikidata lexemes, shown in Figure 2. (That is, they only show the Wikidata icon and a single word form.)</translate>
** <translate><!--T:115--> Workaround: If it's not obvious from context, one can click the chevron to get the expanded view of the entity, which explicitly states its type, as shown in Figure 3.</translate>
<translate>
<!--T:116-->
'''Missing compact views'''. Because the display elements for [[<tvar name="1">Z6006</tvar>|<u>Wikidata lexeme sense</u>]] and [[<tvar name="2">Z6003</tvar>|<u>Wikidata statement</u>]] have not yet been fully deployed, the presentation of elements of these types can be rather space-consuming, and can detract from the readability of larger entities that contain them.</translate> <translate><!--T:208-->
This is especially true when a lexeme, lexeme form, or lexeme sense contains a sizable list of statements.
<!--T:117-->
'''Mismatch in status'''. Even though the fetch function is available for [[<tvar name="1">Z6826</tvar>|<u>Wikidata lexeme sense</u>]], the selector for that type is not yet available.
== Appendix: an instance of Wikidata lexeme == <!--T:118-->
<!--T:119-->
This example is introduced in the ''Example'' subsection of the ''Wikidata types'' section.</translate>
<translate><!--T:209-->
It shows a specific instance of Wikidata lexeme, which has been fetched from [[<tvar name="1">:d:Lexeme:L3435</tvar>|L3435 on Wikidata]].
<!--T:120-->
The right column shows the formal ZObject representation (in canonical form); the left column, for readability, shows the same content with English labels for each of the ZObject's elements.</translate>
<translate><!--T:210-->
Wikifunctions’ ZObject representation is presented in <tvar name="1">{{ll|Wikifunctions:Function model}}</tvar>; we do not explain the details of the representation here.
<!--T:121-->
The example has been shortened by omitting some content, as indicated by ellipses.</translate>
<translate><!--T:211-->
For readability, it also omits the element type indication that normally appears in the first position of each list in canonical form.
</translate>
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "Wikidata lexeme",
"identity": {
"type": "Wikidata lexeme reference",
"Wikidata lexeme id": "L3435"
},
"lemmas": {
"type": "Multilingual text",
"texts": [
{
"type": "Monolingual text",
"language": "English",
"text": "umbrella"
}
]
},
"language": "English",
"lexical category": {
"type": "Wikidata item reference",
/* Wikidata item for "noun": */
"Wikidata item id": "Q1084"
},
"statements": [
{
"type": "Wikidata statement",
"subject": {
"type": "Wikidata lexeme reference",
"Wikidata lexeme id": "L3435"
},
"predicate": {
"type": "Wikidata property reference",
/* Oxford English Dictionary ID */
"Wikidata property id": "P5275"
},
"value": "208852",
...
},
...
],
"senses": [
{
"type": "Wikidata lexeme sense",
"identity": {
"type": "Wikidata lexeme sense reference",
"Wikidata lexeme sense id": "L3435-S1"
},
"glosses": {
"type": "Multilingual text",
"texts": [
{
"type": "Monolingual text",
"language": "Spanish",
"text": "utensilio empleado para cubrirse de la lluvia"
}
]
},
"statements": [
...
]
}
],
"forms": [
{
"type": "Wikidata lexeme form",
"identity": {
"type": "Wikidata lexeme form reference",
"Wikidata lexeme form id": "L3435-F1"
},
"lexeme": {
"type": "Wikidata lexeme reference",
"Wikidata lexeme id": "L3435"
},
"representations": {
"type": "Multilingual text",
"texts": [
{
"type": "Monolingual text",
"language": "English",
"text": "umbrella"
}
]
},
"grammatical features": [
{
"type": "Wikidata item reference",
/* Wikidata item for "singular": */
"Wikidata item id": "Q110786"
}
],
"statements": [
/* (empty list) */
]
},
...
]
}
</syntaxhighlight>
| <syntaxhighlight lang="json" line="line">{
"Z1K1": "Z6005",
"Z6005K1": {
"Z1K1": "Z6095",
"Z6095K1": "L3435"
},
"Z6005K2": {
"Z1K1": "Z12",
"Z12K1": [
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "umbrella"
}
]
},
"Z6005K3": "Z1002",
"Z6005K4": {
"Z1K1": "Z6091",
"Z6091K1": "Q1084"
},
"Z6005K5": [
{
"Z1K1": "Z6003",
"Z6003K1": {
"Z1K1": "Z6095",
"Z6095K1": "L3435"
},
"Z6003K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5275"
},
"Z6003K3": "208852",
...
},
...
],
"Z6005K6": [
{
"Z1K1": "Z6006",
"Z6006K1": {
"Z1K1": "Z6096",
"Z6096K1": "L3435-S1"
},
"Z6006K2": {
"Z1K1": "Z12",
"Z12K1": [
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "utensilio empleado para cubrirse de la lluvia"
}
]
},
"Z6006K3": [
...
]
}
],
"Z6005K7": [
{
"Z1K1": "Z6004",
"Z6004K1": {
"Z1K1": "Z6094",
"Z6094K1": "L3435-F1"
},
"Z6004K2": {
"Z1K1": "Z6095",
"Z6095K1": "L3435"
},
"Z6004K3": {
"Z1K1": "Z12",
"Z12K1": [
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "umbrella"
}
]
},
"Z6004K4": [
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
}
],
"Z6004K5": [
]
},
...
]
}
</syntaxhighlight>
|}
[[Category:Wikidata{{#translation:}}| ]]
[[Category:Technical documentation{{#translation:}}]]
scrlevy2gyi07fpbsekbpa8cmtynwqa
272878
272875
2026-05-07T04:27:26Z
DMartin (WMF)
24
272878
wikitext
text/x-wiki
<languages/>
{{AW Content}}{{Technical documentation navbox}}
<translate>
<!--T:1-->
Wikifunctions provides support for retrieving and using Wikidata content, including encyclopedic content contained primarily in ''Items'' and lexicographic content contained in ''Lexemes, Lexeme forms'', and ''Lexeme senses''.</translate>
<translate><!--T:165-->
Since instances of these four content types can contain ''Statements'', Wikifunctions also includes support for ''Statements'' and their components, including ''Properties'', ''Statement ranks'', ''Qualifiers'', and (coming soon) ''References''.
<!--T:2-->
Documentation of Wikidata's lexicographic types can be found at [[<tvar name="1">:d:Special:MyLanguage/WD:Lexicographical data/Documentation</tvar>|lexicographical data documentation]], and documentation of the other Wikidata types can be found at [[<tvar name="2">mw:Special:MyLanguage/Wikibase/DataModel</tvar>|Wikibase/DataModel]].
<!--T:3-->
'''Terminology note''': On Wikidata, ''Item, Property, Lexeme, Lexeme form'', and ''Lexeme sense'' are all types of ''entities'', so we refer to these as the ''entity types''.
<!--T:4-->
Implemented support currently includes:
</translate>
# <translate><!--T:5--> Built-in types corresponding to the 5 entity types, ''Statement'', and ''Statement rank''</translate>
# <translate><!--T:141--> A built-in type "Reference", which corresponds to Wikidata's ''ReferenceRecord'' type</translate>
# <translate><!--T:142--> A built-in type "Claim" <sup>[ [[<tvar name="1">d:Special:MyLanguage/Wikidata:Glossary#Claim</tvar>|glossary]] ]</sup>, which corresponds to Wikidata's type <tvar name="2">{{Q|86719099}}</tvar> <sup>[ [[<tvar name="3">d:Special:MyLanguage/Wikidata:Glossary#Snak</tvar>|glossary]] ]</sup>, and is used in Wikifunctions' representation of qualifiers and references inside statements</translate>
# <translate><!--T:6--> Built-in ''reference types'' corresponding to the 5 entity types</translate>
# <translate><!--T:7--> Built-in ''fetch functions'', for each of the entity types, which retrieve content from Wikidata and transform it into instances of the built-in types</translate>
# <translate><!--T:143--> Built-in ''search functions'', which provide methods for finding lexemes by their relations to other entities</translate>
# <translate><!--T:8--> User interface components for selecting Wikidata content to be fetched, and for displaying the fetched content.</translate>
<translate>
<!--T:9-->
'''Terminology notes''':
</translate>
* <translate><!--T:10--> We refer to the built-in types of (1) -- (3) as the “Wikidata types”, and the built-in types of (4) as the “Wikidata reference types”, but note that all of these are types '''on Wikifunctions''' for working with content '''from Wikidata'''.</translate> <translate><!--T:166--> When we mention one of these types below, it will be underlined, and it will also be a link if it’s currently defined on Wikifunctions (e.g., [[<tvar name="1">Z6005</tvar>|<u>Wikidata lexeme</u>]]).</translate>
* <translate><!--T:11--> To help keep things clear, when we mention a type ''in italics'' (such as ''Lexeme'' or ''Item'') we are talking about a type that exists '''on Wikidata'''.</translate> <translate><!--T:167--> For example, we will talk about the [[<tvar name="1">Z6005</tvar>|<u>Wikidata lexeme</u>]] type that’s been created on Wikifunctions, which corresponds to the ''Lexeme'' type on Wikidata.</translate>
* <translate><!--T:144--> The ''reference types'' mentioned in (4) are not related to the "Reference" type mentioned in (2).</translate> <translate><!--T:168--> (4) provides a way to refer to Wikidata entities using their identifiers, whereas (2) captures the sources that substantiate particular content. </translate>
<translate>
<!--T:12-->
This page describes each of the above areas of support. Everything described here is deployed and available, except as noted in a few places.
== Wikidata types == <!--T:13-->
<!--T:14-->
The following types have been defined, with their structure corresponding closely to the structure of the corresponding types on wikidata:
</translate>
* [[Z6005|<u><translate><!--T:15--> Wikidata lexeme</translate></u>]]
* [[Z6004|<u><translate><!--T:16--> Wikidata lexeme form</translate></u>]]
* [[Z6006|<u><translate><!--T:17--> Wikidata lexeme sense</translate></u>]]
* [[Z6003|<u><translate><!--T:18--> Wikidata statement</translate></u>]]
* [[Z6002|<u><translate><!--T:19--> Wikidata property</translate></u>]]
* [[Z6001|<u><translate><!--T:20--> Wikidata item</translate></u>]]
* [[Z6040|<u><translate><!--T:21--> Wikidata statement rank</translate></u>]]
* [[Z6008|<u><translate><!--T:145--> Wikidata reference</translate></u>]]
* <translate><!--T:146--> [[<tvar name="1">Z6007</tvar>|<u> Wikidata claim</u>]], which corresponds to Wikidata's ''Snak'' type</translate>
* <translate><!--T:147--> [[<tvar name="1">Z6020</tvar>|<u> Wikidata claim subtype</u>]], which captures the 3 types of Snaks on Wikidata</translate>
<translate>
<!--T:22-->
Instances of these types are never made persistent on Wikifunctions (except for the instances of [[<tvar name="1">Z6040</tvar>|<u>Wikidata statement rank</u>]] and [[<tvar name="2">Z6020</tvar>|<u>Wikidata claim subtype</u>]]).</translate>
<translate><!--T:169--> They are constructed on the fly, when needed, using content retrieved directly from Wikidata.</translate>
<translate><!--T:170-->
Instances of the entity types carry within them the identifier of the Wikidata entity from which they were obtained.
<!--T:23-->
[[<tvar name="1">Z6040</tvar>|<u>Wikidata statement rank</u>]] is an enumeration type which has only the 3 fixed instances <u>preferred</u>, <u>normal</u>, and <u>deprecated</u>.
<!--T:148-->
[[<tvar name="1">Z6020</tvar>|<u>Wikidata claim subtype</u>]] is an enumeration type which has only the 3 fixed instances <u>value</u>, <u>some value</u>, and <u>no value</u>.
<!--T:24-->
Additional background, motivation, and examples of the Wikidata types may be found on the [[<tvar name="1">Wikifunctions:Type proposals/Wikidata based types</tvar>|types proposal discussion page]] (but please be aware that page is no longer active and isn't necessarily up-to-date in all details).
=== Example === <!--T:25-->
<!--T:26-->
An instance of [[<tvar name="1">Z6005</tvar>|<u>Wikidata lexeme</u>]] has these 7 parts:
</translate>
# <translate><!--T:27--> identity, with a value of type [[<tvar name="1">Z6095</tvar>|<u>Wikidata lexeme reference</u>]]</translate>
# <translate><!--T:28--> lemmas, with a value of type [[<tvar name="1">Z12</tvar>|Multilingual text]]</translate>
# <translate><!--T:29--> language, with a value of type [[<tvar name="1">Z60</tvar>|Natural language]]</translate>
# <translate><!--T:30--> lexical category, with a value of type [[<tvar name="1">Z6091</tvar>|<u>Wikidata item reference</u>]]</translate>
# <translate><!--T:31--> statements, whose value is a list of [[<tvar name="1">Z6003</tvar>|<u>Wikidata statement</u>]]</translate>
# <translate><!--T:32--> senses, whose value is a list of [[<tvar name="1">Z6006</tvar>|<u>Wikidata lexeme sense</u>]]</translate>
# <translate><!--T:33--> forms, whose value is a list of [[<tvar name="1">Z6004</tvar>|<u>Wikidata lexeme form</u>]]</translate>
<translate>
<!--T:34-->
Note, then, that each such instance contains instances of three other Wikidata types ([[<tvar name="1">Z6003</tvar>|<u>Wikidata statement</u>]], [[<tvar name="2">Z6006</tvar>|<u>Wikidata lexeme sense</u>]], and [[<tvar name="3">Z6004</tvar>|<u>Wikidata lexeme form</u>]]), and also two Wikidata reference types (which are discussed in the next section).</translate>
<translate><!--T:171-->
[[<tvar name="4">Z12</tvar>|Multilingual text]] and [[<tvar name="5">Z60</tvar>|Natural language]] are multipurpose Wikifunctions’ types, not created specifically for handling Wikidata content.
<!--T:35-->
The identity part stores the Wikidata identifier associated with the lexeme, and serves as a self-reference.</translate>
<translate><!--T:172-->
For information about the content of each of the other parts, please see [[<tvar name="1">:d:Special:MyLanguage/d:Lexicographical data/Documentation</tvar>|d:Lexicographical data/Documentation]].
<!--T:36-->
A specific instance, which has been fetched from [[<tvar name="1">:d:Lexeme:L3435</tvar>|L3435 on Wikidata]], is shown in the appendix.
=== Status of Wikidata types === <!--T:37-->
<!--T:38-->
All these types are defined and available for use; there are no outstanding tasks directly related to them.</translate>
<translate><!--T:173--> They all have built-in equality functions.</translate>
<translate><!--T:174-->
Each of the five entity types has a built-in fetch function, as described below, by which its instances can be directly fetched (retrieved from Wikidata and instantiated on Wikifunctions).
=== Notes about Wikidata statements === <!--T:122-->
<!--T:41-->
Statements appear inside of Wikidata items, properties, lexemes, lexeme forms, and lexeme senses.</translate>
<translate><!--T:175-->
Each [[<tvar name="1">Z6003</tvar>|<u>Wikidata statement</u>]] imported from Wikidata contains seven parts:
</translate>
# <translate><!--T:149--> a subject (an entity reference, discussed below)</translate>
# <translate><!--T:150--> a predicate (a property reference, discussed below)</translate>
# <translate><!--T:151--> a value</translate>
# <translate><!--T:152--> a rank (an instance of [[<tvar name="1">Z6040</tvar>|<u>Wikidata statement rank</u>]])</translate>
# <translate><!--T:153--> a list of qualifiers (each represented as a [[<tvar name="1">Z6003</tvar>|<u>Wikidata claim</u>]])</translate>
# <translate><!--T:154--> a list of [[<tvar name="1">Z6008</tvar>|<u>Wikidata reference</u>]]</translate>
# <translate><!--T:155--> an instance of [[<tvar name="1">Z6020</tvar>|<u>Wikidata claim subtype</u>]].</translate>
<translate>
<!--T:156-->
The value, (3), may be of several different Wikifunctions types, including:
</translate>
* [[Z6|<u><translate><!--T:42--> String</translate></u>]]
* [[Z11|<u><translate><!--T:47--> Monolingual text</translate></u>]]
* [[Z6010|<u><translate><!--T:157--> Wikidata quantity</translate></u>]]
* [[Z6011|<u><translate><!--T:158--> Wikidata geo-coordinate</translate></u>]]
* [[Z6040|<u><translate><!--T:159--> Wikidata time</translate></u>]]
* <translate><!--T:160--> one of the Wikidata reference types, discussed below.</translate>
<translate>
As noted in the introductory section, the word "reference" is overloaded. [[Z6008|<u>Wikidata reference</u>]], (6) above, is a Wikifunctions type that holds references to information sources, and appears in statements imported from Wikidata. The ''Wikidata reference types'', discussed in the next section, are also Wikifunctions types, but refer to Wikidata entities, and contain only Wikidata identifiers.
</translate>
<translate>
<!--T:123-->
Because ''Statements'' in Wikidata do not have public identifiers, in Wikifunctions [[<tvar name="1">Z6003</tvar>|<u>Wikidata statement</u>]] does not have a reference type or a fetch function. (These are described in more detail below.)
== Wikidata reference types == <!--T:50-->
<!--T:51-->
The following reference types provide the means to refer to Wikidata entities without including the details of their content.</translate>
<translate><!--T:176-->
Instances of these reference types contain ''only'' the Wikidata ID of an entity, as a Z6/String.
</translate>
* [[Z6095|<u><translate><!--T:52--> Wikidata lexeme reference</translate></u>]]
* [[Z6094|<u><translate><!--T:53--> Wikidata lexeme form reference</translate></u>]]
* [[Z6096|<u><translate><!--T:54--> Wikidata lexeme sense reference</translate></u>]]
* [[Z6092|<u><translate><!--T:55--> Wikidata property reference</translate></u>]]
* [[Z6091|<u><translate><!--T:56--> Wikidata item reference</translate></u>]]
<translate>
<!--T:57-->
'''Example''': a [[<tvar name="1">Z6091</tvar>|<u>Wikidata item reference</u>]] to the item ''Q1084'' (which represents the concept ''noun'' on Wikidata) looks like the following.</translate>
<translate><!--T:177--> The right column shows the formal ZObject representation (in canonical form); the left column, for readability, shows the same content with English labels for each of the ZObject's elements.</translate>
<translate><!--T:178-->
Wikifunctions’ ZObject representation is presented in <tvar name="2">{{ll|Wikifunctions:Function model}}</tvar>; we do not explain the details of the representation here.
</translate>
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "Wikidata item reference",
"Wikidata item id": "Q1084"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Z6091",
"Z6091K1": "Q1084"
}</syntaxhighlight>
|}
<translate>
<!--T:58-->
'''Example uses''':
</translate>
* <translate><!--T:59--> Wikidata reference types are used with Wikidata fetch functions (see below).</translate>
* <translate><!--T:60--> When entity IDs and ''Property'' IDs appear inside of Wikidata lexemes, Wikidata lexeme forms, Wikidata lexeme senses, or Wikidata statements, they appear as instances of the appropriate Wikidata reference types.</translate> <translate><!--T:179--> For example, to indicate that ''Lexeme L3435'' (“umbrella”) has lexical category ''noun'' (which has entity ID ''Q1084''), the [[<tvar name="1">Z6005</tvar>|<u>Wikidata lexeme</u>]] for ''L3435'' contains the [[<tvar name="2">Z6091</tvar>|<u>Wikidata item reference</u>]] shown above, in the '''Example'''.</translate>
<translate>
=== Status of Wikidata reference types === <!--T:61-->
<!--T:62-->
Ready for use. No outstanding tasks directly related to these types.
== Wikidata fetch functions == <!--T:63-->
<!--T:64-->
A fetch function is a built-in Wikifunctions function that takes an instance of one of the Wikidata reference types as its input argument.</translate>
<translate><!--T:180--> As noted above, each such instance contains the ID of a Wikidata entity.</translate>
<translate><!--T:181-->
Given that, it retrieves the content of that entity from Wikidata and transforms it into an instance of the corresponding Wikidata type.
<!--T:65-->
'''Example''': If [[<tvar name="1">Z6825</tvar>|<u>Fetch Wikidata lexeme</u>]] is called with this instance of [[<tvar name="2">Z6095</tvar>|<u>Wikidata lexeme reference</u>]]:
</translate>
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "Wikidata lexeme reference",
"Wikidata lexeme id": "L3435"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Z6095",
"Z6095K1": "L3435"
}</syntaxhighlight>
|}
<translate>
<!--T:66-->
it will return the instance of [[<tvar name="1">Z6005</tvar>|<u>Wikidata lexeme</u>]] that is introduced in the ''Example'' subsection of the ''Wikidata types'' section above, and shown in greater detail in the Appendix.
=== Status of Wikidata fetch functions === <!--T:67-->
<!--T:68-->
A fetch function exists for each of the entity types on Wikifunctions:
</translate>
* [[Z6825|<u><translate><!--T:69--> Fetch Wikidata lexeme</translate></u>]]
* [[Z6824|<u><translate><!--T:71--> Fetch Wikidata lexeme form</translate></u>]]
* [[Z6826|<u><translate><!--T:73--> Fetch Wikidata lexeme sense</translate></u>]]
* [[Z6822|<u><translate><!--T:75--> Fetch Wikidata property</translate></u>]]
* [[Z6821|<u><translate><!--T:78--> Fetch Wikidata item</translate></u>]]
<translate>
<!--T:81-->
To enable calling the fetch functions from the user interface, Wikifunctions provides selector components, which make it possible to select an entity to be fetched.</translate>
<translate><!--T:182--> There will eventually be a selector corresponding to each of the entity types (and thus, to each of the fetch functions).</translate>
<translate><!--T:183-->
The next section provides more information about selector components.
== Wikidata search functions == <!--T:124-->
<!--T:125-->
In addition to fetching content from Wikidata, it's also possible to search Wikidata content in various ways, using its APIs.</translate>
<translate><!--T:184-->
Wikifunctions currently provides two built-in functions based on these search capabilities.
=== Function: [[<tvar name="1">Z6830</tvar>|<u>Find lexemes for an item</u>]] === <!--T:126-->
</translate>
* <translate><!--T:127--> Argument types: [[<tvar name="1">Z6091</tvar>|<u>Wikidata item reference</u>]], [[<tvar name="2">Z6092</tvar>|<u>Wikidata property reference</u>]], [[<tvar name="3">Z60</tvar>|<u>Natural language</u>]]</translate>
* <translate><!--T:128--> Return value type: List of [[<tvar name="1">Z6095</tvar>|<u>Wikidata lexeme reference</u>]]</translate>
<translate>
<!--T:129-->
Wikidata captures useful relationships between lexeme senses (which represent the meanings of a lexeme) and items. These include:
</translate>
* <translate><!--T:130--> [[<tvar name="1">d:Property:P5137</tvar>|item for this sense]], most often connecting a noun to a thing or a class of things in Wikidata</translate>
* <translate><!--T:131--> [[<tvar name="1">d:Property:P9970</tvar>|predicate for]], connecting a verb to an action or event</translate>
* <translate><!--T:132--> [[<tvar name="1">d:Property:P6271</tvar>|demonym of]], connecting a noun or adjective to a location, describing the people and things that live or are from that place.</translate>
<translate>
<!--T:133-->
'''Example 1.''' The three senses of the lexeme [[<tvar name="1">d:Lexeme:L18379</tvar>|L18379/rose]] refer to the color, the flower, and the biological taxon.</translate>
<translate><!--T:185-->
Each of these 3 senses is related to a different item, by means of a statement, in Wikidata, such as this (for the first sense):
</translate>
* <translate><!--T:134--> statement subject: [[<tvar name="1">d:Lexeme:L18379</tvar>|L18379-S1/rose sense 1]]</translate>
* <translate><!--T:135--> statement property: [[<tvar name="1">d:Property:P5137</tvar>|P5137/item for this sense]]</translate>
* <translate><!--T:136--> statement value: [[<tvar name="1">d:Q533047</tvar>|Q533047/rose]]</translate>
<translate>
<!--T:137-->
[[<tvar name="1">Z6830</tvar>|<u>Find lexemes for an item</u>]] searches for lexemes that are related to a given item by a given property. (Even though the relationships exist between a ''lexeme sense'' and an item, Wikidata's API, and this function, return references to the ''lexeme(s)'' that contain the sense(s).)
<!--T:138-->
'''Example''' '''2''': Calling [[<tvar name="1">Z6830</tvar>|<u>Find lexemes for an item</u>]] with [[<tvar name="2">d:Q533047</tvar>|Q533047/rose]] (the color), [[<tvar name="3">d:Property:P5137</tvar>|P5137/item for this sense]], and [[<tvar name="4">Z1002</tvar>|<u>Z1002/English</u>]] returns a list containing the lexeme reference for [[<tvar name="5">d:Lexeme:L18379</tvar>|L18379/rose]].</translate>
<translate><!--T:186-->
Calling the function with [[<tvar name="6">d:Q102231</tvar>|Q102231/rose]] (the flower) or with [[<tvar name="7">d:Q34687</tvar>|Q34687/Rosa ]] (the biological taxon) as the first argument also returns the lexeme [[<tvar name="8">d:Lexeme:L18379</tvar>|L18379/rose]], because that lexeme is related (via its 3 senses) to all 3 of those items.
<!--T:139-->
'''Example''' '''3''': Calling [[<tvar name="1">Z6830</tvar>|<u>Find lexemes for an item</u>]] with [[<tvar name="2">d:Q55</tvar>|Q55/Netherlands]], [[<tvar name="3">d:Property:P6271</tvar>|P6271/demonym of]], and [[<tvar name="4">Z1002</tvar>|<u>Z1002/English</u>]] returns a list containing the [[<tvar name="5">Z6095</tvar>|<u>Wikidata lexeme reference</u>]] for [[<tvar name="6">d:Lexeme:L34519</tvar>|L34519/Dutch]].
<!--T:140-->
For an example in which [[<tvar name="1">Z6830</tvar>|<u>Find lexemes for an item</u>]] is used in generating a natural language phrase, please see the ''Function of the Week'' section in <tvar name="2">{{ll|Wikifunctions:Status updates/2025-02-26}}</tvar>.
=== Function: [[<tvar name="1">Z6831</tvar>|<u>Find lexemes for a Wikidata lexeme sense</u>]] === <!--T:161-->
</translate>
* <translate><!--T:162--> Argument types: [[<tvar name="1">Z6096</tvar>|<u>Wikidata lexeme sense reference</u>]], [[<tvar name="2">Z6092</tvar>|<u>Wikidata property reference</u>]], [[<tvar name="3">Z60</tvar>|<u>Natural language</u>]]</translate>
* <translate><!--T:163--> Return value type: List of [[<tvar name="1">Z6095</tvar>|<u>Wikidata lexeme reference</u>]]</translate>
<translate>
<!--T:164-->
Wikidata also captures useful relationships between lexemes senses and other lexeme senses, such as the relationships expressed using the property [[<tvar name="1">:d:Property:P8471</tvar>|pertainym of]], which links an adjective sense to a related noun sense (e.g. lunar → moon), or an adverb sense to a related adjective sense (e.g. slowly → slow).</translate>
<translate><!--T:212-->
[[<tvar name="2">Z6831</tvar>|<u>Find lexemes for a Wikidata lexeme sense</u>]] searches for lexemes that are related to a given lexeme sense by a given property, such as [[<tvar name="1">:d:Property:P8471</tvar>|pertainym of]]. (Even though the relationships exist between pairs of ''lexeme senses'', Wikidata's API, and this function, return references to the ''lexeme(s)'' that contain the target sense(s).)
== User interface == <!--T:82-->
=== Selectors === <!--T:83-->
</translate>
[[File:Selecting a lexeme for "goose".png|thumb|<translate><!--T:84--> Fig. 1. Selecting a lexeme for "goose"</translate>]]
<translate>
<!--T:85-->
Selectors make it possible, in Wikifunctions' user interface, to select an entity to be used.</translate>
<translate><!--T:187--> For example, when the user types a partial keyword in Wikifunctions' lexeme selector, the selector will query Wikidata for lexemes that match that partial keyword. (The search matches the partial keyword against the lemmas of all the lexemes on Wikidata.)</translate>
<translate><!--T:188--> It shows up to 10 of the current matches, and allows the user to pick one of them.</translate>
<translate><!--T:189-->
It updates the matches list as more typing is done.
<!--T:86-->
'''Example''': Figure 1 shows the appearance of a lexeme selector, after typing in the 5 characters "goose".</translate>
<translate><!--T:190--> At this point the user is presented with 4 matching lexemes to choose from.</translate>
<translate><!--T:191--> For an example in which this lexeme selector is used in preparing a function call, please see the ''Function of the Week'' section in <tvar name="1">{{ll|Wikifunctions:Status updates/2024-10-17}}</tvar>.</translate>
<translate><!--T:192-->
Note that the presence of a Wikidata selector is indicated by the Wikidata icon (with vertical bars in red, green, and blue).
<!--T:87-->
Once a choice has been made by the user, the selector will generate the appropriate internal representation of the selected item, depending on context:
</translate>
# <translate><!--T:88--> an instance of the appropriate Wikidata reference type, if that's all that's needed, or</translate>
# <translate><!--T:89--> a call to the appropriate fetch function, with an instance of the reference type as the argument passed to that call.</translate>
<translate>
<!--T:90-->
Selectors are primarily used when providing the arguments for a function call in the UI, and the called function provides the relevant context.</translate>
<translate><!--T:193--> If the user is specifying a value for an argument having a Wikidata reference type as its type, the selector will provide (1).</translate>
<translate><!--T:194--> In this case, no fetch is performed.</translate>
<translate><!--T:195-->
If the argument in question has a Wikidata type as its type, the selector will provide (2), which will internally fetch the entire object and make it available to the called function.
=== Display elements === <!--T:91-->
</translate>
[[File:Compact view of lexeme form for "umbrellas".png|thumb|<translate><!--T:92--> Fig. 2. Compact view of the lexeme form for "umbrellas"</translate>]]
<translate>
<!--T:93-->
Wikifunctions also provides a simplified, compact view of Wikidata entities.</translate>
<translate><!--T:196--> This view is displayed in read pages and when viewing the output of a function call.</translate>
<translate><!--T:197--> This compact view displays the Wikidata icon followed by a word-form associated with the Wikidata entity (e.g., a lemma from a lexeme, representation from a lexeme form, or label from an entity), in the user's language if available.</translate>
<translate><!--T:198-->
The word-form is linked to the Wikidata page from which the entity has been fetched.
<!--T:94-->
'''Example:''' Figure 2 shows the compact view, below the word '''Result''', of the [[<tvar name="1">Z6824</tvar>|<u>Wikidata lexeme form</u>]] for ''umbrellas'' (which is called the ''representation'' of the form).</translate>
<translate><!--T:199-->
This is the initial appearance of the result of running a function that returns a lexeme form.
</translate>
[[File:Expanded view of lexeme form for "umbrellas".png|thumb|<translate><!--T:95--> Fig. 3. Expanded view of the lexeme form for "umbrellas"</translate>]]
<translate>
<!--T:96-->
If there's a need to explore the entity and its details, it can be expanded using the right ''chevron'' button (which looks like '>') preceding the element.</translate>
<translate><!--T:200--> The expanded view allows the user to understand what kind of representation is being used for this entity.</translate>
<translate><!--T:201--> The representation might employ a Wikidata reference type, a function call to the appropriate Wikidata fetch function, or the entire entity instance returned by that function call.</translate>
<translate><!--T:202-->
In any case, the user will be able to expand, explore and navigate through its content.
<!--T:97-->
'''Example:''' Figure 3 shows the expanded view of the lexeme form for ''umbrellas'', which results from clicking the chevron in Figure 2.</translate>
<translate><!--T:203--> Here we see the presentation of the entire instance of [[<tvar name="1">Z6824</tvar>|<u>Wikidata lexeme form</u>]].</translate>
<translate><!--T:204-->
Each of the form's nested components with a chevron (e.g., <code>identity</code>, <code>lexeme</code>, etc.), can be expanded for further exploration.
=== Status of UI components for Wikidata entity types === <!--T:98-->
</translate>
* [[Z6825|<u><translate><!--T:99--> Wikidata lexeme</translate></u>]]
** <translate><!--T:100--> Display and selector: available</translate>
* [[Z6824|<u><translate><!--T:101--> Wikidata lexeme form</translate></u>]]
** <translate><!--T:102--> Display and selector: available</translate>
* [[Z6826|<u><translate><!--T:103--> Wikidata lexeme sense</translate></u>]]
** <translate><!--T:104--> Display and selector: date of release not yet determined</translate>
* [[Z6821|<u><translate><!--T:105--> Wikidata item</translate></u>]]
** <translate><!--T:106--> Display and selector: available</translate>
* [[Z6822|<u><translate><!--T:107--> Wikidata property</translate></u>]]
** <translate><!--T:108--> Display and selector: available</translate>
<translate>
=== Limitations of UI components for Wikidata entity types === <!--T:110-->
<!--T:111-->
'''Visual discrimination'''.
Currently the Wikifunctions UI is lacking in visual discrimination between the various Wikidata entity types:
</translate>
* <translate><!--T:112--> The selectors for the other entity types look very similar to that for Wikidata lexemes, shown in Figure 1.</translate> <translate><!--T:205--> There is no explicit indication of which type is being selected.</translate>
** <translate><!--T:113--> Workarounds: Usually one knows from context which type of thing is being selected.</translate> <translate><!--T:206--> In addition, the content of the selection choices (in the drop-down list) varies depending on which type of thing is being selected.</translate> <translate><!--T:207--> For example, in a ''lexeme'' selector each choice shows its lemma, language, and part of speech (as shown in Figure 1), whereas in a ''lexeme form'' selector each choice shows its word-form and grammatical features, along with information that identifies its containing lexeme.</translate>
* <translate><!--T:114--> The compact views for the other entity types look the same as that for Wikidata lexemes, shown in Figure 2. (That is, they only show the Wikidata icon and a single word form.)</translate>
** <translate><!--T:115--> Workaround: If it's not obvious from context, one can click the chevron to get the expanded view of the entity, which explicitly states its type, as shown in Figure 3.</translate>
<translate>
<!--T:116-->
'''Missing compact views'''. Because the display elements for [[<tvar name="1">Z6006</tvar>|<u>Wikidata lexeme sense</u>]] and [[<tvar name="2">Z6003</tvar>|<u>Wikidata statement</u>]] have not yet been fully deployed, the presentation of elements of these types can be rather space-consuming, and can detract from the readability of larger entities that contain them.</translate> <translate><!--T:208-->
This is especially true when a lexeme, lexeme form, or lexeme sense contains a sizable list of statements.
<!--T:117-->
'''Mismatch in status'''. Even though the fetch function is available for [[<tvar name="1">Z6826</tvar>|<u>Wikidata lexeme sense</u>]], the selector for that type is not yet available.
== Appendix: an instance of Wikidata lexeme == <!--T:118-->
<!--T:119-->
This example is introduced in the ''Example'' subsection of the ''Wikidata types'' section.</translate>
<translate><!--T:209-->
It shows a specific instance of Wikidata lexeme, which has been fetched from [[<tvar name="1">:d:Lexeme:L3435</tvar>|L3435 on Wikidata]].
<!--T:120-->
The right column shows the formal ZObject representation (in canonical form); the left column, for readability, shows the same content with English labels for each of the ZObject's elements.</translate>
<translate><!--T:210-->
Wikifunctions’ ZObject representation is presented in <tvar name="1">{{ll|Wikifunctions:Function model}}</tvar>; we do not explain the details of the representation here.
<!--T:121-->
The example has been shortened by omitting some content, as indicated by ellipses.</translate>
<translate><!--T:211-->
For readability, it also omits the element type indication that normally appears in the first position of each list in canonical form.
</translate>
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "Wikidata lexeme",
"identity": {
"type": "Wikidata lexeme reference",
"Wikidata lexeme id": "L3435"
},
"lemmas": {
"type": "Multilingual text",
"texts": [
{
"type": "Monolingual text",
"language": "English",
"text": "umbrella"
}
]
},
"language": "English",
"lexical category": {
"type": "Wikidata item reference",
/* Wikidata item for "noun": */
"Wikidata item id": "Q1084"
},
"statements": [
{
"type": "Wikidata statement",
"subject": {
"type": "Wikidata lexeme reference",
"Wikidata lexeme id": "L3435"
},
"predicate": {
"type": "Wikidata property reference",
/* Oxford English Dictionary ID */
"Wikidata property id": "P5275"
},
"value": "208852",
...
},
...
],
"senses": [
{
"type": "Wikidata lexeme sense",
"identity": {
"type": "Wikidata lexeme sense reference",
"Wikidata lexeme sense id": "L3435-S1"
},
"glosses": {
"type": "Multilingual text",
"texts": [
{
"type": "Monolingual text",
"language": "Spanish",
"text": "utensilio empleado para cubrirse de la lluvia"
}
]
},
"statements": [
...
]
}
],
"forms": [
{
"type": "Wikidata lexeme form",
"identity": {
"type": "Wikidata lexeme form reference",
"Wikidata lexeme form id": "L3435-F1"
},
"lexeme": {
"type": "Wikidata lexeme reference",
"Wikidata lexeme id": "L3435"
},
"representations": {
"type": "Multilingual text",
"texts": [
{
"type": "Monolingual text",
"language": "English",
"text": "umbrella"
}
]
},
"grammatical features": [
{
"type": "Wikidata item reference",
/* Wikidata item for "singular": */
"Wikidata item id": "Q110786"
}
],
"statements": [
/* (empty list) */
]
},
...
]
}
</syntaxhighlight>
| <syntaxhighlight lang="json" line="line">{
"Z1K1": "Z6005",
"Z6005K1": {
"Z1K1": "Z6095",
"Z6095K1": "L3435"
},
"Z6005K2": {
"Z1K1": "Z12",
"Z12K1": [
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "umbrella"
}
]
},
"Z6005K3": "Z1002",
"Z6005K4": {
"Z1K1": "Z6091",
"Z6091K1": "Q1084"
},
"Z6005K5": [
{
"Z1K1": "Z6003",
"Z6003K1": {
"Z1K1": "Z6095",
"Z6095K1": "L3435"
},
"Z6003K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5275"
},
"Z6003K3": "208852",
...
},
...
],
"Z6005K6": [
{
"Z1K1": "Z6006",
"Z6006K1": {
"Z1K1": "Z6096",
"Z6096K1": "L3435-S1"
},
"Z6006K2": {
"Z1K1": "Z12",
"Z12K1": [
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "utensilio empleado para cubrirse de la lluvia"
}
]
},
"Z6006K3": [
...
]
}
],
"Z6005K7": [
{
"Z1K1": "Z6004",
"Z6004K1": {
"Z1K1": "Z6094",
"Z6094K1": "L3435-F1"
},
"Z6004K2": {
"Z1K1": "Z6095",
"Z6095K1": "L3435"
},
"Z6004K3": {
"Z1K1": "Z12",
"Z12K1": [
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "umbrella"
}
]
},
"Z6004K4": [
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
}
],
"Z6004K5": [
]
},
...
]
}
</syntaxhighlight>
|}
[[Category:Wikidata{{#translation:}}| ]]
[[Category:Technical documentation{{#translation:}}]]
fshgw9kt0i4xsrf5yyuzbm49p0tibab
Z20357
0
43706
272885
272503
2026-05-07T04:38:57Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
272885
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20357"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20342",
"Z17K2": "Z20357K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "day"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "jour"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z20357K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "leap year?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "est-ce une année bissextile ?"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z20359",
"Z20360",
"Z20361"
],
"Z8K4": [
"Z14",
"Z23629",
"Z20358",
"Z34752",
"Z34751"
],
"Z8K5": "Z20357"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Day of Roman Year to Day number in year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "jour de l'année vers nombre de jours dans l'année"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Utility function"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "dans une année romaine ; fonction utilitaire"
}
]
}
}
j53uvpc36ekhpfpf1mdlq0iqm0y4voy
Wikifunctions:Tools
4
45165
272679
239969
2026-05-06T14:48:03Z
YoshiRulz
10156
/* Dump related tools */ Add Amire80's wikifunctionsanalytics
272679
wikitext
text/x-wiki
<languages/>
<translate>
<!--T:1-->
This page is a list of tools you can use to work with Wikifunctions more quickly and comfortably. If you have written a script, feel free to add it so that others can use it.
== Dump related tools == <!--T:6-->
</translate>
* <translate><!--T:7--> [<tvar name="1">https://github.com/marius851000/wikifunction_intepreter</tvar> experimental Wikifunction Rust interpreter] that work on the dump. Written in Rust.</translate>
* <translate><!--T:8--> [[<tvar name="1">Wikifunctions:Tools/wf-dump-scripts</tvar>|wf-dump-scripts]] - pipeline for creating statistical wikitables based on dump and the internal Wikifunctions API. Written in [[w:Python (programming language)|Python]]</translate>
* <translate><!--T:2--> [<tvar name="1">//wf-query.replit.app</tvar> wf-query]: tool that allows you to run JSONata queries on a dump of Wikifunctions, with the table output itself also being customizable with JSONata queries. Written in [[w:Node.js|NodeJS]] Express and [[w:JavaScript|vanilla JS]]</translate>
* <translate><!--T:4--> [<tvar name="1">//gitlab.wikimedia.org/hogue/cobol-file-collection/-/blob/main/Wikifunctionsdumpextract/Dumpextract.cbl</tvar> Dumpextract]: a program to extract info from the dump of Wikifunctions. Written in [[w:COBOL|COBOL]].</translate>
* <translate><!--T:12--> [<tvar name="1">https://github.com/99of9/WikifunctionsAnalysis</tvar> WikifunctionsAnalysis]: some code which helps analyse Wikifunctions dumps</translate>
* <translate><!--T:12--> [[<tvar name="1">User:Amire80/wikifunctionsanalytics#Example_queries</tvar>|wikifunctionsanalytics]]: A simplified dump, queryable through [[meta:Research:Quarry|Quarry]].</translate>
<translate>
== User interface == <!--T:9-->
</translate>
*<translate><!--T:5--> [[<tvar name="1">User:Feeglgeef/wikilambda editsource.js</tvar>|wikilambda editsource.js]]: User script that allows you to edit the raw JSON content of ZObjects.</translate>
* <translate><!--T:10--> [<tvar name="1">https://yoshirulz.gitlab.io/WikiLambdaBlockly</tvar> WikiLambdaBlockly]: Web app demonstrating a block-based editing interface for compositions. Uses [[w:Blockly|Blockly]] from [[w:TypeScript|TS]].</translate>
<translate>
== Others == <!--T:11-->
</translate>
* <translate><!--T:3--> [<tvar name="1">//play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=b148d3d147139ddf88cdbc8308bec6e3</tvar> find constants]: tool that represents a f64 using Wikifunctions representation. Prints, comma separated, the sign of the float (-1, 0, 1), the exponent of the float, and the fraction of the float. Written in [[w:Rust (programming language)|Rust]].</translate>
[[Category:Project{{#translation:}}]]
4bz0nyqxm4rddufga1g03nf4ih7wviu
Z22318
0
49416
272715
219293
2026-05-06T18:21:28Z
YoshiRulz
10156
Added Z34878 to the approved list of implementations
272715
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22318"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z22318K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "floating point number"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre à virgule flottante"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z22366",
"Z22367",
"Z22368",
"Z22369"
],
"Z8K4": [
"Z14",
"Z22320",
"Z22370",
"Z22319",
"Z22604",
"Z34878"
],
"Z8K5": "Z22318"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "square root of float64"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "racine carrée d'un nombre à virgule flottante"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"square root",
"sqrt"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
nuhizk6mu13r7p3ji5d12fth45lj7u0
Z22327
0
49426
272718
191571
2026-05-06T18:29:04Z
YoshiRulz
10156
Added Z34879 to the approved list of implementations
272718
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22327"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z22327K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Initial population"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "population initiale"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "প্রাথমিক জনসংখ্যা"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z22327K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Initial year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "année initiale"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "প্রাথমিক বছর"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z22327K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Final population"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "population finale"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "সর্বশেষ জনসংখ্যা"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z22327K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Final year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "année finale"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "সর্বশেষ বছর"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z22343",
"Z22332"
],
"Z8K4": [
"Z14",
"Z22342",
"Z22331",
"Z34879"
],
"Z8K5": "Z22327"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Annual Population growth rate"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "taux de croissance annuel d'une population"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "বার্ষিক জনসংখ্যা বৃদ্ধির হার"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"non-compounding annual population growth rate"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Return non-compounding Annual Population percentage growth rate for a period of time. 100%*delta_p/delta_t. Returned to two decimal places."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie le taux de croissance annuel d'une population pour une période dans le temps"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "একটি নির্দিষ্ট সময়ের জন্য বার্ষিক জনসংখ্যা বৃদ্ধির শতাংশ হার (যা চক্রবৃদ্ধিহীন)। সূত্র হল: ১০০% × (জনসংখ্যার পরিবর্তন / সময়ের পরিবর্তন)। ফলাফল দুই দশমিক পর্যন্ত দেখানো হয়।"
}
]
}
}
a96p1rdelgqo1vtykcg1w81lq3hpycw
Z22344
0
49447
272722
164655
2026-05-06T18:42:47Z
YoshiRulz
10156
Added Z34880 to the approved list of implementations
272722
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22344"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z22344K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "input"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "saisie"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z22344K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "count"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre de caractères à conserver"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z22345",
"Z22346",
"Z22347",
"Z22348",
"Z22349",
"Z22350",
"Z22352"
],
"Z8K4": [
"Z14",
"Z22351",
"Z34880"
],
"Z8K5": "Z22344"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "str left"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "premiers n caractères d'une chaîne (str left)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"first n characters of trimmed string"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Gives the resultant \u003Ccount\u003E of characters creating a substring of characters from the start of the trimmed string. Duplicates string as needed. (same as Template:Str left on EnWp)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "donne le nombre de caractères résultant en créant une sous-chaîne de caractères à partir du début de la chaîne tronquée ; duplique la chaîne si nécessaire ; fonction str left"
}
]
}
}
tqh3bmr8qt5tgh603urkj3vxuhqhzxo
Z22373
0
49485
272725
219411
2026-05-06T18:46:09Z
YoshiRulz
10156
Added Z34881 to the approved list of implementations
272725
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22373"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z80",
"Z17K2": "Z22373K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "first byte"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "premier octet"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z80",
"Z17K2": "Z22373K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "second byte"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "second octet"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z22374",
"Z22375"
],
"Z8K4": [
"Z14",
"Z22376",
"Z22377",
"Z34881"
],
"Z8K5": "Z22373"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "byte equality"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "ces octets sont-ils égaux ?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"same byte",
"byte equality",
"===",
"==",
"="
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"égalité des octets"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie \"vrai\" si les octets donnés sont égaux, sinon \"faux\""
}
]
}
}
1vi63bncsubq2zxjc6lav4t11obt7xm
272913
272725
2026-05-07T09:09:03Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
272913
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22373"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z80",
"Z17K2": "Z22373K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "first byte"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "premier octet"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z80",
"Z17K2": "Z22373K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "second byte"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "second octet"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z22374",
"Z22375"
],
"Z8K4": [
"Z14",
"Z22377",
"Z22376",
"Z34881"
],
"Z8K5": "Z22373"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "byte equality"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "ces octets sont-ils égaux ?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"same byte",
"byte equality",
"===",
"==",
"="
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"égalité des octets"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie \"vrai\" si les octets donnés sont égaux, sinon \"faux\""
}
]
}
}
d1by3341xg3d5x9ycoc9t5o01giozic
Z22469
0
49696
272730
165813
2026-05-06T18:52:28Z
YoshiRulz
10156
Added Z34883 to the approved list of implementations
272730
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22469"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z16683"
},
"Z17K2": "Z22469K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of integers"
}
]
}
}
],
"Z8K2": "Z16683",
"Z8K3": [
"Z20",
"Z22471",
"Z22472"
],
"Z8K4": [
"Z14",
"Z22470",
"Z34883"
],
"Z8K5": "Z22469"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sum the elements of a list of integers"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"sum integer list"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ob9q7qiww8ed9ag7squr5l8yddheske
Z22475
0
49702
272731
271260
2026-05-06T18:52:43Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
272731
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22475"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z39",
"Z17K2": "Z22475K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "key"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "clé"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z1",
"Z17K2": "Z22475K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "object"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "objet"
}
]
}
}
],
"Z8K2": "Z1",
"Z8K3": [
"Z20",
"Z22476",
"Z22496",
"Z22498"
],
"Z8K4": [
"Z14",
"Z34607",
"Z22502",
"Z22497",
"Z22477",
"Z32012"
],
"Z8K5": "Z22475"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "value by key (safer)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "valeur par clé (plus sûr)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "calls the built-in value by key function except when that would fail unnecessarily"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "appelle la fonction intégrée de valeur par clé, sauf lorsque cela échouerait inutilement"
}
]
}
}
k4zghkwpvsqxuperfvtetqdhal37xqa
Z22507
0
49781
272733
264140
2026-05-06T18:57:37Z
YoshiRulz
10156
Added Z34884 to the approved list of implementations
272733
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22507"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z22507K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string with multiple spaces"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z22508",
"Z22509"
],
"Z8K4": [
"Z14",
"Z22510",
"Z34884"
],
"Z8K5": "Z22507"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "replace multiple spaces with single spaces"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "将多个连续空格替换为单个"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"remove repeat spaces",
"spaces once only",
"single spaces only",
"multiple spaces removal"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "removes repeated (regular U+0020) spaces in a string, leaving only a single space in place"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1645",
"Z11K2": "移除句子中超过一个的连续空格(U+0020)"
}
]
}
}
l3vh19zjkf39lcjjfpacb391szu3s2m
Z22579
0
50876
272750
214742
2026-05-06T19:19:11Z
YoshiRulz
10156
Added Z34886 to the approved list of implementations
272750
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22579"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z20838"
},
"Z17K2": "Z22579K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of floating point numbers "
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z22581"
],
"Z8K4": [
"Z14",
"Z22582",
"Z22580",
"Z34886"
],
"Z8K5": "Z22579"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sum a list of floating point numbers (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"sum list",
"sum float64 list"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hyy6y2c2o3gf0k14lep5blvqykbgmt6
Z22588
0
50885
272753
168375
2026-05-06T19:25:08Z
YoshiRulz
10156
Added Z34888 to the approved list of test cases
272753
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22588"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z20838"
},
"Z17K2": "Z22588K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of floating point numbers "
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z22590",
"Z22591",
"Z34888"
],
"Z8K4": [
"Z14",
"Z22614",
"Z22589"
],
"Z8K5": "Z22588"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "median of float64 list"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
gg3mudnqm98e9b7ny0iatmvelt70wce
272756
272753
2026-05-06T19:28:02Z
YoshiRulz
10156
Added Z34887 to the approved list of implementations
272756
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22588"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z20838"
},
"Z17K2": "Z22588K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of floating point numbers "
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z22590",
"Z22591",
"Z34888"
],
"Z8K4": [
"Z14",
"Z22614",
"Z22589",
"Z34887"
],
"Z8K5": "Z22588"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "median of float64 list"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
m8uehp4shh1a4d6u0fbfhzbbwzderlb
Z22592
0
50889
272758
168312
2026-05-06T19:29:41Z
YoshiRulz
10156
Added Z34889 to the approved list of implementations
272758
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22592"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z20838"
},
"Z17K2": "Z22592K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of floating point numbers "
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z22594"
],
"Z8K4": [
"Z14",
"Z22595",
"Z22593",
"Z34889"
],
"Z8K5": "Z22592"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "product of float64 list"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fikdc4ggbjykfaedgsyo5fzvgsa3qne
Z22610
0
50907
272760
168352
2026-05-06T19:33:35Z
YoshiRulz
10156
Added Z34890 to the approved list of implementations
272760
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22610"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z20838"
},
"Z17K2": "Z22610K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of floating point numbers "
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z22612"
],
"Z8K4": [
"Z14",
"Z22611",
"Z34890"
],
"Z8K5": "Z22610"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "harmonic mean of float64 list"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
r0m8fu56kto633i65rnzp1qitmwjcxw
Z22615
0
50912
272762
168377
2026-05-06T19:37:10Z
YoshiRulz
10156
Added Z34891 to the approved list of implementations
272762
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22615"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z20838"
},
"Z17K2": "Z22615K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of floating point numbers to sort"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z20838"
},
"Z8K3": [
"Z20",
"Z22617"
],
"Z8K4": [
"Z14",
"Z22618",
"Z22619",
"Z22616",
"Z34891"
],
"Z8K5": "Z22615"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sort list ascending (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"sort ascending"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0hfi1up7u2dh92cft3i92nda171ydm5
272766
272762
2026-05-06T19:46:09Z
YoshiRulz
10156
Added Z34892 to the approved list of test cases
272766
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22615"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z20838"
},
"Z17K2": "Z22615K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of floating point numbers to sort"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z20838"
},
"Z8K3": [
"Z20",
"Z22617",
"Z34892"
],
"Z8K4": [
"Z14",
"Z22618",
"Z22619",
"Z22616",
"Z34891"
],
"Z8K5": "Z22615"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sort list ascending (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"sort ascending"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
9s72xw5y7hpw9zqf3xx0fg1kw0x7jd9
Z22654
0
50955
272769
168494
2026-05-06T19:49:55Z
YoshiRulz
10156
Added Z24733 and Z34894 to the approved list of implementations
272769
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22654"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z80",
"Z17K2": "Z22654K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "input"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
},
"Z8K3": [
"Z20",
"Z22655",
"Z22656",
"Z22657"
],
"Z8K4": [
"Z14",
"Z22658",
"Z24733",
"Z34894"
],
"Z8K5": "Z22654"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "byte as list of Booleans"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"byte to list of Booleans",
"byte to Booleans",
"bits from byte as Boolean objects",
"Boolean-list from Byte"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns a byte as a list of eight Boolean values"
}
]
}
}
t6y33jh6rdq9n418udprm76yj4k1aov
272863
272769
2026-05-07T01:31:14Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
272863
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22654"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z80",
"Z17K2": "Z22654K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "input"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
},
"Z8K3": [
"Z20",
"Z22655",
"Z22656",
"Z22657"
],
"Z8K4": [
"Z14",
"Z24733",
"Z22658",
"Z34894"
],
"Z8K5": "Z22654"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "byte as list of Booleans"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"byte to list of Booleans",
"byte to Booleans",
"bits from byte as Boolean objects",
"Boolean-list from Byte"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns a byte as a list of eight Boolean values"
}
]
}
}
4b07ictfzfbfg233c0swmuefiqplffv
Z22683
0
50996
272771
256253
2026-05-06T19:51:00Z
YoshiRulz
10156
Added Z34895 to the approved list of implementations
272771
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22683"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z86",
"Z17K2": "Z22683K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "this"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "première saisie"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Mbụ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "esse"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z86",
"Z17K2": "Z22683K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "that"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "seconde saisie"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Nke abụọ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "aquele"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z22684",
"Z22685",
"Z22686",
"Z22687",
"Z22688",
"Z22689",
"Z22690"
],
"Z8K4": [
"Z14",
"Z22692",
"Z22691",
"Z34895"
],
"Z8K5": "Z22683"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Code point equality"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "égalité des points de code"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Usoro akara nha nhata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "codepuntgelijkheid"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Codepunkt-Gleichheit"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "Igualdade de ponto de código"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Unicode code point equals other",
"same Unicode code point as other"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1381",
"Z31K2": [
"Z6",
"igual a",
"mesmo que"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tests whether two code-point realisations (as entered) have identical Unicode code-point representations"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "vérifie si deux réalisations de points de code (telles que saisies) ont des représentations de points de code Unicode strictement identiques"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "na-anwale ma njirimara koodu abụọ (dị ka etinyere) nwere ihe nnochite anya koodu Unicode"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "testa se os dois pontos de código inseridos possuem uma representação Unicode idêntica"
}
]
}
}
nh5wq4mqphd6wtuixtnytggvuyrqisr
Talk:Z22725
1
51150
272775
169261
2026-05-06T19:54:46Z
YoshiRulz
10156
Add to category
272775
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
== Correspondance table ==
Hi,
Here is a start of correspondance table :
* A A
* B Ȧ
* C A̧
* D A̱
* E Á
* F A̮
* G A̋
* H A̰
* I Ả
* J A̓
* K Ạ
* L Ă
* M Ǎ
* N Â (or Â)
* O Å
* P A̯
* Q A̤
* R Ȃ
* S Ã (or Ã)
* T Ā (or A̅)
* U Ä
* V À (or À ?)
* W Ȁ
* X Aͯ
* Y A̦
* Z Ⱥ
[[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 17:45, 21 February 2025 (UTC)
pqdjmwpfaxehdog2em03y1n6k9mid6u
Z22836
0
51362
272782
171110
2026-05-06T19:58:31Z
YoshiRulz
10156
Added Z34896 to the approved list of implementations
272782
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22836"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z16683",
"Z17K2": "Z22836K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Number"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z23034"
],
"Z8K4": [
"Z14",
"Z34896"
],
"Z8K5": "Z22836"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Is number a perfect square?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "A simple math function."
}
]
}
}
1n1hs21minzrsoz29zofie6pyp1oivo
Talk:Z22302
1
51410
272713
170277
2026-05-06T18:18:09Z
YoshiRulz
10156
Add to category
272713
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
{{FOTW|link=Wikifunctions:Status_updates/2025-02-19|date=2025-02-19}}
npzdqbcvdnxd1a0ao9hwgk9u9qfeufa
Talk:Z22849
1
51670
272784
171004
2026-05-06T20:00:21Z
YoshiRulz
10156
Add to category
272784
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
== Function documentation ==
This function returns a list of string objects, each string being suitable for a Wikifunctions search. When copying or pasting, take care to exclude the opening quotation mark, otherwise the search will not be restricted to the Main namespace. (An extraneous closing quotation mark will be disregarded by any search.)
The additional search strings returned may be extended over time but the first object in the returned list should always correspond to the simplest possible search, given the input.
If the first argument is not a generic type like [[Z881]], the second search will be for the given type or a typed list of the given type. If the first argument contains an opening parenthesis (“(“), it is assumed to be supplying a generic type. This will be ignored unless the Typed list function is specified by “Z881”. If no type is specified after “Z881(”, the returned search strings should find any kind of list. Otherwise, the type is assumed to be valid and used in the returned searches (with the final character omitted, as this is assumed to close the parentheses). Search strings for other generic types are not constructed, as there are very few such functions, as can be [[Special:Search/: !"Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 " "Z8K2 Z1K1 Z7 Z7K1 "|confirmed by this search]].
The last search is the same as the first but with the additional stipulation that the function must have at least one connected implementation and a connected test.
The use of “OR” in searches is better avoided when other terms are mandatory ([[:mw:Help:CirrusSearch/Logical_operators|as explained here]]). This is not enforced by the function.
For a simple function signature search with type selectors, please see [[Z22973]]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:48, 2 March 2025 (UTC)
soilbpybfbcrgapwp5pty726lixwdp0
Z23067
0
51740
272811
171903
2026-05-06T21:26:25Z
YoshiRulz
10156
Added Z34908 to the approved list of implementations
272811
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23067"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6005",
"Z17K2": "Z23067K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Word"
}
]
}
}
],
"Z8K2": "Z6091",
"Z8K3": [
"Z20",
"Z23068",
"Z23069",
"Z23070"
],
"Z8K4": [
"Z14",
"Z23071",
"Z34908"
],
"Z8K5": "Z23067"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Grammatical gender of first plural form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns the grammatical gender of the first plural form"
}
]
}
}
fx9imvq0af74o6j9bpudjj85vw1ky3t
272813
272811
2026-05-06T21:34:49Z
Dv103
11127
+it
272813
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23067"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6005",
"Z17K2": "Z23067K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Word"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lessema"
}
]
}
}
],
"Z8K2": "Z6091",
"Z8K3": [
"Z20",
"Z23068",
"Z23069",
"Z23070"
],
"Z8K4": [
"Z14",
"Z23071",
"Z34908"
],
"Z8K5": "Z23067"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Grammatical gender of first plural form"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "genere grammaticale di prima forma plurale"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns the grammatical gender of the first plural form"
}
]
}
}
qxy00ex71vpb8zld8ylzxs3xut51fyu
Z23136
0
51842
272821
218932
2026-05-07T00:08:02Z
YoshiRulz
10156
Added Z23553 to the approved list of implementations
272821
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23136"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z23136K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item representing a unit"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "élément représentant une unité"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "elemento rappresentante l'unità"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z23136K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language to display in"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "langue d'affichage"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lingua"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z23137",
"Z23138",
"Z23167",
"Z25334",
"Z25651",
"Z25894",
"Z28356"
],
"Z8K4": [
"Z14",
"Z23166",
"Z23553"
],
"Z8K5": "Z23136"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "unit symbol of item"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "symbole de l'unité de l'élément"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "simbolo dell'unità di misura dall'elemento"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"get unit symbol of item",
"SI unit symbol",
"symbol of SI unit",
"unit symbol for SI unit",
"string of first unit symbol in item with language",
"get unit symbol"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "According to language, but default to symbol in English. It should work at least on items representing SI units."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "selon la langue, mais par défaut le symbole est en anglais. Devrait fonctionner au moins pour les éléments représentant des unités SI."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "In accordo con la lingua, ma usa l'inguese come default. Dovrebbe funzionare almento con gli elementi Wikidata rapprisentati le unità del SI."
}
]
}
}
fmm20clz6jhm7jhn89q6w755qy6c4a7
Z23159
0
51871
272824
171611
2026-05-07T00:15:02Z
YoshiRulz
10156
Added Z23160 to the approved list of implementations
272824
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23159"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z11"
},
"Z17K2": "Z23159K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list of monolingual texts"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z23159K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language to match"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z23161",
"Z23163"
],
"Z8K4": [
"Z14",
"Z23162",
"Z23160"
],
"Z8K5": "Z23159"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string of first listed monolingual text with lang"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"string of first monolingual text with lang",
"first monolingual text with language",
"monolingual text matching language",
"text of monolingual matching lang"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
mdcv6z3czxdss78kwsihk38j8zoiq4g
Z23160
0
51872
272823
171600
2026-05-07T00:14:50Z
YoshiRulz
10156
Return empty string when none match
272823
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23160"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23159",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z22839",
"Z22839K1": {
"Z1K1": "Z7",
"Z7K1": "Z23143",
"Z23143K1": {
"Z1K1": "Z18",
"Z18K1": "Z23159K1"
},
"Z23143K2": {
"Z1K1": "Z18",
"Z18K1": "Z23159K2"
}
},
"Z22839K2": {
"Z1K1": "Z11",
"Z11K1": {
"Z1K1": "Z60",
"Z60K1": "zxx",
"Z60K2": [
"Z6"
]
},
"Z11K2": "Z11853"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string of first monolingual in lang, compose"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6swvdk6x40xktja6asqx5q6418arm1j
Z23344
0
52554
272832
216329
2026-05-07T00:25:37Z
YoshiRulz
10156
Added Z34910 to the approved list of implementations
272832
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23344"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z23344K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Number"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "संख्या"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z23347"
],
"Z8K4": [
"Z14",
"Z23346",
"Z34910"
],
"Z8K5": "Z23344"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Natural numbers in Devanagari script"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "देवनागरी लिपि में प्राकृतिक संख्या"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Represent natural numbers in Devanagari script. Used in Z14302"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "देवनागरी लिपि में प्रयुक्त प्राकृतिक संख्याओं को प्रतिनिधित करते हैं। Z14302 में प्रयुक्त"
}
]
}
}
ouq9ykaivllzptvp1ke1o6xwlk59snh
Z23349
0
52574
272834
209106
2026-05-07T00:29:53Z
YoshiRulz
10156
Added Z34911 to the approved list of implementations
272834
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23349"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z23349K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "J"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "J"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z23349K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "S"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "S"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z23349K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "L"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "L"
}
]
}
}
],
"Z8K2": "Z19677",
"Z8K3": [
"Z20",
"Z23351"
],
"Z8K4": [
"Z14",
"Z23350",
"Z34911"
],
"Z8K5": "Z23349"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "approximated Landé g-factor"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "fattore di Landé approssimato"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "memperkirakan faktor-g Landé"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Calculates Landé g-factor approximating gL=1 and gS=2"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Calcola il fattore di Landé approssimando gL=1 e gS=2"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Menghitung faktor-g Landé dengan memperkirakan gL = 1 dan gS = 2"
}
]
}
}
b9e5r71737gmeod05ajvmymotdds13z
User:Dv103
2
52624
272744
228225
2026-05-06T19:04:56Z
Dv103
11127
272744
wikitext
text/x-wiki
{{#babel:it-N|en-3|es-0}}
== Documentations ==
* [[User:Dv103/Writing Gregorian calendar date readers]]
* [[User:Dv103/Writing Time of day readers]]
* [[User:Dv103/Reading and writing functions status]]
=== Essays ===
* [[User:Dv103/Functions' purposes and behaviours]]
== Useful code snippets ==
* [[User:Dv103/Converters for Wikidata enumerations]]
== Other ==
=== Funzioni a cui sto lavorando ===
* {{Z+|Z23182}} (in pausa, in attesa di terminare {{Z|Z23619}})
=== Funzioni a cui ho lavorato ===
* {{Z+|Z24122}}
* {{Z+|Z23427}}
* {{Z+|Z23459}}
* {{Z+|Z23349}}
* {{Z+|Z23291}}
* {{Z+|Z22786}}
* {{Z+|Z22791}}
* {{Z+|Z23619}}: è stata un'odissea, ma finalmente funziona!
=== Fun facts ===
* {{Q|Q170499}} died during {{Q|Q21196}}
* {{Q|Q103625}} died during {{Q|Q40317}}
{{user_functioneer}}
m8dthrpeh1kkbvawzg8a0eb3ee8xaw2
Z23403
0
52677
272845
174454
2026-05-07T00:54:51Z
YoshiRulz
10156
Added Z34912, Z34913 and Z34918 to the approved list of implementations
272845
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23403"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z23403K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "riferimento a elemento Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata item reference"
}
]
}
}
],
"Z8K2": "Z16098",
"Z8K3": [
"Z20",
"Z23404",
"Z23405"
],
"Z8K4": [
"Z14",
"Z23406",
"Z34912",
"Z34913",
"Z34918"
],
"Z8K5": "Z23403"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "riferimento Wikidata in mese gregoriano"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata item reference to Gregorian month"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"mese gregoriano da elemento Wikidata"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Gregorian month from Wikidata item reference"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Converte un riferimento a elemento Wikidata rappresentante un mese nell'elemento di tipo Mese gregoriano corrispondente"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Takes in input a Wikidata item reference that points to a month and returns said month as an object of type Gregorian month"
}
]
}
}
3mo7kf7trlfh765mxfo56ln0l2yym9i
Z23407
0
52681
272850
247359
2026-05-07T01:02:33Z
YoshiRulz
10156
Added Z34919 to the approved list of implementations
272850
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23407"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z23407K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "riferimento a elemento Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata item reference"
}
]
}
}
],
"Z8K2": "Z20342",
"Z8K3": [
"Z20",
"Z23409",
"Z23412"
],
"Z8K4": [
"Z14",
"Z23408",
"Z34919"
],
"Z8K5": "Z23407"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "riferimento a elemento Wikidata in giorno romano"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata item reference to Roman day"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"giorno romano da riferimento a elemento Wikidata"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"roman day from Wikidata item reference"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Converte un elemento Wikidata rappresentante un giorno specifico in un oggetto di tipo Giorno di un anno romano"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Given a Wikidata item reference to a day, it returns the corresponding day of a Gregorian year"
}
]
}
}
2q2ktjwwg8xvw620uqdol0rqlm1s4pt
Z23415
0
52692
272855
174798
2026-05-07T01:12:21Z
YoshiRulz
10156
Added Z34920, Z34921 and Z34922 to the approved list of implementations
272855
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23415"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z23415K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "riferimento Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata reference"
}
]
}
}
],
"Z8K2": "Z17402",
"Z8K3": [
"Z20",
"Z23416",
"Z23417"
],
"Z8K4": [
"Z14",
"Z23418",
"Z34920",
"Z34921",
"Z34922"
],
"Z8K5": "Z23415"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "riferimento Wikidata in giorno della settimana"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata reference to day of the week"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "κωδικός των Wikidata για την ημέρα της εβδομάδας "
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"giorno della settimana da riferimento a elemento Wikidata",
"riferimento a elemento Wikidata in giorno della settimana"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Wikidata item reference to day of the week",
"day of the week from Wikidata item reference"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Converte un riferimento a elemento Wikidata rappresentante un giorno della settimana nel relativo giorno della settimana"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Given a Wikidata item reference representing the day of the week return said day of the week"
}
]
}
}
3pwncbhzy2j0j8kiuy80bor1l9j5fcp
Z23423
0
52701
272857
225389
2026-05-07T01:19:25Z
YoshiRulz
10156
Added Z34923 to the approved list of implementations
272857
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23423"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z23423K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "riferimento a elemento Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata item reference"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20159",
"Z17K2": "Z23423K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "anno"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "year"
}
]
}
}
],
"Z8K2": "Z20342",
"Z8K3": [
"Z20",
"Z23424",
"Z23425"
],
"Z8K4": [
"Z14",
"Z23426",
"Z34923"
],
"Z8K5": "Z23423"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "giorno di un determinato mese da Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "day of the week within a given month from Wikidata"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"Q51118183 in data",
"data da Q51118183"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Q51118183 to Roman date",
"Roman date from Q51118183"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Dato un riferimento a elemento Wikidata istanza di giorno della settimana di un determinato mese (Q51118183) e l'anno, restituisce la data Gregoriana corrispondente"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Given a Wikidata item reference to an instance of \t\nday of the week within a given month (Q51118183) and a year, returns the corresponding Roman calendar date"
}
]
}
}
s4my4u7foqqb3i8yjwbz4ikys5wcjg5
Z23447
0
52725
272859
175963
2026-05-07T01:23:10Z
YoshiRulz
10156
Added Z34924 to the approved list of implementations
272859
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23447"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z23447K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "riferimento Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata reference"
}
]
}
}
],
"Z8K2": "Z16683",
"Z8K3": [
"Z20",
"Z23448",
"Z23449"
],
"Z8K4": [
"Z14",
"Z23450",
"Z34924"
],
"Z8K5": "Z23447"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "riferimento Wikidata di data relativa a Pasqua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata reference of day relative to Easter"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"riferimento a elemento Wikidata di data relativa alla Pasqua in intero"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Wikidata item reference of day relative to Easter to Integer"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Dato un riferimento Wikidata di un giorno relativo alla Pasqua Gregoriana, restituisce a quanti giorni dopo la Pasqua si riferisce (o prima, se restituisce un numero negativo)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Given a Wikidata item reference to a day relative to Gregorian Easter, it returns how many days after (or before, if negative) Gregorian Easter it refers to"
}
]
}
}
tfeeuux1lmf4ztnagtzrlv7k25v7g7w
Z23451
0
52730
272860
228645
2026-05-07T01:24:24Z
YoshiRulz
10156
Added Z29693 to the approved list of implementations
272860
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23451"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z23451K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "elemento"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6092",
"Z17K2": "Z23451K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "proprietà"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "property"
}
]
}
}
],
"Z8K2": "Z6003",
"Z8K3": [
"Z20",
"Z23452",
"Z23454",
"Z29424"
],
"Z8K4": [
"Z14",
"Z23453",
"Z29693"
],
"Z8K5": "Z23451"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "dichiarazione Wikidata, classificazione migliore"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata statement with highest rank"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Wikidata claim with higher rank"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Dato un elemento Wikidata e una proprietà, restituisce la dichiarazione con classificazione più alta. In caso di parità, restituisce la dichiarazione che viene prima"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the highest ranking statement with the given property for the item, returning the first statement in the case of a tie"
}
]
}
}
14f1j8jep8mha7chy1hb8mp82pcws7a
Z23468
0
52751
272861
262106
2026-05-07T01:30:22Z
YoshiRulz
10156
Removed Z23469 from the approved list of implementations
272861
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23468"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z23468K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata item"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "維基數據項目"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "elemento Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "položka Wikidat"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z23468K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "語言"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "jazyk"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z23470",
"Z23512",
"Z23741",
"Z24044",
"Z27280"
],
"Z8K4": [
"Z14",
"Z23769"
],
"Z8K5": "Z23468"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "text from Wikidata item label, for given language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "項目的標籤語言"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "etikett för ett objekt på ett språk"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "भाषा में आयटम का लेबल"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "etichetta dell'elemento nella lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "text štítku položky Wikidat pro daný jazyk"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Wikidata label",
"label of Wikidata item",
"item label in language",
"label of QID",
"QID label",
"label in language",
"item label",
"language label of item",
"label in language of item",
"label of item",
"label text from item for language",
"text from language label from Wikidata item"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1062",
"Z31K2": [
"Z6",
"štítek Wikidat",
"QID štítek",
"štítek v jazyce",
"štítek položky"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the label string of the Wikidata item in the specified language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "用指定的語言回傳維基數據項目的標籤字串"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "hämtar etiketten för ett språk från Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "निर्दिष्ट भाषा में विकिडेटा आयटम का लेबल स्ट्रिंग लौटाता है"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Restituisce la stringa di etichetta dell'elemento Wikidata nella lingua specificata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "vrátí text štítku uvedené položky Wikidat v uvedeném jazyce"
}
]
}
}
jgilthuqjyxv3z50znqrx3oduu1v5kw
272864
272861
2026-05-07T01:31:21Z
YoshiRulz
10156
Added Z23469 to the approved list of implementations
272864
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23468"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z23468K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata item"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "維基數據項目"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "elemento Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "položka Wikidat"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z23468K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "語言"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "jazyk"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z23470",
"Z23512",
"Z23741",
"Z24044",
"Z27280"
],
"Z8K4": [
"Z14",
"Z23769",
"Z23469"
],
"Z8K5": "Z23468"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "text from Wikidata item label, for given language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "項目的標籤語言"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "etikett för ett objekt på ett språk"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "भाषा में आयटम का लेबल"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "etichetta dell'elemento nella lingua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "text štítku položky Wikidat pro daný jazyk"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Wikidata label",
"label of Wikidata item",
"item label in language",
"label of QID",
"QID label",
"label in language",
"item label",
"language label of item",
"label in language of item",
"label of item",
"label text from item for language",
"text from language label from Wikidata item"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1062",
"Z31K2": [
"Z6",
"štítek Wikidat",
"QID štítek",
"štítek v jazyce",
"štítek položky"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the label string of the Wikidata item in the specified language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "用指定的語言回傳維基數據項目的標籤字串"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "hämtar etiketten för ett språk från Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "निर्दिष्ट भाषा में विकिडेटा आयटम का लेबल स्ट्रिंग लौटाता है"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Restituisce la stringa di etichetta dell'elemento Wikidata nella lingua specificata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "vrátí text štítku uvedené položky Wikidat v uvedeném jazyce"
}
]
}
}
b7rdy6simy6bp5mt9uxo29jmaroho0h
Z23469
0
52752
272862
178200
2026-05-07T01:30:26Z
YoshiRulz
10156
Throw for missing label
272862
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23469"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23468",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z22839",
"Z22839K1": {
"Z1K1": "Z7",
"Z7K1": "Z23143",
"Z23143K1": {
"Z1K1": "Z7",
"Z7K1": "Z19279",
"Z19279K1": {
"Z1K1": "Z7",
"Z7K1": "Z803",
"Z803K1": {
"Z1K1": "Z39",
"Z39K1": "Z6001K2"
},
"Z803K2": {
"Z1K1": "Z18",
"Z18K1": "Z23468K1"
}
}
},
"Z23143K2": {
"Z1K1": "Z18",
"Z18K1": "Z23468K2"
}
},
"Z22839K2": {
"Z1K1": "Z7",
"Z7K1": "Z851",
"Z851K1": "Z28281",
"Z851K2": [
"Z6",
"Z23468K1",
{
"Z1K1": "Z18",
"Z18K1": "Z23468K2"
}
]
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "label of item in language, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
9btmpbmzu5w2jfgamekoh8d7bnh1sjg
272893
272862
2026-05-07T06:47:46Z
Dv103
11127
272893
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23469"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23468",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z14396",
"Z14396K1": {
"Z1K1": "Z7",
"Z7K1": "Z22839",
"Z22839K1": {
"Z1K1": "Z7",
"Z7K1": "Z23143",
"Z23143K1": {
"Z1K1": "Z7",
"Z7K1": "Z19279",
"Z19279K1": {
"Z1K1": "Z7",
"Z7K1": "Z803",
"Z803K1": {
"Z1K1": "Z39",
"Z39K1": "Z6001K2"
},
"Z803K2": {
"Z1K1": "Z18",
"Z18K1": "Z23468K1"
}
}
},
"Z23143K2": {
"Z1K1": "Z18",
"Z18K1": "Z23468K2"
}
},
"Z22839K2": {
"Z1K1": "Z7",
"Z7K1": "Z851",
"Z851K1": "Z28281",
"Z851K2": [
"Z6",
"Z23468K1",
{
"Z1K1": "Z7",
"Z7K1": "Z14329",
"Z14329K1": {
"Z1K1": "Z18",
"Z18K1": "Z23468K2"
}
}
]
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "label of item in language, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
phmdc0pk2otm7y2zo2por1043v8a9mp
Z23553
0
53118
272820
175689
2026-05-07T00:07:41Z
YoshiRulz
10156
Fall back to en, then mul
272820
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23553"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23136",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z11082",
"Z11082K1": {
"Z1K1": "Z7",
"Z7K1": "Z23159",
"Z23159K1": {
"Z1K1": "Z7",
"Z7K1": "Z22978",
"Z22978K1": {
"Z1K1": "Z18",
"Z18K1": "Z23136K1"
},
"Z22978K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5061"
}
},
"Z23159K2": {
"Z1K1": "Z18",
"Z18K1": "Z23136K2"
}
},
"Z11082K2": {
"Z1K1": "Z7",
"Z7K1": "Z11082",
"Z11082K1": {
"Z1K1": "Z7",
"Z7K1": "Z23159",
"Z23159K1": {
"Z1K1": "Z7",
"Z7K1": "Z22978",
"Z22978K1": {
"Z1K1": "Z18",
"Z18K1": "Z23136K1"
},
"Z22978K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5061"
}
},
"Z23159K2": "Z1002"
},
"Z11082K2": {
"Z1K1": "Z7",
"Z7K1": "Z23159",
"Z23159K1": {
"Z1K1": "Z7",
"Z7K1": "Z22978",
"Z22978K1": {
"Z1K1": "Z18",
"Z18K1": "Z23136K1"
},
"Z22978K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5061"
}
},
"Z23159K2": "Z1360"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "unit symbol of item, compose values of P-claim"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ptvcl8pbp7l5q83qx1e3sgyasje7hxz
Z23619
0
53521
272727
270842
2026-05-06T18:48:32Z
Dv103
11127
Added Z34882 to the approved list of test cases
272727
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23619"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6095"
},
"Z17K2": "Z23619K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "verbi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verbs"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z23619K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "tempo verbale"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tense"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
},
"Z17K2": "Z23619K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "tempi di verbi serviti"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tenses of verbs next the first one"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z23619K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "soggetto: persona e numero"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject: person and number"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z23619K5",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "soggetto: genere grammaticale"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject: grammatical gender"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z13518"
},
"Z17K2": "Z23619K6",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "oggetti diretti: persone e numeri"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "direct objects: persons and numbers"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
},
"Z17K2": "Z23619K7",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "oggetti diretti: generi grammaticali"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "direct objects: grammatical genders"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z13518"
},
"Z17K2": "Z23619K8",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "complementi di termine: persone e numeri"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "indirect objects: persons and numbers"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
},
"Z17K2": "Z23619K9",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "complementi di termine: generi grammaticali"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "indirect objects: grammatical genders"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6095"
}
},
"Z17K2": "Z23619K10",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "avverbi per ogni verbo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "adverbs for each verb"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z23619K11",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "ha ausiliare avere"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "has auxiliary avere"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z6",
"Z883K2": "Z1"
},
"Z17K2": "Z23619K12",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "entità Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata entities"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z23621",
"Z23692",
"Z23620",
"Z33266",
"Z23623",
"Z23626",
"Z23624",
"Z23622",
"Z33268",
"Z34375",
"Z23625",
"Z34418",
"Z34445",
"Z34446",
"Z34448",
"Z34452",
"Z34453",
"Z34454",
"Z34455",
"Z34456",
"Z34462",
"Z34473",
"Z34474",
"Z34475",
"Z34478",
"Z34486",
"Z34493",
"Z34882"
],
"Z8K4": [
"Z14",
"Z23733"
],
"Z8K5": "Z23619"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"coniuga sintagma verbale italiano",
"coniuga verbo italiano",
"verbi servili"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"conjugate Italian verb"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Coniuga sintagma verbale italiano con verbi servili, pronomi atoni e avverbi. Per la documentazione guarda la discussione. "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Conjugate Italian verbal phrase. Low level function; should be used through higher level wrapper functions."
}
]
}
}
axxr9761a3uifyq07n5pfbltxqwenyf
272905
272727
2026-05-07T07:58:13Z
Dv103
11127
Added Z34934 e Z34935 to the approved list of test cases
272905
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23619"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6095"
},
"Z17K2": "Z23619K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "verbi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verbs"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z23619K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "tempo verbale"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tense"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
},
"Z17K2": "Z23619K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "tempi di verbi serviti"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tenses of verbs next the first one"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z23619K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "soggetto: persona e numero"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject: person and number"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z23619K5",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "soggetto: genere grammaticale"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject: grammatical gender"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z13518"
},
"Z17K2": "Z23619K6",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "oggetti diretti: persone e numeri"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "direct objects: persons and numbers"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
},
"Z17K2": "Z23619K7",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "oggetti diretti: generi grammaticali"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "direct objects: grammatical genders"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z13518"
},
"Z17K2": "Z23619K8",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "complementi di termine: persone e numeri"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "indirect objects: persons and numbers"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
},
"Z17K2": "Z23619K9",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "complementi di termine: generi grammaticali"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "indirect objects: grammatical genders"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6095"
}
},
"Z17K2": "Z23619K10",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "avverbi per ogni verbo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "adverbs for each verb"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z23619K11",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "ha ausiliare avere"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "has auxiliary avere"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z6",
"Z883K2": "Z1"
},
"Z17K2": "Z23619K12",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "entità Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata entities"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z23621",
"Z23692",
"Z23620",
"Z33266",
"Z23623",
"Z23626",
"Z23624",
"Z23622",
"Z33268",
"Z34375",
"Z23625",
"Z34418",
"Z34445",
"Z34446",
"Z34448",
"Z34452",
"Z34453",
"Z34454",
"Z34455",
"Z34456",
"Z34462",
"Z34473",
"Z34474",
"Z34475",
"Z34478",
"Z34486",
"Z34493",
"Z34882",
"Z34934",
"Z34935"
],
"Z8K4": [
"Z14",
"Z23733"
],
"Z8K5": "Z23619"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"coniuga sintagma verbale italiano",
"coniuga verbo italiano",
"verbi servili"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"conjugate Italian verb"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Coniuga sintagma verbale italiano con verbi servili, pronomi atoni e avverbi. Per la documentazione guarda la discussione. "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Conjugate Italian verbal phrase. Low level function; should be used through higher level wrapper functions."
}
]
}
}
t9ralrg1d3b09jm438hqx5w0h1th1nz
272917
272905
2026-05-07T09:14:35Z
Dv103
11127
Added Z34937 to the approved list of test cases
272917
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23619"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6095"
},
"Z17K2": "Z23619K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "verbi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verbs"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z23619K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "tempo verbale"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tense"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
},
"Z17K2": "Z23619K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "tempi di verbi serviti"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tenses of verbs next the first one"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z23619K4",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "soggetto: persona e numero"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject: person and number"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z23619K5",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "soggetto: genere grammaticale"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject: grammatical gender"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z13518"
},
"Z17K2": "Z23619K6",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "oggetti diretti: persone e numeri"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "direct objects: persons and numbers"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
},
"Z17K2": "Z23619K7",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "oggetti diretti: generi grammaticali"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "direct objects: grammatical genders"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z13518"
},
"Z17K2": "Z23619K8",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "complementi di termine: persone e numeri"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "indirect objects: persons and numbers"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z40"
},
"Z17K2": "Z23619K9",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "complementi di termine: generi grammaticali"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "indirect objects: grammatical genders"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6095"
}
},
"Z17K2": "Z23619K10",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "avverbi per ogni verbo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "adverbs for each verb"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z23619K11",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "ha ausiliare avere"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "has auxiliary avere"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z6",
"Z883K2": "Z1"
},
"Z17K2": "Z23619K12",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "entità Wikidata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata entities"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z23621",
"Z23692",
"Z23620",
"Z33266",
"Z23623",
"Z23626",
"Z23624",
"Z23622",
"Z33268",
"Z34375",
"Z23625",
"Z34418",
"Z34445",
"Z34446",
"Z34448",
"Z34452",
"Z34453",
"Z34454",
"Z34455",
"Z34456",
"Z34462",
"Z34473",
"Z34474",
"Z34475",
"Z34478",
"Z34486",
"Z34493",
"Z34882",
"Z34934",
"Z34935",
"Z34937"
],
"Z8K4": [
"Z14",
"Z23733"
],
"Z8K5": "Z23619"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"coniuga sintagma verbale italiano",
"coniuga verbo italiano",
"verbi servili"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"conjugate Italian verb"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Coniuga sintagma verbale italiano con verbi servili, pronomi atoni e avverbi. Per la documentazione guarda la discussione. "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Conjugate Italian verbal phrase. Low level function; should be used through higher level wrapper functions."
}
]
}
}
3c63656a2winjhhi5fale2mnbdghxkz
Talk:Z23619
1
53522
272901
270257
2026-05-07T07:52:22Z
Dv103
11127
272901
wikitext
text/x-wiki
= Documentazione =
Chiamiamo N+1 il numero di verbi (N servili + principale); N>=0.
Tra parentesi quadre viene indicata la lunghezza della lista.
== Convenzioni sui valori ==
=== Tempi verbali relativi ===
* '''vero''': presente
* '''falso''': passato
=== Persona e numero ===
* 0: nessun pronome / impersonale se è soggetto
* 1: prima persona singolare
* 2: seconda persona singolare
* 3: terza persona singolare
* 4: prima persona plurale
* 5: seconda persona plurale
* 6: terza persona plurale
* 7: uguale al soggetto (rende il verbo riflessivo)
* 8: ci
* 9: ne
* 10: vi (di luogo; come sinonimo antiquato di "ci")
* 11: lei (seconda persona di cortesia)
* 12: Lei (seconda persona di cortesia maiuscola)
=== Genere grammaticale ===
* '''vero''': maschile
* '''falso''': femminile
== Parametri ==
* '''verbi''': [N+1]: verbi servili + verbo principale per ultimo.
* '''tempo verbale''': riferimento a elemento Wikidata indicante il tempo verbale.
* '''tempi di verbi serviti''': [N]: tempi relativi (presente/passato) di verbi escluso il primo (il cui tempo è indicato dal parametro precedente)
* '''soggetto: persona e numero''': soggetto
* '''soggetto: genere grammaticale''': soggetto
* '''oggetti diretti: persone e numeri''': [N+1]: pronomi atoni oggetto (uno per verbo)
* '''oggetti diretti: generi grammaticali''': [N+1]: pronomi atoni oggetto (uno per verbo)
* '''complementi di termine: persone e numeri''': [N+1]: pronomi atoni complemento (uno per verbo)
* '''complementi di termine: generi grammaticali''': [N+1]: pronomi atoni complemento (uno per verbo)
* '''avverbi per ogni verbo''': [N+1]: elenco di avverbi per ogni verbo. Un verbo può avere un numero arbitrario di avverbi.
* '''ha ausiliario avere''': per specificare l'ausiliario del verbo principale nella forma attiva. Ovviamente viene ignorato se il verbo è in forma passiva/riflessiva/tempo semplice/ecc.
== Elenco degli avverbi particolari supportati ==
* non
* mai
* mica
== Considerazioni varie ==
Il passivo si forma mettendo il verbo essere come servile. I verbi con il "si passivante" si coniugano esattamente come i verbi riflessivi, quindi per questa funzione vanno trattati allo stesso modo.
Se l'input è mal formato, non ci sono garanzie sul funzionamento della funzione (d'altronde, è di basso livello). L'importante è che il comportamento sia corretto qua
"Ci erano stati" è da considerarsi coniugazione del verbo "stare", mentre "c'erano stati" è da considerarsi coniugazione del verbo "essere".
"Ci" e "vi" (come luoghi) sono da considerarsi complementi di termine.
[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 20:15, 1 April 2025 (UTC)
= Discussione / Discussion =
== Bug ==
Apparentemente, Wikifunctions non supporta bene funzioni con più di 9 parametri. Nel parametro "avverbi per ogni verbo", fai un Echo di una lista tipizzata (vedi i testcase).
Apparently, functions on Wikifunctions aren't able to support more than 9 parameters. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 20:32, 1 April 2025 (UTC)
:They are, but there’s a bug in the JavaScript set-up. Please see [[phab:T386794]]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:06, 1 April 2025 (UTC)
::There are other bugs connected to it: for example, if you try to translate the function, the parameter list is disordered (if I had to guess, it's in alphabetical order by ZIDs).
::And I don't know if it is for this reason, but there's also this bug: [[phab:T390786]]
[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 22:13, 1 April 2025 (UTC)
:Yes, I think you’re right. It’s “forgotten” the type for the typed list but “remembered” to keep it protected. Oh dear! In the other case, the tenth argument is a Natural number and works okay (except in JavaScript), but I’ve just noticed that it doesn’t appear in the “inputs” list in the “About” box. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:10, 1 April 2025 (UTC)
::It actually appears in the infobox on [[Z22576]] in the second position (I think it's always because they're in alphabetical order by ZIDs) [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:36, 2 April 2025 (UTC)
:::Ah, well spotted. I’ve added a comment to your ticket linking across to mine. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:26, 2 April 2025 (UTC)
9yfu3po7q4foinnn93ovs5a4x7i8j3y
Z23733
0
53937
272701
270651
2026-05-06T17:38:53Z
Dv103
11127
272701
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || isTempoComposto(Z23619K2)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") || v.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 v.length===3 \u0026\u0026 v.substr(1)===\"ai\"){\n\t\t\t\treturn v.substr(0,2)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\tWikifunctions.Debug(\"Pronomi proclitici: \"+pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1))\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\tWikifunctions.Debug(\"ciao\");\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t\n\t\tWikifunctions.Debug(\"Z23619K10[\"+i+\"] = \"+JSON.stringify(Z23619K10[i]));\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fgh26hpybideqtnp8h1evdii7y8z05j
272702
272701
2026-05-06T17:40:02Z
Dv103
11127
272702
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || isTempoComposto(Z23619K2)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") || v.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 v.length===3 \u0026\u0026 v.substr(1)===\"ai\"){\n\t\t\t\treturn v.substr(0,2)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\tWikifunctions.Debug(\"Pronomi proclitici: \"+pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1))\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\tWikifunctions.Debug(\"ciao\");\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i+1]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t\n\t\tWikifunctions.Debug(\"Z23619K10[\"+i+\"] = \"+JSON.stringify(Z23619K10[i]));\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
a84bjcmoaoqtwdwjh0u8ivwbabijss5
272703
272702
2026-05-06T17:41:57Z
Dv103
11127
272703
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || isTempoComposto(Z23619K2)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") || v.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 v.length===3 \u0026\u0026 v.substr(1)===\"ai\"){\n\t\t\t\treturn v.substr(0,2)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\tWikifunctions.Debug(\"Pronomi proclitici: \"+pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1))\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\tWikifunctions.Debug(\"ciao\");\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t\n\t\tWikifunctions.Debug(\"Z23619K10[\"+i+\"] = \"+JSON.stringify(Z23619K10[i]));\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fgh26hpybideqtnp8h1evdii7y8z05j
272705
272703
2026-05-06T17:47:13Z
Dv103
11127
272705
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || isTempoComposto(Z23619K2)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,2)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\tWikifunctions.Debug(\"Pronomi proclitici: \"+pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1))\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\tWikifunctions.Debug(\"ciao\");\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t\n\t\tWikifunctions.Debug(\"Z23619K10[\"+i+\"] = \"+JSON.stringify(Z23619K10[i]));\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
31h0qiok4xjx1bjc8xmcl87jzof6l6s
272706
272705
2026-05-06T17:49:58Z
Dv103
11127
272706
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || isTempoComposto(Z23619K2)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tWikifunctions.Debug(\"v = \"+v);\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,2)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\tWikifunctions.Debug(\"Pronomi proclitici: \"+pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1))\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\tWikifunctions.Debug(\"ciao\");\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t\n\t\tWikifunctions.Debug(\"Z23619K10[\"+i+\"] = \"+JSON.stringify(Z23619K10[i]));\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0aozbv01oochb19jsmoqyopi3gbi688
272707
272706
2026-05-06T18:00:41Z
Dv103
11127
272707
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || isTempoComposto(Z23619K2)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tWikifunctions.Debug(\"v = \"+v);\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,2)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\tWikifunctions.Debug(\"Pronomi proclitici: \"+pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1))\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
p3mvgf2vrofhlugm2yma78s1q8j7rxa
272708
272707
2026-05-06T18:01:44Z
Dv103
11127
272708
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || isTempoComposto(Z23619K2)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tWikifunctions.Debug(\"v = \"+v);\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,2)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\tWikifunctions.Debug(\"Pronomi proclitici: \"+pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1))\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
shilbcvcd0vc8goczlyvk6hvyy9w55u
272709
272708
2026-05-06T18:03:14Z
Dv103
11127
272709
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || isTempoComposto(Z23619K2)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tWikifunctions.Debug(\"v = \"+v);\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\tWikifunctions.Debug(\"Pronomi proclitici: \"+pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1))\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ktnwieex0jfozdenzspj430c851safk
272710
272709
2026-05-06T18:04:37Z
Dv103
11127
272710
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || isTempoComposto(Z23619K2)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tWikifunctions.Debug(\"v = \"+v);\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\tWikifunctions.Debug(\"Pronomi proclitici: \"+pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1))\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n || Z23619K8[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
rpdegrnrj6ljbek9bx4g2pzpwnibdx6
272711
272710
2026-05-06T18:13:13Z
Dv103
11127
272711
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || isTempoComposto(Z23619K2)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tWikifunctions.Debug(\"v = \"+v);\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\tWikifunctions.Debug(\"Pronomi proclitici: \"+pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1))\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\t//imperativo negativo\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tif (pnOggetto===0n || pnOggetto===7n){\n\t\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t\t} else {\n\t\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t\t}\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n || Z23619K8[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
a20btl43gmm9hd157p2wixlgskoo5ez
272712
272711
2026-05-06T18:17:23Z
Dv103
11127
272712
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo,ausiliare){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || (isTempoComposto(Z23619K2) \u0026\u0026 ausiliare)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tWikifunctions.Debug(\"v = \"+v);\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1,ausiliare)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\t//imperativo negativo\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tif (pnOggetto===0n || pnOggetto===7n){\n\t\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t\t} else {\n\t\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t\t}\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n || Z23619K8[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hvblqunwf2dvw5wmoejsix361v70qvw
272716
272712
2026-05-06T18:28:28Z
Dv103
11127
272716
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t\"L21265\",\t\t//mai\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo,ausiliare){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || (isTempoComposto(Z23619K2) \u0026\u0026 ausiliare)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tWikifunctions.Debug(\"v = \"+v);\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1,ausiliare)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\t//imperativo negativo\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\tconst iMai=avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L21265\");\n\t\t\t//se \"mai\" e non \"non\"\n\t\t\tif (iMai!==-1 \u0026\u0026 avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L21265\")===-1){\n\t\t\t\treturn [\"mai\"].concat(coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi.filter((a)=\u003Ea.Z6095K1===\"L21265\"),i));\n\t\t\t}\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tif (pnOggetto===0n || pnOggetto===7n){\n\t\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t\t} else {\n\t\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t\t}\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n || Z23619K8[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
huj9ktpap6n7foek5yb4zjdkdidc2vk
272719
272716
2026-05-06T18:30:25Z
Dv103
11127
272719
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t\"L21265\",\t\t//mai\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo,ausiliare){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || (isTempoComposto(Z23619K2) \u0026\u0026 ausiliare)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tWikifunctions.Debug(\"v = \"+v);\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1,ausiliare)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\t//imperativo negativo\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\tconst iMai=avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L21265\");\n\t\t\t//se \"mai\" e non \"non\"\n\t\t\tif (iMai!==-1 \u0026\u0026 avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L411103\")===-1){\n\t\t\t\treturn [\"mai\"].concat(coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi.filter((a)=\u003Ea.Z6095K1===\"L21265\"),i));\n\t\t\t}\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tif (pnOggetto===0n || pnOggetto===7n){\n\t\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t\t} else {\n\t\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t\t}\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n || Z23619K8[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
aju59skbzdqzkc0ybibgt739ypxx63v
272720
272719
2026-05-06T18:41:32Z
Dv103
11127
272720
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t\"L21265\",\t\t//mai\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo,ausiliare){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || (isTempoComposto(Z23619K2) \u0026\u0026 ausiliare)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tWikifunctions.Debug(\"v = \"+v);\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1,ausiliare)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\t//imperativo negativo\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\tconst iMai=avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L21265\");\n\t\t\t//se \"mai\" e non \"non\"\n\t\t\tif (iMai!==-1 \u0026\u0026 avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L411103\")===-1){\n\t\t\t\treturn [\"mai\"].concat(coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi.filter((a)=\u003Ea.Z6095K1!==\"L21265\"),i));\n\t\t\t}\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tif (pnOggetto===0n || pnOggetto===7n){\n\t\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t\t} else {\n\t\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t\t}\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else if(t.Z6091K1===\"Q52434245\" \u0026\u0026 i!==Z23619K1.length-1){\n\t\t\t//troncamento di infinito\n\t\t\tstr_v=formaDaLessema(v,[t]);\n\t\t\tstr_v=str_v.substr(0,str_v.length-1);\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n || Z23619K8[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
d0sbcs023jc7fsfme75mhxu52tzho9j
272723
272720
2026-05-06T18:44:38Z
Dv103
11127
272723
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n \tWikifunctions.Debug(\"Valore di Z27410K1:\"+Z27410K1);\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t\"L21265\",\t\t//mai\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo,ausiliare){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\tWikifunctions.Debug(\"Sono in check: v=\"+v+\"; isUltimo=\"+isUltimo+\"; LID=\",Z23619K1[Z23619K1.length-1].Z6095K1);\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || (isTempoComposto(Z23619K2) \u0026\u0026 ausiliare)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tWikifunctions.Debug(\"v = \"+v);\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1,ausiliare)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\t//imperativo negativo\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\tconst iMai=avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L21265\");\n\t\t\t//se \"mai\" e non \"non\"\n\t\t\tif (iMai!==-1 \u0026\u0026 avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L411103\")===-1){\n\t\t\t\treturn [\"mai\"].concat(coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi.filter((a)=\u003Ea.Z6095K1!==\"L21265\"),i));\n\t\t\t}\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tif (pnOggetto===0n || pnOggetto===7n){\n\t\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t\t} else {\n\t\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t\t}\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else if(t.Z6091K1===\"Q52434245\" \u0026\u0026\n\t\t\t\t\ti!==Z23619K1.length-1 \u0026\u0026\n\t\t\t\t\tv.Z6005K1.Z6095K1!==\"L5139\"){\n\t\t\t//troncamento di infinito\n\t\t\tstr_v=formaDaLessema(v,[t]);\n\t\t\tstr_v=str_v.substr(0,str_v.length-1);\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n || Z23619K8[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
gnty3yyp85xd38wf0yj38eawa0hu5ga
272743
272723
2026-05-06T19:04:00Z
Dv103
11127
removed debug logs: now this implementation is officially complete!!!! (Hoping it doesn't have other bugs/corner cases...)
272743
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\n\t\t[\"Q21714344\",\"Q110786\"],\n\t\t[\"Q51929049\",\"Q110786\"],\n\t\t[\"Q51929074\",\"Q110786\"],\n\t\t[\"Q21714344\",\"Q146786\"],\n\t\t[\"Q51929049\",\"Q146786\"],\n\t\t[\"Q51929074\",\"Q146786\"],];\n\t\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t\"L21265\",\t\t//mai\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\t// case 8n: ret=\"ce\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo,ausiliare){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || (isTempoComposto(Z23619K2) \u0026\u0026 ausiliare)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1,ausiliare)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\t//imperativo negativo\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\tconst iMai=avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L21265\");\n\t\t\t//se \"mai\" e non \"non\"\n\t\t\tif (iMai!==-1 \u0026\u0026 avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L411103\")===-1){\n\t\t\t\treturn [\"mai\"].concat(coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi.filter((a)=\u003Ea.Z6095K1!==\"L21265\"),i));\n\t\t\t}\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tif (pnOggetto===0n || pnOggetto===7n){\n\t\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t\t} else {\n\t\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t\t}\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else if(t.Z6091K1===\"Q52434245\" \u0026\u0026\n\t\t\t\t\ti!==Z23619K1.length-1 \u0026\u0026\n\t\t\t\t\tv.Z6005K1.Z6095K1!==\"L5139\"){\n\t\t\t//troncamento di infinito\n\t\t\tstr_v=formaDaLessema(v,[t]);\n\t\t\tstr_v=str_v.substr(0,str_v.length-1);\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n || Z23619K8[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
r70y5fqg201gllc75a2wezvq8ep0r42
272906
272743
2026-05-07T08:09:48Z
Dv103
11127
aggiunto supporto per "lei" e "Lei" formale
272906
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\t\t\t//0\n\t\t[\"Q21714344\",\"Q110786\"],\t//1\n\t\t[\"Q51929049\",\"Q110786\"],\t//2\n\t\t[\"Q51929074\",\"Q110786\"],\t//3\n\t\t[\"Q21714344\",\"Q146786\"],\t//4\n\t\t[\"Q51929049\",\"Q146786\"],\t//5\n\t\t[\"Q51929074\",\"Q146786\"],\t//6\n\t\tnull,\t\t\t\t\t\t//7\n\t\tnull,\t\t\t\t\t\t//8\n\t\tnull,\t\t\t\t\t\t//9\n\t\tnull,\t\t\t\t\t\t//10\n\t\t[\"Q51929074\",\"Q110786\"],\t//11\n\t\t[\"Q51929074\",\"Q110786\"],\t//12\n\t\t];\n\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t\"L21265\",\t\t//mai\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t\tcase 11n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 12n: return gTermine ? \"Gli\" : (raddoppio ? \"lle\" : \"Le\");\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\tcase 11n: ret=\"glie\"; break;\n\t\t\tcase 12n: ret=\"Glie\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t\tcase 11n: ret+=raddoppio ? \"lla\" : \"la\"; break;\n\t\t\tcase 12n: ret+=raddoppio ? \"lla\" : \"La\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo,ausiliare){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t\tcase 11n: return \"le \";\n\t\t\t\tcase 12n: return \"Le \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t\tcase 11n:ret=\"glie\"; break;\n\t\t\tcase 12n:ret=\"Glie\"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || (isTempoComposto(Z23619K2) \u0026\u0026 ausiliare)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t\tcase 11n:ret+=\"la \"; break;\n\t\t\tcase 11n:ret+=\"La \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1,ausiliare)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\t//imperativo negativo\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\tconst iMai=avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L21265\");\n\t\t\t//se \"mai\" e non \"non\"\n\t\t\tif (iMai!==-1 \u0026\u0026 avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L411103\")===-1){\n\t\t\t\treturn [\"mai\"].concat(coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi.filter((a)=\u003Ea.Z6095K1!==\"L21265\"),i));\n\t\t\t}\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tif (pnOggetto===0n || pnOggetto===7n){\n\t\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t\t} else {\n\t\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t\t}\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else if(t.Z6091K1===\"Q52434245\" \u0026\u0026\n\t\t\t\t\ti!==Z23619K1.length-1 \u0026\u0026\n\t\t\t\t\tv.Z6005K1.Z6095K1!==\"L5139\"){\n\t\t\t//troncamento di infinito\n\t\t\tstr_v=formaDaLessema(v,[t]);\n\t\t\tstr_v=str_v.substr(0,str_v.length-1);\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n || Z23619K8[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
j63gwsnxqm2j6nvoj0akt65kurn6sgs
272908
272906
2026-05-07T08:13:26Z
Dv103
11127
bug fix
272908
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\t\t\t//0\n\t\t[\"Q21714344\",\"Q110786\"],\t//1\n\t\t[\"Q51929049\",\"Q110786\"],\t//2\n\t\t[\"Q51929074\",\"Q110786\"],\t//3\n\t\t[\"Q21714344\",\"Q146786\"],\t//4\n\t\t[\"Q51929049\",\"Q146786\"],\t//5\n\t\t[\"Q51929074\",\"Q146786\"],\t//6\n\t\tnull,\t\t\t\t\t\t//7\n\t\tnull,\t\t\t\t\t\t//8\n\t\tnull,\t\t\t\t\t\t//9\n\t\tnull,\t\t\t\t\t\t//10\n\t\t[\"Q51929074\",\"Q110786\"],\t//11\n\t\t[\"Q51929074\",\"Q110786\"],\t//12\n\t\t];\n\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t\"L21265\",\t\t//mai\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t\tcase 11n: raddoppio ? \"lle\" : \"le\";\n\t\t\t\tcase 12n: raddoppio ? \"lle\" : \"Le\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\tcase 11n: ret=\"glie\"; break;\n\t\t\tcase 12n: ret=\"Glie\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t\tcase 11n: ret+=raddoppio ? \"lla\" : \"la\"; break;\n\t\t\tcase 12n: ret+=raddoppio ? \"lla\" : \"La\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo,ausiliare){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t\tcase 11n: return \"le \";\n\t\t\t\tcase 12n: return \"Le \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t\tcase 11n:ret=\"glie\"; break;\n\t\t\tcase 12n:ret=\"Glie\"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || (isTempoComposto(Z23619K2) \u0026\u0026 ausiliare)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t\tcase 11n:ret+=\"la \"; break;\n\t\t\tcase 11n:ret+=\"La \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1,ausiliare)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\t//imperativo negativo\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\tconst iMai=avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L21265\");\n\t\t\t//se \"mai\" e non \"non\"\n\t\t\tif (iMai!==-1 \u0026\u0026 avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L411103\")===-1){\n\t\t\t\treturn [\"mai\"].concat(coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi.filter((a)=\u003Ea.Z6095K1!==\"L21265\"),i));\n\t\t\t}\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tif (pnOggetto===0n || pnOggetto===7n){\n\t\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t\t} else {\n\t\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t\t}\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else if(t.Z6091K1===\"Q52434245\" \u0026\u0026\n\t\t\t\t\ti!==Z23619K1.length-1 \u0026\u0026\n\t\t\t\t\tv.Z6005K1.Z6095K1!==\"L5139\"){\n\t\t\t//troncamento di infinito\n\t\t\tstr_v=formaDaLessema(v,[t]);\n\t\t\tstr_v=str_v.substr(0,str_v.length-1);\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n || Z23619K8[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
a10sv240h5eanlt3sqkvla95wfzjreo
272909
272908
2026-05-07T08:15:17Z
Dv103
11127
bugfix
272909
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\t\t\t//0\n\t\t[\"Q21714344\",\"Q110786\"],\t//1\n\t\t[\"Q51929049\",\"Q110786\"],\t//2\n\t\t[\"Q51929074\",\"Q110786\"],\t//3\n\t\t[\"Q21714344\",\"Q146786\"],\t//4\n\t\t[\"Q51929049\",\"Q146786\"],\t//5\n\t\t[\"Q51929074\",\"Q146786\"],\t//6\n\t\tnull,\t\t\t\t\t\t//7\n\t\tnull,\t\t\t\t\t\t//8\n\t\tnull,\t\t\t\t\t\t//9\n\t\tnull,\t\t\t\t\t\t//10\n\t\t[\"Q51929074\",\"Q110786\"],\t//11\n\t\t[\"Q51929074\",\"Q110786\"],\t//12\n\t\t];\n\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t\"L21265\",\t\t//mai\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t\tcase 11n: return raddoppio ? \"lle\" : \"le\";\n\t\t\t\tcase 12n: return raddoppio ? \"lle\" : \"Le\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\tcase 11n: ret=\"glie\"; break;\n\t\t\tcase 12n: ret=\"Glie\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t\tcase 11n: ret+=raddoppio ? \"lla\" : \"la\"; break;\n\t\t\tcase 12n: ret+=raddoppio ? \"lla\" : \"La\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo,ausiliare){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t\tcase 11n: return \"le \";\n\t\t\t\tcase 12n: return \"Le \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t\tcase 11n:ret=\"glie\"; break;\n\t\t\tcase 12n:ret=\"Glie\"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || (isTempoComposto(Z23619K2) \u0026\u0026 ausiliare)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t\tcase 11n:ret+=\"la \"; break;\n\t\t\tcase 11n:ret+=\"La \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, (v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\tv.substr(-1)===\"à\");\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1,ausiliare)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\t//imperativo negativo\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\tconst iMai=avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L21265\");\n\t\t\t//se \"mai\" e non \"non\"\n\t\t\tif (iMai!==-1 \u0026\u0026 avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L411103\")===-1){\n\t\t\t\treturn [\"mai\"].concat(coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi.filter((a)=\u003Ea.Z6095K1!==\"L21265\"),i));\n\t\t\t}\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tif (pnOggetto===0n || pnOggetto===7n){\n\t\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t\t} else {\n\t\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t\t}\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else if(t.Z6091K1===\"Q52434245\" \u0026\u0026\n\t\t\t\t\ti!==Z23619K1.length-1 \u0026\u0026\n\t\t\t\t\tv.Z6005K1.Z6095K1!==\"L5139\"){\n\t\t\t//troncamento di infinito\n\t\t\tstr_v=formaDaLessema(v,[t]);\n\t\t\tstr_v=str_v.substr(0,str_v.length-1);\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n || Z23619K8[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
3ige34l9idmltbmux5o2lhvl91j0rct
272918
272909
2026-05-07T09:19:47Z
Dv103
11127
272918
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z23733"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23619",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z23619( Z23619K1,Z23619K2, Z23619K3, Z23619K4, Z23619K5, Z23619K6, Z23619K7, Z23619K8, Z23619K9 ,Z23619K10,Z23619K11,Z23619K12) {\n\t//lessema, [caratteristiche grammaticali] -\u003E stringa\n function formaDaLessema( Z27410K1, Z27410K2 ) {\n\tconst instanceOfPIDs=[\"P31\",\"P1552\"];\n\tconst languageStylePIDs=[\"P6191\"];\n\tconst characteristicsRank=[\n\t\t\t//negative characteristics\n\t\t\t\"Q54948374\",\t//depreciative\n\t\t\t\"Q54944750\",\t//potential\n\t\t\t\"Q56161479\",\t//incorrect\n\t\t\t\"Q56247521\",\t//former\n\t\t\t\"Q54943392\",\t//obsolete\n\t\t\t\"Q55094451\",\t//rare\n\t\t\t\"Q101583900\",\t//alternative spelling\n\t\t\t\"Q55228835\",\t//colloquial\n\t\t\t\n\t\t\t//neuter characteristics\n\t\t\t\"Q55082724\",\t//vocalic\n\t\t\t\"Q55082712\",\t//not vocalic\n\t\t\t\"Q55464014\",\t//weak form\n\t\t\t\"Q55464002\",\t//string form\n\t\t\t\n\t\t\t//positive characteristics\n\t\t\t\"Q101583918\",\t//reccomended by Duden\n\t\t\t\"Q54948995\",\t//non-depreciative\n\t\t];\n\t\n\tconst styleRank=[\n\t\t\"Q184439\",\t\t//profanity\n\t\t\"Q1521634\",\t\t//vulgarism\n\t\t\"Q545779\",\t\t//pejorative\n\t\t\"Q83464\",\t\t//euphemism\n\t\t\"Q58233068\",\t//humorous\n\t\t\"Q58157328\",\t//rare\n\t\t\"Q901711\",\t\t//colloqual\n\t\t\"Q181970\",\t\t//archaism\n\t\t\"Q57495609\",\t//outdated\n\t\t\"Q110983878\",\t//idiomatic\n\t\t\"Q130989\",\t\t//neologism\n\t\t];\n\t\t\n\tfunction valuesOfStatementOfForm(s,p){\n\t\t//p is a list\n\t\tlet retList=[]\n\t\tfor (let c of s.Z6004K5){\n\t\t\tif (c.Z6003K4.Z6040K1?.Z9K1 === \"Z6043\"){\n\t\t\t\t//Ignore deprecated rank\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (p.find((a)=\u003Ea===c.Z6003K2.Z6092K1) != undefined){\n\t\t\t\tretList.push(c.Z6003K3.Z6091K1);\n\t\t\t}\n\t\t}\n\t\treturn retList;\n\t}\n\tfunction compare(a,b){\n\t\tlet gooda=0, goodb=0;\n\t\tlet bada=0,badb=0;\n\t\tfor (let f of a.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgooda++;\n\t\t\t} else {\n\t\t\t\tbada++;\n\t\t\t}\n\t\t}\n\t\tfor (let f of b.Z6004K4){\n\t\t\tif (Z27410K2.find((v)=\u003Ev.Z6091K1 === f.Z6091K1)!=undefined){\n\t\t\t\tgoodb++;\n\t\t\t} else {\n\t\t\t\tbadb++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (gooda !== goodb){\n\t\t\treturn gooda\u003Cgoodb;\n\t\t}\n\t\tif (bada !== badb){\n\t\t\treturn bada \u003E badb;\n\t\t}\n\t\t\n\t\tconst sa=valuesOfStatementOfForm(a,instanceOfPIDs);\n\t\tconst sb=valuesOfStatementOfForm(b,instanceOfPIDs);\n\t\t\n\t\tconst sav=Math.min(...sa.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst sbv=Math.min(...sb.map((v)=\u003E{\n\t\t\treturn characteristicsRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\t\n\t\tif (sav !== sbv){\n\t\t\treturn sav\u003Csbv;\n\t\t}\n\t\t\n\t\t// language style\n\t\tconst lsa=valuesOfStatementOfForm(a,languageStylePIDs);\n\t\tconst lsb=valuesOfStatementOfForm(b,languageStylePIDs);\n\t\tconst lsav=Math.min(...lsa.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tconst lsbv=Math.min(...lsb.map((v)=\u003E{\n\t\t\treturn styleRank.findIndex((a)=\u003Ea===v);\n\t\t}));\n\t\tif (lsbv !== lsav){\n\t\t\treturn lsav\u003Clsbv;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tlet bestForm=null;\n\t\n\tif (Z27410K1.Z6005K7.length===0){\n\t\tWikifunctions.Error(\"Z28259\",[Z27410K1.Z6005K1.Z6095K1]);\n\t}\n\t\n\tfor (let currForm of Z27410K1.Z6005K7){\n\t\tif (bestForm===null){\n\t\t\tbestForm=currForm;\n\t\t} else if (compare(bestForm,currForm)){\n\t\t\tbestForm=currForm;\n\t\t}\n\t}\n\t\n\treturn bestForm.Z6004K3.Z12K1[0].Z11K2;\n}\n\t\n\tfunction iniziaConVocale( Z22786K1 ) {\n\tfunction solve(s){\n\t\tif (s[0]==\"h\"){\n\t\t\treturn solve(s.substring(1));\n\t\t}\n\t\t\n\t\tlet forceTrue=[\"io\",\"ia\"];\n\t\tif (forceTrue.find((v)=\u003Ev==s) !== undefined){\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tlet vowelSet=[\"a\",\"e\",\"i\",\"o\",\"u\",\"à\",\"è\",\"é\",\"ì\",\"ò\",\"ù\"];\n\t\tif (s[0]==\"i\" \u0026\u0026 vowelSet.find((v)=\u003Ev==s[1])!==undefined){\n\t\t\treturn false;\n\t\t}\n\t\treturn vowelSet.find((v)=\u003Ev==s[0])!==undefined ;\n\t}\n\t\n\tlet s=Z22786K1.toLowerCase();\n\treturn solve(s);\n}\n\n\tconst elTempi=[\"Q56682909\", \"Q1240211\", \"Q12547192\", \"Q623742\", \"Q442485\", \"Q1101896\", \"Q1475560\", \"Q1234617\", \"Q3502553\", \"Q3502544\", \"Q3502541\", \"Q27955084\", \"Q3686414\", \"Q25619773\", \"Q52434245\", \"Q52434302\", \"Q52434511\", \"Q52434598\", \"Q10345583\", \"Q12717679\", \"Q52434162\"];\n\tconst elPersone=[[],\t\t\t//0\n\t\t[\"Q21714344\",\"Q110786\"],\t//1\n\t\t[\"Q51929049\",\"Q110786\"],\t//2\n\t\t[\"Q51929074\",\"Q110786\"],\t//3\n\t\t[\"Q21714344\",\"Q146786\"],\t//4\n\t\t[\"Q51929049\",\"Q146786\"],\t//5\n\t\t[\"Q51929074\",\"Q146786\"],\t//6\n\t\tnull,\t\t\t\t\t\t//7\n\t\tnull,\t\t\t\t\t\t//8\n\t\tnull,\t\t\t\t\t\t//9\n\t\tnull,\t\t\t\t\t\t//10\n\t\t[\"Q51929074\",\"Q110786\"],\t//11\n\t\t[\"Q51929074\",\"Q110786\"],\t//12\n\t\t];\n\t\n\tconst elAvverbiDopo=[\n\t\t\"L21265\",\t\t//mai\n\t\t\"L315721\",\t\t//mica\n\t\t];\n\tconst elAvverbiNegativi=[\n\t\t\"L411103\",\t\t//non\n\t\t\"L315721\",\t\t//mica\n\t\t\"L21265\",\t\t//mai\n\t\t];\n\t\n\tfunction isTempoComposto(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\tif (i\u003C=18) return i%2===0;\n\t\treturn false;\n\t}\n\tfunction tempoSempliceDaComposto(t){\n\t\tconst i=elTempi.indexOf(t.Z6091K1);\n\t\treturn{Z6091K1: elTempi[i-1]};\n\t}\n\tfunction isTempoPersonale(t){\n\t\tconst i=1+elTempi.indexOf(t.Z6091K1);\n\t\treturn !(i\u003E=15 \u0026\u0026 i\u003C=20);\n\t}\n\tfunction getAusiliare(isAvere){\n\t\tif (isAvere){\n\t\t\treturn Z23619K12.get(\"L5138\");\t//avere\n\t\t}\n\t\treturn Z23619K12.get(\"L5139\");\t//essere\n\t}\n\tfunction vocaleFinale(genere, isPlurale){\n\t\tif (genere){\n\t\t\treturn isPlurale? \"i\":\"o\";\n\t\t}\n\t\treturn isPlurale?\"e\":\"a\";\n\t}\n\tfunction vocaleFinale2(isPlurale){\n\t\treturn isPlurale?\"i\":\"e\";\n\t}\n\tfunction getParticipioPassato(v,genere,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q12717679\"},{Z6091K1:\"Q1230649\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale(genere,isPlurale);\n\t}\n\tfunction getParticipioPresente(v,isPlurale){\n\t\tlet part=formaDaLessema(v,[{Z6091K1:\"Q10345583\"}]);\n\t\treturn part.slice(0,-1)+vocaleFinale2(isPlurale);\n\t}\n\tfunction isPersonaPlurale(p){\n\t\treturn [4n,5n,6n].indexOf(p)!==-1;\n\t}\n\tfunction getQIDPersona(p){\n\t\treturn elPersone[p].map((v)=\u003E({Z6091K1:v}));\n\t}\n\t\n\tfunction pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine, raddoppio){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiEnclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return raddoppio ? \"mmi\" : \"mi\";\n\t\t\t\tcase 2n: return raddoppio ? \"tti\" : \"ti\";\n\t\t\t\tcase 3n: return gTermine ? \"gli\" : (raddoppio ? \"lle\" : \"le\");\n\t\t\t\tcase 8n:\n\t\t\t\tcase 4n: return raddoppio ? \"cci\" : \"ci\";\n\t\t\t\tcase 10n:\n\t\t\t\tcase 5n: return \"vi\";\n\t\t\t\tcase 6n: return \"gli\";\n\t\t\t\tcase 7n: return \"si\";\n\t\t\t\tcase 11n: return raddoppio ? \"lle\" : \"le\";\n\t\t\t\tcase 12n: return raddoppio ? \"lle\" : \"Le\";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=raddoppio ? \"mme\" : \"me\"; break;\n\t\t\tcase 2n: ret=raddoppio ? \"tte\" : \"te\"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n:\n\t\t\tcase 4n: ret=raddoppio ? \"cce\" : \"ce\"; break;\n\t\t\tcase 10:\n\t\t\tcase 5n: ret=\"ve\"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se\"; break;\n\t\t\tcase 11n: ret=\"glie\"; break;\n\t\t\tcase 12n: ret=\"Glie\"; break;\n\t\t}\n\t\tif (pnTermine!==0n){\n\t\t\traddoppio=false;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=raddoppio ? \"mmi\" : \"mi\"; break;\n\t\t\tcase 2n: ret+=raddoppio ? \"tti\" : \"ti\"; break;\n\t\t\tcase 3n: ret+=gOggetto ? (raddoppio ? \"llo\" : \"lo\") : (raddoppio ? \"lla\" : \"la\"); break;\n\t\t\tcase 4n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 10n:\n\t\t\tcase 5n: ret+=\"vi\"; break;\n\t\t\tcase 6n: ret+=gOggetto ? (raddoppio ? \"lli\" : \"li\") : (raddoppio ? \"lle\" : \"le\"); break;\n\t\t\tcase 7n: ret+=\"si\"; break;\n\t\t\tcase 8n: ret+=raddoppio ? \"cci\" : \"ci\"; break;\n\t\t\tcase 9n: ret+=raddoppio ? \"nne\" : \"ne\"; break;\n\t\t\tcase 11n: ret+=raddoppio ? \"lla\" : \"la\"; break;\n\t\t\tcase 12n: ret+=raddoppio ? \"lla\" : \"La\"; break;\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\tfunction pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,isUltimo,ausiliare){\n\t\tif(pnOggetto===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnOggetto = Z23619K4;\n\t\t}\n\t\tif(pnTermine===7n \u0026\u0026 !(Z23619K4===0n || Z23619K4===3n || Z23619K4===6n)){\n\t\t\tpnTermine = Z23619K4;\n\t\t}\n\t\tif (pnTermine===9n){\n\t\t\treturn pronomiProclitici( pnTermine, gTermine,pnOggetto, gOggetto);\n\t\t}\n\t\tif (pnOggetto===0n){\n\t\t\tswitch (pnTermine){\n\t\t\t\tcase 0n: return \"\";\n\t\t\t\tcase 1n: return \"mi \";\n\t\t\t\tcase 2n: return \"ti \";\n\t\t\t\tcase 3n: return gTermine ? \"gli \" : \"le \";\n\t\t\t\tcase 4n: return \"ci \";\n\t\t\t\tcase 5n: return \"vi \";\n\t\t\t\tcase 6n: return \"gli \";\n\t\t\t\tcase 7n: return \"si \";\n\t\t\t\tcase 8n:\n\t\t\t\t\t//con verbo essere\n\t\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\t\tiniziaConVocale(v)\u0026\u0026\n\t\t\t\t\t\tisUltimo){\n\t\t\t\t\t\treturn \"c'\";\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn \"ci \";\n\t\t\t\tcase 9n: return \"vi \";\n\t\t\t\tcase 11n: return \"le \";\n\t\t\t\tcase 12n: return \"Le \";\n\t\t\t}\n\t\t}\n\t\tlet ret=\"\";\n\t\tswitch (pnTermine){\n\t\t\tcase 0n: break;\n\t\t\tcase 1n: ret=\"me \"; break;\n\t\t\tcase 2n: ret=\"te \"; break;\n\t\t\tcase 3n: ret=\"glie\"; break;\n\t\t\tcase 8n: \n\t\t\tcase 4n: ret=\"ce \"; break;\n\t\t\tcase 5n: ret=\"ve \"; break;\n\t\t\tcase 6n: ret=\"glie\"; break;\n\t\t\tcase 7n: ret=\"se \"; break;\n\t\t\tcase 10n:ret=\"ve \"; break;\n\t\t\tcase 11n:ret=\"glie\"; break;\n\t\t\tcase 12n:ret=\"Glie\"; break;\n\t\t}\n\t\tswitch(pnOggetto){\n\t\t\tcase 1n: ret+=\"mi \"; break;\n\t\t\tcase 2n: ret+=\"ti \"; break;\n\t\t\tcase 3n:\n\t\t\t\t//verbo avere\n\t\t\t\tif ((Z23619K1[Z23619K1.length-1].Z6095K1===\"L5138\" || (isTempoComposto(Z23619K2) \u0026\u0026 ausiliare)) \u0026\u0026\n\t\t\t\t\t(Z23619K2.Z6091K1===\"Q56682909\"||pnTermine!==0n) \u0026\u0026\n\t\t\t\t\tisUltimo \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"l'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=gOggetto ? \"lo \" : \"la \"; break;\n\t\t\tcase 4n: ret+=\"ci \"; break;\n\t\t\tcase 5n: ret+=\"vi \"; break;\n\t\t\tcase 6n: ret+=gOggetto ? \"li \" : \"le \"; break;\n\t\t\tcase 7n: ret+=\"si \"; break;\n\t\t\tcase 8n: ret+=\"ci \"; break;\n\t\t\tcase 9n: \n\t\t\t\t//con verbo essere\n\t\t\t\tif (Z23619K1[Z23619K1.length-1].Z6095K1===\"L5139\" \u0026\u0026 \n\t\t\t\t\tpnTermine===8n \u0026\u0026\n\t\t\t\t\tiniziaConVocale(v)){\n\t\t\t\t\tret+=\"n'\"; break;\n\t\t\t\t}\n\t\t\t\tret+=\"ne \"; break;\n\t\t\tcase 10n:ret+=\"ve \"; break;\n\t\t\tcase 11n:ret+=\"la \"; break;\n\t\t\tcase 11n:ret+=\"La \"; break;\n\t\t}\n\t\t\n\t\t\n\t\treturn ret;\n\t}\n\t\n\tfunction appiccicaPronomi(v,t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare){\n\t\t//appiccica alla fine\n\t\tif ((t.Z6091K1===\"Q52434162\" \u0026\u0026 (Z23619K4===2n || Z23619K4===5n)) ||\n\t\t\t[\"Q12717679\",\"Q52434511\",\"Q52434245\"].findIndex((v)=\u003Ev===t.Z6091K1) !== -1){\n\t\t\tconst pe=pronomiEnclitici(pnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\t\t\t\t(v.length===3 \u0026\u0026 v.substr(1)===\"ai\") ||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\") ||\n\t\t\t\t\t\t\t[\"à\",\"ì\",\"'\"].findIndex((a)=\u003Ea===v.substr(-1))!==-1\n\t\t\t\t\t\t);\n\t\t\tif (pe!==\"\" \u0026\u0026 ((v.length===3 \u0026\u0026 v.substr(1)===\"ai\")||\n\t\t\t\t\t\t\t(v.length===5 \u0026\u0026 v.substr(3)===\"ai\" \u0026\u0026 v.substr(0,2)===\"ri\"))){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"à\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"a\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"ì\"){\n\t\t\t\treturn v.substr(0,v.length-1)+\"i\"+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-1)===\"'\"){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 (v.substr(-3)===\"are\" || v.substr(-3)===\"ere\" || v.substr(-3)===\"ire\")){\n\t\t\t\treturn v.substr(0,v.length-1)+pe;\n\t\t\t}\n\t\t\tif (pe!==\"\" \u0026\u0026 v.substr(-3)===\"rre\"){\n\t\t\t\treturn v.substr(0,v.length-2)+pe;\n\t\t\t}\n\t\t\treturn v+pe;\n\t\t}\n\t\t//metti all'inizio\n\t\treturn pronomiProclitici(pnOggetto, gOggetto, pnTermine, gTermine,v,i===Z23619K1.length-1,ausiliare)+v;\n\t}\n\t\n\tfunction avverbioDaLessema(a){\n\t\tswitch(a.Z6095K1){\n\t\t\tcase \"L411103\": return \"non\";\n\t\t\tcase \"L21265\": return \"mai\";\n\t\t\tcase \"L21265\": return \"mica\";\n\t\t\tdefault: return formaDaLessema(Z23619K12.get(a.Z6095K1),[]);\n\t\t}\n\t}\n\t\n\tfunction coniugaVerbo(v,t,ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i){\n\t\t//imperativo negativo\n\t\tif (t.Z6091K1===\"Q52434162\" \u0026\u0026 Z23619K4===2n \u0026\u0026 avverbi.findIndex((a)=\u003EelAvverbiNegativi.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)!==-1){\n\t\t\tconst iMai=avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L21265\");\n\t\t\t//se \"mai\" e non \"non\"\n\t\t\tif (iMai!==-1 \u0026\u0026 avverbi.findIndex((a)=\u003Ea.Z6095K1===\"L411103\")===-1){\n\t\t\t\treturn [\"mai\"].concat(coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi.filter((a)=\u003Ea.Z6095K1!==\"L21265\"),i));\n\t\t\t}\n\t\t\treturn coniugaVerbo(v,{Z6091K1: \"Q52434245\"},ausiliare, pnOggetto, gOggetto, pnTermine, gTermine, avverbi,i)\n\t\t}\n\t\tlet rit=[];\n\t\tif (isTempoComposto(t)){\n\t\t\trit=rit.concat(coniugaVerbo(\n\t\t\t\tgetAusiliare(ausiliare),\n\t\t\t\ttempoSempliceDaComposto(t),\n\t\t\t\tausiliare,\n\t\t\t\tpnOggetto, gOggetto, pnTermine, gTermine,\n\t\t\t\tavverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1 || a.Z6095K1===\"L411103\"),\n\t\t\t\ti\n\t\t\t\t));\n\t\t\tlet coniugGenere=true;\n\t\t\tlet coniugNumero=false;\n\t\t\tif (!ausiliare){\n\t\t\t\tif (pnOggetto===0n || pnOggetto===7n){\n\t\t\t\t\tconiugGenere=Z23619K5;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(Z23619K4);\n\t\t\t\t} else {\n\t\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t\t}\n\t\t\t} else if (pnOggetto!==0n){\n\t\t\t\tconiugGenere=gOggetto;\n\t\t\t\tconiugNumero=isPersonaPlurale(pnOggetto);\n\t\t\t}\n\t\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1 \u0026\u0026 a.Z6095K1!==\"L411103\")\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\t\trit.push(getParticipioPassato(v, coniugGenere, coniugNumero));\n\t\t\treturn rit;\n\t\t}\n\t\tlet str_v;\n\t\tif (t.Z6091K1===\"Q12717679\" || t.Z6091K1===\"Q1230649\"){\n\t\t\tstr_v=getParticipioPassato(v,Z23619K5,isPersonaPlurale(Z23619K4))\n\t\t} else if (t.Z6091K1===\"Q10345583\"){\n\t\t\tstr_v=getParticipioPresente(v,isPersonaPlurale(Z23619K4));\n\t\t} else if(t.Z6091K1===\"Q52434245\" \u0026\u0026\n\t\t\t\t\ti!==Z23619K1.length-1 \u0026\u0026\n\t\t\t\t\tv.Z6005K1.Z6095K1!==\"L5139\"){\n\t\t\t//troncamento di infinito\n\t\t\tstr_v=formaDaLessema(v,[t]);\n\t\t\tstr_v=str_v.substr(0,str_v.length-1);\n\t\t} else {\n\t\t\tstr_v=formaDaLessema(v,[t].concat(isTempoPersonale(t) ? getQIDPersona(Z23619K4) : []));\n\t\t}\n\t\t\n\t\t\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)===-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\trit.push(appiccicaPronomi(str_v, t, pnOggetto, gOggetto, pnTermine, gTermine,i,ausiliare));\n\t\trit=rit.concat(avverbi\n\t\t\t\t\t.filter((a)=\u003EelAvverbiDopo.findIndex((b)=\u003Eb===a.Z6095K1)!==-1)\n\t\t\t\t\t.map((a)=\u003EavverbioDaLessema(a)));\n\t\treturn rit;\n\t}\n\n\tlet elencoParole=[];\n\t\n\t// elencoParole=elencoParole.concat(coniugaVerbo(Z23619K12.get(Z23619K1[0].Z6095K1),Z23619K2, Z23619K1.length));\n\tfor (let i=0; i\u003CZ23619K1.length; ++i){\n\t\tlet ausiliare;\n\t\tif (Z23619K6[i]===7n || Z23619K8[i]===7n){\n\t\t\tausiliare=false;\n\t\t} else if (i\u003E=Z23619K1.length-2 \u0026\u0026 Z23619K1[i].Z6095K1!==\"L5139\"){\n\t\t\tausiliare= Z23619K11;\n\t\t} else {\n\t\t\tausiliare=Z23619K1[i].Z6095K1!==\"L5139\";\n\t\t}\n\t\t\n\t\tlet tempo;\n\t\tif (i===0){\n\t\t\ttempo = Z23619K2;\n\t\t} else if (Z23619K1[i-1].Z6095K1===\"L5139\"){\n\t\t\ttempo = {Z6091K1: \"Q12717679\"};\n\t\t} else {\n\t\t\ttempo = {Z6091K1: Z23619K3[i-1]??true ? \"Q52434245\" : \"Q52434302\"};\n\t\t}\n\t\t\n\t\t//eccezione \"ti sei voluta pettinare\"\n\t\tif (i===Z23619K1.length-2 \u0026\u0026\n\t\t\tisTempoComposto(tempo) \u0026\u0026 \n\t\t\t!ausiliare \u0026\u0026\n\t\t\t(Z23619K6[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K8[i]??0n)===0n \u0026\u0026\n\t\t\t(Z23619K3[i]??true)\n\t\t\t){\n\t\t\t\n\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\tZ23619K8[i]=Z23619K8[i+1];\n\t\t\tZ23619K9[i]=Z23619K9[i+1];\n\t\t\t\n\t\t\tZ23619K6[i+1]=0n;\n\t\t\tZ23619K8[i+1]=0n;\n\t\t}\n\t\t\n\t\t//eccezione \"gliela fa fare\"\n\t\tif (Z23619K1[i].Z6095K1===\"L39183\"){\n\t\t\tif (Z23619K6[i]===0n){\n\t\t\t\tZ23619K6[i]=Z23619K6[i+1];\n\t\t\t\tZ23619K7[i]=Z23619K7[i+1];\n\t\t\t\tZ23619K6[i+1]=0n;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\telencoParole=elencoParole.concat(coniugaVerbo(\n\t\t\tZ23619K12.get(Z23619K1[i].Z6095K1),\t\t\t//verbo\n\t\t\ttempo,\t\t\t\t\t\t\t\t\t\t//tempo\n\t\t\tausiliare,\t\t\t\t\t\t\t\t\t//ausiliare\n\t\t\tZ23619K6[i]??0n,\t\t\t\t\t\t\t//pnOggetto\n\t\t\tZ23619K7[i]??true,\t\t\t\t\t\t\t//gOggetto\n\t\t\tZ23619K8[i]??0n,\t\t\t\t\t\t\t//pnTermine\n\t\t\tZ23619K9[i]??true,\t\t\t\t\t\t\t//gTermine\n\t\t\tZ23619K10[i]??[],\t\t\t\t\t\t\t//avverbi\n\t\t\ti,\t\t\t\t\t\t\t\t\t\t\t//i\n\t\t\t));\n\t}\n\treturn elencoParole.reduce((a,b)=\u003Ea+\" \"+b);\n\t\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "sintagma verbale italiano (basso livello), js"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Italian verbal phrase (low level), javascript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
so4d0f5bzwt93u9gt9kux4b2x13e4sj
Z24240
0
55139
272809
182331
2026-05-06T21:23:12Z
YoshiRulz
10156
Added Z34907 to the approved list of implementations
272809
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z24240"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6005",
"Z17K2": "Z24240K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lexeme"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6091"
},
"Z17K2": "Z24240K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "grammatical features"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z60"
},
"Z17K2": "Z24240K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language variants (including default)"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z11"
},
"Z8K3": [
"Z20",
"Z24241"
],
"Z8K4": [
"Z14",
"Z24242",
"Z34907"
],
"Z8K5": "Z24240"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select representations from forms by language"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"filter representations from selected lexeme forms by specified languages"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "for each specified language (variant), returns monolingual text representations from the selected forms (extending “select lexeme forms from lexeme”) "
}
]
}
}
c1ryrcbmu7jl8klzor1ydowuzbouyrl
Talk:Z23254
1
55588
272828
183619
2026-05-07T00:22:46Z
YoshiRulz
10156
Add to category
272828
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
{{FOTW|link=Wikifunctions:Status_updates/2025-04-16#Function(s)_of_the_Week:_date_of_Gregorian_Easter_and_date_of_Julian_Easter|date=2025-04-16}}
2a9zut829qg88b9yd26hwwvl1oan09n
Talk:Z23269
1
55589
272829
183620
2026-05-07T00:22:48Z
YoshiRulz
10156
Add to category
272829
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
{{FOTW|link=Wikifunctions:Status_updates/2025-04-16#Function(s)_of_the_Week:_date_of_Gregorian_Easter_and_date_of_Julian_Easter|date=2025-04-16}}
2a9zut829qg88b9yd26hwwvl1oan09n
User:OwlyKnight
2
62930
272870
264948
2026-05-07T03:38:51Z
J ansari
2643
J ansari moved page [[User:NikolasKHF]] to [[User:OwlyKnight]]: Automatically moved page while renaming the user "[[Special:CentralAuth/NikolasKHF|NikolasKHF]]" to "[[Special:CentralAuth/OwlyKnight|OwlyKnight]]"
264948
wikitext
text/x-wiki
__NOINDEX__
{{#babel:id-N|sas-4|en-3|functioneer}}
A Wikimedia user. Mainly active in [[w:id:Istimewa:Kontribusi pengguna/NikolasKHF|Wikipedia bahasa Indonesia]] and [[s:id:Istimewa:Kontribusi_pengguna/NikolasKHF|Wikisumber bahasa Indonesia]].
== What I did ==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| '''Functions that I created'''
|-
|
* {{Z|Z31648}}
* {{Z|Z30704}}
* {{Z|Z30635}}
* {{Z|Z29156}}
* {{Z|Z29125}}
* {{Z|Z29116}}
* {{Z|Z28498}}
* {{Z|Z28495}}
* {{Z|Z27267}}
* {{Z|Z26704}}
* {{Z|Z26821}}
|}
I modify this implementation of this function:
* {{Z|Z18546}}
I [https://www.wikifunctions.org/w/index.php?title=Special%3AContributions&target=NikolasKHF&namespace=1198&tagfilter=&start=&end=&limit=50 translated a lot of pages to Indonesia].
Other contributions: [[Special:Contributions/NikolasKHF]]
== External links ==
* [[meta:User:NikolasKHF|Meta Page]]
93es2yf3ivgg3cx5yj1n85yw2jei75x
User talk:OwlyKnight
3
63554
272868
239767
2026-05-07T03:38:51Z
J ansari
2643
J ansari moved page [[User talk:NikolasKHF]] to [[User talk:OwlyKnight]]: Automatically moved page while renaming the user "[[Special:CentralAuth/NikolasKHF|NikolasKHF]]" to "[[Special:CentralAuth/OwlyKnight|OwlyKnight]]"
239767
wikitext
text/x-wiki
{{Welcome/lang|user=NikolasKHF|welcominguser=99of9|1=}} --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:49, 10 August 2025 (UTC)
== Test ==
halo kak, @[[User:NikolasKHF|NikolasKHF]] saya baru saja membuat fungsi serta implementasinya https://www.wikifunctions.org/view/en/Z30774 , untuk membuat test apakah implementasinya harus diconnect dulu ya? Jika iya, tolong hubungkan implementasinya 🙏🙏 terimakasih. [[User:Muufii|Muufii]] ([[User talk:Muufii|talk]]) 01:30, 21 December 2025 (UTC)
:Tidak perlu, kak. Sebelumnya, saya mau memastikan, kak, kira-kira rumus yang dipakai apa, ya untuk fungsinya?
:Saya lihat sepertinya semacam <math>a + (n - 1)b</math>, ya? [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 02:01, 21 December 2025 (UTC)
::Betul kak itu fungsinya. Tapi saya coba test gagal. Nah itu saya gapaham kenapa. [[User:Muufii|Muufii]] ([[User talk:Muufii|talk]]) 02:02, 21 December 2025 (UTC)
:::Kalau saya lihat karena {{Z|506}}, kak. Itu karena fungsi yang dipakai di implementasi ({{Z|Z19699}} dan {{Z|Z19706}}) punya jenis input {{Z|19677}}, sementara jenis input dari fungsi yang dibuat adalah {{Z|20838}} dan {{Z|13518}}. Saran saya, pakai fungsi dengan jenis masukan yang sama, misalnya {{Z|21032}}, {{Z|21031}}, dan {{Z|20849}}.
:::Selain itu, karena masukan untuk <code>n</code> itu {{Z|13518}}, saran saya konversi dulu ke {{Z|20838}} pakai {{Z|20936}} atau langsung pakai jenis {{Z|20838}} sekalian. [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 02:36, 21 December 2025 (UTC)
:::Halo Kak @[[User:Muufii|Muufii]], mohon maaf terlambat. Fungsinya sudah saya perbaiki, dan komposisi dengan kasus uji sudah saya hubungkan. Terima kasih! [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 03:48, 3 January 2026 (UTC)
::::Wah terimakasih banyak kak. [[User:Muufii|Muufii]] ([[User talk:Muufii|talk]]) 03:49, 3 January 2026 (UTC)
i5e294wlpuhmyxgalbsxw6ueqqgrgx6
Talk:Z22844
1
64033
272783
212113
2026-05-06T19:59:46Z
YoshiRulz
10156
Add to category
272783
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
== change output type to Integer? ==
Does anyone mind if we change the output type to Integer, so that we can go back further into the past? [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:29, 20 August 2025 (UTC)
:If we do, [[Z24900]] will need to be slightly modified, but I think that's the only knock on effect. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:30, 20 August 2025 (UTC)
:{{ping|Mdktb}} [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:26, 21 August 2025 (UTC)
::Hi @[[User:99of9|99of9]], I don't mind --[[User:Mdktb|Mdktb]] ([[User talk:Mdktb|talk]]) 10:21, 21 August 2025 (UTC)
tt5f5njgyz5janhl76yqixl7tr2enup
Z27868
0
64498
272886
266360
2026-05-07T04:41:37Z
99of9
1622
Added Z34926 to the approved list of test cases
272886
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z27868"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z27868K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "stringa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "文字列"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Untaian"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "řetězec"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z27869",
"Z27870",
"Z34926"
],
"Z8K4": [
"Z14",
"Z27871",
"Z31950"
],
"Z8K5": "Z27868"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "stringa in frammento HTML"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string to HTML fragment"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "文字列からHTMLフラグメントへ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "chaîne en fragment HTML"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Untaian ke fragmen HTML"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "řetězec na HTML fragment"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Zeichenkette zu HTML"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"string as HTML fragment",
"escape HTML"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1062",
"Z31K2": [
"Z6",
"HTML z řetězce"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Converte una stringa in un frammento HTML, convertendo i caratteri riservati"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Converts a string in an HTML fragment, escaping reserved characters"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "予約文字をエスケープしながら、文字列をHTMLフラグメントに変換"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "convertit une chaîne de caractère en fragment HTML"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Mengonversi untaian dalam fragment HTML, mengatasi karakter yang dicadangkan"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "převede text do HTML, případně oescapuje vyhrazené znaky"
}
]
}
}
2b35o1dsbnf57gigxuudwik69yfgzzo
User:OwlyKnight/sandbox
2
71078
272866
236869
2026-05-07T03:38:51Z
J ansari
2643
J ansari moved page [[User:NikolasKHF/sandbox]] to [[User:OwlyKnight/sandbox]]: Automatically moved page while renaming the user "[[Special:CentralAuth/NikolasKHF|NikolasKHF]]" to "[[Special:CentralAuth/OwlyKnight|OwlyKnight]]"
236869
wikitext
text/x-wiki
[[User:NikolasKHF]]'s sandbox.
{{#function:Z12526|80|1.7}}
t02hyoscwa5pby6p6c90fzyvlrjjpst
Z6839
0
77002
272842
263213
2026-05-07T00:53:03Z
YoshiRulz
10156
Trim and downcase en label
272842
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z6839"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z6839K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata item reference"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Wikidata-Datenobjekt-Referenz"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6"
},
"Z17K2": "Z6839K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "projects"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Projekte"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z60"
},
"Z17K2": "Z6839K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "languages"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Sprachen"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6039"
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z6939"
],
"Z8K5": "Z6839"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "fetch Wikidata sitelinks"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "erhalte Wikidata-Seitenlinks"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "For the given item, return its sitelinks to sites matching the given projects and languages. If projects (languages) empty, match any project (language). For possible project values, see Z6039."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gibt für das angegebene Datenobjekt die Seitenlinks für die angegebenen Projekte und Sprachen aus"
}
]
}
}
5gop83lj7xe7fxu3772wsmje7bmgpqi
Category talk:Functions with only code implementations
15
77040
272865
272596
2026-05-07T01:33:56Z
YoshiRulz
10156
/* Surveying all Z8s */
272865
wikitext
text/x-wiki
== Surveying all Z8s ==
I've checked <code>[[Z10000]]</code>–<code>[[Z23471]]</code>. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:46, 21 March 2026 (UTC)
sojyazjr7asmqzhzffk1ke7p4kx5eml
User:Amire80/wikifunctionsanalytics
2
78200
272677
271922
2026-05-06T14:43:42Z
YoshiRulz
10156
/* test_case_and_implementation view */ Fix typos
272677
wikitext
text/x-wiki
<div style="float: right; width: 20%; text-align: center; background-color: beige; padding: 0.5em; margin-left: 0.5em;">
The data is up-to-date with the dump from
'''May 1, 2026'''
<small>[[quarry:query/104016|check actual latest revision]]</small>
</div>
This is the documentation for the '''wikifunctionsanalytics''' tool.
The tool currently doesn't have much of a frontend (and maybe never will). It's just a database that can be queried through [[quarry:|Quarry]]. It includes some (hopefully) useful statistics about Wikifunctions that (probably) cannot be conveniently obtained by other means, such as special pages or APIs.
The source code for building the database is available in [[gitlab:toolforge-repos/wikifunctions-analytics|GitLab]], which is also where you can read the detailed explanation about the motivation to build it.
This page documents the database schema and gives links to some useful example queries. You can also find some example queries in [https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics/-/blob/main/queries.sql?ref_type=heads the queries.sql file in the code repository].
Comments, patches, and bug reports are obviously welcome.
== Caveats ==
* At the moment, the tool is static and gets the information from a dump, so it doesn't have data for the last few days. Perhaps it will be updated to include more recent data.
* The tool is very new and still in very active development, so the database schema is not totally stable and may change according to the author's needs. Expect changes in the names of tables, views, and columns. If your queries fail, check this page to see if the names are correct. Unfortunately, there is no way to make "aliases", "synonyms", or "redirects" for table and column names. The author tries to keep this documentation and the example queries up-to-date, but all people make mistakes and forget things sometimes.
== Connection ==
The database name that can be used in Quarry is <code>s57441__wikifunctionsanalytics_p</code>.
== Tables ==
=== edit_type table ===
This table is used as a simple list of all the possible edit types.
{| class="wikitable"
!column name
!type
!comment
|-
|edit_type
|VARCHAR(70)
|Edit type name.
|}
=== programming_language table ===
This table is used as a simple list of all the possible programming languages.
{| class="wikitable"
!column name
!type
!comment
|-
|programming_language
|VARCHAR(70)
|Programming language name.
|}
=== revision table ===
This table has a row for each non-deleted revision in the main namespace of Wikifunctions. At the moment, the full JSON text of each revision is not stored in the database because it takes a lot of space and makes queries slow, and from the experience so far, it has not been very useful for analytics. If there is demand for it, it can be added.
{| class="wikitable"
|+
!column name
!type
!comment
|-
|rev_id
|BIGINT
|Revision id. Identical to the revision ID in the wiki.
|-
|rev_timestamp
|VARCHAR(20)
|Timestamp in the fromat that the dump uses (not identical to the one used in live MediaWiki databases). Example: 2023-07-26T16:29:23Z
|-
|rev_parent
|BIGINT
|Parent revision id. (At the moment, the earliest revisions have rev_parent of 0 or NULL, although it's probably supposed to be always 0. See [[phab:T420974|bug T420974]].)
|-
|rev_comment
|VARCHAR(500)
|Edit summary.
|-
|rev_page
|VARCHAR(20)
|Page title (ZID).
|-
|rev_username
|VARCHAR(600)
|The account name of the user who made the edit.
|-
|rev_page_type_zid
|VARCHAR(20)
|The ZID of the page's type. Note that this is associated with the ''revision'', not the page; a page's type may change.
|-
|rev_page_type_name
|VARCHAR(70)
|The English name of the page's type. (Note: some obscure types may be unrecognized. In these cases, it will have a ZID identical to what appears in rev_page_type_zid.)
|-
|rev_programming_language
|VARCHAR(70)
|For revisions of implementation pages: The English name of the programming language in which the implementation is written. Current possible values:
* JavaScript
* Python
* Lua
* Composition
* Built in implementation
* Unidentifiable implementation language
* Unidentifiable code language
(All these values can be seen in the [[User:Amire80/wikifunctionsanalytics#programming language table|programming_language table]]; [[quarry:query/103370|Quarry]].)
It's supposed to be filled on all revisions of implementation pages. On pages of other types, it's supposed to be NULL.
|-
|rev_function
|VARCHAR(20)
|For revisions of Test case and Implementation pages: The function with which the test case or the implementation is associated (whether connected or not).
On pages of other types, it's supposed to be NULL.
|-
|rev_connected_test_cases
|INTEGER
|For revisions of function pages: The number of ''connected'' test cases. Can be zero.
NULL on non-function pages.
(For non-connected test cases, use the test_case_and_implementation view.)
|-
|rev_connected_implementations
|INTEGER
|For revisions of implementation pages: The number of ''connected'' implementation. Can be zero.
NULL on non-functions pages.
(For non-connected test cases, use the test_case_and_implementation view.)
|}
=== input table ===
This table links function revisions to input types. Every Function has zero or more inputs.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature, starting from 0.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|-
|input_type_name
|VARCHAR(70)
|The input type's English label.
|}
=== output table ===
This table links function revisions to output types. Every Function has one output.
{| class="wikitable"
!column name
!type
!comment
|-
|output_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|output_type_zid
|VARCHAR(20)
|The output type's ZID.
|-
|output_type_name
|VARCHAR(70)
|The output type's English label.
|}
=== revision_edit_type table ===
This table links revisions to edit types. Every revision can have several edit types, but a combination of a revision and an edit type is supposed to be unique. At the moment, only Function, Implementation, and Test case pages have an edit type; analysis for pages of other types may be added in the future if there's demand.
{| class="wikitable"
!column name
!type
!comment
|-
|revision_edit_type_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|revision_edit_type_edit_type
|VARCHAR(70)
|The edit type. The full list of types appears in the [[User:Amire80/wikifunctionsanalytics#edit type table|edit_type table]] ([[quarry:query/103369|Quarry]]).
|-
|revision_edit_type_natural_language
|VARCHAR(70)
|On edits of string values (labels, aliases, and descriptions), the English name of the natural language of the string. NULL on other edits. (Note 1: This is a language's ''English name'', not ZID or ISO 639 code. If there's demand, it can be easily changed. Note 2: Because of a bug, a few old edits have a value of "Empty language n" in this field. They are't supposed to appear in current versions as of 2026, and can probably be mostly ignored.)
|}
== Views ==
Views provide some stored convenience queries for easy common selections. They can be queried like tables.
=== earliest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the earliest versions of each page. For full information about the earliest revision, use the [[User:Amire80/wikifunctionsanalytics#earliest revision view|earliest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== earliest_revision view ===
This view has all the columns from the revision table, but only for the earliest version of each page. This may be useful, for example, when you need information about the pages' creators. The earliest version is derived from the lowest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== latest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the latest versions of each page. For full information about the latest revision, use the [[User:Amire80/wikifunctionsanalytics#latest revision view|latest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== latest_revision view ===
This view has all the columns from the revision table, but only for the latest version of each page. This may be useful, for example, when you only need information about the current versions of the pages (current to the time of the dump). The latest version is derived from the highest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== multitype_page view ===
This view shows pages whose type changed during their history (in February 2026, there's only one such page). This is useful for quickly finding these pages and for excluding them in other queries.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|count_types
|BIGINT
|The number of types that the page had throughout its history.
|}
=== test_case_and_implementation view ===
This view shows all the function pages (latest versions only), with the total number of test cases and implementations associated with them, as well as the number of ''connected'' test cases and implementations.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|all_test_cases
|INTEGER
|The total number of test cases associated with the function, including non-connected ones.
|-
|connected_test_cases
|INTEGER
|The number of connected test cases. Can be zero.
|-
|all_implementations
|INTEGER
|The total number of implementations associated with the function, including non-connected ones.
|-
|connected_implementations
|INTEGER
|The number of connected implementation.
|}
== Example queries ==
If you find bugs in these queries, report them on the talk page. And of course, add your own!
* [[quarry:query/104016|What's the newest Wikifunctions edit that this tool knows about]]
* [[quarry:query/103074|Wikifunctions whose output type is Z12/Multilingual text]]
* [[quarry:query/103075|Wikifunctions that have an input whose type is Z12/Multilingual text]]
* [[quarry:query/103103|Most prolific Wikifunctions main namespace editors]]
* [[quarry:query/103095|Particular Wikifunctions user's edit types]]
* [[quarry:query/103079|Wikifunctions actual edit types, ordered by count]]
* [[quarry:query/103373|The most common Wikifunctions programming languages]]
* [[quarry:query/103078|Count of significant Wikifunctions changes by month]]
* [[quarry:query/103077|Wikifunctions signature change counts by user]]
* [[quarry:query/103375|Wikifunctions that don't have any inputs defined]]
* [[quarry:query/103376|Wikifunctions with the most connected test cases]]
* [[quarry:query/103377|Wikifunctions with the most connected implementations]]
* [[quarry:query/103378|Wikifunctions implementation code changes per user]]
* [[quarry:query/103379|Wikifunctions implementation pages with multiple programming languages]]
* [[quarry:query/103380|Wikifunctions with the largest number of inputs]]
* [[quarry:query/103390|A Wikifunctions' user most common programming languages]]
* [[quarry:query/103391|The most frequent programmers in a Wikifunctions programming language]]
* [[quarry:query/103397|Wikifunctions with counts of all implementations and test cases]]
* [[quarry:query/103406|Wikifunctions with no implementations and no test cases]]
* [[quarry:query/103437|Wikifunctions with apparently invalid connected test case or implementation count]] (should ideally be zero results)
* [[quarry:query/103687|Wikifunctions labels, aliases, and description changes by language]]
02cgi8m52k77qcnc9uja50ggwznhs4x
272678
272677
2026-05-06T14:44:30Z
YoshiRulz
10156
/* Example queries */ Add tests but no impls query
272678
wikitext
text/x-wiki
<div style="float: right; width: 20%; text-align: center; background-color: beige; padding: 0.5em; margin-left: 0.5em;">
The data is up-to-date with the dump from
'''May 1, 2026'''
<small>[[quarry:query/104016|check actual latest revision]]</small>
</div>
This is the documentation for the '''wikifunctionsanalytics''' tool.
The tool currently doesn't have much of a frontend (and maybe never will). It's just a database that can be queried through [[quarry:|Quarry]]. It includes some (hopefully) useful statistics about Wikifunctions that (probably) cannot be conveniently obtained by other means, such as special pages or APIs.
The source code for building the database is available in [[gitlab:toolforge-repos/wikifunctions-analytics|GitLab]], which is also where you can read the detailed explanation about the motivation to build it.
This page documents the database schema and gives links to some useful example queries. You can also find some example queries in [https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics/-/blob/main/queries.sql?ref_type=heads the queries.sql file in the code repository].
Comments, patches, and bug reports are obviously welcome.
== Caveats ==
* At the moment, the tool is static and gets the information from a dump, so it doesn't have data for the last few days. Perhaps it will be updated to include more recent data.
* The tool is very new and still in very active development, so the database schema is not totally stable and may change according to the author's needs. Expect changes in the names of tables, views, and columns. If your queries fail, check this page to see if the names are correct. Unfortunately, there is no way to make "aliases", "synonyms", or "redirects" for table and column names. The author tries to keep this documentation and the example queries up-to-date, but all people make mistakes and forget things sometimes.
== Connection ==
The database name that can be used in Quarry is <code>s57441__wikifunctionsanalytics_p</code>.
== Tables ==
=== edit_type table ===
This table is used as a simple list of all the possible edit types.
{| class="wikitable"
!column name
!type
!comment
|-
|edit_type
|VARCHAR(70)
|Edit type name.
|}
=== programming_language table ===
This table is used as a simple list of all the possible programming languages.
{| class="wikitable"
!column name
!type
!comment
|-
|programming_language
|VARCHAR(70)
|Programming language name.
|}
=== revision table ===
This table has a row for each non-deleted revision in the main namespace of Wikifunctions. At the moment, the full JSON text of each revision is not stored in the database because it takes a lot of space and makes queries slow, and from the experience so far, it has not been very useful for analytics. If there is demand for it, it can be added.
{| class="wikitable"
|+
!column name
!type
!comment
|-
|rev_id
|BIGINT
|Revision id. Identical to the revision ID in the wiki.
|-
|rev_timestamp
|VARCHAR(20)
|Timestamp in the fromat that the dump uses (not identical to the one used in live MediaWiki databases). Example: 2023-07-26T16:29:23Z
|-
|rev_parent
|BIGINT
|Parent revision id. (At the moment, the earliest revisions have rev_parent of 0 or NULL, although it's probably supposed to be always 0. See [[phab:T420974|bug T420974]].)
|-
|rev_comment
|VARCHAR(500)
|Edit summary.
|-
|rev_page
|VARCHAR(20)
|Page title (ZID).
|-
|rev_username
|VARCHAR(600)
|The account name of the user who made the edit.
|-
|rev_page_type_zid
|VARCHAR(20)
|The ZID of the page's type. Note that this is associated with the ''revision'', not the page; a page's type may change.
|-
|rev_page_type_name
|VARCHAR(70)
|The English name of the page's type. (Note: some obscure types may be unrecognized. In these cases, it will have a ZID identical to what appears in rev_page_type_zid.)
|-
|rev_programming_language
|VARCHAR(70)
|For revisions of implementation pages: The English name of the programming language in which the implementation is written. Current possible values:
* JavaScript
* Python
* Lua
* Composition
* Built in implementation
* Unidentifiable implementation language
* Unidentifiable code language
(All these values can be seen in the [[User:Amire80/wikifunctionsanalytics#programming language table|programming_language table]]; [[quarry:query/103370|Quarry]].)
It's supposed to be filled on all revisions of implementation pages. On pages of other types, it's supposed to be NULL.
|-
|rev_function
|VARCHAR(20)
|For revisions of Test case and Implementation pages: The function with which the test case or the implementation is associated (whether connected or not).
On pages of other types, it's supposed to be NULL.
|-
|rev_connected_test_cases
|INTEGER
|For revisions of function pages: The number of ''connected'' test cases. Can be zero.
NULL on non-function pages.
(For non-connected test cases, use the test_case_and_implementation view.)
|-
|rev_connected_implementations
|INTEGER
|For revisions of implementation pages: The number of ''connected'' implementation. Can be zero.
NULL on non-functions pages.
(For non-connected test cases, use the test_case_and_implementation view.)
|}
=== input table ===
This table links function revisions to input types. Every Function has zero or more inputs.
{| class="wikitable"
!column name
!type
!comment
|-
|input_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|input_position
|INTEGER
|The input's position in the function's signature, starting from 0.
|-
|input_type_zid
|VARCHAR(20)
|The input type's ZID.
|-
|input_type_name
|VARCHAR(70)
|The input type's English label.
|}
=== output table ===
This table links function revisions to output types. Every Function has one output.
{| class="wikitable"
!column name
!type
!comment
|-
|output_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|output_type_zid
|VARCHAR(20)
|The output type's ZID.
|-
|output_type_name
|VARCHAR(70)
|The output type's English label.
|}
=== revision_edit_type table ===
This table links revisions to edit types. Every revision can have several edit types, but a combination of a revision and an edit type is supposed to be unique. At the moment, only Function, Implementation, and Test case pages have an edit type; analysis for pages of other types may be added in the future if there's demand.
{| class="wikitable"
!column name
!type
!comment
|-
|revision_edit_type_rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|revision_edit_type_edit_type
|VARCHAR(70)
|The edit type. The full list of types appears in the [[User:Amire80/wikifunctionsanalytics#edit type table|edit_type table]] ([[quarry:query/103369|Quarry]]).
|-
|revision_edit_type_natural_language
|VARCHAR(70)
|On edits of string values (labels, aliases, and descriptions), the English name of the natural language of the string. NULL on other edits. (Note 1: This is a language's ''English name'', not ZID or ISO 639 code. If there's demand, it can be easily changed. Note 2: Because of a bug, a few old edits have a value of "Empty language n" in this field. They are't supposed to appear in current versions as of 2026, and can probably be mostly ignored.)
|}
== Views ==
Views provide some stored convenience queries for easy common selections. They can be queried like tables.
=== earliest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the earliest versions of each page. For full information about the earliest revision, use the [[User:Amire80/wikifunctionsanalytics#earliest revision view|earliest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== earliest_revision view ===
This view has all the columns from the revision table, but only for the earliest version of each page. This may be useful, for example, when you need information about the pages' creators. The earliest version is derived from the lowest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== latest_revision_id view ===
This view has only the page titles (ZIDs) and the revision ids of the latest versions of each page. For full information about the latest revision, use the [[User:Amire80/wikifunctionsanalytics#latest revision view|latest_revision view]].
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|rev_id
|BIGINT
|Revision id, as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|}
=== latest_revision view ===
This view has all the columns from the revision table, but only for the latest version of each page. This may be useful, for example, when you only need information about the current versions of the pages (current to the time of the dump). The latest version is derived from the highest rev_id. For full information about all the columns, see [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
=== multitype_page view ===
This view shows pages whose type changed during their history (in February 2026, there's only one such page). This is useful for quickly finding these pages and for excluding them in other queries.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|count_types
|BIGINT
|The number of types that the page had throughout its history.
|}
=== test_case_and_implementation view ===
This view shows all the function pages (latest versions only), with the total number of test cases and implementations associated with them, as well as the number of ''connected'' test cases and implementations.
{| class="wikitable"
!column name
!type
!comment
|-
|rev_page
|VARCHAR(20)
|Page title (ZID), as in the [[User:Amire80/wikifunctionsanalytics#revision table|revision table]].
|-
|all_test_cases
|INTEGER
|The total number of test cases associated with the function, including non-connected ones.
|-
|connected_test_cases
|INTEGER
|The number of connected test cases. Can be zero.
|-
|all_implementations
|INTEGER
|The total number of implementations associated with the function, including non-connected ones.
|-
|connected_implementations
|INTEGER
|The number of connected implementation.
|}
== Example queries ==
If you find bugs in these queries, report them on the talk page. And of course, add your own!
* [[quarry:query/104016|What's the newest Wikifunctions edit that this tool knows about]]
* [[quarry:query/103074|Wikifunctions whose output type is Z12/Multilingual text]]
* [[quarry:query/103075|Wikifunctions that have an input whose type is Z12/Multilingual text]]
* [[quarry:query/103103|Most prolific Wikifunctions main namespace editors]]
* [[quarry:query/103095|Particular Wikifunctions user's edit types]]
* [[quarry:query/103079|Wikifunctions actual edit types, ordered by count]]
* [[quarry:query/103373|The most common Wikifunctions programming languages]]
* [[quarry:query/103078|Count of significant Wikifunctions changes by month]]
* [[quarry:query/103077|Wikifunctions signature change counts by user]]
* [[quarry:query/103375|Wikifunctions that don't have any inputs defined]]
* [[quarry:query/103376|Wikifunctions with the most connected test cases]]
* [[quarry:query/103377|Wikifunctions with the most connected implementations]]
* [[quarry:query/103378|Wikifunctions implementation code changes per user]]
* [[quarry:query/103379|Wikifunctions implementation pages with multiple programming languages]]
* [[quarry:query/103380|Wikifunctions with the largest number of inputs]]
* [[quarry:query/103390|A Wikifunctions' user most common programming languages]]
* [[quarry:query/103391|The most frequent programmers in a Wikifunctions programming language]]
* [[quarry:query/103397|Wikifunctions with counts of all implementations and test cases]]
* [[quarry:query/103406|Wikifunctions with no implementations and no test cases]]
* [[quarry:query/105084|Wikifunctions with (connected) test cases but no (connected) implementations]]
* [[quarry:query/103437|Wikifunctions with apparently invalid connected test case or implementation count]] (should ideally be zero results)
* [[quarry:query/103687|Wikifunctions labels, aliases, and description changes by language]]
nn1j9tovpo9b6umickxiysvdoc7fyzu
Z32758
0
79155
272788
272054
2026-05-06T20:06:07Z
GrounderUK
50
Added Z34897 to the approved list of implementations
272788
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32758"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z31",
"Z17K2": "Z32758K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "first monolingual stringset"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z31",
"Z17K2": "Z32758K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "second monolingual stringset"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z32760",
"Z32761",
"Z32762",
"Z32763"
],
"Z8K4": [
"Z14",
"Z34735",
"Z32759",
"Z34897"
],
"Z8K5": "Z32758"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "identical monolingual stringset"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"equal monolingual stringset",
"same monolingual stringset",
"monolingual stringset equality",
"==Z31"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "true if the two monolingual stringsets are exactly identical"
}
]
}
}
juxzun4kprkhtp96e5usemnpar3hzpg
272814
272788
2026-05-06T21:45:22Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
272814
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32758"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z31",
"Z17K2": "Z32758K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "first monolingual stringset"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z31",
"Z17K2": "Z32758K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "second monolingual stringset"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z32760",
"Z32761",
"Z32762",
"Z32763"
],
"Z8K4": [
"Z14",
"Z34897",
"Z34735",
"Z32759"
],
"Z8K5": "Z32758"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "identical monolingual stringset"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"equal monolingual stringset",
"same monolingual stringset",
"monolingual stringset equality",
"==Z31"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "true if the two monolingual stringsets are exactly identical"
}
]
}
}
m0jk9md14x340g7mx5e5smv7xvlkrb6
Z33837
0
80847
272846
268744
2026-05-07T00:59:40Z
Redmin
52094
272846
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z33837"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6096",
"Z17K2": "Z33837K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Sense reference"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z12"
},
"Z8K3": [
"Z20",
"Z33838"
],
"Z8K4": [
"Z14",
"Z33947"
],
"Z8K5": "Z33837"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "(!) all possible translations of a lexeme sense"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns all possible translations of a lexeme sense using P5972 statements whenever possible and falling back on labels of the item linked using P5137 otherwise; should work well for Q1084 and Q24905"
}
]
}
}
n8nfcqwpjbbspekg9enyv5qeu6819lv
Z33946
0
80969
272848
271589
2026-05-07T01:01:24Z
Redmin
52094
Added Z34670 to the approved list of implementations
272848
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z33946"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6096",
"Z17K2": "Z33946K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Sense ID"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6092",
"Z17K2": "Z33946K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Property ID"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z34671"
],
"Z8K4": [
"Z14",
"Z34670"
],
"Z8K5": "Z33946"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata lexeme sense has statement?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns a Boolean indicating whether the sense has a statement for the given property reference"
}
]
}
}
fy3dafkvkhcl0oeril85fjoym67bs1n
Z33983
0
81056
272687
268204
2026-05-06T15:50:57Z
Dv103
11127
Removed Z33990, Z33994, Z34033, Z34035, Z34034 e Z34038 from the approved list of test cases
272687
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z33983"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z33983K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "JSON"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z6",
"Z883K2": "Z1"
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z33985"
],
"Z8K5": "Z33983"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tokenize JSON"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"parse JSON to tokens"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns a representation of the given JSON where objects are Typed maps, arrays are Typed lists and values are type-value pairs (i.e. Typed pair(\"type\",value))"
}
]
}
}
oo3mtz09dz1rvk8e9ecrshqvdgh8xbb
272688
272687
2026-05-06T15:50:59Z
Dv103
11127
Removed Z33985 from the approved list of implementations
272688
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z33983"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z33983K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "JSON"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z6",
"Z883K2": "Z1"
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z33983"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tokenize JSON"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"parse JSON to tokens"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns a representation of the given JSON where objects are Typed maps, arrays are Typed lists and values are type-value pairs (i.e. Typed pair(\"type\",value))"
}
]
}
}
04fj155rjdqmh6hdhhgjw74quyj4fvs
272689
272688
2026-05-06T15:51:29Z
Dv103
11127
this function might return also lists
272689
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z33983"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z33983K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "JSON"
}
]
}
}
],
"Z8K2": "Z1",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z33983"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tokenize JSON"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"parse JSON to tokens"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns a representation of the given JSON where objects are Typed maps, arrays are Typed lists and values are type-value pairs (i.e. Typed pair(\"type\",value))"
}
]
}
}
5yth3hmbohzim4z8co7hbnn07le0pci
272690
272689
2026-05-06T15:51:39Z
Dv103
11127
Added Z33990, Z33994, Z34033, Z34035, Z34034, Z34038 e Z34700 to the approved list of test cases
272690
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z33983"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z33983K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "JSON"
}
]
}
}
],
"Z8K2": "Z1",
"Z8K3": [
"Z20",
"Z33990",
"Z33994",
"Z34033",
"Z34035",
"Z34034",
"Z34038",
"Z34700"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z33983"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tokenize JSON"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"parse JSON to tokens"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns a representation of the given JSON where objects are Typed maps, arrays are Typed lists and values are type-value pairs (i.e. Typed pair(\"type\",value))"
}
]
}
}
ekvcltlpy4nwyfb1ugno6xwlu8mk9dk
272691
272690
2026-05-06T15:51:55Z
Dv103
11127
Added Z34871 to the approved list of implementations
272691
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z33983"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z33983K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "JSON"
}
]
}
}
],
"Z8K2": "Z1",
"Z8K3": [
"Z20",
"Z33990",
"Z33994",
"Z34033",
"Z34035",
"Z34034",
"Z34038",
"Z34700"
],
"Z8K4": [
"Z14",
"Z34871"
],
"Z8K5": "Z33983"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tokenize JSON"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"parse JSON to tokens"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns a representation of the given JSON where objects are Typed maps, arrays are Typed lists and values are type-value pairs (i.e. Typed pair(\"type\",value))"
}
]
}
}
jz4fa9p6sjk6n24h9644psvufvu6jdj
User:HenkvD
2
81186
272658
272134
2026-05-06T12:44:19Z
HenkvD
1290
272658
wikitext
text/x-wiki
{|id="sisterwikis" style="margin: 2px .4em; clear: right; float: right; margin-right: 0; color: inherit; background: var(--background-color-success-subtle, #F1F8F1); border: 1px solid var(--border-color-content-added, #9BF); border-collapse: collapse"
| '''User:HenkvD on:'''
|-
| Wikifunctions
|-
| [[abstract:User:HenkvD|Abstract Wikipedia]]
|}
My name is Henk, from the Netherlands ([[:nl:Gebruiker:HenkvD]]).
{{#babel:nl|en-3|de-1}}
* [[Z26039|Z26039 subject is instance of (string)]] nl: [[File:OOjs UI icon check-constructive.svg|20px]] "Nairobi is een stad"
** Test
*** [[Z33774|Z33774 NL Test case: Nairobi is een stad]], 19/4/2026. Not yet OK per 25/4/16, but OK [[File:OOjs UI icon check-constructive.svg|20px]] per 28/4/2026
** Implementation
*** [[Z33725|Z33725 subject is instance of, with needed args]] (composition)
**** [[Z26043|Z26043 config for article-less instantiating sentences]] (Dutch was missing 25/4/26)
***** [[Z33420|Z33420 subject is instance of, default]]
****** Implementation [[Z33421|Z33421 subject is instance of, default, compose set note]] -> "Nairobi ∈ {stad}"
******* [[File:Dialog-information on.svg|20px]] proposal to change to label of P31 (to do)
**** 25/4/2026 added [[Z31317|Z31317 Dutch article-less instantiating sentence]] (which is OK) [[File:OOjs UI icon check-constructive.svg|20px]] "Nairobi is een stad"
***** [[Z22511|Z22511 capitalise first letter and add full stop]] in language independend and does NOT capitalize ijzer correctly -> IJzer [[file:Codex icon close color-error.svg|20px]] "Ijzer is een metaal." (1/5/2026) See also test [[Talk:Z30783]]. (1/5/2026)
****** test [[Z34689|Z34689 [nl] IJzer is een metaal.]] [[file:Codex icon close color-error.svg|20px]] 2/5/2026
** Implemetation
*** [[Z10771|Z10771 sentence case]] 2/5/25 added comment and 2 [nl] test cases, both [[file:Codex icon close color-error.svg|20px]]
* [[Z12627|Z12627 Dutch plural]])
** Implementation
*** [[Z12628|Z12628 Python Dutch plural]] (python, with code)
*** [[Z19434|Z19434 Dutch plural Javascript]] (disconnected)
Usefull pages:
* [[Wikifunctions:Status updates]]
* [[Wikifunctions:Requests for connection and disconnection]]
* [[Wikifunctions:Requests for user groups]]
Wikidata queries
* [https://query.wikidata.org/#%23%20Gender%20of%20City%20per%20langague%0ASELECT%20%3Fl%20%3Flemma%20%3Fsense%20%3Fgender%20%3FgenderLabel%20%28LANG%28%3Flemma%29%20AS%20%3Flanguage%29%0AWHERE%20%7B%0A%20%20%20%20%20%20%3Fsense%20wdt%3AP5137%20wd%3AQ515.%20%20%20%23%20City%0A%20%20%20%20%20%20%3Fl%20ontolex%3Asense%20%3Fsense.%0A%20%20%20%20%20%20%3Fl%20wikibase%3Alemma%20%3Flemma.%20%20%20%23%20FILTER%28LANG%28%3Flemma%29%3D%22de%22%29%0A%20%20%20%20%20%20%3Fl%20wdt%3AP5185%20%3Fgender.%0A%20%20%20%20%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%7D Gender of City per langague ]
aqqkvknjam7pmh8xql2f1j445di28j3
272659
272658
2026-05-06T13:38:16Z
HenkvD
1290
272659
wikitext
text/x-wiki
{|id="sisterwikis" style="margin: 2px .4em; clear: right; float: right; margin-right: 0; color: inherit; background: var(--background-color-success-subtle, #F1F8F1); border: 1px solid var(--border-color-content-added, #9BF); border-collapse: collapse"
| '''User:HenkvD on:'''
|-
| Wikifunctions
|-
| [[abstract:User:HenkvD|Abstract Wikipedia]]
|}
My name is Henk, from the Netherlands ([[:nl:Gebruiker:HenkvD]]).
I am interested in Abstract Wikipedia functionality and have general knowledge if the Dutch language (as native speaker). As most other the Dutch persons I have good knowledge of English and some of German and a bit of French and Romance languages.<br>
I have an IT background, and try to understand the programming in Wikifunctions, but can't actually program them, except minor adjustments.<br>
I will try to analyse Wikifunction, Wikidata, lexemes and add Wikifunction tests if needed.
{{#babel:nl|en-3|de-1}}
* [[Z26039|Z26039 subject is instance of (string)]] nl: [[File:OOjs UI icon check-constructive.svg|20px]] "Nairobi is een stad"
** Test
*** [[Z33774|Z33774 NL Test case: Nairobi is een stad]], 19/4/2026. Not yet OK per 25/4/16, but OK [[File:OOjs UI icon check-constructive.svg|20px]] per 28/4/2026
** Implementation
*** [[Z33725|Z33725 subject is instance of, with needed args]] (composition)
**** [[Z26043|Z26043 config for article-less instantiating sentences]] (Dutch was missing 25/4/26)
***** [[Z33420|Z33420 subject is instance of, default]]
****** Implementation [[Z33421|Z33421 subject is instance of, default, compose set note]] -> "Nairobi ∈ {stad}"
******* [[File:Dialog-information on.svg|20px]] proposal to change to label of P31 (to do)
**** 25/4/2026 added [[Z31317|Z31317 Dutch article-less instantiating sentence]] (which is OK) [[File:OOjs UI icon check-constructive.svg|20px]] "Nairobi is een stad"
***** [[Z22511|Z22511 capitalise first letter and add full stop]] in language independend and does NOT capitalize ijzer correctly -> IJzer [[file:Codex icon close color-error.svg|20px]] "Ijzer is een metaal." (1/5/2026) See also test [[Talk:Z30783]]. (1/5/2026)
****** test [[Z34689|Z34689 [nl] IJzer is een metaal.]] [[file:Codex icon close color-error.svg|20px]] 2/5/2026
** Implemetation
*** [[Z10771|Z10771 sentence case]] 2/5/25 added comment and 2 [nl] test cases, both [[file:Codex icon close color-error.svg|20px]]
* [[Z12627|Z12627 Dutch plural]])
** Implementation
*** [[Z12628|Z12628 Python Dutch plural]] (python, with code)
*** [[Z19434|Z19434 Dutch plural Javascript]] (disconnected)
Usefull pages:
* [[Wikifunctions:Status updates]]
* [[Wikifunctions:Requests for connection and disconnection]]
* [[Wikifunctions:Requests for user groups]]
Wikidata queries
* [https://query.wikidata.org/#%23%20Gender%20of%20City%20per%20langague%0ASELECT%20%3Fl%20%3Flemma%20%3Fsense%20%3Fgender%20%3FgenderLabel%20%28LANG%28%3Flemma%29%20AS%20%3Flanguage%29%0AWHERE%20%7B%0A%20%20%20%20%20%20%3Fsense%20wdt%3AP5137%20wd%3AQ515.%20%20%20%23%20City%0A%20%20%20%20%20%20%3Fl%20ontolex%3Asense%20%3Fsense.%0A%20%20%20%20%20%20%3Fl%20wikibase%3Alemma%20%3Flemma.%20%20%20%23%20FILTER%28LANG%28%3Flemma%29%3D%22de%22%29%0A%20%20%20%20%20%20%3Fl%20wdt%3AP5185%20%3Fgender.%0A%20%20%20%20%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%7D Gender of City per langague ]
i5rrum82t96xhrhsesimqu6s8ozqg1r
Z34132
0
81272
272698
269578
2026-05-06T17:09:30Z
Redmin
52094
Removed Z34266 from the approved list of test cases
272698
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"
]
}
}
ism9bawi52fxg4wnpd8a3rjvbriadjt
Talk:Z22571
1
81416
272735
271705
2026-05-06T19:00:22Z
YoshiRulz
10156
Add to category
272735
wikitext
text/x-wiki
== Names support ==
{{ping|JJPMaster|Lovelano}} This function should now support proper rendering of names and proper nouns. I added the test case {{Z|Z34686}} to make sure of this and it appears to work fine now. Let me know if you run into any issues. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 01:56, 2 May 2026 (UTC)
:I am aware that it's not able to handle punctuation at the moment, I'm currently working on that ('''Edit''': it is done, {{Z|Z34687}}). — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 02:16, 2 May 2026 (UTC)
[[Category:Functions_with_only_code_implementations]]
[[Category:toki pona]]
4ezgrcquga7kl9mhmxm8avl5myk8shx
Talk:Z22455
1
81417
272728
269245
2026-05-06T18:49:20Z
YoshiRulz
10156
Add to category
272728
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
[[Category:toki pona]]
q6l807gkalqj2q8xlh20yw24vmmpd22
Z34434
0
81739
272694
270170
2026-05-06T16:21:54Z
Jsamwrites
938
Added Z34877 to the approved list of test cases
272694
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34434"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34434K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z34436",
"Z34877"
],
"Z8K4": [
"Z14",
"Z34435"
],
"Z8K5": "Z34434"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Classifying sentence in French"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
d64ysdv2qocemwllu5qxjidb0essg6q
Z34473
0
81884
272704
270654
2026-05-06T17:43:04Z
Dv103
11127
272704
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34473"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z23619",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z23619",
"Z23619K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L14169"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L1205291"
}
],
"Z23619K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q3686414"
},
"Z23619K3": [
"Z40",
{
"Z1K1": "Z40",
"Z40K1": "Z42"
}
],
"Z23619K4": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"Z23619K5": {
"Z1K1": "Z40",
"Z40K1": "Z42"
},
"Z23619K6": [
"Z13518",
{
"Z1K1": "Z13518",
"Z13518K1": "0"
},
{
"Z1K1": "Z13518",
"Z13518K1": "7"
}
],
"Z23619K7": [
"Z40"
],
"Z23619K8": [
"Z13518"
],
"Z23619K9": [
"Z40"
],
"Z23619K10": {
"Z1K1": "Z7",
"Z7K1": "Z15142",
"Z15142K1": [
"Z1"
]
},
"Z23619K11": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z23619K12": {
"Z1K1": "Z7",
"Z7K1": "Z30260",
"Z30260K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L14169"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L5139"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L5138"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L1205291"
}
],
"Z30260K2": [
"Z6030"
],
"Z30260K3": [
"Z60"
],
"Z30260K4": [
"Z6092"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "vorresti esserti pettinata"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "vorresti esserti pettinata"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
06o5w6t8dpsp8mynspt8uzvwxs85nbn
Z34670
0
82205
272847
271588
2026-05-07T01:01:16Z
Redmin
52094
272847
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34670"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z33946",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z23120",
"Z23120K1": {
"Z1K1": "Z7",
"Z7K1": "Z28548",
"Z28548K1": {
"Z1K1": "Z7",
"Z7K1": "Z23116",
"Z23116K1": {
"Z1K1": "Z7",
"Z7K1": "Z6826",
"Z6826K1": {
"Z1K1": "Z18",
"Z18K1": "Z33946K1"
}
}
},
"Z28548K2": [
"Z6092",
{
"Z1K1": "Z18",
"Z18K1": "Z33946K2"
}
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata lexeme sense has statement?, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fvj6oqz6h2w6ysuwtto7h3d6uou9d0l
Z34671
0
82206
272851
271587
2026-05-07T01:02:56Z
Redmin
52094
+en label
272851
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34671"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z33946",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z33946",
"Z33946K1": {
"Z1K1": "Z6096",
"Z6096K1": "L511-S1"
},
"Z33946K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5137"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "L511-S1 has P5137 statement"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fy0zfh90yo67lpevu0tj0ex9qssv6m4
Z34700
0
82268
272653
271835
2026-05-06T12:11:03Z
Some helpful person
65824
272653
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34700"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z33983",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z33983",
"Z33983K1": "[\"string\", 23]"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z18646",
"Z18646K2": [
"Z1",
{
"Z1K1": "Z7",
"Z7K1": "Z30289",
"Z30289K1": {
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z1",
"Z882K2": "Z1"
},
"K1": "string",
"K2": "hmm"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z30289",
"Z30289K1": {
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z1",
"Z882K2": "Z1"
},
"K1": "number",
"K2": "23"
}
}
],
"Z18646K3": "Z19586"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[\"hmm\", 23]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
a5602rw2c2jn2qnds4rr38ad2j91da9
272654
272653
2026-05-06T12:11:22Z
Some helpful person
65824
272654
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34700"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z33983",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z33983",
"Z33983K1": "[\"hmm\", 23]"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z18646",
"Z18646K2": [
"Z1",
{
"Z1K1": "Z7",
"Z7K1": "Z30289",
"Z30289K1": {
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z1",
"Z882K2": "Z1"
},
"K1": "string",
"K2": "hmm"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z30289",
"Z30289K1": {
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z1",
"Z882K2": "Z1"
},
"K1": "number",
"K2": "23"
}
}
],
"Z18646K3": "Z19586"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[\"hmm\", 23]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
lgtzvd7ttmdf8nhh1lwa2288kke8n0p
272655
272654
2026-05-06T12:18:10Z
Some helpful person
65824
272655
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34700"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z33983",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z33983",
"Z33983K1": "[\"hmm\", 23]"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z18646",
"Z18646K2": [
"Z1",
{
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z1",
"Z882K2": "Z1"
},
"K1": "string",
"K2": "hmm"
},
{
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z1",
"Z882K2": "Z1"
},
"K1": "number",
"K2": "23"
}
],
"Z18646K3": "Z19586"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[\"hmm\", 23]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
cvcienb8j5rct4z02rb82p9vcx4dq5v
272656
272655
2026-05-06T12:18:52Z
Some helpful person
65824
272656
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34700"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z33983",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z33983",
"Z33983K1": "[\"hmm\", 23]"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z18646",
"Z18646K2": [
"Z1",
{
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z6",
"Z882K2": "Z6"
},
"K1": "string",
"K2": "hmm"
},
{
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z6",
"Z882K2": "Z6"
},
"K1": "number",
"K2": "23"
}
],
"Z18646K3": "Z19586"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[\"hmm\", 23]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
b1jf1g125y4obe9jrfvm8t8bkf6i80r
272657
272656
2026-05-06T12:21:15Z
Some helpful person
65824
272657
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34700"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z33983",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z33983",
"Z33983K1": "[\"hmm\", 23]"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z18646",
"Z18646K2": [
{
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z6",
"Z882K2": "Z6"
},
{
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z6",
"Z882K2": "Z6"
},
"K1": "string",
"K2": "hmm"
},
{
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z6",
"Z882K2": "Z6"
},
"K1": "number",
"K2": "23"
}
],
"Z18646K3": "Z19586"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[\"hmm\", 23]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
98wcsshd4crmy18lih5gjo4alnf9aco
Z34738
0
82343
272763
272055
2026-05-06T19:42:00Z
GrounderUK
50
[[Z32758]]🔀[[Z832]]
272763
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34738"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34736",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K1": {
"Z1K1": "Z7",
"Z7K1": "Z803",
"Z803K1": {
"Z1K1": "Z39",
"Z39K1": "Z32K1"
},
"Z803K2": {
"Z1K1": "Z18",
"Z18K1": "Z34736K1"
}
},
"Z889K2": {
"Z1K1": "Z7",
"Z7K1": "Z803",
"Z803K1": {
"Z1K1": "Z39",
"Z39K1": "Z32K1"
},
"Z803K2": {
"Z1K1": "Z18",
"Z18K1": "Z34736K2"
}
},
"Z889K3": "Z832"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "same multilingual stringset, Composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
624tvvp6qpm6h6lefjximltsa8x24ls
Z34780
0
82474
272894
272323
2026-05-07T06:54:30Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
272894
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34780"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z34780K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z34781",
"Z34782",
"Z34783",
"Z34784",
"Z34785"
],
"Z8K4": [
"Z14",
"Z34788",
"Z34786"
],
"Z8K5": "Z34780"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "signum (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns -1.0, 0.0, or 1.0 for negative finite, zero, and positive finite values respectively"
}
]
}
}
k93gop1g5eghp1qcbxiadmgm0zj19vv
Z34811
0
82526
272923
272455
2026-05-07T10:05:32Z
Jsamwrites
938
272923
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34811"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34811K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34811K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z12",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z34814"
],
"Z8K5": "Z34811"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "monolingual label of item reference in language"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
mtbnrjcv69zf99hftqxit9slaxux4uq
Z34814
0
82529
272924
272451
2026-05-07T10:05:50Z
Jsamwrites
938
272924
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34814"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34811",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": {
"Z1K1": "Z18",
"Z18K1": "Z34811K2"
},
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z34811K1"
},
"Z23753K2": {
"Z1K1": "Z18",
"Z18K1": "Z34811K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "monolingual label of item reference in lang, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
iquxyab8e1x4jrgoa1c6jzmmk50hilf
Z34854
0
82580
272681
272602
2026-05-06T15:02:15Z
YoshiRulz
10156
Added Z34872 to the approved list of test cases
272681
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34854"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34854K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "langcode"
}
]
}
}
],
"Z8K2": "Z60",
"Z8K3": [
"Z20",
"Z34855",
"Z34856",
"Z34857",
"Z34858",
"Z34859",
"Z34872"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34854"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infer script for Natural language"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns a langcode which specifies the script, assuming one isn't already specified, based off the language and country parts of the code"
}
]
}
}
n7h91nh6ghy9cvmbsh6gjxoutaso8zd
272686
272681
2026-05-06T15:20:19Z
YoshiRulz
10156
Added Z34873, Z34874, Z34875 and Z34876 to the approved list of test cases
272686
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34854"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34854K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "langcode"
}
]
}
}
],
"Z8K2": "Z60",
"Z8K3": [
"Z20",
"Z34855",
"Z34856",
"Z34857",
"Z34858",
"Z34859",
"Z34872",
"Z34873",
"Z34874",
"Z34875",
"Z34876"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34854"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infer script for Natural language"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns a langcode which specifies the script, assuming one isn't already specified, based off the language and country parts of the code"
}
]
}
}
2kigj9xkkh5tsax40huiwo7apeyum0r
272696
272686
2026-05-06T16:43:16Z
YoshiRulz
10156
Added Z34860 to the approved list of implementations
272696
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34854"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34854K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "langcode"
}
]
}
}
],
"Z8K2": "Z60",
"Z8K3": [
"Z20",
"Z34855",
"Z34856",
"Z34857",
"Z34858",
"Z34859",
"Z34872",
"Z34873",
"Z34874",
"Z34875",
"Z34876"
],
"Z8K4": [
"Z14",
"Z34860"
],
"Z8K5": "Z34854"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infer script for Natural language"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns a langcode which specifies the script, assuming one isn't already specified, based off the language and country parts of the code"
}
]
}
}
h86i0j1xgyi4b9kdx0jcnlxt6ceed13
Z34860
0
82586
272695
272603
2026-05-06T16:42:26Z
YoshiRulz
10156
Finish implementation
272695
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34860"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34854",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "const zobjRef = zid =\u003E ({ \"Z1K1\": \"Z9\", \"Z9K1\": zid });\nconst zobj = (typeZID, props) =\u003E new ZObject(new Map(props), zobjRef(typeZID));\n\nconst ARABIC = \"arab\";\nconst CYRILLIC = \"cyrl\";\nconst DEVANAGARI = \"deva\";\nconst LATIN = \"latn\";\n/** follows `Suppress-Script` in https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry, all 2- and 3-letter codes with that metadata (and without `Preferred-Value` or `Deprecated`) are here as of 2026-05-05 */\nconst lookup = {\n\tab: _ =\u003E CYRILLIC,\n\taf: _ =\u003E LATIN,\n\tam: _ =\u003E \"ethi\",\n\tar: _ =\u003E ARABIC,\n\tas: _ =\u003E \"beng\",\n\tay: _ =\u003E LATIN,\n\tbe: _ =\u003E CYRILLIC,\n\tbg: _ =\u003E CYRILLIC,\n\tbn: _ =\u003E \"beng\",\n\tbs: _ =\u003E LATIN,\n\tca: _ =\u003E LATIN,\n\tch: _ =\u003E LATIN,\n\tcs: _ =\u003E LATIN,\n\tcy: _ =\u003E LATIN,\n\tda: _ =\u003E LATIN,\n\tde: _ =\u003E LATIN,\n\tdv: _ =\u003E \"thaa\",\n\tdz: _ =\u003E \"tibt\",\n\tel: _ =\u003E \"grek\",\n\ten: _ =\u003E LATIN,\n\teo: _ =\u003E LATIN,\n\tes: _ =\u003E LATIN,\n\tet: _ =\u003E LATIN,\n\teu: _ =\u003E LATIN,\n\tfa: _ =\u003E ARABIC,\n\tfi: _ =\u003E LATIN,\n\tfj: _ =\u003E LATIN,\n\tfo: _ =\u003E LATIN,\n\tfr: _ =\u003E LATIN,\n\tfy: _ =\u003E LATIN,\n\tga: _ =\u003E LATIN,\n\tgl: _ =\u003E LATIN,\n\tgn: _ =\u003E LATIN,\n\tgu: _ =\u003E \"gujr\",\n\tgv: _ =\u003E LATIN,\n\the: _ =\u003E \"hebr\",\n\thi: _ =\u003E DEVNAGARI,\n\thr: _ =\u003E LATIN,\n\tht: _ =\u003E LATIN,\n\thu: _ =\u003E LATIN,\n\thy: _ =\u003E \"armn\",\n\tid: _ =\u003E LATIN,\n\tis: _ =\u003E LATIN,\n\tit: _ =\u003E LATIN,\n\tja: _ =\u003E \"jpan\",\n\tka: _ =\u003E \"geor\",\n\tkk: _ =\u003E CYRILLIC,\n\tkl: _ =\u003E LATIN,\n\tkm: _ =\u003E \"khmr\",\n\tkn: _ =\u003E \"knda\",\n\tko: _ =\u003E \"kore\",\n\tla: _ =\u003E LATIN,\n\tlb: _ =\u003E LATIN,\n\tln: _ =\u003E LATIN,\n\tlo: _ =\u003E \"laoo\",\n\tlt: _ =\u003E LATIN,\n\tlv: _ =\u003E LATIN,\n\tmg: _ =\u003E LATIN,\n\tmh: _ =\u003E LATIN,\n\tmk: _ =\u003E CYRILLIC,\n\tml: _ =\u003E \"mlym\",\n\tmr: _ =\u003E DEVNAGARI,\n\tms: _ =\u003E LATIN,\n\tmt: _ =\u003E LATIN,\n\tmy: _ =\u003E \"mymr\",\n\tna: _ =\u003E LATIN,\n\tnb: _ =\u003E LATIN,\n\tnd: _ =\u003E LATIN,\n\tne: _ =\u003E DEVNAGARI,\n\tnl: _ =\u003E LATIN,\n\tnn: _ =\u003E LATIN,\n\tno: _ =\u003E LATIN,\n\tnr: _ =\u003E LATIN,\n\tny: _ =\u003E LATIN,\n\tom: _ =\u003E LATIN,\n\tor: _ =\u003E \"orya\",\n\tpa: _ =\u003E \"guru\",\n\tpl: _ =\u003E LATIN,\n\tps: _ =\u003E ARABIC,\n\tpt: _ =\u003E LATIN,\n\tqu: _ =\u003E LATIN,\n\trm: _ =\u003E LATIN,\n\trn: _ =\u003E LATIN,\n\tro: _ =\u003E LATIN,\n\tru: _ =\u003E CYRILLIC,\n\trw: _ =\u003E LATIN,\n\tsg: _ =\u003E LATIN,\n\tsi: _ =\u003E \"sinh\",\n\tsk: _ =\u003E LATIN,\n\tsl: _ =\u003E LATIN,\n\tsm: _ =\u003E LATIN,\n\tso: _ =\u003E LATIN,\n\tsq: _ =\u003E LATIN,\n\tss: _ =\u003E LATIN,\n\tst: _ =\u003E LATIN,\n\tsv: _ =\u003E LATIN,\n\tsw: _ =\u003E LATIN,\n\tta: _ =\u003E \"taml\",\n\tte: _ =\u003E \"telu\",\n\tth: _ =\u003E \"thai\",\n\tti: _ =\u003E \"ethi\",\n\ttl: _ =\u003E LATIN,\n\ttn: _ =\u003E LATIN,\n\tto: _ =\u003E LATIN,\n\ttr: _ =\u003E LATIN,\n\tts: _ =\u003E LATIN,\n\tuk: _ =\u003E CYRILLIC,\n\tur: _ =\u003E ARABIC,\n\tve: _ =\u003E LATIN,\n\tvi: _ =\u003E LATIN,\n\txh: _ =\u003E LATIN,\n\tyi: _ =\u003E \"hebr\",\n\tzu: _ =\u003E LATIN,\n\tdsb: _ =\u003E LATIN,\n\tfrr: _ =\u003E LATIN,\n\tfrs: _ =\u003E LATIN,\n\tgsw: _ =\u003E LATIN,\n\thsb: _ =\u003E LATIN,\n\tkok: _ =\u003E DEVNAGARI,\n\tmai: _ =\u003E DEVNAGARI,\n\tmen: _ =\u003E LATIN,\n\tnds: _ =\u003E LATIN,\n\tniu: _ =\u003E LATIN,\n\tnqo: _ =\u003E \"nkoo\",\n\tnso: _ =\u003E LATIN,\n\ttem: _ =\u003E LATIN,\n\ttkl: _ =\u003E LATIN,\n\ttmh: _ =\u003E LATIN,\n\ttpi: _ =\u003E LATIN,\n\ttvl: _ =\u003E LATIN,\n\tzbl: _ =\u003E \"blis\",\n};\n// these should follow their `Macrolanguage`:\nfor (const lang of [ \"aao\", \"abh\", \"abv\", \"acm\", \"acq\", \"acw\", \"acx\", \"acy\", \"adf\", \"aeb\", \"aec\", \"afb\", \"apc\", \"apd\", \"arb\", \"arq\", \"ars\", \"ary\", \"arz\", \"auz\", \"avl\", \"ayh\", \"ayl\", \"ayn\", \"ayp\", \"bbz\", \"pga\", \"shu\", \"ssh\" ]) lookup[lang] = lookup[\"ar\"];\nfor (const lang of [ \"ayc\", \"ayr\" ]) lookup[lang] = lookup[\"ay\"];\nfor (const lang of [ \"ekk\", \"vro\" ]) lookup[lang] = lookup[\"et\"];\nfor (const lang of [ \"pes\", \"prs\" ]) lookup[lang] = lookup[\"fa\"];\nfor (const lang of [ \"gnw\", \"gug\", \"gui\", \"gun\", \"nhd\" ]) lookup[lang] = lookup[\"gn\"];\nfor (const lang of [ \"ltg\", \"lvs\" ]) lookup[lang] = lookup[\"lv\"];\nfor (const lang of [ \"bhr\", \"bjq\", \"bmm\", \"bzc\", \"msh\", \"plt\", \"skg\", \"tdx\", \"tkg, txy\", \"xmv\", \"xmw\" ]) lookup[lang] = lookup[\"mg\"];\nfor (const lang of [ /*\"id\",*/ \"bjn\", \"btj\", \"bve\", \"bvu\", \"coa\", \"dup\", \"hji\", \"jak\", \"jax\", \"kvb\", \"kvr\", \"kxd\", \"lce\", \"lcf\", \"liw\", \"max\", \"meo\", \"mfa\", \"mfb\", \"min\", \"mqg\", \"msi\", \"mui\", \"orn\", \"ors\", \"pel\", \"pse\", \"tmw\", \"urk\", \"vkk\", \"vkt\", \"xmm\", \"zlm\", \"zmi\", \"zsm\" ]) lookup[lang] = lookup[\"ms\"];\nfor (const lang of [ \"dty\", \"npi\" ]) lookup[lang] = lookup[\"ne\"];\nfor (const lang of [ /*\"nb\", \"nn\"*/ ]) lookup[lang] = lookup[\"no\"];\nfor (const lang of [ \"gax\", \"gaz\", \"hae\", \"orc\" ]) lookup[lang] = lookup[\"om\"];\nfor (const lang of [ \"ory\", \"spv\" ]) lookup[lang] = lookup[\"or\"];\nfor (const lang of [ \"pbt\", \"pbu\", \"pst\" ]) lookup[lang] = lookup[\"ps\"];\nfor (const lang of [ \"qub\", \"qud\", \"quf\", \"qug\", \"quh\", \"quk\", \"qul\", \"qup\", \"qur\", \"qus\", \"quw\", \"qux\", \"quy\", \"quz\", \"qva\", \"qvc\", \"qve\", \"qvh\", \"qvi\", \"qvj\", \"qvl\", \"qvm\", \"qvn\", \"qvo\", \"qvp\", \"qvs\", \"qvw\", \"qvz\", \"qwa\", \"qwc\", \"qwh\", \"qws\", \"qxa\", \"qxc\", \"qxh\", \"qxl\", \"qxn\", \"qxo\", \"qxp\", \"qxr\", \"qxt\", \"qxu\", \"qxw\" ]) lookup[lang] = lookup[\"qu\"];\nfor (const lang of [ \"aae\", \"aat\", \"aln\", \"als\" ]) lookup[lang] = lookup[\"sq\"];\nfor (const lang of [ \"swc\", \"swh\" ]) lookup[lang] = lookup[\"sw\"];\nfor (const lang of [ \"ydd\", \"yih\" ]) lookup[lang] = lookup[\"yi\"];\n// overrides for Wikifunctions / Abstract Wikipedia:\nlookup[\"sr\"] = country =\u003E country === \"hr\" ? LATIN : CYRILLIC;\n\nfunction Z34854( Z34854K1 ) {\n\tZ34854K1.Z60K1 = Z34854K1.Z60K1.toLowerCase();\n\tlet [ lang, script, country ] = Z34854K1.Z60K1.split('-');\n\tif (lang === \"mis\") return Z34854K1;\n\tif (!!script) {\n\t\tif (script.length === 1) return Z34854K1;\n\t\tif (script.length === 2) {\n\t\t\tcountry = script;\n\t\t\tscript = null;\n\t\t}\n\t}\n\tscript ||= (lookup[lang] || (_ =\u003E \"zyyy\"))(country);\n\treturn zobj(\"Z60\", [\n\t\t[ \"Z60K1\", [ lang, script, country ].filter(s =\u003E !!s \u0026\u0026 s.length !== 0).join('-') ],\n\t]);\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infer script for Natural language, JS"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
7xz93a3nbvy6y3bgc0589yfk1p8xv13
272697
272695
2026-05-06T16:56:30Z
YoshiRulz
10156
Remove deprecated codes
272697
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34860"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34854",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "const zobjRef = zid =\u003E ({ \"Z1K1\": \"Z9\", \"Z9K1\": zid });\nconst zobj = (typeZID, props) =\u003E new ZObject(new Map(props), zobjRef(typeZID));\n\nconst ARABIC = \"arab\";\nconst CYRILLIC = \"cyrl\";\nconst DEVANAGARI = \"deva\";\nconst LATIN = \"latn\";\n/** follows `Suppress-Script` in https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry, all 2- and 3-letter codes with that metadata (and without `Preferred-Value` or `Deprecated`) are here as of 2026-05-05 */\nconst lookup = {\n\tab: _ =\u003E CYRILLIC,\n\taf: _ =\u003E LATIN,\n\tam: _ =\u003E \"ethi\",\n\tar: _ =\u003E ARABIC,\n\tas: _ =\u003E \"beng\",\n\tay: _ =\u003E LATIN,\n\tbe: _ =\u003E CYRILLIC,\n\tbg: _ =\u003E CYRILLIC,\n\tbn: _ =\u003E \"beng\",\n\tbs: _ =\u003E LATIN,\n\tca: _ =\u003E LATIN,\n\tch: _ =\u003E LATIN,\n\tcs: _ =\u003E LATIN,\n\tcy: _ =\u003E LATIN,\n\tda: _ =\u003E LATIN,\n\tde: _ =\u003E LATIN,\n\tdv: _ =\u003E \"thaa\",\n\tdz: _ =\u003E \"tibt\",\n\tel: _ =\u003E \"grek\",\n\ten: _ =\u003E LATIN,\n\teo: _ =\u003E LATIN,\n\tes: _ =\u003E LATIN,\n\tet: _ =\u003E LATIN,\n\teu: _ =\u003E LATIN,\n\tfa: _ =\u003E ARABIC,\n\tfi: _ =\u003E LATIN,\n\tfj: _ =\u003E LATIN,\n\tfo: _ =\u003E LATIN,\n\tfr: _ =\u003E LATIN,\n\tfy: _ =\u003E LATIN,\n\tga: _ =\u003E LATIN,\n\tgl: _ =\u003E LATIN,\n\tgn: _ =\u003E LATIN,\n\tgu: _ =\u003E \"gujr\",\n\tgv: _ =\u003E LATIN,\n\the: _ =\u003E \"hebr\",\n\thi: _ =\u003E DEVNAGARI,\n\thr: _ =\u003E LATIN,\n\tht: _ =\u003E LATIN,\n\thu: _ =\u003E LATIN,\n\thy: _ =\u003E \"armn\",\n\tid: _ =\u003E LATIN,\n\tis: _ =\u003E LATIN,\n\tit: _ =\u003E LATIN,\n\tja: _ =\u003E \"jpan\",\n\tka: _ =\u003E \"geor\",\n\tkk: _ =\u003E CYRILLIC,\n\tkl: _ =\u003E LATIN,\n\tkm: _ =\u003E \"khmr\",\n\tkn: _ =\u003E \"knda\",\n\tko: _ =\u003E \"kore\",\n\tla: _ =\u003E LATIN,\n\tlb: _ =\u003E LATIN,\n\tln: _ =\u003E LATIN,\n\tlo: _ =\u003E \"laoo\",\n\tlt: _ =\u003E LATIN,\n\tlv: _ =\u003E LATIN,\n\tmg: _ =\u003E LATIN,\n\tmh: _ =\u003E LATIN,\n\tmk: _ =\u003E CYRILLIC,\n\tml: _ =\u003E \"mlym\",\n\tmr: _ =\u003E DEVNAGARI,\n\tms: _ =\u003E LATIN,\n\tmt: _ =\u003E LATIN,\n\tmy: _ =\u003E \"mymr\",\n\tna: _ =\u003E LATIN,\n\tnb: _ =\u003E LATIN,\n\tnd: _ =\u003E LATIN,\n\tne: _ =\u003E DEVNAGARI,\n\tnl: _ =\u003E LATIN,\n\tnn: _ =\u003E LATIN,\n\tno: _ =\u003E LATIN,\n\tnr: _ =\u003E LATIN,\n\tny: _ =\u003E LATIN,\n\tom: _ =\u003E LATIN,\n\tor: _ =\u003E \"orya\",\n\tpa: _ =\u003E \"guru\",\n\tpl: _ =\u003E LATIN,\n\tps: _ =\u003E ARABIC,\n\tpt: _ =\u003E LATIN,\n\tqu: _ =\u003E LATIN,\n\trm: _ =\u003E LATIN,\n\trn: _ =\u003E LATIN,\n\tro: _ =\u003E LATIN,\n\tru: _ =\u003E CYRILLIC,\n\trw: _ =\u003E LATIN,\n\tsg: _ =\u003E LATIN,\n\tsi: _ =\u003E \"sinh\",\n\tsk: _ =\u003E LATIN,\n\tsl: _ =\u003E LATIN,\n\tsm: _ =\u003E LATIN,\n\tso: _ =\u003E LATIN,\n\tsq: _ =\u003E LATIN,\n\tss: _ =\u003E LATIN,\n\tst: _ =\u003E LATIN,\n\tsv: _ =\u003E LATIN,\n\tsw: _ =\u003E LATIN,\n\tta: _ =\u003E \"taml\",\n\tte: _ =\u003E \"telu\",\n\tth: _ =\u003E \"thai\",\n\tti: _ =\u003E \"ethi\",\n\ttl: _ =\u003E LATIN,\n\ttn: _ =\u003E LATIN,\n\tto: _ =\u003E LATIN,\n\ttr: _ =\u003E LATIN,\n\tts: _ =\u003E LATIN,\n\tuk: _ =\u003E CYRILLIC,\n\tur: _ =\u003E ARABIC,\n\tve: _ =\u003E LATIN,\n\tvi: _ =\u003E LATIN,\n\txh: _ =\u003E LATIN,\n\tyi: _ =\u003E \"hebr\",\n\tzu: _ =\u003E LATIN,\n\tdsb: _ =\u003E LATIN,\n\tfrr: _ =\u003E LATIN,\n\tfrs: _ =\u003E LATIN,\n\tgsw: _ =\u003E LATIN,\n\thsb: _ =\u003E LATIN,\n\tkok: _ =\u003E DEVNAGARI,\n\tmai: _ =\u003E DEVNAGARI,\n\tmen: _ =\u003E LATIN,\n\tnds: _ =\u003E LATIN,\n\tniu: _ =\u003E LATIN,\n\tnqo: _ =\u003E \"nkoo\",\n\tnso: _ =\u003E LATIN,\n\ttem: _ =\u003E LATIN,\n\ttkl: _ =\u003E LATIN,\n\ttmh: _ =\u003E LATIN,\n\ttpi: _ =\u003E LATIN,\n\ttvl: _ =\u003E LATIN,\n\tzbl: _ =\u003E \"blis\",\n};\n// these should follow their `Macrolanguage`:\nfor (const lang of [ \"aao\", \"abh\", \"abv\", \"acm\", \"acq\", \"acw\", \"acx\", \"acy\", \"adf\", \"aeb\", \"aec\", \"afb\", \"apc\", \"apd\", \"arb\", \"arq\", \"ars\", \"ary\", \"arz\", \"auz\", \"avl\", \"ayh\", \"ayl\", \"ayn\", \"ayp\", \"pga\", \"shu\", \"ssh\" ]) lookup[lang] = lookup[\"ar\"];\nfor (const lang of [ \"ayc\", \"ayr\" ]) lookup[lang] = lookup[\"ay\"];\nfor (const lang of [ \"ekk\", \"vro\" ]) lookup[lang] = lookup[\"et\"];\nfor (const lang of [ \"pes\", \"prs\" ]) lookup[lang] = lookup[\"fa\"];\nfor (const lang of [ \"gnw\", \"gug\", \"gui\", \"gun\", \"nhd\" ]) lookup[lang] = lookup[\"gn\"];\nfor (const lang of [ \"ltg\", \"lvs\" ]) lookup[lang] = lookup[\"lv\"];\nfor (const lang of [ \"bhr\", \"bmm\", \"bzc\", \"msh\", \"plt\", \"skg\", \"tdx\", \"tkg, txy\", \"xmv\", \"xmw\" ]) lookup[lang] = lookup[\"mg\"];\nfor (const lang of [ /*\"id\",*/ \"bjn\", \"btj\", \"bve\", \"bvu\", \"coa\", \"dup\", \"hji\", \"jak\", \"jax\", \"kvb\", \"kvr\", \"kxd\", \"lce\", \"lcf\", \"liw\", \"max\", \"meo\", \"mfa\", \"mfb\", \"min\", \"mqg\", \"msi\", \"mui\", \"orn\", \"ors\", \"pel\", \"pse\", \"tmw\", \"urk\", \"vkk\", \"vkt\", \"xmm\", \"zlm\", \"zmi\", \"zsm\" ]) lookup[lang] = lookup[\"ms\"];\nfor (const lang of [ \"dty\", \"npi\" ]) lookup[lang] = lookup[\"ne\"];\nfor (const lang of [ /*\"nb\", \"nn\"*/ ]) lookup[lang] = lookup[\"no\"];\nfor (const lang of [ \"gax\", \"gaz\", \"hae\", \"orc\" ]) lookup[lang] = lookup[\"om\"];\nfor (const lang of [ \"ory\", \"spv\" ]) lookup[lang] = lookup[\"or\"];\nfor (const lang of [ \"pbt\", \"pbu\", \"pst\" ]) lookup[lang] = lookup[\"ps\"];\nfor (const lang of [ \"qub\", \"qud\", \"quf\", \"qug\", \"quh\", \"quk\", \"qul\", \"qup\", \"qur\", \"qus\", \"quw\", \"qux\", \"quy\", \"quz\", \"qva\", \"qvc\", \"qve\", \"qvh\", \"qvi\", \"qvj\", \"qvl\", \"qvm\", \"qvn\", \"qvo\", \"qvp\", \"qvs\", \"qvw\", \"qvz\", \"qwa\", \"qwc\", \"qwh\", \"qws\", \"qxa\", \"qxc\", \"qxh\", \"qxl\", \"qxn\", \"qxo\", \"qxp\", \"qxr\", \"qxt\", \"qxu\", \"qxw\" ]) lookup[lang] = lookup[\"qu\"];\nfor (const lang of [ \"aae\", \"aat\", \"aln\", \"als\" ]) lookup[lang] = lookup[\"sq\"];\nfor (const lang of [ \"swc\", \"swh\" ]) lookup[lang] = lookup[\"sw\"];\nfor (const lang of [ \"ydd\", \"yih\" ]) lookup[lang] = lookup[\"yi\"];\n// overrides for Wikifunctions / Abstract Wikipedia:\nlookup[\"sr\"] = country =\u003E country === \"hr\" ? LATIN : CYRILLIC;\n\nfunction Z34854( Z34854K1 ) {\n\tZ34854K1.Z60K1 = Z34854K1.Z60K1.toLowerCase();\n\tlet [ lang, script, country ] = Z34854K1.Z60K1.split('-');\n\tif (lang === \"mis\") return Z34854K1;\n\tif (!!script) {\n\t\tif (script.length === 1) return Z34854K1;\n\t\tif (script.length === 2) {\n\t\t\tcountry = script;\n\t\t\tscript = null;\n\t\t}\n\t}\n\tscript ||= (lookup[lang] || (_ =\u003E \"zyyy\"))(country);\n\treturn zobj(\"Z60\", [\n\t\t[ \"Z60K1\", [ lang, script, country ].filter(s =\u003E !!s \u0026\u0026 s.length !== 0).join('-') ],\n\t]);\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infer script for Natural language, JS"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sjs23232bblfe0gpzsqkdq7r661vgpt
Translations:Wikifunctions:Reserved ZIDs/217/cs
1198
82599
272664
2026-05-06T14:15:10Z
Mormegil
150
Created page with "validátory pro tyto typy"
272664
wikitext
text/x-wiki
validátory pro tyto typy
1nqs72cubipfrr7588xyeia40s5yp6h
Translations:Wikifunctions:Reserved ZIDs/218/cs
1198
82600
272666
2026-05-06T14:15:15Z
Mormegil
150
Created page with "vestavěné implementace validátorů"
272666
wikitext
text/x-wiki
vestavěné implementace validátorů
0pfnm7ml0fwqk8ao809bacm59rgc1w4
Translations:Wikifunctions:Reserved ZIDs/219/cs
1198
82601
272668
2026-05-06T14:15:29Z
Mormegil
150
Created page with "pomocné funkce pro tyto typy, které musí být vestavěné (např. načítání, rovnost)"
272668
wikitext
text/x-wiki
pomocné funkce pro tyto typy, které musí být vestavěné (např. načítání, rovnost)
dop4svrh733fraupk6ryf8cgx9z524x
Translations:Wikifunctions:Reserved ZIDs/220/cs
1198
82602
272669
2026-05-06T14:15:35Z
Mormegil
150
Created page with "vestavěné implementace pomocných funkcí"
272669
wikitext
text/x-wiki
vestavěné implementace pomocných funkcí
rlykwa1xdk120vlqtzns2qwozd1rmow
Translations:Wikifunctions:Reserved ZIDs/271/cs
1198
82603
272671
2026-05-06T14:16:22Z
Mormegil
150
Created page with "$1 až $2 jsou funkce „stejný objekt“ odpovídající $3 až $4."
272671
wikitext
text/x-wiki
$1 až $2 jsou funkce „stejný objekt“ odpovídající $3 až $4.
olerx971195e50399ebynub9xzc1f99
Translations:Wikifunctions:Reserved ZIDs/198/cs
1198
82604
272674
2026-05-06T14:17:14Z
Mormegil
150
Created page with "$zid (chyby): Seznam chyb"
272674
wikitext
text/x-wiki
$zid (chyby): Seznam chyb
rn9wcm529kjcu6an3662ml71su3pnig
Z34872
0
82605
272680
2026-05-06T15:00:08Z
YoshiRulz
10156
Create test
272680
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34872"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34854",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34854",
"Z34854K1": {
"Z1K1": "Z60",
"Z60K1": "la-latn-va",
"Z60K2": [
"Z6"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14326",
"Z14326K2": {
"Z1K1": "Z60",
"Z60K1": "la-latn-va",
"Z60K2": [
"Z6"
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "la-Latn-VA -\u003E la-Latn-VA"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
7k9xf5jce5cv52juv75i67dnjcej5re
Z34873
0
82606
272682
2026-05-06T15:18:02Z
YoshiRulz
10156
Create test
272682
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34873"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34854",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34854",
"Z34854K1": {
"Z1K1": "Z60",
"Z60K1": "mis-x-q2417210",
"Z60K2": [
"Z6"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14326",
"Z14326K2": {
"Z1K1": "Z60",
"Z60K1": "mis-x-q2417210",
"Z60K2": [
"Z6"
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "mis-x-Q2417210 -\u003E mis-x-Q2417210"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
81zzopokbrpw5mzssarurepn3olz4zl
Z34874
0
82607
272683
2026-05-06T15:18:32Z
YoshiRulz
10156
Create test
272683
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34874"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34854",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34854",
"Z34854K1": {
"Z1K1": "Z60",
"Z60K1": "nl-x-q2668371",
"Z60K2": [
"Z6"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14326",
"Z14326K2": {
"Z1K1": "Z60",
"Z60K1": "nl-x-q2668371",
"Z60K2": [
"Z6"
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "nl-x-Q2668371 -\u003E nl-x-Q2668371"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
jms7mce99doff04zi3ymlfzh2a6g3ks
Z34875
0
82608
272684
2026-05-06T15:18:54Z
YoshiRulz
10156
Create test
272684
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34875"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34854",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34854",
"Z34854K1": {
"Z1K1": "Z60",
"Z60K1": "nl-u-sd-bebru",
"Z60K2": [
"Z6"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14326",
"Z14326K2": {
"Z1K1": "Z60",
"Z60K1": "nl-u-sd-bebru",
"Z60K2": [
"Z6"
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "nl-u-sd-bebru -\u003E nl-u-sd-bebru"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
kr4fz1y22le33637mnezktbu6ah00ce
Z34876
0
82609
272685
2026-05-06T15:20:04Z
YoshiRulz
10156
Create test
272685
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34876"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34854",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34854",
"Z34854K1": {
"Z1K1": "Z60",
"Z60K1": "ru-latn",
"Z60K2": [
"Z6"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14326",
"Z14326K2": {
"Z1K1": "Z60",
"Z60K1": "ru-latn",
"Z60K2": [
"Z6"
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "ru-Latn -\u003E ru-Latn"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
t5qa2jwbvel5ihq35avabgp3s0x3baj
Z34877
0
82610
272692
2026-05-06T15:53:41Z
Jsamwrites
938
272692
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34877"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34434",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34434",
"Z34434K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q132"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "dimanche est un jour de la semaine"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "dimanche est un jour de la semaine"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "dimanche est un jour de la semaine"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
midkc8oodo41r0de83qqorlm8lusypp
272693
272692
2026-05-06T15:54:25Z
Jsamwrites
938
272693
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34877"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34434",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34434",
"Z34434K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q132"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "dimanche est un jour de la semaine."
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "dimanche est un jour de la semaine"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "dimanche est un jour de la semaine"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
pr2irl8q4elw65itsgyni8o2wesqacd
Z34878
0
82611
272714
2026-05-06T18:21:14Z
YoshiRulz
10156
Create implementation
272714
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34878"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22318",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z20854",
"Z20854K1": {
"Z1K1": "Z7",
"Z7K1": "Z24081",
"Z24081K1": {
"Z1K1": "Z7",
"Z7K1": "Z21071",
"Z21071K1": {
"Z1K1": "Z18",
"Z18K1": "Z22318K1"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "square root (float64), via-Rational composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
8hcl6prmn4qza4a1569nywp5galbaw2
Z34879
0
82612
272717
2026-05-06T18:28:50Z
YoshiRulz
10156
Create implementation
272717
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34879"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22327",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z31490",
"Z31490K1": {
"Z1K1": "Z7",
"Z7K1": "Z12696",
"Z12696K1": [
"Z13518",
{
"Z1K1": "Z18",
"Z18K1": "Z22327K1"
},
{
"Z1K1": "Z18",
"Z18K1": "Z22327K2"
},
{
"Z1K1": "Z18",
"Z18K1": "Z22327K3"
},
{
"Z1K1": "Z18",
"Z18K1": "Z22327K4"
}
],
"Z12696K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z31490K2": {
"Z1K1": "Z7",
"Z7K1": "Z13689",
"Z13689K1": {
"Z1K1": "Z18",
"Z18K1": "Z22327K4"
},
"Z13689K2": {
"Z1K1": "Z18",
"Z18K1": "Z22327K2"
}
},
"Z31490K3": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
"Z31490K4": {
"Z1K1": "Z7",
"Z7K1": "Z20854",
"Z20854K1": {
"Z1K1": "Z7",
"Z7K1": "Z27705",
"Z27705K1": {
"Z1K1": "Z7",
"Z7K1": "Z19854",
"Z19854K1": {
"Z1K1": "Z7",
"Z7K1": "Z17120",
"Z17120K1": {
"Z1K1": "Z16683",
"Z16683K1": "Z16660",
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "100"
}
},
"Z17120K2": {
"Z1K1": "Z7",
"Z7K1": "Z17315",
"Z17315K1": {
"Z1K1": "Z18",
"Z18K1": "Z22327K3"
},
"Z17315K2": {
"Z1K1": "Z18",
"Z18K1": "Z22327K1"
}
}
},
"Z19854K2": {
"Z1K1": "Z7",
"Z7K1": "Z13539",
"Z13539K1": {
"Z1K1": "Z18",
"Z18K1": "Z22327K1"
},
"Z13539K2": {
"Z1K1": "Z7",
"Z7K1": "Z13569",
"Z13569K1": {
"Z1K1": "Z18",
"Z18K1": "Z22327K4"
},
"Z13569K2": {
"Z1K1": "Z18",
"Z18K1": "Z22327K2"
}
}
}
},
"Z27705K2": {
"Z1K1": "Z16683",
"Z16683K1": "Z16660",
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "annual population growth rate, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
24pkwd627ueanv1d121sxkqlye32km7
Z34880
0
82613
272721
2026-05-06T18:42:02Z
YoshiRulz
10156
Create implementation
272721
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34880"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22344",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z10008",
"Z10008K1": {
"Z1K1": "Z7",
"Z7K1": "Z10079",
"Z10079K1": {
"Z1K1": "Z18",
"Z18K1": "Z22344K1"
}
}
},
"Z802K2": "Z11853",
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z14592",
"Z14592K1": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z13682",
"Z13682K1": {
"Z1K1": "Z7",
"Z7K1": "Z11040",
"Z11040K1": {
"Z1K1": "Z7",
"Z7K1": "Z10079",
"Z10079K1": {
"Z1K1": "Z18",
"Z18K1": "Z22344K1"
}
}
},
"Z13682K2": {
"Z1K1": "Z18",
"Z18K1": "Z22344K2"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z10079",
"Z10079K1": {
"Z1K1": "Z18",
"Z18K1": "Z22344K1"
}
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z12624",
"Z12624K1": {
"Z1K1": "Z7",
"Z7K1": "Z10079",
"Z10079K1": {
"Z1K1": "Z18",
"Z18K1": "Z22344K1"
}
},
"Z12624K2": {
"Z1K1": "Z7",
"Z7K1": "Z20391",
"Z20391K1": {
"Z1K1": "Z7",
"Z7K1": "Z20053",
"Z20053K1": {
"Z1K1": "Z7",
"Z7K1": "Z27232",
"Z27232K1": {
"Z1K1": "Z18",
"Z18K1": "Z22344K2"
},
"Z27232K2": {
"Z1K1": "Z7",
"Z7K1": "Z11040",
"Z11040K1": {
"Z1K1": "Z7",
"Z7K1": "Z10079",
"Z10079K1": {
"Z1K1": "Z18",
"Z18K1": "Z22344K1"
}
}
}
}
}
}
}
},
"Z14592K2": {
"Z1K1": "Z18",
"Z18K1": "Z22344K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "str left, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
guqkzgpi4fbmmlwie63b6gy54amk7jb
Z34881
0
82614
272724
2026-05-06T18:45:54Z
YoshiRulz
10156
Create implementation
272724
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34881"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22373",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z13522",
"Z13522K1": {
"Z1K1": "Z7",
"Z7K1": "Z22475",
"Z22475K1": {
"Z1K1": "Z39",
"Z39K1": "Z80K1"
},
"Z22475K2": {
"Z1K1": "Z18",
"Z18K1": "Z22373K1"
}
},
"Z13522K2": {
"Z1K1": "Z7",
"Z7K1": "Z22475",
"Z22475K1": {
"Z1K1": "Z39",
"Z39K1": "Z80K1"
},
"Z22475K2": {
"Z1K1": "Z18",
"Z18K1": "Z22373K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Byte equality, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bvdn719baie52yrivkuj5n16fi8nsug
Z34882
0
82615
272726
2026-05-06T18:48:07Z
Dv103
11127
272726
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34882"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z23619",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z23619",
"Z23619K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L643382"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L643382"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L463370"
}
],
"Z23619K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q3686414"
},
"Z23619K3": [
"Z40",
{
"Z1K1": "Z40",
"Z40K1": "Z42"
},
{
"Z1K1": "Z40",
"Z40K1": "Z41"
}
],
"Z23619K4": {
"Z1K1": "Z13518",
"Z13518K1": "6"
},
"Z23619K5": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z23619K6": [
"Z13518"
],
"Z23619K7": [
"Z40"
],
"Z23619K8": [
"Z13518"
],
"Z23619K9": [
"Z40"
],
"Z23619K10": {
"Z1K1": "Z7",
"Z7K1": "Z15142",
"Z15142K1": [
"Z1"
]
},
"Z23619K11": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z23619K12": {
"Z1K1": "Z7",
"Z7K1": "Z30260",
"Z30260K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L5138"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L643382"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L463370"
}
],
"Z30260K2": [
"Z6030"
],
"Z30260K3": [
"Z60"
],
"Z30260K4": [
"Z6092"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "dovrebbero aver dovuto mangiare"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "dovrebbero aver dovuto mangiare"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
rptdqmq5zho25h2g2sh5ba8bj88ow1k
Z34883
0
82616
272729
2026-05-06T18:52:13Z
YoshiRulz
10156
Create implementation
272729
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34883"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22469",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z12781",
"Z12781K1": {
"Z1K1": "Z18",
"Z18K1": "Z22469K1"
},
"Z12781K2": "Z16693"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sum of list of Integers, reduce composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
rd659u4uy67hp427kyxpmp8muk0x4jy
Z34884
0
82617
272732
2026-05-06T18:57:24Z
YoshiRulz
10156
Create implementation
272732
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34884"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22507",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10075",
"Z10075K1": {
"Z1K1": "Z18",
"Z18K1": "Z22507K1"
},
"Z10075K2": " ",
"Z10075K3": " "
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "collapse spaces, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sc186zwrxacy58syo4z72r3lojmn7o3
Z577
0
82618
272734
2026-05-06T19:00:08Z
WikiLambda system
3
Initial pre-defined WikiLambda content creation
272734
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z577"
},
"Z2K2": {
"Z1K1": "Z50",
"Z50K1": [
"Z3",
{
"Z1K1": "Z3",
"Z3K1": "Z99",
"Z3K2": "Z577K1",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "request"
}
]
}
},
{
"Z1K1": "Z3",
"Z3K1": "Z99",
"Z3K2": "Z577K2",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "evaluation result"
}
]
}
}
],
"Z50K2": "Z577"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Invalid orchestrator result"
}
]
}
}
aqm3ss02eomilz0mpcfduhrygy9n9mb
272747
272734
2026-05-06T19:10:46Z
Dv103
11127
+it
272747
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z577"
},
"Z2K2": {
"Z1K1": "Z50",
"Z50K1": [
"Z3",
{
"Z1K1": "Z3",
"Z3K1": "Z99",
"Z3K2": "Z577K1",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "request"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "richiesta"
}
]
}
},
{
"Z1K1": "Z3",
"Z3K1": "Z99",
"Z3K2": "Z577K2",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "evaluation result"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "risultato di esecuzione"
}
]
}
}
],
"Z50K2": "Z577"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Invalid orchestrator result"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Risultato dall'orchestratore invalido"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0pw9otkfa7j3bhhj8g9j23niq7tinnh
Z832
0
82619
272736
2026-05-06T19:00:35Z
WikiLambda system
3
Initial pre-defined WikiLambda content creation
272736
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z832"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z31",
"Z17K2": "Z832K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "first monolingual stringset"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z31",
"Z17K2": "Z832K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "second monolingual stringset"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z932"
],
"Z8K5": "Z832"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Monolingual stringset equality"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Equals",
"Same"
]
}
]
}
}
4wpfd3ypuy4ktzsn7zlpxawh4i6reu8
Z932
0
82620
272737
2026-05-06T19:00:47Z
WikiLambda system
3
Initial pre-defined WikiLambda content creation
272737
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z932"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z832",
"Z14K4": {
"Z1K1": "Z6",
"Z6K1": "Z932"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Built-in implementation of Monolingual stringset equality"
}
]
}
}
k7jqvla7mkpcj3goywmabzhfhmal69p
Z862
0
82621
272738
2026-05-06T19:01:01Z
WikiLambda system
3
Initial pre-defined WikiLambda content creation
272738
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": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z862K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "second language"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z962"
],
"Z8K5": "Z862"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Natural language equality"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Equals",
"Same"
]
}
]
}
}
7p3o7b05tgbgw9fo21kroz1drcregjo
Z962
0
82622
272739
2026-05-06T19:01:14Z
WikiLambda system
3
Initial pre-defined WikiLambda content creation
272739
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z962"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z862",
"Z14K4": {
"Z1K1": "Z6",
"Z6K1": "Z962"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Built-in implementation of Natural language equality"
}
]
}
}
dae3vwl9qv3tok8jm8qvmbufg4pbmfe
Talk:Z22576
1
82623
272742
2026-05-06T19:02:21Z
YoshiRulz
10156
Add to category
272742
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34885
0
82624
272745
2026-05-06T19:07:14Z
Dv103
11127
272745
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34885"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z14326",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z862",
"Z862K1": {
"Z1K1": "Z18",
"Z18K1": "Z14326K1"
},
"Z862K2": {
"Z1K1": "Z18",
"Z18K1": "Z14326K2"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "stessa lingua, tramite built-in"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "same language, via built-in"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4qgm45is1bh835log774cghih3mnrmy
Z34886
0
82625
272749
2026-05-06T19:18:59Z
YoshiRulz
10156
Create implementation
272749
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34886"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22579",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z12781",
"Z12781K1": {
"Z1K1": "Z18",
"Z18K1": "Z22579K1"
},
"Z12781K2": "Z20849"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sum list of float64s, reduce composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hdqlgew22q6ndmv6hiclh5pl46bkoo5
Z34887
0
82626
272751
2026-05-06T19:23:50Z
YoshiRulz
10156
Create implementation
272751
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34887"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22588",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z13555",
"Z13555K1": {
"Z1K1": "Z7",
"Z7K1": "Z12681",
"Z12681K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
}
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z22583",
"Z22583K1": [
"Z20838",
{
"Z1K1": "Z7",
"Z7K1": "Z13397",
"Z13397K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
},
"Z13397K2": {
"Z1K1": "Z7",
"Z7K1": "Z15111",
"Z15111K1": {
"Z1K1": "Z7",
"Z7K1": "Z13521",
"Z13521K1": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"Z13521K2": {
"Z1K1": "Z7",
"Z7K1": "Z12681",
"Z12681K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
}
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z13397",
"Z13397K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
},
"Z13397K2": {
"Z1K1": "Z7",
"Z7K1": "Z15111",
"Z15111K1": {
"Z1K1": "Z7",
"Z7K1": "Z13578",
"Z13578K1": {
"Z1K1": "Z7",
"Z7K1": "Z12681",
"Z12681K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
}
}
}
}
}
]
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z13397",
"Z13397K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
},
"Z13397K2": {
"Z1K1": "Z7",
"Z7K1": "Z15111",
"Z15111K1": {
"Z1K1": "Z7",
"Z7K1": "Z13578",
"Z13578K1": {
"Z1K1": "Z7",
"Z7K1": "Z12681",
"Z12681K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
}
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "median (float64), composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
d6q3fe7f5zju5im1j4jbny8cs6xriyi
272755
272751
2026-05-06T19:27:41Z
YoshiRulz
10156
Ensure the values are sorted
272755
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34887"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22588",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z13555",
"Z13555K1": {
"Z1K1": "Z7",
"Z7K1": "Z12681",
"Z12681K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
}
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z22583",
"Z22583K1": [
"Z20838",
{
"Z1K1": "Z7",
"Z7K1": "Z13397",
"Z13397K1": {
"Z1K1": "Z7",
"Z7K1": "Z22615",
"Z22615K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
}
},
"Z13397K2": {
"Z1K1": "Z7",
"Z7K1": "Z15111",
"Z15111K1": {
"Z1K1": "Z7",
"Z7K1": "Z13521",
"Z13521K1": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"Z13521K2": {
"Z1K1": "Z7",
"Z7K1": "Z12681",
"Z12681K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
}
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z13397",
"Z13397K1": {
"Z1K1": "Z7",
"Z7K1": "Z22615",
"Z22615K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
}
},
"Z13397K2": {
"Z1K1": "Z7",
"Z7K1": "Z15111",
"Z15111K1": {
"Z1K1": "Z7",
"Z7K1": "Z13578",
"Z13578K1": {
"Z1K1": "Z7",
"Z7K1": "Z12681",
"Z12681K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
}
}
}
}
}
]
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z13397",
"Z13397K1": {
"Z1K1": "Z7",
"Z7K1": "Z22615",
"Z22615K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
}
},
"Z13397K2": {
"Z1K1": "Z7",
"Z7K1": "Z15111",
"Z15111K1": {
"Z1K1": "Z7",
"Z7K1": "Z13578",
"Z13578K1": {
"Z1K1": "Z7",
"Z7K1": "Z12681",
"Z12681K1": {
"Z1K1": "Z18",
"Z18K1": "Z22588K1"
}
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "median (float64), composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
lbcrn0kz41oqd711b0zta0pwjroid3z
Z34888
0
82627
272752
2026-05-06T19:24:56Z
YoshiRulz
10156
Create test
272752
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34888"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z22588",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z22588",
"Z22588K1": [
"Z20838",
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "3377699720527872"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "1125899906842624"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "2251799813685248"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20850",
"Z20850K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "median of [7,5,3,1] = 4"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
l4fvfwinw06la23zsyct4msjwr97tcj
272754
272752
2026-05-06T19:26:25Z
YoshiRulz
10156
Reorder arguments
272754
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34888"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z22588",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z22588",
"Z22588K1": [
"Z20838",
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "3377699720527872"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "1125899906842624"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "2251799813685248"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20850",
"Z20850K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "median of [1,7,5,3] = 4"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
dodhm1tffiffz44qc9w48tkfz0fnvp6
Z34889
0
82628
272757
2026-05-06T19:29:30Z
YoshiRulz
10156
Create implementation
272757
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34889"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22592",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z12781",
"Z12781K1": {
"Z1K1": "Z18",
"Z18K1": "Z22592K1"
},
"Z12781K2": "Z21032"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "product of list of float64s, reduce composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
auo91mpxs9z9lxue9elx0d691qdu21x
Z34890
0
82629
272759
2026-05-06T19:33:23Z
YoshiRulz
10156
Create implementation
272759
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34890"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22610",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z22605",
"Z22605K1": {
"Z1K1": "Z7",
"Z7K1": "Z22583",
"Z22583K1": {
"Z1K1": "Z7",
"Z7K1": "Z18475",
"Z18475K1": {
"Z1K1": "Z7",
"Z7K1": "Z873",
"Z873K1": "Z22605",
"Z873K2": {
"Z1K1": "Z18",
"Z18K1": "Z22610K1"
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "harmonic mean of float64s, reciprocal composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
arvyf6yffaeo5nqnz5je7oj7i2xrr4d
Z34891
0
82630
272761
2026-05-06T19:36:43Z
YoshiRulz
10156
Create implementation
272761
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34891"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22615",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z27612",
"Z27612K1": {
"Z1K1": "Z18",
"Z18K1": "Z22615K1"
},
"Z27612K2": "Z20940"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sort list of float64s, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qetxobmwope2euavnup3dm8a9d1gn8y
Z34892
0
82631
272764
2026-05-06T19:45:41Z
YoshiRulz
10156
Create test
272764
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34892"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z22615",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z22615",
"Z22615K1": [
"Z20838",
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1023"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20829"
}
},
"Z34828",
"Z26368",
"Z34829",
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z20838",
"Z34829",
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1023"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20829"
}
},
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
"Z26368",
"Z34828"
],
"Z889K3": "Z24582"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sort list containing ±Inf"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
2tzl9xca6uiq5q75s2xzqojafi2l06f
Z34893
0
82632
272765
2026-05-06T19:45:58Z
YoshiRulz
10156
Create test
272765
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34893"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z22615",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z22615",
"Z22615K1": [
"Z20838",
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1023"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20829"
}
},
"Z34828",
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1024"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "4503599627370495"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20834"
}
},
"Z26368",
"Z34829",
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z20838",
"Z34829",
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1023"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20829"
}
},
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
"Z26368",
"Z34828",
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1024"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "4503599627370495"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20834"
}
}
],
"Z889K3": "Z24582"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sort list containing ±Inf and NaN"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
807f3lc6qz2rtpe25gj2inklo55hwgh
Talk:Z22623
1
82633
272767
2026-05-06T19:46:54Z
YoshiRulz
10156
Add to category
272767
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34894
0
82634
272768
2026-05-06T19:49:44Z
YoshiRulz
10156
Create implementation
272768
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34894"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22654",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z31716",
"Z31716K1": {
"Z1K1": "Z7",
"Z7K1": "Z14567",
"Z14567K1": {
"Z1K1": "Z18",
"Z18K1": "Z22654K1"
}
},
"Z31716K2": {
"Z1K1": "Z13518",
"Z13518K1": "8"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Byte as list of Booleans, via-Natural composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
cziu0jyhrlhilvhkritf3y6d47p5mxd
Z34895
0
82635
272770
2026-05-06T19:50:50Z
YoshiRulz
10156
Create implementation
272770
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34895"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22683",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z13522",
"Z13522K1": {
"Z1K1": "Z7",
"Z7K1": "Z22475",
"Z22475K1": {
"Z1K1": "Z39",
"Z39K1": "Z86K1"
},
"Z22475K2": {
"Z1K1": "Z18",
"Z18K1": "Z22683K1"
}
},
"Z13522K2": {
"Z1K1": "Z7",
"Z7K1": "Z22475",
"Z22475K1": {
"Z1K1": "Z39",
"Z39K1": "Z86K1"
},
"Z22475K2": {
"Z1K1": "Z18",
"Z18K1": "Z22683K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Code point equality, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ltol9in61ivpo762wouqbmyuwqmry55
Talk:Z22693
1
82636
272772
2026-05-06T19:51:12Z
YoshiRulz
10156
Add to category
272772
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z22699
1
82637
272773
2026-05-06T19:52:03Z
YoshiRulz
10156
Add to category
272773
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z22717
1
82638
272774
2026-05-06T19:52:06Z
YoshiRulz
10156
Add to category
272774
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z22728
1
82639
272776
2026-05-06T19:54:50Z
YoshiRulz
10156
Add to category
272776
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z22764
1
82640
272777
2026-05-06T19:54:53Z
YoshiRulz
10156
Add to category
272777
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z22786
1
82641
272778
2026-05-06T19:55:23Z
YoshiRulz
10156
Add to category
272778
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z22791
1
82642
272779
2026-05-06T19:55:26Z
YoshiRulz
10156
Add to category
272779
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z22796
1
82643
272780
2026-05-06T19:55:28Z
YoshiRulz
10156
Add to category
272780
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34896
0
82644
272781
2026-05-06T19:58:17Z
YoshiRulz
10156
Create implementation
272781
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34896"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z22836",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10174",
"Z10174K1": {
"Z1K1": "Z7",
"Z7K1": "Z17229",
"Z17229K1": {
"Z1K1": "Z18",
"Z18K1": "Z22836K1"
}
},
"Z10174K2": {
"Z1K1": "Z7",
"Z7K1": "Z15190",
"Z15190K1": {
"Z1K1": "Z7",
"Z7K1": "Z20391",
"Z20391K1": {
"Z1K1": "Z18",
"Z18K1": "Z22836K1"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is Integer a perfect square, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
kgb0of3welsmxppjsvxowr0c423cfmy
Talk:Z22903
1
82645
272785
2026-05-06T20:01:37Z
YoshiRulz
10156
Add to category
272785
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z23003
1
82646
272786
2026-05-06T20:02:07Z
YoshiRulz
10156
Add to category
272786
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34897
0
82647
272787
2026-05-06T20:05:15Z
GrounderUK
50
[[Z32758]]➕[[Z14]]: [[Z832]]
272787
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34897"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32758",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z832",
"Z832K1": {
"Z1K1": "Z18",
"Z18K1": "Z32758K1"
},
"Z832K2": {
"Z1K1": "Z18",
"Z18K1": "Z32758K2"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "identical monolingual stringset, Composition Z831"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "#language representations need not be strictly identical"
}
]
}
}
2eqql0hah7v64iijsa4a5mjulnyfaap
272790
272787
2026-05-06T20:14:19Z
GrounderUK
50
[[Z1002]] typo
272790
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34897"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32758",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z832",
"Z832K1": {
"Z1K1": "Z18",
"Z18K1": "Z32758K1"
},
"Z832K2": {
"Z1K1": "Z18",
"Z18K1": "Z32758K2"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "identical monolingual stringset, Composition Z832"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "#language representations need not be strictly identical"
}
]
}
}
nvjyuj1ct0azhk64nqh4t0jdj94nfdv
Z34898
0
82648
272789
2026-05-06T20:13:16Z
GrounderUK
50
[[Z32758]]➕[[Z20]]
272789
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34898"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32758",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32758",
"Z32758K1": {
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"en:Z1002"
]
},
"Z32758K2": {
"Z1K1": "Z31",
"Z31K1": {
"Z1K1": "Z60",
"Z60K1": "en",
"Z60K2": [
"Z6"
]
},
"Z31K2": [
"Z6",
"en:Z1002"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "identical: same language, different representation"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "#Z1002 compared with \"en\""
}
]
}
}
gzp73wa0eq1u5hmf0cvhm6mfh92dbiz
Z34899
0
82649
272791
2026-05-06T20:22:19Z
YoshiRulz
10156
Create function
272791
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"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34899"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select Forms with given features from Lexeme"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"filter Lexeme Forms by grammatical features"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
8pjs5e56e7x8hceanydn8de09t2tz4y
272794
272791
2026-05-06T20:33:36Z
YoshiRulz
10156
Added Z34900 to the approved list of test cases
272794
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"
],
"Z8K5": "Z34899"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select Forms with given features from Lexeme"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"filter Lexeme Forms by grammatical features"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
86xzsjabqfttw5l53o7jaoqs0864mu6
272796
272794
2026-05-06T20:35:00Z
YoshiRulz
10156
Added Z34901 to the approved list of implementations
272796
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",
"Z34901"
],
"Z8K5": "Z34899"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select Forms with given features from Lexeme"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"filter Lexeme Forms by grammatical features"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
11bxzxy84cs4d4w5uwujgxxcnmfbdfx
Z34900
0
82650
272793
2026-05-06T20:29:01Z
YoshiRulz
10156
Create test
272793
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34900"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34899",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34899",
"Z34899K1": {
"Z1K1": "Z7",
"Z7K1": "Z6825",
"Z6825K1": {
"Z1K1": "Z6095",
"Z6095K1": "L7000"
}
},
"Z34899K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q3910936"
}
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z23100",
"Z23100K2": "Z30632",
"Z23100K3": [
"Z6094",
{
"Z1K1": "Z6094",
"Z6094K1": "L7000-F1"
},
{
"Z1K1": "Z6094",
"Z6094K1": "L7000-F2"
}
],
"Z23100K4": "Z23372"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "(L7000, [ Q3910936 ]) -\u003E [ L7000-F1, L7000-F2 ]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
euaeplov667q4cbc91yxeu2cm4gwpcr
Z34901
0
82651
272795
2026-05-06T20:34:45Z
YoshiRulz
10156
Create implementation
272795
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34901"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34899",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z34899( Z34899K1, Z34899K2 ) {\n const forms = Z34899K1.Z6005K7;\n const filtered = [];\n\n for (const form of forms) {\n const features = form.Z6004K4;\n let matchedItemRefs = 0;\n \n for (const itemRef of Z34899K2) {\n for (const feature of features) {\n if (feature.Z6091K1 === itemRef.Z6091K1) {\n matchedItemRefs++;\n break;\n }\n }\n }\n\n if (matchedItemRefs === Z34899K2.length) {\n filtered.push(form);\n }\n }\n\n return filtered;\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select Forms with given features from Lexeme, JS"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "copied from [[Z24242]]"
}
]
}
}
9l744vmjov16yetoos7dmfdcym9am11
Talk:Z34899
1
82652
272798
2026-05-06T20:46:31Z
YoshiRulz
10156
/* Duplicate */ new section
272798
wikitext
text/x-wiki
== Duplicate ==
of [[Z19243]] [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:46, 6 May 2026 (UTC)
j0iowh2u0lf47fszh7wal3alxj8x0e5
Z34902
0
82653
272800
2026-05-06T20:58:10Z
YoshiRulz
10156
Create function
272800
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34902"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z11"
},
"Z17K2": "Z34902K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "texts"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z60"
},
"Z17K2": "Z34902K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "languages"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z11"
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34902"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select Monolingual texts in any of several langs"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"filter list of Monolingual texts with list of Natural languages"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if the list of languages is empty, returns all texts"
}
]
}
}
jahkcderzgai049g5nnkwf3571v9pfp
272804
272800
2026-05-06T21:05:51Z
YoshiRulz
10156
Added Z34904 and Z34905 to the approved list of test cases
272804
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34902"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z11"
},
"Z17K2": "Z34902K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "texts"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z60"
},
"Z17K2": "Z34902K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "languages"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z11"
},
"Z8K3": [
"Z20",
"Z34904",
"Z34905"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34902"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select Monolingual texts in any of several langs"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"filter list of Monolingual texts with list of Natural languages"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if the list of languages is empty, returns all texts"
}
]
}
}
487r976y08ff5baeqpmtaos606qvpfb
272806
272804
2026-05-06T21:06:37Z
YoshiRulz
10156
Added Z34903 to the approved list of implementations
272806
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34902"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z11"
},
"Z17K2": "Z34902K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "texts"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z60"
},
"Z17K2": "Z34902K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "languages"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z11"
},
"Z8K3": [
"Z20",
"Z34904",
"Z34905"
],
"Z8K4": [
"Z14",
"Z34903"
],
"Z8K5": "Z34902"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select Monolingual texts in any of several langs"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"filter list of Monolingual texts with list of Natural languages"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if the list of languages is empty, returns all texts"
}
]
}
}
edyal9nsbewkgwb4i1xee76cl2dzic3
Z34903
0
82654
272801
2026-05-06T20:59:56Z
YoshiRulz
10156
Create implementation
272801
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34903"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34902",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z813",
"Z813K1": {
"Z1K1": "Z18",
"Z18K1": "Z34902K2"
}
},
"Z802K2": {
"Z1K1": "Z18",
"Z18K1": "Z34902K1"
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z22820",
"Z22820K1": {
"Z1K1": "Z18",
"Z18K1": "Z34902K1"
},
"Z22820K2": {
"Z1K1": "Z7",
"Z7K1": "Z13436",
"Z13436K1": "Z12696",
"Z13436K2": {
"Z1K1": "Z18",
"Z18K1": "Z34902K2"
},
"Z13436K3": {
"Z1K1": "Z7",
"Z7K1": "Z873",
"Z873K1": "Z14404",
"Z873K2": {
"Z1K1": "Z18",
"Z18K1": "Z34902K1"
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select Z11s in any of several langs, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
teefka65ib3cfupcoa6aqtatadrpcnm
Z34904
0
82655
272802
2026-05-06T21:02:58Z
YoshiRulz
10156
Create test
272802
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34904"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34902",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34902",
"Z34902K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "A"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "B"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "C"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "D"
}
],
"Z34902K2": [
"Z60",
"Z1002",
"Z1004"
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "B"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "D"
}
],
"Z889K3": "Z14392"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "([...], [en, fr]) -\u003E [en:\"a\", fr:\"a\"]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
irpxpd84kqxwb4lmxwcwlvnnf3i87y1
Z34905
0
82656
272803
2026-05-06T21:04:00Z
YoshiRulz
10156
Create test
272803
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34905"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34902",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34902",
"Z34902K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "A"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "B"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "C"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "D"
}
],
"Z34902K2": [
"Z60",
"Z1002",
"Z1004"
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "A"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "B"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "C"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "D"
}
],
"Z889K3": "Z14392"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "([...], []) -\u003E [...] (same list)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
oql3mflnecroxzt0wcx5mdnbou5l707
272805
272803
2026-05-06T21:06:19Z
YoshiRulz
10156
Fix copy-paste error
272805
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34905"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34902",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34902",
"Z34902K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "A"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "B"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "C"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "D"
}
],
"Z34902K2": [
"Z60"
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "A"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "B"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "C"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "D"
}
],
"Z889K3": "Z14392"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "([...], []) -\u003E [...] (same list)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
h2ztmtbd1v9ifaf2chxqmvv4rpgtn1h
Z34906
0
82657
272807
2026-05-06T21:07:38Z
YoshiRulz
10156
Create implementation
272807
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34906"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23143",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z34902",
"Z34902K1": {
"Z1K1": "Z18",
"Z18K1": "Z23143K1"
},
"Z34902K2": [
"Z60",
{
"Z1K1": "Z18",
"Z18K1": "Z23143K2"
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "filter list of Z11s by lang, via-list composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
690l6k2n5ysi05pvc6b3zbpbbo6rrqq
Z34907
0
82658
272808
2026-05-06T21:22:52Z
YoshiRulz
10156
Create implementation
272808
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34907"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z24240",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z34902",
"Z34902K1": {
"Z1K1": "Z7",
"Z7K1": "Z27665",
"Z27665K1": {
"Z1K1": "Z7",
"Z7K1": "Z873",
"Z873K1": "Z22396",
"Z873K2": {
"Z1K1": "Z7",
"Z7K1": "Z19243",
"Z19243K1": {
"Z1K1": "Z18",
"Z18K1": "Z24240K1"
},
"Z19243K2": {
"Z1K1": "Z18",
"Z18K1": "Z24240K2"
}
}
}
},
"Z34902K2": {
"Z1K1": "Z18",
"Z18K1": "Z24240K3"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select reprs. by features and langs, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
envjvajbqdj4lsmbvtqf7txpg216gld
Z34908
0
82659
272810
2026-05-06T21:25:56Z
YoshiRulz
10156
Create implementation
272810
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34908"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23067",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z22865",
"Z22865K1": {
"Z1K1": "Z7",
"Z7K1": "Z22638",
"Z22638K1": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z19243",
"Z19243K1": {
"Z1K1": "Z18",
"Z18K1": "Z23067K1"
},
"Z19243K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q146786"
}
]
}
}
},
"Z22865K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q499327"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q1775415"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q1775461"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q1305037"
}
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "gender of first plural Form, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
74v1i5ah1f1w615iig5qikco61ue7j4
Talk:Z23109
1
82660
272812
2026-05-06T21:27:25Z
YoshiRulz
10156
Add to category
272812
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34909
0
82661
272818
2026-05-06T23:09:53Z
Tdkerabatsos
68559
no improvement -- just testing functionality
272818
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34909"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z34909K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sample input"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z16683",
"Z17K2": "Z34909K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sample integer"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34909"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "test-function"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "just testing"
}
]
}
}
eg1bfkw5bpogxjspesnozj5ytkdiv3b
Talk:Z23153
1
82662
272822
2026-05-07T00:10:43Z
YoshiRulz
10156
Add to category
272822
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z23197
1
82663
272825
2026-05-07T00:15:49Z
YoshiRulz
10156
Add to category
272825
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z23219
1
82664
272826
2026-05-07T00:21:11Z
YoshiRulz
10156
Add to category
272826
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z23246
1
82665
272827
2026-05-07T00:22:39Z
YoshiRulz
10156
Add to category
272827
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z23283
1
82666
272830
2026-05-07T00:22:52Z
YoshiRulz
10156
Add to category
272830
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34910
0
82667
272831
2026-05-07T00:25:16Z
YoshiRulz
10156
Create implementation
272831
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34910"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23344",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z14613",
"Z14613K1": {
"Z1K1": "Z7",
"Z7K1": "Z23283",
"Z23283K1": {
"Z1K1": "Z18",
"Z18K1": "Z23344K1"
}
},
"Z14613K2": "0123456789",
"Z14613K3": {
"Z1K1": "Z7",
"Z7K1": "Z22302",
"Z22302K1": "Z1820"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Natural numbers in Devanagari script, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
naiyy065a3vq0yll1iak3edorup0p7a
Z34911
0
82668
272833
2026-05-07T00:29:36Z
YoshiRulz
10156
Create implementation
272833
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34911"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23349",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z19679",
"Z19679K1": {
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z19679K2": {
"Z1K1": "Z7",
"Z7K1": "Z19708",
"Z19708K1": {
"Z1K1": "Z7",
"Z7K1": "Z19699",
"Z19699K1": {
"Z1K1": "Z7",
"Z7K1": "Z19679",
"Z19679K1": {
"Z1K1": "Z7",
"Z7K1": "Z19706",
"Z19706K1": {
"Z1K1": "Z18",
"Z18K1": "Z23349K1"
},
"Z19706K2": {
"Z1K1": "Z7",
"Z7K1": "Z19679",
"Z19679K1": {
"Z1K1": "Z18",
"Z18K1": "Z23349K1"
},
"Z19679K2": {
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
}
},
"Z19679K2": {
"Z1K1": "Z7",
"Z7K1": "Z19706",
"Z19706K1": {
"Z1K1": "Z18",
"Z18K1": "Z23349K2"
},
"Z19706K2": {
"Z1K1": "Z7",
"Z7K1": "Z19679",
"Z19679K1": {
"Z1K1": "Z18",
"Z18K1": "Z23349K2"
},
"Z19679K2": {
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
}
}
},
"Z19699K2": {
"Z1K1": "Z7",
"Z7K1": "Z19706",
"Z19706K1": {
"Z1K1": "Z18",
"Z18K1": "Z23349K3"
},
"Z19706K2": {
"Z1K1": "Z7",
"Z7K1": "Z19679",
"Z19679K1": {
"Z1K1": "Z18",
"Z18K1": "Z23349K3"
},
"Z19679K2": {
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
}
}
},
"Z19708K2": {
"Z1K1": "Z7",
"Z7K1": "Z19706",
"Z19706K1": {
"Z1K1": "Z7",
"Z7K1": "Z19706",
"Z19706K1": {
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z19706K2": {
"Z1K1": "Z18",
"Z18K1": "Z23349K1"
}
},
"Z19706K2": {
"Z1K1": "Z7",
"Z7K1": "Z19679",
"Z19679K1": {
"Z1K1": "Z18",
"Z18K1": "Z23349K1"
},
"Z19679K2": {
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "approximated Landé g-factor, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
c38qpoa3x4xpv2qyd08ldkokdt2hgs5
Z34912
0
82669
272835
2026-05-07T00:36:03Z
YoshiRulz
10156
Create implementation
272835
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34912"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23403",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z16255",
"Z16255K1": {
"Z1K1": "Z7",
"Z7K1": "Z13708",
"Z13708K1": {
"Z1K1": "Z18",
"Z18K1": "Z23403K1"
},
"Z13708K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q108"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q109"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q110"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q118"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q119"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q120"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q121"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q122"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q123"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q124"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q125"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q126"
}
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "WD Item ref. to Gregorian month, LUT composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
myeeq2u8ns1r96nbo386bw16wg4zpm7
Z34913
0
82670
272836
2026-05-07T00:43:39Z
YoshiRulz
10156
Create implementation
272836
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34913"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23403",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z16255",
"Z16255K1": {
"Z1K1": "Z7",
"Z7K1": "Z14283",
"Z14283K1": {
"Z1K1": "Z7",
"Z7K1": "Z33579",
"Z33579K1": {
"Z1K1": "Z7",
"Z7K1": "Z23451",
"Z23451K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z23403K1"
}
},
"Z23451K2": {
"Z1K1": "Z6092",
"Z6092K1": "P279"
}
},
"Z33579K2": {
"Z1K1": "Z6092",
"Z6092K1": "P1545"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "WD Item ref. to Gregorian month, P1545 composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
a3gexe39ff9xkd4tfxx7uknjxhe2uy8
Z34914
0
82671
272837
2026-05-07T00:49:03Z
YoshiRulz
10156
Create function
272837
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34914"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34914K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
}
],
"Z8K2": "Z6039",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34914"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikifunctions sitelink for Wikidata item"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sx98j3b1fehx006cide9p0x9rnfxwz4
272840
272837
2026-05-07T00:51:30Z
YoshiRulz
10156
Added Z34915 and Z34916 to the approved list of test cases
272840
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34914"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34914K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
}
],
"Z8K2": "Z6039",
"Z8K3": [
"Z20",
"Z34915",
"Z34916"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34914"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikifunctions sitelink for Wikidata item"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fqkh66uc82oa907388ef8pvluch2pnl
272843
272840
2026-05-07T00:53:11Z
YoshiRulz
10156
Added Z34917 to the approved list of implementations
272843
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34914"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34914K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
}
],
"Z8K2": "Z6039",
"Z8K3": [
"Z20",
"Z34915",
"Z34916"
],
"Z8K4": [
"Z14",
"Z34917"
],
"Z8K5": "Z34914"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikifunctions sitelink for Wikidata item"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
lhgwdf3sfuz4hitdrye7gfa8g8fh6y3
Z34915
0
82672
272838
2026-05-07T00:51:00Z
YoshiRulz
10156
Create test
272838
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34915"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34914",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z31973",
"Z31973K1": {
"Z1K1": "Z7",
"Z7K1": "Z34914",
"Z34914K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q110"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": {
"Z1K1": "Z6",
"Z6K1": "Z16103"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Q110 -\u003E \"Z16103\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
s9bsvzhlbnyld9b82vpv07ytmywc4sx
Z34916
0
82673
272839
2026-05-07T00:51:15Z
YoshiRulz
10156
Create test
272839
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34916"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34914",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z31973",
"Z31973K1": {
"Z1K1": "Z7",
"Z7K1": "Z34914",
"Z34914K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3938"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "Wikifunctions:Sandbox"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Q3938 -\u003E Wikifunctions:Sandbox"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ntst0fd9npmudvz383wqm5lj5ulitt9
Z34917
0
82674
272841
2026-05-07T00:52:27Z
YoshiRulz
10156
Create implementation
272841
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34917"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34914",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z6839",
"Z6839K1": {
"Z1K1": "Z18",
"Z18K1": "Z34914K1"
},
"Z6839K2": [
"Z6",
"wiki"
],
"Z6839K3": [
"Z60",
{
"Z1K1": "Z60",
"Z60K1": "wikifunctions",
"Z60K2": [
"Z6"
]
}
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikifunctions sitelink for WD Item, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
twe18pkax18bbkn6x51sm4edotcxdpx
Z34918
0
82675
272844
2026-05-07T00:54:38Z
YoshiRulz
10156
Create implementation
272844
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34918"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23403",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z30531",
"Z30531K1": {
"Z1K1": "Z7",
"Z7K1": "Z31973",
"Z31973K1": {
"Z1K1": "Z7",
"Z7K1": "Z34914",
"Z34914K1": {
"Z1K1": "Z18",
"Z18K1": "Z23403K1"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Item ref. to Gregorian month, sitelink composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qvxizn3xawd7jsjj8a02hv95x6ncpp5
Z34919
0
82676
272849
2026-05-07T01:02:18Z
YoshiRulz
10156
Create implementation
272849
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34919"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23407",
"Z14K2": {
"Z1K1": "Z20342",
"Z20342K1": {
"Z1K1": "Z7",
"Z7K1": "Z23403",
"Z23403K1": {
"Z1K1": "Z7",
"Z7K1": "Z19308",
"Z19308K1": {
"Z1K1": "Z7",
"Z7K1": "Z23451",
"Z23451K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z23407K1"
}
},
"Z23451K2": {
"Z1K1": "Z6092",
"Z6092K1": "P361"
}
}
}
},
"Z20342K2": {
"Z1K1": "Z7",
"Z7K1": "Z14283",
"Z14283K1": {
"Z1K1": "Z7",
"Z7K1": "Z33579",
"Z33579K1": {
"Z1K1": "Z7",
"Z7K1": "Z23451",
"Z23451K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z23407K1"
}
},
"Z23451K2": {
"Z1K1": "Z6092",
"Z6092K1": "P361"
}
},
"Z33579K2": {
"Z1K1": "Z6092",
"Z6092K1": "P1545"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wikidata Item ref. to Roman day, P1545 composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
04zfdhxp1ftz3zlwuy20dwdpg4yov3z
Z34920
0
82677
272852
2026-05-07T01:06:17Z
YoshiRulz
10156
Create implementation
272852
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34920"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23415",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z17478",
"Z17478K1": {
"Z1K1": "Z7",
"Z7K1": "Z13708",
"Z13708K1": {
"Z1K1": "Z18",
"Z18K1": "Z23415K1"
},
"Z13708K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q132"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q105"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q127"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q128"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q129"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q130"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q131"
}
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "WD Item ref. to Day of the week, LUT composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ly4ihptcf1gqgjs6ksl6jmzqipgrhc5
Z34921
0
82678
272853
2026-05-07T01:07:51Z
YoshiRulz
10156
Create implementation
272853
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34921"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23415",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z30531",
"Z30531K1": {
"Z1K1": "Z7",
"Z7K1": "Z31973",
"Z31973K1": {
"Z1K1": "Z7",
"Z7K1": "Z34914",
"Z34914K1": {
"Z1K1": "Z18",
"Z18K1": "Z23415K1"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Item ref. to Day of the week, sitelink composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ljijfbuwilgkw721q7hpx58pgtcjj5i
Z34922
0
82679
272854
2026-05-07T01:12:06Z
YoshiRulz
10156
Create implementation
272854
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34922"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23415",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z17478",
"Z17478K1": {
"Z1K1": "Z7",
"Z7K1": "Z13578",
"Z13578K1": {
"Z1K1": "Z7",
"Z7K1": "Z13551",
"Z13551K1": {
"Z1K1": "Z7",
"Z7K1": "Z14283",
"Z14283K1": {
"Z1K1": "Z7",
"Z7K1": "Z19308",
"Z19308K1": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z29870",
"Z29870K1": {
"Z1K1": "Z7",
"Z7K1": "Z29691",
"Z29691K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z18",
"Z18K1": "Z23415K1"
}
},
"Z29691K2": {
"Z1K1": "Z6092",
"Z6092K1": "P1545"
}
},
"Z29870K2": {
"Z1K1": "Z6007",
"Z6007K1": {
"Z1K1": "Z6092",
"Z6092K1": "P1013"
},
"Z6007K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q50101"
},
"Z6007K3": "Z6021"
}
}
}
}
},
"Z13551K2": {
"Z1K1": "Z13518",
"Z13518K1": "7"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "WD Item ref. to Day of the week, P1545 composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qqf8irxhtp5sh40to4y61vodtyrup4d
Z34923
0
82680
272856
2026-05-07T01:19:10Z
YoshiRulz
10156
Create implementation
272856
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34923"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23423",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z20730",
"Z20730K1": {
"Z1K1": "Z18",
"Z18K1": "Z23423K2"
},
"Z20730K2": {
"Z1K1": "Z7",
"Z7K1": "Z23403",
"Z23403K1": {
"Z1K1": "Z7",
"Z7K1": "Z19308",
"Z19308K1": {
"Z1K1": "Z7",
"Z7K1": "Z23680",
"Z23680K1": {
"Z1K1": "Z7",
"Z7K1": "Z28548",
"Z28548K1": {
"Z1K1": "Z7",
"Z7K1": "Z22220",
"Z22220K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z23423K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P2894"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P2922"
}
]
}
},
"Z28548K2": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P2922"
}
]
}
}
}
},
"Z20730K3": {
"Z1K1": "Z7",
"Z7K1": "Z23415",
"Z23415K1": {
"Z1K1": "Z7",
"Z7K1": "Z19308",
"Z19308K1": {
"Z1K1": "Z7",
"Z7K1": "Z23680",
"Z23680K1": {
"Z1K1": "Z7",
"Z7K1": "Z28548",
"Z28548K1": {
"Z1K1": "Z7",
"Z7K1": "Z22220",
"Z22220K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z23423K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P2894"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P2922"
}
]
}
},
"Z28548K2": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P2894"
}
]
}
}
}
},
"Z20730K4": {
"Z1K1": "Z7",
"Z7K1": "Z14283",
"Z14283K1": {
"Z1K1": "Z7",
"Z7K1": "Z33579",
"Z33579K1": {
"Z1K1": "Z7",
"Z7K1": "Z23680",
"Z23680K1": {
"Z1K1": "Z7",
"Z7K1": "Z28548",
"Z28548K1": {
"Z1K1": "Z7",
"Z7K1": "Z22220",
"Z22220K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z23423K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P2894"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P2922"
}
]
}
},
"Z28548K2": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P2894"
}
]
}
},
"Z33579K2": {
"Z1K1": "Z6092",
"Z6092K1": "P1545"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Day from year and WD nth day in month, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
gjh4is0ecsjebzrkf0ytc41effgbrji
Z34924
0
82681
272858
2026-05-07T01:22:58Z
YoshiRulz
10156
Create implementation
272858
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34924"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z23447",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z19841",
"Z19841K1": {
"Z1K1": "Z7",
"Z7K1": "Z25294",
"Z25294K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P4895"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z23447K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P4895"
}
]
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Int from WD days until/since Easter, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
dgahv37n1sr23h9nw56f6hkw2demrcs
User:NikolasKHF/sandbox
2
82682
272867
2026-05-07T03:38:51Z
J ansari
2643
J ansari moved page [[User:NikolasKHF/sandbox]] to [[User:OwlyKnight/sandbox]]: Automatically moved page while renaming the user "[[Special:CentralAuth/NikolasKHF|NikolasKHF]]" to "[[Special:CentralAuth/OwlyKnight|OwlyKnight]]"
272867
wikitext
text/x-wiki
#REDIRECT [[User:OwlyKnight/sandbox]]
fe1cnb5j7laklfmhfl28cv7k8jvu8fd
User talk:NikolasKHF
3
82683
272869
2026-05-07T03:38:51Z
J ansari
2643
J ansari moved page [[User talk:NikolasKHF]] to [[User talk:OwlyKnight]]: Automatically moved page while renaming the user "[[Special:CentralAuth/NikolasKHF|NikolasKHF]]" to "[[Special:CentralAuth/OwlyKnight|OwlyKnight]]"
272869
wikitext
text/x-wiki
#REDIRECT [[User talk:OwlyKnight]]
0us2imsabu0o1k90gfrd26mflegd5nq
User:NikolasKHF
2
82684
272871
2026-05-07T03:38:52Z
J ansari
2643
J ansari moved page [[User:NikolasKHF]] to [[User:OwlyKnight]]: Automatically moved page while renaming the user "[[Special:CentralAuth/NikolasKHF|NikolasKHF]]" to "[[Special:CentralAuth/OwlyKnight|OwlyKnight]]"
272871
wikitext
text/x-wiki
#REDIRECT [[User:OwlyKnight]]
47isrhqeg368e087xrtt129fpms0u9p
Z34925
0
82685
272873
2026-05-07T03:52:45Z
Lysdo
13313
add a new test on Chinese situation
272873
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34925"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z27868",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z27868",
"Z27868K1": {
"Z1K1": "Z7",
"Z7K1": "Z26039",
"Z26039K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z26039K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z26039K3": "Z1006"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z7",
"Z7K1": "Z33687",
"Z33687K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z33687K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z33687K3": "Z1006",
"Z33687K4": "",
"Z33687K5": "",
"Z33687K6": "",
"Z33687K7": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bseui6g533vhey5r4cnj8pn9qhhbyj6
272879
272873
2026-05-07T04:28:02Z
Lysdo
13313
give a name
272879
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34925"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z27868",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z27868",
"Z27868K1": {
"Z1K1": "Z7",
"Z7K1": "Z26039",
"Z26039K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z26039K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z26039K3": "Z1006"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z7",
"Z7K1": "Z33687",
"Z33687K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z33687K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z33687K3": "Z1006",
"Z33687K4": "",
"Z33687K5": "",
"Z33687K6": "",
"Z33687K7": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[en] use funtion call results as input"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
f8aq4kif9lc16nrgtyh1afen5szue0d
272882
272879
2026-05-07T04:30:45Z
Lysdo
13313
fixed typo
272882
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34925"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z27868",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z27868",
"Z27868K1": {
"Z1K1": "Z7",
"Z7K1": "Z26039",
"Z26039K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z26039K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z26039K3": "Z1006"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z7",
"Z7K1": "Z33687",
"Z33687K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z33687K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z33687K3": "Z1006",
"Z33687K4": "",
"Z33687K5": "",
"Z33687K6": "",
"Z33687K7": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[zh] use funtion call results as input"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
rpp5o96gb61zkwx79k4bqk332rklvzk
Z34926
0
82686
272874
2026-05-07T04:07:27Z
Lysdo
13313
add a test used funtion call result as input
272874
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34926"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z27868",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z27868",
"Z27868K1": {
"Z1K1": "Z7",
"Z7K1": "Z26039",
"Z26039K1": {
"Z1K1": "Z6091",
"Z6091K1": ""
},
"Z26039K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z26039K3": "Z1002"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z7",
"Z7K1": "Z33687",
"Z33687K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z33687K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z33687K3": "Z1002",
"Z33687K4": "",
"Z33687K5": "",
"Z33687K6": "",
"Z33687K7": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
cr0cjtmoph5hkz6c47rs53yjgr53h0b
272876
272874
2026-05-07T04:15:31Z
Lysdo
13313
fix typo
272876
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34926"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z27868",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z27868",
"Z27868K1": {
"Z1K1": "Z7",
"Z7K1": "Z26039",
"Z26039K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z26039K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z26039K3": "Z1002"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z7",
"Z7K1": "Z33687",
"Z33687K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z33687K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z33687K3": "Z1002",
"Z33687K4": "",
"Z33687K5": "",
"Z33687K6": "",
"Z33687K7": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
h7z24zn607l676j6it75e77ckeghexz
272880
272876
2026-05-07T04:29:01Z
Lysdo
13313
given a name
272880
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34926"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z27868",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z27868",
"Z27868K1": {
"Z1K1": "Z7",
"Z7K1": "Z26039",
"Z26039K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z26039K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z26039K3": "Z1002"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z7",
"Z7K1": "Z33687",
"Z33687K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z33687K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z33687K3": "Z1002",
"Z33687K4": "",
"Z33687K5": "",
"Z33687K6": "",
"Z33687K7": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[zh] use funtion call results as input"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
l5rdnvvnmipsy55iy2it11hrcr90m1d
272881
272880
2026-05-07T04:29:42Z
Lysdo
13313
typo
272881
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34926"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z27868",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z27868",
"Z27868K1": {
"Z1K1": "Z7",
"Z7K1": "Z26039",
"Z26039K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z26039K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z26039K3": "Z1002"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z7",
"Z7K1": "Z33687",
"Z33687K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z33687K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z33687K3": "Z1002",
"Z33687K4": "",
"Z33687K5": "",
"Z33687K6": "",
"Z33687K7": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[] use funtion call results as input"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fqqp03xxuh1n15a5p2vf5ivhl40cdj6
272883
272881
2026-05-07T04:31:10Z
Lysdo
13313
fixed typo
272883
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34926"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z27868",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z27868",
"Z27868K1": {
"Z1K1": "Z7",
"Z7K1": "Z26039",
"Z26039K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z26039K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z26039K3": "Z1002"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z7",
"Z7K1": "Z33687",
"Z33687K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q788"
},
"Z33687K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q9430"
},
"Z33687K3": "Z1002",
"Z33687K4": "",
"Z33687K5": "",
"Z33687K6": "",
"Z33687K7": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[en] use funtion call results as input"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ewlteyf0dwp59zpr1jafg1f3ypcrpa6
Z34927
0
82687
272877
2026-05-07T04:26:39Z
Sun8908
9804
272877
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34927"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34927K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "QID"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34927K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34927"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string from lexeme or label given item ref. \u0026 lang"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"string from lexeme or label given item ref. and lang"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Fetch a string from a lexeme, if empty, use item label instead, given item reference and language"
}
]
}
}
hwbcbvvxqhj3vlbgy4vh6jo6prv825d
272889
272877
2026-05-07T04:50:10Z
Sun8908
9804
Added Z34928 to the approved list of implementations
272889
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34927"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34927K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "QID"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34927K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z34928"
],
"Z8K5": "Z34927"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string from lexeme or label given item ref. \u0026 lang"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"string from lexeme or label given item ref. and lang"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Fetch a string from a lexeme, if empty, use item label instead, given item reference and language"
}
]
}
}
375cl3vvmmw1l5qulttqclwh5wcoy9m
272890
272889
2026-05-07T04:50:14Z
Sun8908
9804
Added Z34929 and Z34930 to the approved list of test cases
272890
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34927"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34927K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "QID"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34927K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z34929",
"Z34930"
],
"Z8K4": [
"Z14",
"Z34928"
],
"Z8K5": "Z34927"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string from lexeme or label given item ref. \u0026 lang"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"string from lexeme or label given item ref. and lang"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Fetch a string from a lexeme, if empty, use item label instead, given item reference and language"
}
]
}
}
4m8azzbvskslzes8ibcfxdogtkpqq5b
272896
272890
2026-05-07T07:23:04Z
Dv103
11127
Added Z34931 to the approved list of test cases
272896
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34927"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34927K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "QID"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34927K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z34929",
"Z34930",
"Z34931"
],
"Z8K4": [
"Z14",
"Z34928"
],
"Z8K5": "Z34927"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string from lexeme or label given item ref. \u0026 lang"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"string from lexeme or label given item ref. and lang"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Fetch a string from a lexeme, if empty, use item label instead, given item reference and language"
}
]
}
}
i3pzx7gd0fyelkbz27b0p9a02ldxpok
272900
272896
2026-05-07T07:34:10Z
Dv103
11127
Added Z34933 to the approved list of test cases
272900
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34927"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34927K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "QID"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34927K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z34929",
"Z34930",
"Z34931",
"Z34933"
],
"Z8K4": [
"Z14",
"Z34928"
],
"Z8K5": "Z34927"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string from lexeme or label given item ref. \u0026 lang"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"string from lexeme or label given item ref. and lang"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Fetch a string from a lexeme, if empty, use item label instead, given item reference and language"
}
]
}
}
5tdyp2mr2llbhkqexpk6fi40u2yi6cb
272915
272900
2026-05-07T09:11:07Z
Dv103
11127
Added Z34936 to the approved list of test cases
272915
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34927"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34927K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "QID"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34927K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z34929",
"Z34930",
"Z34931",
"Z34933",
"Z34936"
],
"Z8K4": [
"Z14",
"Z34928"
],
"Z8K5": "Z34927"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string from lexeme or label given item ref. \u0026 lang"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"string from lexeme or label given item ref. and lang"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Fetch a string from a lexeme, if empty, use item label instead, given item reference and language"
}
]
}
}
7tu8fb6qpelcv97tmmbopqwi39vi5oi
Z34928
0
82688
272884
2026-05-07T04:36:56Z
Sun8908
9804
forgot that there could be difference in grammatical features. just use for languages without such grammatical features for now
272884
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34928"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34927",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z23120",
"Z23120K1": {
"Z1K1": "Z7",
"Z7K1": "Z6830",
"Z6830K1": {
"Z1K1": "Z18",
"Z18K1": "Z34927K1"
},
"Z6830K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5137"
},
"Z6830K3": {
"Z1K1": "Z18",
"Z18K1": "Z34927K2"
}
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z19241",
"Z19241K1": {
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z18",
"Z18K1": "Z34927K1"
},
"Z22696K2": {
"Z1K1": "Z18",
"Z18K1": "Z34927K2"
}
},
"Z19241K2": [
"Z6091"
]
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z18",
"Z18K1": "Z34927K1"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z34927K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "str frm lexeme or label given item ref. \u0026 lang cmp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
eguyt4942br1cmxbyggnzrrbzx8sn2w
Z34929
0
82689
272887
2026-05-07T04:47:19Z
Sun8908
9804
272887
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34929"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34927",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34927",
"Z34927K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z34927K2": "Z1006"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "城市"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Q515, zh → 城市"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
kdz4x4f06np00co49eb7pbkgbv9jhvg
Z34930
0
82690
272888
2026-05-07T04:49:52Z
Sun8908
9804
272888
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34930"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34927",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34927",
"Z34927K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q1"
},
"Z34927K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "world"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Q1, en → world"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ouyfwi3d0q1jjzukuo80g7hjp8f6cyr
Z34931
0
82691
272895
2026-05-07T07:22:54Z
Dv103
11127
272895
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34931"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34927",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34927",
"Z34927K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q523"
},
"Z34927K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "star"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Q523, en-\u003E star"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bor2oe9w6yfc3b9ta7u79ap4fytazem
Z34932
0
82692
272897
2026-05-07T07:28:46Z
Dv103
11127
272897
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34932"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34927",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z850",
"Z850K1": {
"Z1K1": "Z7",
"Z7K1": "Z850",
"Z850K1": {
"Z1K1": "Z7",
"Z7K1": "Z27410",
"Z27410K1": {
"Z1K1": "Z7",
"Z7K1": "Z27327",
"Z27327K1": {
"Z1K1": "Z18",
"Z18K1": "Z34927K1"
},
"Z27327K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5137"
},
"Z27327K3": {
"Z1K1": "Z18",
"Z18K1": "Z34927K2"
}
},
"Z27410K2": [
"Z6091"
]
},
"Z850K2": "Z28259",
"Z850K3": {
"Z1K1": "Z7",
"Z7K1": "Z21806",
"Z21806K1": {
"Z1K1": "Z7",
"Z7K1": "Z27327",
"Z27327K1": {
"Z1K1": "Z18",
"Z18K1": "Z34927K1"
},
"Z27327K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5137"
},
"Z27327K3": {
"Z1K1": "Z18",
"Z18K1": "Z34927K2"
}
},
"Z21806K2": {
"Z1K1": "Z18",
"Z18K1": "Z34927K2"
}
}
},
"Z850K2": "Z28248",
"Z850K3": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z18",
"Z18K1": "Z34927K1"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z34927K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string from lexeme or label, best lexeme"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
c47zf4gji4afkb7ugfttnafa16gus7f
Talk:Z34930
1
82693
272898
2026-05-07T07:30:18Z
Dv103
11127
/* Why should be "world" instead of "universe"? */ new section
272898
wikitext
text/x-wiki
== Why should be "world" instead of "universe"? ==
@[[User:Sun8908|Sun8908]] The item {{Q|1}} refers to universe, so why in English this function should return "world"? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:30, 7 May 2026 (UTC)
2ky7sxh7vnonfxa33h97yp8x6acqsy3
272911
272898
2026-05-07T08:56:53Z
Sun8908
9804
/* Why should be "world" instead of "universe"? */ Reply
272911
wikitext
text/x-wiki
== Why should be "world" instead of "universe"? ==
@[[User:Sun8908|Sun8908]] The item {{Q|1}} refers to universe, so why in English this function should return "world"? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:30, 7 May 2026 (UTC)
:I just randomly looked for an item with a lexeme fetched by {{Z|Z6830}} different from the WD label, for testing purpose. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 08:56, 7 May 2026 (UTC)
pk84fvdil8sqewq7wdkewjotshlt44u
272912
272911
2026-05-07T09:08:42Z
Dv103
11127
/* Why should be "world" instead of "universe"? */ Reply
272912
wikitext
text/x-wiki
== Why should be "world" instead of "universe"? ==
@[[User:Sun8908|Sun8908]] The item {{Q|1}} refers to universe, so why in English this function should return "world"? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:30, 7 May 2026 (UTC)
:I just randomly looked for an item with a lexeme fetched by {{Z|Z6830}} different from the WD label, for testing purpose. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 08:56, 7 May 2026 (UTC)
::My question was about the definition of the function: should it return the best string representing the item, or just the first connected lexeme? Consider that in most practical uses (expecially for natural language generation), the first connected lexeme is not what you want, as this example shows. If the function should just return the first lexeme, it is better to specify it in its name, since it is not what functioneers usually want. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 09:08, 7 May 2026 (UTC)
ovighoi7cvghnlvwsb5gh79069n3pif
Z34933
0
82694
272899
2026-05-07T07:33:59Z
Dv103
11127
272899
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34933"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34927",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34927",
"Z34927K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3048444"
},
"Z34927K2": "Z1787"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "scuola di pensiero economico"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "it -\u003E scuola di pensiero economico (no lessema)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
iytm87dzzm2roplw5a4h2dsa2rq200d
Z34934
0
82695
272902
2026-05-07T07:54:18Z
Dv103
11127
272902
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34934"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z23619",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z23619",
"Z23619K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L21251"
}
],
"Z23619K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q1240211"
},
"Z23619K3": [
"Z40"
],
"Z23619K4": {
"Z1K1": "Z13518",
"Z13518K1": "11"
},
"Z23619K5": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z23619K6": [
"Z13518"
],
"Z23619K7": [
"Z40"
],
"Z23619K8": [
"Z13518"
],
"Z23619K9": [
"Z40"
],
"Z23619K10": {
"Z1K1": "Z7",
"Z7K1": "Z15142",
"Z15142K1": [
"Z1"
]
},
"Z23619K11": {
"Z1K1": "Z40",
"Z40K1": "Z42"
},
"Z23619K12": {
"Z1K1": "Z7",
"Z7K1": "Z30260",
"Z30260K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L21251"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L5139"
}
],
"Z30260K2": [
"Z6030"
],
"Z30260K3": [
"Z60"
],
"Z30260K4": [
"Z6092"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "è stato"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "[lei] è stato"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ddx4et7lc4gz6qhat771c5n47rwn1gp
Z34935
0
82696
272903
2026-05-07T07:57:09Z
Dv103
11127
272903
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34935"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z23619",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z23619",
"Z23619K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L643382"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L13032"
}
],
"Z23619K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q3686414"
},
"Z23619K3": [
"Z40"
],
"Z23619K4": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z23619K5": {
"Z1K1": "Z40",
"Z40K1": "Z42"
},
"Z23619K6": [
"Z13518"
],
"Z23619K7": [
"Z40"
],
"Z23619K8": [
"Z13518",
{
"Z1K1": "Z13518",
"Z13518K1": "12"
}
],
"Z23619K9": [
"Z40"
],
"Z23619K10": {
"Z1K1": "Z7",
"Z7K1": "Z15142",
"Z15142K1": [
"Z1"
]
},
"Z23619K11": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z23619K12": {
"Z1K1": "Z7",
"Z7K1": "Z30260",
"Z30260K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L643382"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L1213314"
}
],
"Z30260K2": [
"Z6030"
],
"Z30260K3": [
"Z60"
],
"Z30260K4": [
"Z6092"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "dovrei darLe"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "dovrei darLe"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
l36z5v4inw4sl83i86wn9pu0frjtege
272904
272903
2026-05-07T07:58:00Z
Dv103
11127
272904
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34935"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z23619",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z23619",
"Z23619K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L643382"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L1213314"
}
],
"Z23619K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q3686414"
},
"Z23619K3": [
"Z40"
],
"Z23619K4": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z23619K5": {
"Z1K1": "Z40",
"Z40K1": "Z42"
},
"Z23619K6": [
"Z13518"
],
"Z23619K7": [
"Z40"
],
"Z23619K8": [
"Z13518",
{
"Z1K1": "Z13518",
"Z13518K1": "12"
}
],
"Z23619K9": [
"Z40"
],
"Z23619K10": {
"Z1K1": "Z7",
"Z7K1": "Z15142",
"Z15142K1": [
"Z1"
]
},
"Z23619K11": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z23619K12": {
"Z1K1": "Z7",
"Z7K1": "Z30260",
"Z30260K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L643382"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L1213314"
}
],
"Z30260K2": [
"Z6030"
],
"Z30260K3": [
"Z60"
],
"Z30260K4": [
"Z6092"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "dovrei darLe"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "dovrei darLe"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fmif84cyut2mg8w4ic9n7k73s7bj19k
272907
272904
2026-05-07T08:11:12Z
Dv103
11127
272907
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34935"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z23619",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z23619",
"Z23619K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L643382"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L1213314"
}
],
"Z23619K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q3686414"
},
"Z23619K3": [
"Z40"
],
"Z23619K4": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z23619K5": {
"Z1K1": "Z40",
"Z40K1": "Z42"
},
"Z23619K6": [
"Z13518"
],
"Z23619K7": [
"Z40"
],
"Z23619K8": [
"Z13518",
{
"Z1K1": "Z13518",
"Z13518K1": "0"
},
{
"Z1K1": "Z13518",
"Z13518K1": "12"
}
],
"Z23619K9": [
"Z40"
],
"Z23619K10": {
"Z1K1": "Z7",
"Z7K1": "Z15142",
"Z15142K1": [
"Z1"
]
},
"Z23619K11": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z23619K12": {
"Z1K1": "Z7",
"Z7K1": "Z30260",
"Z30260K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L643382"
},
{
"Z1K1": "Z6095",
"Z6095K1": "L1213314"
}
],
"Z30260K2": [
"Z6030"
],
"Z30260K3": [
"Z60"
],
"Z30260K4": [
"Z6092"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "dovrei darLe"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "dovrei darLe"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
1oz2che4fz9wdv6fhhoakemooziitil
Z34936
0
82697
272914
2026-05-07T09:10:54Z
Dv103
11127
272914
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34936"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34927",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34927",
"Z34927K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
},
"Z34927K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "nominative"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Q131105, en -\u003E nominative"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Q131105, en -\u003E nominative"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Example of item with different label than the lexeme"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Esempio di elemento con etichetta diversa dal lessema"
}
]
}
}
2lhio1ugn9jonhtbq7kp79e63ak0g61
Z34937
0
82698
272916
2026-05-07T09:14:21Z
Dv103
11127
272916
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34937"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z23619",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z23619",
"Z23619K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L21237"
}
],
"Z23619K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q52434162"
},
"Z23619K3": [
"Z40"
],
"Z23619K4": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"Z23619K5": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z23619K6": [
"Z13518"
],
"Z23619K7": [
"Z40"
],
"Z23619K8": [
"Z13518",
{
"Z1K1": "Z13518",
"Z13518K1": "1"
}
],
"Z23619K9": [
"Z40"
],
"Z23619K10": {
"Z1K1": "Z7",
"Z7K1": "Z15142",
"Z15142K1": [
"Z1"
]
},
"Z23619K11": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z23619K12": {
"Z1K1": "Z7",
"Z7K1": "Z30260",
"Z30260K1": [
"Z6095",
{
"Z1K1": "Z6095",
"Z6095K1": "L21237"
}
],
"Z30260K2": [
"Z6030"
],
"Z30260K3": [
"Z60"
],
"Z30260K4": [
"Z6092"
]
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "dimmi"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "dimmi"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
dcs57num765yub568psxi3zd2ei7dej
Z34938
0
82699
272919
2026-05-07T09:54:55Z
Jsamwrites
938
272919
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34938"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34938K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z1",
"Z883K2": "Z1"
},
"Z17K2": "Z34938K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "reference context"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34938K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34938"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
05re473bwqodncgfiwn7fuhnlc62grw
272921
272919
2026-05-07T09:59:24Z
Jsamwrites
938
Added Z34939 to the approved list of implementations
272921
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34938"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34938K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z1",
"Z883K2": "Z1"
},
"Z17K2": "Z34938K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "reference context"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34938K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z34939"
],
"Z8K5": "Z34938"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4qwejirdsplarq5gx1ynbif9t7g0zay
272928
272921
2026-05-07T10:13:01Z
Jsamwrites
938
Removed Z34939 from the approved list of implementations
272928
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34938"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34938K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z1",
"Z883K2": "Z1"
},
"Z17K2": "Z34938K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "reference context"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34938K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34938"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
05re473bwqodncgfiwn7fuhnlc62grw
272929
272928
2026-05-07T10:13:15Z
Jsamwrites
938
272929
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34938"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34938K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z6",
"Z883K2": "Z1"
},
"Z17K2": "Z34938K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "reference context"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34938K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34938"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bq0myp582ewf9ttffkayve138vsscyh
272930
272929
2026-05-07T10:13:24Z
Jsamwrites
938
Added Z34939 to the approved list of implementations
272930
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34938"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34938K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z6",
"Z883K2": "Z1"
},
"Z17K2": "Z34938K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "reference context"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34938K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z34939"
],
"Z8K5": "Z34938"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
j18tzyo0qowzb5xz24eoz54csqf2chx
272931
272930
2026-05-07T10:15:48Z
Jsamwrites
938
Removed Z34939 from the approved list of implementations
272931
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34938"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34938K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z6",
"Z883K2": "Z1"
},
"Z17K2": "Z34938K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "reference context"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34938K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34938"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bq0myp582ewf9ttffkayve138vsscyh
272932
272931
2026-05-07T10:22:42Z
Jsamwrites
938
272932
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34938"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34938K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z6091",
"Z883K2": "Z1"
},
"Z17K2": "Z34938K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "reference context"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34938K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34938"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
2ydzebzaqbqimw3eeph066lga6os9gn
272933
272932
2026-05-07T10:22:51Z
Jsamwrites
938
Added Z34939 to the approved list of implementations
272933
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34938"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z34938K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z883",
"Z883K1": "Z6091",
"Z883K2": "Z1"
},
"Z17K2": "Z34938K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "reference context"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z34938K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z34939"
],
"Z8K5": "Z34938"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sylgjfdxtrauh8rpa7cf6y7zf2vg1jt
Z34939
0
82700
272920
2026-05-07T09:59:10Z
Jsamwrites
938
272920
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34939"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34938",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z813",
"Z813K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K2"
}
},
"Z802K2": {
"Z1K1": "Z11",
"Z11K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K3"
},
"Z11K2": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K1"
},
"Z24766K2": "Z1002"
}
},
"Z802K3": {
"Z1K1": "Z11",
"Z11K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K3"
},
"Z11K2": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
7a1om3x57cehws9end3uma4f8uy5e3u
272922
272920
2026-05-07T10:03:07Z
Jsamwrites
938
272922
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34939"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34938",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z13522",
"Z13522K1": {
"Z1K1": "Z7",
"Z7K1": "Z30737",
"Z30737K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K2"
}
},
"Z13522K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K2"
},
"Z24766K2": "Z1002"
},
"Z802K3": {
"Z1K1": "Z11",
"Z11K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K3"
},
"Z11K2": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
g49vy0thdwa28tc5i6tfqjl3i71m9tw
272925
272922
2026-05-07T10:07:34Z
Jsamwrites
938
272925
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34939"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34938",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z13522",
"Z13522K1": {
"Z1K1": "Z7",
"Z7K1": "Z30737",
"Z30737K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K2"
}
},
"Z13522K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K3"
},
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766"
}
}
},
"Z802K3": {
"Z1K1": "Z11",
"Z11K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K3"
},
"Z11K2": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fcijsdpm870tdiheyfzya2bvpvnphhc
272927
272925
2026-05-07T10:12:02Z
Jsamwrites
938
272927
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34939"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34938",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z24609",
"Z24609K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K2"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K3"
},
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766"
}
}
},
"Z802K3": {
"Z1K1": "Z11",
"Z11K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K3"
},
"Z11K2": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
q31dy3vfx3jjbdlj0fao2v32g28trv3
272934
272927
2026-05-07T10:49:43Z
Jsamwrites
938
272934
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34939"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34938",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z13522",
"Z13522K1": {
"Z1K1": "Z7",
"Z7K1": "Z30737",
"Z30737K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K2"
}
},
"Z13522K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K3"
},
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766"
}
}
},
"Z802K3": {
"Z1K1": "Z11",
"Z11K1": {
"Z1K1": "Z18",
"Z18K1": "Z34938K3"
},
"Z11K2": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "appropriate referential form for entity, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fcijsdpm870tdiheyfzya2bvpvnphhc