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. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 22:30, 20 April 2026 (UTC) :{{re|Theki}} "Wikidata lexemes don't really seem to account for pronunciation"" is patently untrue; not only does every Bokmål lexeme form have IPA attached to it (thanks to Jon Harald Søby), but there are lots of languages--including English--that have pronunciation information, whether through IPA or otherwise, indicated on their forms. The big issue of course is that adding this data is not always possible to perform efficiently--for instance, I'd love to have Yiddish pronunciation respellings from Paul Abelson's dictionary on as many English forms as possible, but this dictionary not being previously processed makes this difficult. The data set you have brought up, if a suitable reading of [[:m:Wikilegal/Lexicographical_Data]] allows it, could be added as {{P|7243}} statements on various English forms. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:20, 20 April 2026 (UTC) ::Well, sorry... I haven't witnessed these pronunciation statements before, I wasn't aware of their existence until you pointed it out. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 21 April 2026 (UTC) :I got 1,900,000 characters into [[Z33875]] before the UI gave up on me. I'm not sure what the limit is. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:21, 21 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:54, 25 April 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) == 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. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 22:30, 20 April 2026 (UTC) :{{re|Theki}} "Wikidata lexemes don't really seem to account for pronunciation"" is patently untrue; not only does every Bokmål lexeme form have IPA attached to it (thanks to Jon Harald Søby), but there are lots of languages--including English--that have pronunciation information, whether through IPA or otherwise, indicated on their forms. The big issue of course is that adding this data is not always possible to perform efficiently--for instance, I'd love to have Yiddish pronunciation respellings from Paul Abelson's dictionary on as many English forms as possible, but this dictionary not being previously processed makes this difficult. The data set you have brought up, if a suitable reading of [[:m:Wikilegal/Lexicographical_Data]] allows it, could be added as {{P|7243}} statements on various English forms. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:20, 20 April 2026 (UTC) ::Well, sorry... I haven't witnessed these pronunciation statements before, I wasn't aware of their existence until you pointed it out. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 21 April 2026 (UTC) :I got 1,900,000 characters into [[Z33875]] before the UI gave up on me. I'm not sure what the limit is. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:21, 21 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:54, 25 April 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) == 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. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 22:30, 20 April 2026 (UTC) :{{re|Theki}} "Wikidata lexemes don't really seem to account for pronunciation"" is patently untrue; not only does every Bokmål lexeme form have IPA attached to it (thanks to Jon Harald Søby), but there are lots of languages--including English--that have pronunciation information, whether through IPA or otherwise, indicated on their forms. The big issue of course is that adding this data is not always possible to perform efficiently--for instance, I'd love to have Yiddish pronunciation respellings from Paul Abelson's dictionary on as many English forms as possible, but this dictionary not being previously processed makes this difficult. The data set you have brought up, if a suitable reading of [[:m:Wikilegal/Lexicographical_Data]] allows it, could be added as {{P|7243}} statements on various English forms. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:20, 20 April 2026 (UTC) ::Well, sorry... I haven't witnessed these pronunciation statements before, I wasn't aware of their existence until you pointed it out. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 21 April 2026 (UTC) :I got 1,900,000 characters into [[Z33875]] before the UI gave up on me. I'm not sure what the limit is. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:21, 21 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:54, 25 April 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) ::::If you go to [[d:Special:NewLexeme]] and put in [[d:Q727694]] as the language, it is going to tell you it has an unrecognized language code. So I believe "cmn" should not be a {{Z|Z60}} by default? I also started [[d:Wikidata:Project_chat#Lexemes_with_language_Standard_Chinese_(Q727694)|a discussion on WD]] regarding this. I guess we can still use it as a fallback language though if possible. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 03:43, 7 May 2026 (UTC) == 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.{&quot;Z1K1&quot;:&quot;Z18&quot;,&quot;Z6K1&quot;:&quot;Z29010K5&quot;,&quot;Z18K1&quot;:&quot;&quot;}")</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 &gt;9 (tests &gt;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.{&quot;Z1K1&quot;:&quot;Z18&quot;,&quot;Z6K1&quot;:&quot;Z29010K5&quot;,&quot;Z18K1&quot;:&quot;&quot;}")</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 &gt;9 (tests &gt;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.{&quot;Z1K1&quot;:&quot;Z18&quot;,&quot;Z6K1&quot;:&quot;Z29010K5&quot;,&quot;Z18K1&quot;:&quot;&quot;}")</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 &gt;9 (tests &gt;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>&ndash;<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. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 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}}). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 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