Wiksiyonaryo tlwiktionary https://tl.wiktionary.org/wiki/Wiksiyonaryo:Unang_Pahina MediaWiki 1.47.0-wmf.17 case-sensitive Midya Natatangi Usapan Tagagamit Usapang tagagamit Wiksiyonaryo Usapang Wiksiyonaryo Talaksan Usapang talaksan MediaWiki Usapang MediaWiki Padron Usapang padron Tulong Usapang tulong Kategorya Usapang kategorya TimedText TimedText talk Module Module talk Event Event talk dugso 0 2216 177610 164123 2026-08-28T03:13:19Z Yivan000 4078 177610 wikitext text/x-wiki =={{=tl=}}== ===Pagbigkas=== {{tl-pr|dugsô}} ===Pangngalan=== {{tl-noun|dugsô|b=+}} # Isang panseremonyang [[sayaw]] na ginagawa sa Bukidnon sa paghahanda ng mga tao para sa isang digmaan # Isang [[isda]] na may mahaba at matulis na ilong, ''Xiphias gladius'' #: {{syn|tl|espada|isdang-espada}} ====Mga salin==== {{trans-top}} * {{=en=}}: {{t|en|swordfish}} * {{=it=}}: {{t|it|pesce spada}} * {{=fr=}}: {{t|fr|espadon}} {{trans-bottom}} 72xomoo4gncr3azfzywcq3j3cgaug7b 177684 177610 2026-08-28T05:34:52Z Hiyuune 5522 /* Mga salin */ 177684 wikitext text/x-wiki =={{=tl=}}== ===Pagbigkas=== {{tl-pr|dugsô}} ===Pangngalan=== {{tl-noun|dugsô|b=+}} # Isang panseremonyang [[sayaw]] na ginagawa sa Bukidnon sa paghahanda ng mga tao para sa isang digmaan # Isang [[isda]] na may mahaba at matulis na ilong, ''Xiphias gladius'' #: {{syn|tl|espada|isdang-espada}} ====Mga salin==== {{trans-top}} * {{=en=}}: {{t+|en|swordfish}} * {{=es=}}: {{t|es|pez espada|m}}, {{t+|es|albacora|f}}, {{t|es|pez emperador|m}}, {{t+|es|alfanje|m}}, {{t|es|espadarte|m}}, {{t|es|jifia|f}} * {{=ja=}}: {{t+|ja|目梶木|tr=[[メカジキ]], mekajiki}} * {{=it=}}: {{t|it|pesce spada}} * {{=fr=}}: {{t+|fr|espadon|m}} * {{=vi=}}: {{t+|vi|cá kiếm}}, {{t+|vi|cá đao}} {{trans-bottom}} 9iehdjkrl5artia0tak4wtq1uprbh9l el 0 17566 177627 175841 2026-08-28T03:46:40Z Yivan000 4078 /* {{=ro=}} */ 177627 wikitext text/x-wiki {{also|Appendix:Variations of "el"}} {{minitoc}} =={{=mul=}}== ===Etimolohiya=== {{clip|mul|-}} {{der|mul|el|Ελληνικά}} o {{abbrev|mul|-|nocap=1}} {{der|mul|grc|Ἑλληνική}}. ===Simbolo=== {{mul-symbol}} # {{ISO 639|1}} ===Tingnan din=== * {{langcat}} =={{=tl=}}== ===Etimolohiya=== Galing sa {{der|tl|en|el}}, ang pangalang Ingles ng letrang {{m|en|L//l}}. ===Pagbigkas=== {{tl-pr}} ===Pangngalan=== {{tl-noun|b=+}} # {{tl-letter name|L|l|alph=fil}} #: {{syn|tl|la|ele|q1=in the Abakada alphabet|q2=in the Abecedario}} =====Translations===== {{trans-top|name of the letter L, l}}{{multitrans|data= * Arabic: {{tt|ar|إِل|m|tr=ʔel}} * Asturian: {{t+|ast|ele}} * Bengali: {{t+|bn|এল}} * Bulgarian: {{t|bg|ел|m}} * Catalan: {{tt+|ca|ela|f}} * Chinese: *: Mandarin: {{qualifier|English letter names are called as in English, no other standard Mandarin name exists}} * Dutch: {{t+|nl|el}} * Esperanto: {{tt+|eo|lo}} * Finnish: {{tt+|fi|äl}}, {{tt+|fi|ällä}} * French: {{tt+|fr|elle|m}} * Galician: {{tt+|gl|ele|m}} * Greek: {{tt|el|ελ|n}} * Hawaiian: {{tt|haw|lā}} * Hindi: {{tt+|hi|एल}} * Ido: {{tt+|io|le}} * Indonesian: {{t+|id|el}} * Interlingua: {{t-needed|ia}} * Irish: {{tt|ga|eil}}, {{tt|ga|luis}} * Italian: {{tt+|it|elle|m|f}} * Japanese: {{tt+|ja|エル|tr=eru}} * Korean: {{tt|ko|엘}} * Latin: {{tt+|la|el}} * Malay: {{tt+|ms|el}} * Marathi: {{tt|mr|एल}} * Occitan: {{tt|oc|èla|f}} * Persian: {{tt+|fa|ال|tr=el}} * Polish: {{tt+|pl|el|n}} * Portuguese: {{tt+|pt|ele|m}} * Russian: {{tt+|ru|эл|n}}, {{tt+|ru|эль|n}} * Spanish: {{tt+|es|ele|f}} * Tagalog: {{t+|tl|el}}, {{t+|tl|la}} {{qualifier|Abakada}}, {{t+|tl|ele}} {{qualifier|Abecedario alphabet}} * Thai: {{tt+|th|แอล}} * Turkish: {{tt+|tr|le}} * Vietnamese: {{tt+|vi|e-lờ}}, {{tt+|vi|lờ}} * Volapük: {{t-needed|vo}} * Welsh: {{tt+|cy|el|f}} }} {{trans-bottom}} ====Tingnan din==== {{list:Latin script letter names/tl}} ===Basahin pa=== * {{R:Pambansang Diksiyonaryo}} =={{=an=}}== ===Etimolohiya=== From {{der|an|la|ille||that one}}. ===Panghalip=== {{head|an|pronouns}} # [[him]] {{qualifier|direct object}} #: {{syn|an|lo}} =={{=rup=}}== ===Alternative forms=== * {{l|rup|elu}} ===Etimolohiya=== From {{inh|rup|la|ille}}, possibly through a {{inh|rup|VL.|*illus}}. Compare {{cog|ro|el}}, {{cog|ruq|iel}}. ===Panghalip=== {{head|rup|pronoun|cat2=personal pronouns|g=m|plural|elj}} # {{lb|rup|third-person masculine singular pronoun|nominative form}} [[he]] #: {{syn|rup|nãs}} ===Panghalip=== {{head|rup|pronoun|g=m}} # {{lb|rup|long/stressed accusative form}} [[him]] ===Related terms=== * {{l|rup|ea}}/{{l|rup|ia}} (''feminine equivalent (third-person singular nominative)'') * {{l|rup|elj}} (''masculine or mixed plural''), {{l|rup|eali}} (''feminine plural'') * {{l|rup|ãl}}/{{l|rup|ul}}/{{l|rup|lu}} (''masculine singular accusative- short/unstressed form'') * {{l|rup|lui|(a) lui}} (''masculine singular genitive'' and ''masculine singular dative- long/stressed form'') * {{l|rup|ãlj}}/{{l|rup|ilj}}/{{l|rup|lji}} (''masculine singular dative- short/unstressed form'') ===Tingnan din=== * {{l|rup|io}}/{{l|rup|iou}}, {{l|rup|mini}} (''first-person singular'') * {{l|rup|tu}}, {{l|rup|tini}} (''second-person singular'') * {{l|rup|noi}} (''first-person plural'') * {{l|rup|voi}} (''second-person plural'') * {{l|rup|nãsh}}, {{l|rup|elj}} (''third-person (masculine or mixed) plural'') =={{=ast=}}== ===Etimolohiya=== From {{inh|ast|la|ille}}, {{m|la|illum}}. ===Pagbigkas=== {{ast-IPA}} ===Artikulo=== {{head|ast|article|g=m-s|feminine|la|neuter|lo|masculine plural|los|feminine plural|les}} # {{lb|ast|definite}} [[the]] ====Usage notes==== * The article ''el'' contracts to [[l’]] before a word beginning with a vowel or ''h'': ''l'asturianu'' (the Asturian), ''l'hermanu'' (the brother) * The article ''el'' contracts to [[’l]] after a word that ends in a vowel, if the following word begins with a consonant. ====Katawagang hinango==== {{col4|ast |al |col |del |nel |pal |pel |pol |sol }} =={{=az=}}== ===Etimolohiya=== {{inh+|az|trk-oat|ایل|tr=ẹl}}, from {{inh|az|trk-pro|*ēl}}. ===Pagbigkas=== * {{IPA|az|/el/}} * {{audio|az|LL-Q9292 (aze)-Azerbaijani audiorecordings-el.wav}} ===Pangngalan=== {{az-noun}} # {{lb|az|somewhat|_|poetic}} [[people]] # {{lb|az|somewhat|_|poetic}} [[country]], [[land]] # {{lb|az|somewhat|_|poetic}} [[tract]], [[region]], [[district]], [[province]] ====Paukulan==== {{az-decl-noun|e|c}} ====Katawagang hinango==== * {{l|az|el-oba}} =={{=br=}}== ===Etimolohiya=== {{rfe|br}} ===Pagbigkas=== * {{IPA|br|/ɛl/}} ===Contraction=== {{head|br|contraction}} # [[e#Breton|e]] {{qualifier|preposition “in”}} + [[ul#Breton|ul]] {{qualifier|indefinite article “a(n)”}} # [[e#Breton|e]] {{qualifier|preposition “in”}} + [[al#Breton|al]] {{qualifier|definite article “the”}} =={{=ca=}}== ===Alternative forms=== * {{alt|ca|es}} {{qualifier|salat}} in Balearic dialects. * {{alt|ca|lo}} {{qualifier|colloquial}} in North occidental dialects. ===Etimolohiya=== From earlier {{m|ca|lo}}, from {{inh|ca|la|illum}}, from {{inh|ca|la|ille}}. The initial ''e-'' was inserted as an {{glossary|epenthetic}} vowel after the unstressed ''-o'' had begun to be dropped. ===Pagbigkas=== * {{IPA|ca|/əl/|[əɫ]|a=Balearic,Central Catalan}} * {{IPA|ca|/el/|a=Valencian}} * {{audio|ca|LL-Q7026 (cat)-Unjoanqualsevol-el.wav|a=Catalonia}} ===Article=== {{head|ca|article|g=m|feminine|la|masculine plural|els|feminine plural|les}} # [[the]]; {{n-g|definite article}} #: {{ux|inline=1|ca|'''El''' pare i '''el''' fill|'''The''' father and '''the''' son}} # {{n-g|neuter definite article used to make abstract nouns from adjectives}}; [[the]]; [[what]], that which #: {{ux|inline=1|ca|'''el''' bo i '''el''' dolent|'''the''' good and '''the''' bad}} #: {{ux|inline=1|ca|'''el''' que hem de fer|'''what''' we have to do}} ====Usage notes==== * Before a word that begins with a vowel or silent ''h-'' followed by a vowel, the form {{m|ca|l'}} is used. ====Tingnan din==== * {{l|ca|en}}, masculine singular definite article for given names. ===Panghalip=== {{ca-ppron|type=procl|procl_con=l'|encl=lo|encl_con='l}} # [[him]] (direct object) ====Usage notes==== * {{U:ca:pronouns|form=reinforced}} *: {{ux|inline=1|ca|Ella '''el''' considerava estúpid.|She regarded him as stupid.}} ====Paukulan==== {{ca-decl-ppron}} ===Basahin pa=== * {{R:ca:IEC2}} * {{R:ca:GDLC}} * {{R:ca:DNV}} * {{R:ca:DCVB}} =={{=kw=}}== ===Etimolohiya=== From {{inh|kw|cnx|êl}}, {{m|cnx|eyl}}, {{m|cnx|eal}}, from {{inh|kw|oco|ail}}, a borrowing from {{inh|kw|cel-bry-pro|*angel}}, from {{der|kw|la|angelus}}, from {{der|kw|grc|ἄγγελος}}. Cognate with {{cog|br|ael}}, {{cog|cy|angel}}. ===Pangngalan=== {{kw-noun|m|eledh}} # {{lb|kw|religion}} [[anghel]] =={{=crh=}}== ===Etimolohiya=== {{rfe|crh}} ===Pagbigkas=== {{rfp|crh}} ===Pangngalan=== {{head|crh|nouns}} # [[hand]], [[forearm]] # [[ell]] ====Paukulan==== {{crh-latin-noun|niñ|ge|ni|de|den}} ===Sanggunian=== * {{R:Useinov-Mireev 2002}} =={{=cs=}}== ===Pagbigkas=== * {{cs-IPA}} ===Pangngalan=== {{cs-noun|n|indecl=1}} # {{Latn-def|cs|name|L|l}} ===Basahin pa=== * {{R:cs:PSJC}} * {{R:cs:SSJC}} =={{=dlm=}}== ===Alternative forms=== * {{alt|dlm|lo}} ===Etimolohiya=== From {{inh|dlm|la|ille}}, {{m|la|illud}}. ===Article=== {{head|dlm|articles}} # [[the]]; {{n-g|masculine singular definite article}} ====Related terms==== * {{l|dlm|i}} * {{l|dlm|la}} =={{=da=}}== {{wikipedia|lang=da}} ===Etimolohiya 1=== From {{der|da|non|elri||alder}}, cf. {{m|non|ǫlr}} (compare {{cog|is|elri}}, {{cog|sv|al}}, {{cog|nb|older}}), from {{der|da|gem-pro|*aluz}}, {{m|gem-pro|*alusō}} (compare {{cog|en|alder}}), variant of {{m|gem-pro|*alizō}}, {{m|gem-pro|*alisō}} (compare {{cog|nl|els}}, {{cog|de|Erle}}), from {{der|da|ine-pro|*h₂élisos}}. ====Pagbigkas==== * {{IPA|da|/ɛl/|[ɛlˀ]}} ====Pangngalan==== {{da-noun|stem=ell|en|e}} # [[alder]] =====Inflection===== {{da-noun-infl|stem=ell|en|e}} ===Etimolohiya 2=== Introduced in the 1940’s after {{der|da|sv|el}}, abbreviation of {{m|da|elektricitet||electricity}}. ====Pagbigkas==== * {{IPA|da|/ɛl/|[ɛl]}} ====Pangngalan==== {{da-noun|stem=ell|en|-}} # [[electricity]] #: {{syn|da|strøm}} =={{=nl=}}== ===Etimolohiya=== From {{inh|nl|dum|elne}}, {{m|dum|elle}}, from {{inh|nl|odt|*elina}}, from {{inh|nl|gmw-pro|*alinu}}. Cognate with {{cog|en|el|ell}}, {{cog|nds-de|el|Ell}}, {{cog|de|el|Elle}}. ===Pagbigkas=== * {{IPA|nl|/ɛl/}} * {{audio|nl|Nl-el.ogg}} * {{hyph|nl|el}} * {{rhymes|nl|ɛl|s=1}} * {{homophones|nl|Ell}} ===Pangngalan=== {{nl-noun|c|-en|+}} # {{lb|nl|archaic}} a [[unit]] of [[length]] corresponding to about 69 cm: [[ell]], [[cubit]] ====Katawagang hinango==== * {{l|nl|elleboog}} * {{l|nl|ellepijp}} * {{l|nl|ellenlang}} ===Paukulan=== * {{desc|dcr|el}} * {{desc|jvn|élo|bor=1}} * {{desc|su|élo|bor=1}} {{C|nl|Units of measure}} =={{=egl=}}== ===Pagbigkas=== * {{IPA|egl|/el/}} * {{hyph|egl|el}} ===Panghalip=== {{head|egl|pronoun|personal}} # {{lb|egl|nominative case, feminine}} [[they]] # {{lb|egl|accusative case, feminine}} [[them]] ====Alternative forms==== * Becomes {{m|egl|elj-}} before a vowel. * Becomes {{m|egl|-li}} when acting as an enclitic. ====Related terms==== {{egl-personal pronouns}} =={{=en=}}== {{slim-wikipedia|El}} ===Pagbigkas=== * {{IPA|en|/ˈɛl/|[ɛɫ]}} * {{audio|en|en-us-el.ogg|a=US}} * {{rhymes|en|ɛl|s=1}} ===Etimolohiya 1=== From {{inh|en|enm|-}}, from {{inh|en|ang|el}}, from {{der|en|la|el|pos=the name of the letter L}}. ====Alternative forms==== * {{l|en|L}} * {{l|en|ell}} ====Pangngalan==== {{en-noun}} # {{Latn-def|en|name|L|l}} #* {{quote-journal|en|year=1773|journal=The Monthly Review Or Literary Journal Enlarged|month=October |passage=The word length, which contains only four sounds l e ng th, is usually spell'd thus, '''el''' ee en gee tee aitch.}} =====Katawagang hinango===== * {{l|en|elpee}} ====Tingnan din==== {{list:Latin script letter names/en}} {{wikipedia}} ===Etimolohiya 2=== #: < Shortening (Early 20th c.) ====Alternative forms==== * {{l|en|L}} ====Pangngalan==== {{en-noun}} # {{lb|en|US}} An [[elevated railway]], especially for specific systems such as the metro in Chicago (informal) #* {{quote-book|en|year=2012|author=Roger P. Roess; Gene Sansone|title=The Wheels That Drove New York|page=294|passage=The main section of the Sixth Avenue '''El''' from Morris Street to Ninth Avenue and 53rd Street shut down on December 4, 1938.}} ===Etimolohiya 3=== Shortening of {{m|en|eleven}}. ====Numeral==== {{head|en|numerals}} # The [[cardinal number]] occurring after [[dek]] and before [[do]] in a [[duodecimal]] system. Written [[↋]], decimal value 11. ===Etimolohiya 4=== From {{bor|en|es|el}}. ====Article==== {{head|en|articles}} # {{lb|en|informal|humorous|chiefly|Internet slang}} [[the|The]] (sometimes where "the" would not occur in normal English). #* {{quote-text|en|year=2007|author=Richard Bachman|title=Blaze|page=125 |passage="{{...}} A sister of Joseph Gerard {{...}} was found unconscious on the kitchen floor by the family cook early this morning. {{...}}"<br>{{...}} What leads could they have, if the old lady was '''''el''' zonko''?}} ===Etimolohiya 5=== {{rfe|en}} ====Pangngalan==== {{en-noun}} # The name of the [[Appendix:Cyrillic script|Cyrillic script letter]] [[Л]] / [[л]] ===Anagrama=== * {{anagrams|en|a=el|-le|LE|Le|LαE|le}} {{cln|en|2-letter words}} =={{=op=}}== ===Etimolohiya=== Obscure; may be derived from {{der|eo|la|ex||out of}}. ===Pagbigkas=== {{eo-IPA|a=Eo-el.ogg}} ===Preposition=== {{head|eo|prepositions}} # made of #: {{ux|inline=1|eo|Tio estas ĉemizo '''el''' silko|This is a shirt made of silk.}} # [[from]] (of) #: {{ant|eo|al}} #: {{ux|eo|'''El''' kie vi venis?<br>Mi venis '''el''' Nov-Jorko.|Where did you come from?<br>I came from [[New York]].}} #* {{quote-book |eo |year=1906 |author=Louis de Beaufront |publisher= |title=Grammaire et exercices de la langue internationale espéranto |page= |pageurl= |passage=Li estas la plej riĉa homo '''el''' la mondo. |translation=He is the richest man in the world.}} #* {{quote-book |eo |year=1906 |author=Louis de Beaufront |publisher= |title=Grammaire et exercices de la langue internationale espéranto |page= |pageurl= |passage=Li estas la malplej riĉa '''el''' ni. |translation=He is the least rich of us.}} ====Katawagang hinango==== {{col4|eo |eldoni |eliri |elkreski |elpensi |elŝuti |eltrovi |elvoki }} {{eo BRO|1}} =={{=fax=}}== ===Etimolohiya=== From {{inh|fax|la|ille||that}}. ===Pagbigkas=== {{fax-pr}} ===Panghalip=== {{head|fax|pronouns|g=m-s|plural|elis|feminine|ela|feminine plural|elas}} # {{ng|Third person singular masculine nominative pronoun}}; [[he]] ====Tingnan din==== {{fax-personal pronouns}} ===Sanggunian=== * {{R:fax:Diccionariu|121}} =={{=frp=}}== ===Etimolohiya=== {{inh+|frp|la|illa}}. ===Panghalip=== {{head|frp|pronoun|postpositive|-el|g=f}} {{tlb|frp|orbl}} # [[she]], [[it]] {{q|third-person singular feminine nominative}} ====Tingnan din==== {{frp-personal pronouns}} ===Sanggunian=== * {{R:frp:DFP|elle [1]}} * {{R:frp:LTA|16914}} =={{=gag=}}== {{gag-variant|ел}} [[File:Arthritic hands in pain.jpg|thumb|el]] ===Pagbigkas=== * {{IPA|gag|/jel/}} ===Etimolohiya 1=== {{inh+|gag|trk-oat|ال|tr=el}}, from {{inh|gag|trk-pro|*elig}}. Compare {{cog|tr|el}}, {{cog|az|əl}} ====Pangngalan==== {{gag-noun|i|lär}} # {{lb|gag|anatomy}} [[hand]] =====Paukulan===== {{gag-decl-noun|el|ellär|eli|elleri|elä|ellerä|eldä|ellerdä|eldän|ellerdän|elin|ellerin }} =====Katawagang hinango===== {{col3|gag|el etmää|ellemää|el vermää|tez eldän iş tez olêr|el eli yıkêêr|ellik|eldiven|el işi|eldä etmää|el koymaa}} ===Etimolohiya 2=== {{inh+|gag|trk-oat|یل|tr=yẹl}}, from {{inh|gag|trk-pro|*yẹl}}. Compare {{cog|tr,az|yel}}. ====Pangngalan==== {{gag-noun|i|lär}} # [[wind]] #: {{syn|gag|lüzgär|boran}} # [[storm]] =====Paukulan===== {{gag-decl-noun|el|ellär|eli|elleri|elä|ellerä|eldä|ellerdä|eldän|ellerdän|elin|ellerin }} =====Katawagang hinango===== {{col|gag|el dermeni}} ===Etimolohiya 3=== {{inh+|gag|trk-oat|ایل|tr=ẹl}}, from {{inh|gag|trk-pro|*ēl}}. Compare {{cog|tr|el}}. ====Pangngalan==== {{gag-noun|i|lär}} # [[stranger]], [[outsider]] =====Paukulan===== {{gag-decl-noun|el|ellär|eli|elleri|elä|ellerä|eldä|ellerdä|eldän|ellerdän|elin|ellerin }} =====Katawagang hinango===== {{col|gag|ne ellär duysun bizi, ne biz elleri}} ===Basahin pa=== * {{R:gag:Baskakov:1973|page=175|ел}} * {{R:gag:Bankova|page=234|el}} * {{R:gag:Kopuşçu:2019|page=61|el}} =={{=gl=}}== ===Panghaliling anyo=== * {{alt|gl|ile|il}} * {{alt|gl|ele||reintegrationist}} ===Etimolohiya=== From {{inh|gl|la|ille||that}}. ===Pagbigkas=== * {{IPA|gl|/ˈel/}} * {{rhymes|gl|el}} * {{hyphenation|gl|el}} ===Panghalip=== {{gl-pron|g=m|dat=lle|acc=o}} # [[he]] # [[it]] {{gloss|impersonal pronoun, optative subject of impersonal verbs}} #: {{uxi|gl|'''El''' chove|'''It''' rains}} # [[it]] {{gloss|optatively, can introduce a question}} #* {{quote-book|gl|year=1864|author=Francisco Mirás|title=Compendio de gramática gallega-castellana|page=60 |passage=Gallego. —O peor son os trabucos que abranquen todos os anos que si non fora eso, inda eu estale si o pechaba no que puxen.<br>Hacendado. -¿Pues qué, cuántos trabucos tiene V? <br>Gallego. —Carasto, inda no me chejan os emprejos da Corte para pajálos.<br>Hacendado. -Vaya V. al diablo con sus trabucos ''emprejos'' y lenguaje, que maldito entiendo palabra. A Dios amigo.<br>Gallego. —'''El''' oieu? veña acó Señor, eu lle nomearei todo polo craro. |translation=Galician. "The worst part is the tributes they snatch every year; if not for them, I'm damned if I don't win it on what I bid!"<br>Landlord [speaking Spanish and misunderstanding what he said]. "So, how many blunderbusses do you have?"<br>Galician. "Jis! The cattle in my stable is not even enough to pay for them!<br>Landlord. "Go to hell with your blunderbusses, ''emprejos'' and language, I can't understand a word!<br>Galician. "['''Anyone'''] Did you hear that? Sir, come here! I'll explain all clearly to you!"}} {{q|the text is full of false friends for a Spanish speaker}} ====Usage notes==== The accusative form {{m|gl|o}} has variant forms {{m|gl|lo}} and {{m|gl|no}}. These alternative forms appear depending on the ending of the preceding word. The form {{m|gl||lo}} is used when the preceding word ends in {{m|gl||-r}} or {{m|gl||-s}}. The {{m|gl||no}} form is used when the preceding word ends in {{m|gl||-u}} or a diphthong. These alternative forms are then suffixed to the preceding word. The accusative also forms contractions when it immediately follows an indirect object pronoun. For example, {{m|gl||dou che o}} contracts to {{m|gl||doucho|I gave it to you}}. ====Katawagang kaugnay==== {{col3|gl |ela |elas |eles }} ===Tingnan din=== {{gl-personal pronouns}} ===Sanggunian=== * {{R:gl:DDGM}} * {{R:gl:DDLG}} * {{R:gl:TILG}} * {{R:TLPGP}} =={{=pov=}}== ===Etimolohiya=== From {{der|pov|pt|ele}}. Cognate with {{cog|kea|el}}. ===Panghalip=== {{head|pov|pronouns}} # [[he]], [[she]] {{q|third person singular}} =={{=hu=}}== ===Etimolohiya=== {{rfe|hu}} ===Pagbigkas=== * {{hu-IPA}} * {{audio|hu|Hu-el.ogg}} * {{rhymes|hu|ɛl|s=1}} ===Pang-abay=== {{head|hu|adverbs}} # [[off]] #: {{uxi|hu|'''El''' a kezekkel!|Hands off!}} # [[away]] # [[yes]] {{gl|used as an affirmative answer to a question containing a verb prefixed with {{m|hu|el-}} or to emphasize a preceding statement, having the same value as the verb in question}} #: {{uxi|hu|A: '''El'''adtátok a házat? - B: '''El'''.|A: Did you sell the house? B: '''Yes'''.}} ====Usage notes==== {{U:hu:separated-verbal-prefix|Anna '''el'''ment? Nem ment '''el'''.|Has Anna left [gone '''away''']? No, she has not.}} ====Katawagang hinango==== {{col4|hu|title=Compound words |eladdig |elvégre }} ===Interjection=== {{head|hu|interjection}} # {{lb|hu|intransitive|drama}} {{l|en|exit|id=stage}}, {{l|en|exeunt|id=stage}}; he/she [[leave#Verb|leaves]] or they [[leave#Verb|leave]] the [[scene]] or [[stage#Noun|stage]] {{gloss|[[stage direction]] for an actor or multiple actors}} #: {{ant|hu|jön|t1=s/he comes}} ===Tingnan din=== {{col4|hu |ell }} ===Basahin pa=== * {{R:ErtSz}} * {{R:Nagyszotar}} ===Anagrama=== * {{anagrams|hu|le}} {{cln|hu|2-letter words}} =={{=is=}}== ===Pagbigkas=== * {{IPA|is|/ɛːl/}} * {{rhymes|is|ɛːl|s=1}} ===Pandiwa=== {{head|is|verb forms}} # {{inflection of|is|ala||1|s|pres|indc}} =={{=io=}}== ===Pagbigkas=== * {{IPA|io|/el/|/ɛl/}} ===Panghalip=== {{head|io|pronoun|plural|eli|possessive|elua|possessive plural|elui}} # {{apocopic form of|io|elu}}; [[she]], [[her]] ===Tingnan din=== {{io-pers-pron}} =={{=id=}}== ===Etimolohiya=== From {{bor|id|nl|el}}. ===Pagbigkas=== * {{id-IPA|èl}} ===Pangngalan=== {{id-noun|head=èl}} # {{Latn-def|id|name|L|l}} ====Tingnan din==== {{list:Latin script letter names/id}} ===Basahin pa=== * {{R:KBBI Daring}} =={{=ist=}}== ===Etimolohiya 1=== From {{inh|ist|la|illum}} < {{m|la|ille}}. ====Panghalip==== {{head|ist|pronouns}} # {{l|en|he}} {{n-g|third-person singular masculine personal pronoun}} #* {{quote-book|ist|year=1877|author=Antonio Ive|title=Canti popolari istriani: raccolti a Rovigno|volume=5|publisher=Ermanno Loescher|page=128 |passage=Ch’in tu’l su’ fassulito '''el''' me metasse. |translation=That into his handkerchief '''he''' would put me.}} =====Related terms===== * {{l|ist|gila}} ===Etimolohiya 2=== From {{inh|ist|la|ille}}. ====Article==== {{head|ist|article|g=m-s|feminine|la}} # [[the]] =={{=it=}}== ===Pagbigkas=== {{it-pr|él}} * {{q|stressed|determiner}} {{it-IPA|él}} ** {{hyph|it|él}} * {{q|unstressed|article and contraction}} {{IPA|it|/el/}} ===Article=== {{head|it|article|g=m-s}} # {{alternative form of|it|il|from=archaic|from2=regional}} ===Panghalip=== {{head|it|pronoun|g=m}} # {{lb|it|rare|literary}} {{apocopic form of|it|ello}} ===Contraction=== {{head|it|contraction}} # {{lb|it|obsolete}} {{contraction of|it|[[e]] [[il]]}}: [[and]] [[the]] ====Alternative forms==== * {{alter|it|e'l}} ===Anagrama=== * {{anagrams|it|a=el|-le|LE|Le|le}} =={{=jam=}}== ===Etimolohiya=== {{der+|jam|en|hell}} ===Pagbigkas=== * {{IPA|jam|/ɛl/}} ===Pangngalan=== {{jam-noun}} # {{lb|jam|religion}} [[hell]] #* {{RQ:jam:DJNT|Matthew|5|29|Ef unu rait yai a mek unu sin, tier it out an dash it we! Aftaraal it beta fi luuz onggl wan badi paat, dan di wol a di badi get fling dong a '''el'''.|If your right eye makes you sin, gouge it out and throw it away! After all, it is better to lose one body part than for the whole body to be thrown into '''hell'''.}} =={{=kea=}}== ===Etimolohiya=== From {{der|kea|pt|ele}}. ===Panghalip=== {{head|kea|pronouns}} # [[he]], [[she]] {{q|third person singular}} =={{=kab=}}== ===Pandiwa=== {{kab-verb|vn=ayla}} # {{lb|kab|obsolete}} to [[have]], [[own]], [[possess]] #: {{syn|kab|sɛu|ɣur}} # {{lb|kab|obsolete}} to [[belong]] to ====Usage notes==== This verb's conjugation has fallen into general disuse by the 19th century, with only its past participle ''ilan'' surviving in various expressions. Its verbal noun, {{m|kab|ayla||possession}}, remains in vigorous use. =={{=lad=}}== ===Pagbigkas=== * {{IPA|lad|/el/}} ===Article=== {{head|lad|article|Hebrew spelling|איל|plural|los|feminine|la}} # [[the]] {{qualifier|masculine singular}} ===Panghalip=== {{lad-pron|heb=איל}} # [[he]], [[it]] =={{=la=}}== ===Pagbigkas=== * {{la-IPA}} ===Pangngalan=== {{la-noun|el|g=f|indecl=y}} # {{n-g|The name of the letter ''{{l|la|L}}''.}} ====Usage notes==== * Multiple Latin names for the letter {{m|la||L}}, {{m|la||l}} have been suggested. The most common is {{m|la||el}} or a {{l|en|syllabic}} {{m|la||l}}, although there is some evidence which also supports, as names for the letter, {{m|la||lē}}, {{m|la||ll}}, {{m|la||əl}}, {{m|la||lə}}, and even (in the fourth- or fifth-century first Antinoë papyrus{{rfv-etym|la}}, which gives Greek transliterations of the Latin names of the Roman alphabet’s letters) {{m|grc|ιλλε}}. ====Coordinate terms==== * {{Latin letter names of the Roman alphabet}} ===Sanggunian=== * {{R:Gaffiot}}<!-- * {{R:M&A}}--> * Arthur E. Gordon, ''The Letter Names of the Latin Alphabet'' ([[w:University of California Press|University of California Press]], 1973; volume 9 of ''University of California Publications: Classical Studies''), especially pages 30–31, 42–44, and 63 {{C|la|Latin letter names}} =={{=lv=}}== ===Pagbigkas=== * {{lv-IPA|ɛl}} * {{audio|lv|lv-riga-el.ogg}} ===Pangngalan=== {{lv-noun|m|-}} # {{n-g|The Latvian name of the [[Appendix:Latin script|Latin script]] letter {{l|lv|L}}/{{l|lv|l}}.}} ====Tingnan din==== * ''Latvian letter names:'' *: {{l|lv|a}} ({{l|lv|A}}), {{l|lv|garais ā}} ({{l|lv|Ā}}), {{l|lv|bē}} ({{l|lv|B}}), {{l|lv|cē}} ({{l|lv|C}}), {{l|lv|čē}} ({{l|lv|Č}}), {{l|lv|dē}} ({{l|lv|D}}), {{l|lv|e}} ({{l|lv|E}}), {{l|lv|garais ē}} ({{l|lv|Ē}}), {{l|lv|ef}} ({{l|lv|F}}), {{l|lv|gā}} ({{l|lv|G}}), {{l|lv|ģē}} ({{l|lv|Ģ}}), {{l|lv|hā}} ({{l|lv|H}}), {{l|lv|i}} ({{l|lv|I}}), {{l|lv|garais ī}} ({{l|lv|Ī}}), {{l|lv|jē}} ({{l|lv|J}}), {{l|lv|kā}} ({{l|lv|K}}), {{l|lv|ķē}} ({{l|lv|Ķ}}), {{l|lv|el}} ({{l|lv|L}}), {{l|lv|eļ}} ({{l|lv|Ļ}}), {{l|lv|em}} ({{l|lv|M}}), {{l|lv|en}} ({{l|lv|N}}), {{l|lv|eņ}} ({{l|lv|Ņ}}), {{l|lv|o}} ({{l|lv|O}}), {{l|lv|pē}} ({{l|lv|P}}), {{l|lv|er}} ({{l|lv|R}}), {{l|lv|es}} ({{l|lv|S}}), {{l|lv|eš}} ({{l|lv|Š}}), {{l|lv|tē}} ({{l|lv|T}}), {{l|lv|u}} ({{l|lv|U}}), {{l|lv|garais ū}} ({{l|lv|Ū}}), {{l|lv|vē}} ({{l|lv|V}}), {{l|lv|zē}} ({{l|lv|Z}}), {{l|lv|žē}} ({{l|lv|Ž}}) =={{=roa-leo=}}== ===Etimolohiya=== From {{der|roa-leo|la|ille}}. ===Article=== {{head|roa-leo|article|g=m-s|feminine|la|neuter|lu|masculine plural|los|feminine plural|les}} # [[the]] {{gloss|definite article}} ====Usage notes==== * The prepositions {{m|roa-leo|a}}, {{m|roa-leo|de}}, {{m|roa-leo|pa}}, {{m|roa-leo|cun}}, {{m|roa-leo|en}} and {{m|roa-leo|pur}} contract with {{m|roa-leo||el}}, unless {{m|roa-leo||el}} is part of a proper noun. *: {{suffixusex|roa-leo|a|al}} *: {{suffixusex|roa-leo|de|del}} *: {{suffixusex|roa-leo|pa|pal}} *: {{suffixusex|roa-leo|cun|cul}} *: {{suffixusex|roa-leo|en|nel}} *: {{suffixusex|roa-leo|pur|pul}} * The article {{m|roa-leo||el}} contracts to {{l|roa-leo|l'}} before a word beginning with a vowel or ''h'': *: {{ux|inline=1|roa-leo|l'home|the man}} *: {{ux|inline=1|roa-leo|fala l'home|the man is speaking}} * The article '{{m|roa-leo||el}} contracts to [['l]] after a word that ends in a vowel, if the following word begins with a consonant. *: {{ux|inline=1|roa-leo|fala'l neñu|the child is speaking}} =={{=dsb=}}== ===Pagbigkas=== * {{IPA|dsb|/ɛl/}} ===Pangngalan=== {{dsb-noun|m-in}} # {{Latn-def|dsb|name|l|L}} ===Tingnan din=== {{list:Latin script letter names/dsb}} =={{=dum=}}== ===Etimolohiya=== {{dercat|dum|frk|gem-pro|inh=2}} From {{inh|dum|odt|*elli}}, from {{inh|dum|gmw-pro|*alljas}}. ===Pagbigkas=== * {{IPA|dum|/el/}} ===Determiner=== {{head|dum|determiners}} # [[other]], [[another]] ===Pang-abay=== {{dum-adv}} # [[else]], [[otherwise]] # [[elsewhere]] ===Basahin pa=== * {{R:VMNW|ID66992|I}} * {{R:VMNW|ID26992|el, els}} * {{R:MNW|08642|I}} * {{R:MNW|08643|II}} =={{=enm=}}== ===Alternative forms=== * {{alter|enm|eel|ele|hele|iel|yele}} ===Etimolohiya=== {{dercat|enm|ine-pro}} From {{inh|enm|ang|ǣl|id=eel}}, from {{inh|enm|gmw-pro|*āl}}, from {{inh|enm|gem-pro|*ēlaz}}. ===Pagbigkas=== * {{IPA|enm|/ɛːl/|/eːl/}} ===Pangngalan=== {{enm-noun|eles}} # [[eel]] ===Paukulan=== * {{desc|en|eel}} * {{desc|sco|eel}} * {{desc|yol|eale}} ====Sanggunian==== * {{R:MED Online|entry=ēl(e |pos=n.(3) |id= MED13224 |accessdate=2019-03-03}} {{C|enm|Fish}} =={{=wlm=}}== ===Pagbigkas=== * {{IPA|wlm|/eːl/}} ===Pandiwa=== {{head|wlm|verb forms}} # {{inflection of|wlm|mynet||3|s|pres|subj}} =={{=mwl=}}== ===Panghalip=== {{head|mwl|pronouns}} # [[he]] =={{=lus=}}== ===Etimolohiya 1=== {{etymid|lus|compete}} From {{inh|lus|tbq-kuk-pro|*ʔel|t=to challenge}}. ====Pandiwa==== {{lus-verb}} # to [[compete]] =====Katawagang hinango===== {{col|lus |inelna }} ===Etimolohiya 2=== {{etymid|lus|dress up}} ====Pandiwa==== {{lus-verb}} # to [[dress up]] for an occasion ===Basahin pa=== * {{R:lus:Lorrain}} =={{=nb=}}== ===Etimolohiya=== Borrowed from {{bor|nb|sv|el}}. ===Pangngalan=== {{head|nb|nouns}} # short form of {{m|nb|elektrisitet}}, {{m|nb|elektrisk}}, {{m|nb|elektro-}}, used mainly in compound words. It is treated as a noun rather than a prefix, in the same manner as Swedish. ====Katawagang hinango==== * {{l|nb|elbil}} * {{l|nb|elmotor}} ===Sanggunian=== * {{R:The Bokmål Dictionary}} =={{=nn=}}== ===Etimolohiya 1=== Borrowed from {{bor|nn|sv|el}}. ====Pangngalan==== {{head|nn|noun|g=n}} # short form of {{m|nn|elektrisitet}}, {{m|nn|elektrisk}}, {{m|nn|elektro-}}, used mainly in compound words. It is treated as a noun rather than a prefix, in the same manner as Swedish. =====Katawagang hinango===== * {{l|nn|elbil}} * {{l|nn|elmotor}} ===Etimolohiya 2=== From {{inh|nn|non|él}}. ====Pagbigkas==== * {{IPA|nn|/eːl/}} {{nn-pronu-note}} ====Pangngalan==== {{nn-noun-n1}} # {{rfdef|nn}} ===Etimolohiya 3=== {{nonlemma}} ====Pandiwa==== {{head|nn|verb forms}} # {{infl of|nn|ala||pres|tense}} ===Etimolohiya 4=== {{nonlemma}} ====Pandiwa==== {{head|nn|verb forms}} # {{infl of|nn|elja||pres|tense}} ===Sanggunian=== * {{R:ND}} =={{=oc=}}== ===Etimolohiya=== From {{inh|oc|pro}}, from {{inh|oc|la|ille}}. ===Pagbigkas=== * {{audio|oc|LL-Q942602-Davidgrosclaude-el.wav|a=Languedocian}} ===Panghalip=== {{head|oc|pronoun|cat2=personal pronouns}} # [[he]] {{q|third-person singular subject pronoun}} # [[it]] {{q|third-person singular subject pronoun}} =={{=ang=}}== ===Pagbigkas=== * {{ang-IPA|el}} ===Pangngalan=== {{ang-noun|m}} # {{Latn-def|ang|name|L|l}} {{C|ang|Letter names}} =={{=fro=}}== ===Etimolohiya 1=== ====Alternative forms==== * {{alter|fro|enl||very rare}} ====Contraction==== {{head|fro|contraction}} # {{contraction of|fro|[[en]] [[le]]|t=in the}} #* {{quote-book|fro|year=c. 1250|author=w:Marie de France|title=[[w:Lais of Marie de France|Equitan]] |passage=m'est une anguisse '''el''' quer ferue, ki tut le cors me fet trembler |translation=Such a pain has pierced me '''in the''' heart, that it makes my whole body quiver}} ===Etimolohiya 2=== From {{inh|fro|la|alius}}. ====Panghalip==== {{head|fro|pronouns}} # [[something]] [[else]] #* {{quote-book|fro|year=c. 1150|author=Thomas d'Angleterre|title=Le Roman de Tristan|passage=ne puet en sun cuer '''el''' penser<br>fors ço sul: Tristran amer.|translation=she cannot in her heart think of '''anything else'''<br>apart from one thing: to love Tristan.|page=94|isbn=2-7453-0520-4|lines=857–8|edition=Champion Classiques}} =={{=roa-opt=}}== ===Panghalip=== {{head|roa-opt|pronouns}} # {{apocopic form of|roa-opt|ele}} #* {{roa-opt-cite-cantigas|E|14|http://www.pbm.com/~lindahl/cantigas/facsimiles/E/080.html}} #*: fugiu con '''el''' a Egipto. terra de Reẏ Faraon. #*:: ran away with '''him''' to Egypt, land of the Pharaoh king. =={{=non=}}== ===Pandiwa=== {{head|non|verb forms}} # {{infl of|non|ala||1|s|act|pres|ind}} =={{=pl=}}== ===Etimolohiya=== Phonetic spelling of the letter. ===Pagbigkas=== {{pl-pr|a=LL-Q809 (pol)-Olaf-el.wav}} ===Pangngalan=== {{pl-noun|n|indecl=1}} # {{Latn-def|pl|name|L|l}} ===Basahin pa=== * {{R:pl:PWN}} =={{=la=}}== ===Etimolohiya=== From {{cog|la|ille}}. Akin to {{cog|ca|el}} and {{cog|es|el}}. ===Pagbigkas=== {{pt-IPA|e̱l}} * {{rhymes|pt|ɛl|s=1}} * {{hyph|pt|el}} ===Article=== {{head|pt|article|g=m-s}} # {{only used in|pt|el-rei}}: [[the]] =={{=ro=}}== ===Etimolohiya=== {{inh+|ro|VL.|*illus}}, mula {{inh|ro|la|ille}}. ===Pagbigkas=== * {{IPA|ro|/jel/}} * {{audio|ro|LL-Q7913 (ron)-Filosoful-el.wav}} * {{audio|ro|LL-Q7913 (ron)-Andreea Teodoraa-el.wav}} ===Panghalip=== {{head|ro|pronoun|cat2=panghalip na panao|g=m|ikatlong panauhan na isahan||maramihan|ei|feminine equivalent|ea}} # {{lb|ro|nominative form}} [[he]] #: {{syn|ro|dumnealui|q1=anyong magalang}} ====Paukulan==== {{ro-decl-pronoun |nom=el |acc.s=el |acc.u=îl |gen=lui |dat.s=lui |dat.u=îi |pos.mn.sg=său |pos.f.sg=sa |pos.m.pl=săi |pos.nf.pl=sale |ref.acc.s=sine |ref.acc.u=se |ref.dat.s=[[sie]], [[sieși]] |ref.dat.u=își }} ===Panghalip=== {{head|ro|pronoun|g=m|cat2=panghalip na panao|stressed accusative form of|el}} # {{lb|ro|direct object|preceded by preposition, such as "pe", "cu", "la", or "pentru"}} [[him]] ===Related terms=== * {{l|ro|ea|pos=third-person feminine singular}} * {{l|ro|ei|pos=third-person masculine plural}} * {{l|ro|ele|pos=third-person feminine plural}} ===Tingnan din=== {{ro-personal pronouns}} =={{=rm=}}== ===Etimolohiya=== From {{inh|rm|la|ille}}. ===Panghalip=== {{head|rm|pronouns}} # [[he]] =={{=tk=}}== ===Etimolohiya=== Cognate with {{cog|tk|-}}, {{cog|tr|el||hand}}, {{cog|az|əl}}, {{cog|cv|алӑ}}, etc. ===Pagbigkas=== * {{IPA|slr|/el/|a=Xunhua,Hualong,Qinghai,Ili,Xinjiang}} * {{IPA|slr|/en/|a=Mengda,Xunhua,Qinghai}} ===Pangngalan=== {{slr-noun|ili|ler}} # {{lb|slr|anatomy}} [[hand]] #: {{syn|slr|uc}} ===Sanggunian=== * {{R:slr:Potanin|эль|page=428}} * {{R:slr:Yanchuk|page=33|эль}} * {{R:slr:Rockhill|ell|page=374}} * {{R:slr:Poppe}} * {{R:slr:Kakuk}} * {{R:slr:Stroy|page=323-324}} * {{R:slr:Lianyun|page=19}} * {{R:slr:Yakup|page=88}} * {{R:slr:Dwyer|page=43, 87}} * {{R:slr:Ayso|page=12}} * {{R:slr:MaChengjun|page=99}} * {{R:slr:Ölmez}} * {{R:slr:MaWei|page=108}} * {{R:slr:MaWei2|page=107}} =={{=es=}}== ===Pagbigkas=== {{es-pr|+<audio:LL-Q1321 (spa)-AdrianAbdulBaha-el.wav<a:Colombia>>}} ===Etimolohiya 1=== From {{inh|es|la|ille}}. ====Article==== {{head|es|article|plural|los|feminine|la|feminine plural|las|neuter|lo}} # {{n-g|masculine singular definite article}}; [[the]] #* {{quote-journal|es|author=Randi Kaye and David von Blohn|title=El ICE renueva acuerdo con el centro de detención que, según la agencia, no cumplía las normas|magazine=w:CNN en Español|url=https://cnnespanol.cnn.com/2025/06/20/eeuu/ice-renueva-acuerdo-centro-detencion-no-cumplia-normas-trax|date=2025-06-20|passage=En un correo electrónico, '''el''' ICE dijo a CNN que había determinado que Glades puede ayudar a “despejar la acumulación” de inmigrantes indocumentados en '''el''' país.|translation=}} =====Usage notes===== * The prepositions {{m|es|de}} and {{m|es|a}} contract with {{m|es||el}}, unless {{m|es||el}} is part of a proper noun. *: {{ux|es|El libro '''del''' niño me enseñó sobre la oscilación '''de El''' Niño.|'''The''' boy''''s''' book taught me about the oscillation '''of El''' Niño.}} *: {{ux|es|Fuimos '''a El''' Salvador y le rezamos '''al''' Salvador.|We went '''to El''' Salvador and prayed '''to the''' Savior.}} * Spanish definite articles are used in some contexts where English uses possessive pronouns. *: {{ux|es|Tengo '''las''' manos sucias.|'''My''' hands are dirty.}} *: {{ux|es|Me duele '''la''' pierna.|'''My''' leg hurts.}} * Spanish definite articles are used when talking about a whole group in general or abstract notions, unlike English ones. *: {{ux|es|'''Los''' guepardos son el animal terrestre más veloz.| Cheetahs are the fastest land animal.}} *: {{ux|es|'''El''' amor es siempre paciente y amable.| Love is always patient and kind.}} =====Katawagang hinango===== {{col|es|el que|el que sea}} =====Related terms===== {{col|es|él|le|lo}} ===Etimolohiya 2=== From {{inh|es|osp|ela}}, from {{der|es|la|illa}}. ====Artikulo==== {{head|es|article|feminine plural|las|cat2=pantukoy}} # {{n-g|feminine singular definite article used before nouns which start with a stressed {{IPAchar|/a/}}:}} #: {{ux|inline=1|es|'''el''' alma, las almas|'''the''' soul, the souls}} #: {{ux|inline=1|es|'''el''' hacha, las hachas|'''the''' axe, the axes}} ===Basahin pa=== * {{R:es:DRAE}} ===Anagrama=== * {{anagrams|es|le}} {{cln|es|2-letter words|contranyms}} =={{=sv=}}== {{wikipedia|lang=sv}} ===Etimolohiya=== A contraction of {{m|sv|elektricitet}} or {{m|sv|elektrisk}}, that must have taken place between 1920 and 1975. SAOB (letter E edited in 1921) does not mention this, but does mention the prefix {{m|sv|elektro-}}. ''Lilla Focus'' (1961) mentions ''el-'' as a prefix, but not as a word of its own. The use of {{m-self|sv|el}} as a stand-alone word (not just a prefix) was discussed in ''Teknisk Tidskrift'', [https://runeberg.org/tektid/1934a/0476.html 15 December 1934], referring to a proposal from "Fera", Föreningen för elektricitetens rationella användning, an association of electric power grid operators. {{blockquote|Man framhåller nämligen med bestämdhet, att "el" ej får betraktas som förkortning utan som en beteckning för allt som har med elektricitet att göra, avsedd att brukas enbart eller i sammansättningar som prefix eller suffix och aldrig tillsammans med punkt och bindestreck. Språkligt sett, kan väl ordet närmast betraktas som en ellips<br>''Teknisk Tidskrift'', 15 December 1934<br>'''Translation:'''<br>Indeed, it is firmly emphasized that "el" must not be regarded as an abbreviation but as a designation for everything related to electricity, intended for use solely or in combinations as a prefix or suffix, and never together with a period and hyphen. Linguistically, the word can be considered akin to an ellipsis.<br>''Teknisk Tidskrift'', 15 December 1934}} ===Pagbigkas=== * {{IPA|sv|/eːl/}} * {{rhymes|sv|eːl|s=1}} ===Pangngalan=== {{sv-noun|c}} # [[electricity]], [[electric]] [[current]] or [[power]]; {{contraction of|sv|elektricitet}} or {{m|sv|elektrisk}} #* '''1957''', used as a prefix, §14, [https://web.archive.org/web/20110808025151/http://www.riksdagen.se/webbnav/index.aspx?nid=3911&bet=1957:262 Lag (1957:262) om allmän energiskatt] #*: {{quote|sv|''elektrisk kraft som förbrukas för '''el-''', gas-, värme- eller vattenförsörjning i andra kommuner'' |translation=electric power which is used for the supply of electricity, gas, heating or water in other municipalities}} #* '''1975''', [[w:sv:Håkan Winberg|Håkan Winberg]] (m), speaking in the Riksdag on May 27 ([http://riksdagen.se/webbnav/index.aspx?nid=101&bet=1975:92 protocol], page 264) #*: {{quote|sv|''Vidare är den del av marknaden som har den högsta betalningsförmågan, dvs. hushållen, inriktad på användning av '''el'''.'' |translation=Also the part of the market which has the highest purchasing power, i.e. the households, is set for the use of electricity.}} #* '''1980''', Rune Torwald (c), speaking in the Riksdag on January 11 ([http://riksdagen.se/webbnav/index.aspx?nid=101&bet=1979/80:61 protocol], page 46) #*: {{quote|sv|''När man använder så stor andel av '''elen''' till att värma upp bostäder som ju bara utnyttjas vintertid och inte på sommaren, så får man stora säsongvariationer.'' |translation=When using so large a portion of the electricity to heat homes, something which is only used in the winter and not in the summer, one will get large seasonal variations.}} # {{lb|sv|school slang}} {{short for|sv|el- och energiprogrammet}} #: {{ux|sv|Jag går '''el'''.|I study at the '''electrical engineering programme'''|lit=I go '''electrical'''.}} ====Paukulan==== {{sv-noun-unc-irreg-c|2=elen}} ====Related terms==== {{col4|sv |elanvändning |elavbrott |elkabel |elkraft |elmätare |elnät |elöverföring |elöverkänslig |elsäkerhet |elstängsel |elström |elverk }} ===Sanggunian=== * {{R:svenska.se|so}} * {{R:svenska.se|saol}} ===Anagrama=== * {{anagrams|sv|a=el|le}} {{C|sv|Energy}} =={{=tft=}}== ===Pagbigkas=== * {{IPA|tft|[(ʔ)el]}} ===Pandiwa=== {{tft-verb}} # {{alternative form of|tft|eli|t=to remember}} ====Conjugation==== {{tft-conj}} ===Sanggunian=== * {{R:tft:Hayami-Allen:2001}} =={{=tr=}}== [[File:Left Hand of a Female Human.png|thumb|bir el]] ===Pagbigkas=== * {{IPA|tr|/el/}} * {{audio|tr|LL-Q256 (tur)-ToprakM-el.wav}} ===Etimolohiya 1=== From {{inh|tr|ota|ال|tr=el}}, from {{inh|tr|trk-oat|ال|tr=el}}, from {{der|tr|trk-pro|*elig|t=hand}}, may be related to {{der|tr|trk-pro|*al-|t=to take}}. Cognate with {{cog|otk|𐰠𐰏|tr=elig}}, {{cog|uz|ilik}}, {{cog|tk|el}}, {{cog|gag|el}}, {{cog|slr|el}}, {{cog|alt|элӱ|t=wide finger}}, {{cog|cv|алӑ}}, etc. ====Pangngalan==== {{tr-noun|i|ler}} # [[hand]] # [[possession]] #: {{uxa|tr|'''elindeki''' her şeyi satmış|he sold everything in his '''possession'''}} # [[round]] {{gl|stage of a sports competition}} #: {{ux|tr|Her '''el''' sona kalan adam sensin.|In every '''round''' you're the last man standing.}} # [[round]] {{gl|individual ammunition shell}} #: {{ux|tr|İki '''el''' sıktı, ikisini de ıskaladı, sonra da bıçaklamaya çalıştı.|He fired two '''rounds''', whiffed both, and then he tried to knife him.}} # [[handle]] # {{lb|tr|Samsun}} [[because]], [[cause]] #: {{uxa|tr|onun '''elinden''' bir sürü şey çekti|she suffered a lot '''because''' of him}} =====Katawagang hinango===== {{col3|tr|el arabası|el geçirmek|el atmak|eldiven|ellemek|el birliği|el el ile, değirmen yel ile|el ele vermek|el eli yıkar, iki el yüzü|el öpmek|el etek öpmek|el kaldırmak|el sıkmak|el uzatmak|el vermek|elde etmek|elden çıkarmak|eli alışmak|el bombası|el ele|el kitabı|el koymak|el pençe divan|el şakası|el yordamı|elden düşmek|ele gelmek|elense|elinden gelme|el işi|elvermek| elverişli|eli ayağı titremek|eli boş çıkmak|eli boş gelmek|eli ekmek tutmak|eli silah tutmak|elinde patlamak|eli armut toplamak|eliyle koymuş gibi|elöpen}} ===Etimolohiya 2=== {{inh+|tr|ota|ایل|tr=el}}, from {{inh|tr|trk-oat|ایل|tr=ẹl}}, from {{der|tr|trk-pro|*ēl||realm}}. {{doublet|tr|il}}. Cognate with {{cog|otk|tr=él}}, {{cog|kk|ел}}, {{cog|az|el}}, etc. ====Pangngalan==== {{tr-noun|i|ler}} # [[country]], [[homeland]], [[province]] #: {{syn|tr|yurt|memleket}} # [[tribe]] # a [[foreign]] person # {{lb|tr|collective}} [[other]] [[people]]; [[foreigner]]s, [[stranger]]s ## any other [[person]] than oneself; [[others]], other people ## any other [[person]] than the oneself and the people the spoken to ## any [[person]] that the one does not know or recognize, [[strangers]], [[foreigners]] ## any [[person]] that is not a part of one's [[nation]], [[tribe]], [[family]], [[clan]] etc. #: {{syn|tr|el âlem}} # [[land]], [[territory]], [[region]] # {{lb|tr|Uşak}} [[city]] # {{lb|tr|İçel}} [[residents]] of a [[certain]] place =====Paukulan===== {{tr-infl-noun-c|e|poss=1|pred=1}} =====Katawagang hinango===== {{col3|tr|Rumeli|elçi|el gün|el adamı|el ağzıyla kuş tutmak|el eline bakmak|el kapısı|el beğenmeze yer beğensin|ele karışmak|elin ağzı torba değil ki büzesin|el oğlu|el kızı|eller elinde kalmak|ele verir talkını, kendi yutar salkını|el elin eşeğini türkü çağırarak arar |el elin aynasıdır|el sikiyle gerdeğe girilmez}} ===Basahin pa=== * {{R:tr:TDK}} * {{R:tr:Nişanyan}} * {{R:lugatim}} * {{R:tr:Tietze|page=578|vol=II}} * {{R:tr:OTK|il1|vol=1|page=2132}} * {{R:tr:DS}} =={{=vec=}}== ===Alternative forms=== * {{alter|vec|al||Belluno}} ===Etimolohiya=== From {{inh|vec|la|illum}} < {{m|la|ille}}. ===Article=== {{head|vec|article|g=m-s|plural|i}} # [[the]] ====Related terms==== * {{l|vec|ła}} ===Panghalip=== {{head|vec|pronouns}} # [[he]], [[she]], [[it]] {{q|used as an obligatory clitic pronoun following a verb}} #: {{ux|inline=1|vec|El can '''el''' magna i òsi.|The dog '''(it)''' eats the bones.}} =={{=vo=}}== ===Article=== {{head|vo|articles}} # [[the]] {{gloss|used for all proper nouns and also foreign loanwords not yet assimilated into Volapük}} #: {{ux|inline=1|vo|'''El''' Karl binom ziom '''ela''' Katlin.|Karl is Katlin's uncle.}} ====Usage notes==== * The article '''el''' is used to modify any kind of noun (proper or foreign) which is itself indeclinable in Volapük. Then, whenever that noun needs to be declined, the article '''el''' which modifies it is declined in its stead. ====Paukulan==== {{vo-decl-article}} ====Katawagang hinango==== * {{l|vo|hiel}} * {{l|vo|jiel}} =={{=cy=}}== ===Pagbigkas=== * {{IPA|cy|/ɛl/}} ===Etimolohiya 1=== ====Pangngalan==== {{cy-noun|f|eliau}} # {{Latn-def|cy|name|L|l}} ====Tingnan din==== {{list:Latin script letter names/cy}} ===Etimolohiya 2=== ====Alternative forms==== * {{alt|cy|ell}} ====Pangngalan==== {{cy-noun|m}} # {{lb|cy|obsolete|units of measure}} [[ell]] #: {{syn|cy|hirlath}} {{c|cy|Units of measure}} ===Mutation=== {{cy-mut}} prr5lmvv9meukz3gmakwepa02rxtkk2 Padron:category 10 30814 177540 168509 2026-08-27T12:58:35Z Yivan000 4078 Nilipat ni Yivan000 ang pahinang [[Padron:kategorya]] sa [[Padron:category]] mula sa redirect 168509 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude/>#invoke:category link/templates|category_t}}</includeonly><noinclude>{{documentation}}</noinclude> 18akjmop7n5sbmlooh5nio053skkb3i Module:labels/data 828 31105 177531 177218 2026-08-27T12:19:30Z Yivan000 4078 177531 Scribunto text/plain local labels = {} -- Grammatical labels labels["daglat"] = { --TLCHANGE aliases = {"abbreviation"}, --TLCHANGE glossary = true, pos_categories = "na daglat", --TLCHANGE "abbreviations" } labels["pangngalang basal"] = { --TLCHANGE aliases = {"abstract noun"}, --TLCHANGE display = "basal", --TLCHANGE "abstract", glossary = true, pos_categories = "na pangngalang basal", --TLCHANGE "abstract nouns", } labels["pandiwang basal"] = { --TLCHANGE aliases = {"abstract verb"}, --TLCHANGE display = "basal", --TLCHANGE "abstract", glossary = true, pos_categories = "na pandiwang basal", --TLCHANGE "abstract verbs", } labels["akronim"] = { --TLCHANGE aliases = {"acronym"}, --TLCHANGE glossary = true, pos_categories = "na akronim", --TLCHANGE "acronyms", } labels["active voice"] = { aliases = {"active", "in active", "in the active", "in active voice", "in the active voice"}, glossary = true, } labels["ambitransitive"] = { glossary = true, pos_categories = {"transitive verbs", "intransitive verbs"}, } labels["angry register"] = { aliases = {"angry", "anger", "said in anger"}, glossary = true, pos_categories = "angry register terms", } labels["animate"] = { glossary = true, } labels["panaganong paturol"] = { --TLCHANGE aliases = {"in the indicative", "indicative mood", "indicative"}, --TLCHANGE glossary = "panaganong paturol", --TLCHANGE "indicative mood", } labels["panaganong pasakali"] = { --TLCHANGE aliases = {"in the subjunctive", "subjunctive mood", "subjunctive"}, --TLCHANGE glossary = "panaganong pasakali", --TLCHANGE "subjunctive mood", } labels["panaganong pautos"] = { --TLCHANGE aliases = {"in the imperative", "imperative mood", "imperative"}, --TLCHANGE glossary = "panaganong pautos", --TLCHANGE "imperative mood", } labels["jussive"] = { aliases = {"in the jussive", "jussive mood"}, glossary = "jussive mood", } labels["atelic"] = { glossary = true, } labels["attenuative"] = { pos_categories = "attenuative verbs", } labels["attributive"] = { glossary = true, } labels["attributively"] = { glossary = "attributive", } labels["auxiliary"] = { glossary = true, pos_categories = "auxiliary verbs", } labels["cardinal"] = { aliases = {"cardinal number", "cardinal numeral"}, display = "[[cardinal number]]", pos_categories = "cardinal numbers", } labels["catenative"] = { glossary = "catenative verb", } labels["causative"] = { glossary = true, } labels["causative verb"] = { display = "causative", glossary = true, pos_categories = "causative verbs", } labels["cognate object"] = { aliases = {"with cognate object"}, display = "with [[w:Cognate object|cognate object]]", pos_categories = "verbs used with cognate objects", } labels["collective"] = { glossary = true, display = "collective", pos_categories = "collective nouns", } labels["collectively"] = { glossary = "collective", display = "collectively", pos_categories = "collective nouns", } labels["collective number"] = { aliases = {"collective numeral"}, display = "[[collective number]]", pos_categories = "collective numbers", } labels["common"] = { glossary = true, } labels["comparable"] = { glossary = true, } labels["completive"] = { pos_categories = "completive verbs", } labels["concrete verb"] = { display = "concrete", Wiktionary = true, pos_categories = "concrete verbs", } labels["contraction"] = { aliases = {"contractions", "contracted"}, glossary = true, pos_categories = "contractions", } labels["control verb"] = { aliases = {"control"}, Wikipedia = true, pos_categories = "control verbs", } labels["copulative"] = { aliases = {"copular"}, glossary = true, pos_categories = "copulative verbs", } labels["pamilang"] = { --TLCHANGE aliases = {"countable", "nabibilang"}, --TLCHANGE glossary = true, pos_categories = "na pangngalang pamilang", --TLCHANGE "countable nouns", } labels["cumulative"] = { pos_categories = "cumulative verbs", } labels["defective adjective"] = { aliases = {"defective a", "defective adj", "defective adjectives"}, display = "defective", glossary = true, pos_categories = "defective adjectives", } labels["defective noun"] = { aliases = {"defective n", "defective nouns"}, display = "defective", glossary = true, pos_categories = "defective nouns", } labels["defective verb"] = { aliases = {"defective v", "defective vb", "defective verbs"}, display = "defective", glossary = true, pos_categories = "defective verbs", } labels["deliberate misspelling"] = { display = "deliberate [[misspelling]]", } labels["delimitative"] = { pos_categories = "delimitative verbs", } labels["deponent"] = { glossary = true, pos_categories = "deponent verbs", } labels["distributive"] = { pos_categories = "distributive verbs", } labels["distributive number"] = { aliases = {"distributive numeral"}, display = "[[distributive number]]", pos_categories = "distributive numbers", } labels["ditransitive"] = { glossary = true, pos_categories = "ditransitive verbs", } labels["dual only"] = { aliases = {"dual-only", "dualonly", "duale tantum"}, display = "[[dual]] only", pos_categories = "dualia tantum", } labels["dysphemistic"] = { aliases = {"dysphemism"}, glossary = "dysphemism", pos_categories = "dysphemisms", } labels["by ellipsis"] = { aliases = {"ellipsis"}, glossary = "ellipsis", pos_categories = "ellipses", } labels["emphatic"] = { glossary = true, } labels["ergative"] = { glossary = true, pos_categories = "ergative verbs", } labels["expressive"] = { glossary = true, pos_categories = "expressive terms", } labels["by extension"] = { aliases = {"hence"}, } labels["feminine"] = { glossary = true, } labels["focus"] = { glossary = true, pos_categories = "focus adverbs", } labels["fractional"] = { aliases = {"fractional number", "fractional numeral"}, display = "[[fractional number]]", pos_categories = "fractional numbers", } labels["frequentative"] = { glossary = true, pos_categories = "frequentative verbs", } labels["hedge"] = { aliases = {"hedges"}, glossary = true, pos_categories = "hedges", } labels["ideophonic"] = { aliases = {"ideophone"}, glossary = true, } labels["sawikain"] = { --TLCHANGE aliases = {"idiom", "idiomatically", "idiomatic"}, --TLCHANGE glossary = true, pos_categories = "na sawikain", --TLCHANGE "idioms", } labels["imperfect"] = { glossary = true, } labels["imperfective"] = { glossary = true, pos_categories = "imperfective verbs", } labels["impersonal"] = { glossary = true, pos_categories = "impersonal verbs", } labels["in the singular"] = { aliases = {"in singular"}, display = "in the [[singular]]", } labels["in the dual"] = { aliases = {"in dual"}, display = "in the [[dual]]", } labels["in the plural"] = { aliases = {"in plural"}, display = "in the [[Appendix:Glossary#plural|plural]]", } labels["inanimate"] = { aliases = {"not animate"}, glossary = true, } labels["inchoative"] = { glossary = true, pos_categories = "inchoative verbs", } labels["indefinite"] = { aliases = {"indef", "not definite"}, glossary = true, } labels["initialism"] = { glossary = true, pos_categories = "initialisms", } labels["intensive verb"] = { display = "intensive", pos_categories = "intensive verbs", } labels["katawanin"] = { --TLCHANGE aliases = {"not transitive", "intransitive"}, --TLCHANGE glossary = true, pos_categories = "na pandiwang katawanin", --TLCHANGE "intransitive verbs", } labels["IPA"] = { aliases = {"International Phonetic Alphabet"}, Wikipedia = "International Phonetic Alphabet", plain_categories = "IPA symbols", } labels["iterative"] = { glossary = true, pos_categories = "iterative verbs", } labels["litotes"] = { aliases = {"litote", "litotic", "litotical"}, glossary = true, pos_categories = true, } labels["panlalaki"] = { --TLCHANGE aliases = {"masculine"}, --TLCHANGE glossary = true, } labels["mediopassive voice"] = { aliases = {"mediopassive", "in mediopassive", "in the mediopassive", "in mediopassive voice", "in the mediopassive voice"}, glossary = true, } labels["meiosis"] = { aliases = {"meioses", "meiotic"}, glossary = true, pos_categories = "meioses", } labels["middle voice"] = { aliases = {"middle", "in middle", "in the middle", "in middle voice", "in the middle voice"}, glossary = true, } labels["misspelling"] = { display = "[[misspelling]]", } labels["mnemonic"] = { display = "[[mnemonic]]", pos_categories = "mnemonics", } labels["modal"] = { Wikipedia = "Modality (linguistics)", } labels["modal adverb"] = { aliases = {"modal adverbs"}, display = "modal", Wikipedia = "Modality (linguistics)", pos_categories = "modal adverbs", } labels["modal verb"] = { aliases = {"modal verbs"}, display = "modal", Wikipedia = "Modality (linguistics)", pos_categories = "modal verbs", } labels["NAPA"] = { aliases = {"Americanist_phonetic_notation"}, Wikipedia = "Americanist_phonetic_notation", plain_categories = "NAPA symbols", } labels["always in the negative"] = { glossary = "negative polarity item", pos_categories = "negative polarity items", } labels["chiefly in the negative"] = { aliases = {"chiefly used in the negative", "negative polarity", "negative polarity item", "usually in the negative", "usually used in the negative"}, glossary = "negative polarity item", pos_categories = "negative polarity items", } labels["chiefly in the negative plural"] = { aliases = {"chiefly used in the negative plural", "negative polarity plural", "negative polarity plural item", "usually in the negative plural", "usually used in the negative plural"}, display = "chiefly in the [[Appendix:Glossary#negative polarity item|negative]] [[Appendix:Glossary#plural|plural]]", pos_categories = "negative polarity items", } labels["chiefly in the positive"] = { aliases = {"chiefly used in the positive", "positive polarity", "positive polarity item", "usually in the positive", "usually used in the positive"}, glossary = "positive polarity item", -- pos_categories = {"positive polarity items"}, } labels["chiefly in the positive plural"] = { aliases = {"chiefly used in the positive plural", "positive polarity plural", "positive polarity plural item", "usually in the positive plural", "usually used in the positive plural"}, display = "chiefly in the [[Appendix:Glossary#positive polarity item|positive]] [[Appendix:Glossary#plural|plural]]", -- pos_categories = "positive polarity items", } labels["balaki"] = { --TLCHANGE aliases = {"neuter"}, --TLCHANGE glossary = true, } -- British English ("ise") labels["nominalised"] = { aliases = {"nominalisation", "substantivised", "substantivisation"}, glossary = "nominalization", pos_categories = "nominalized adjectives", } -- American English ("ize") labels["nominalized"] = { aliases = {"nominalization", "substantivized", "substantivization"}, glossary = "nominalization", pos_categories = "nominalized adjectives", } labels["not comparable"] = { aliases = {"notcomp", "incomparable", "uncomparable"}, glossary = "uncomparable", } labels["onomatopoeia"] = { glossary = true, pos_categories = "onomatopoeias", } labels["ordinal"] = { aliases = {"ordinal number", "ordinal numeral"}, display = "[[ordinal number]]", pos_categories = "ordinal numbers", } labels["partitive verb"] = { display = "[[Appendix:Glossary#transitive|transitive]], usually [[Appendix:Finnic telic and atelic verbs|atelic]]", pos_categories = "transitive verbs", -- = "partitive verbs", } labels["perfect"] = { glossary = true, } labels["pandiwari"] = { --TLCHANGE aliases = {"participle"}, --TLCHANGE glossary = true, } labels["balintiyak"] = { --TLCHANGE aliases = {"passive", "in passive", "in the passive", "in passive voice", "in the passive voice", "passive voice"}, --TLCHANGE glossary = true, } labels["perfect"] = { glossary = true, } labels["perfective"] = { glossary = true, pos_categories = "perfective verbs", } labels["plural only"] = { aliases = {"plural-only", "pluralonly", "plurale tantum"}, display = "[[Appendix:Glossary#plural|plural]] only", pos_categories = "pluralia tantum", } labels["possessional adjective"] = { aliases = {"possessional", "possessional adjectives"}, display = "possessional", glossary = true, pos_categories = "possessional adjectives", } labels["possessive pronoun"] = { aliases = {"possessive determiner"}, display = "possessive", glossary = "possessive determiner", pos_categories = "possessive pronouns", } labels["postpositive"] = { glossary = true, } labels["predicative"] = { glossary = true, } labels["predicatively"] = { glossary = "predicative", } labels["prepositive"] = { glossary = true, } labels["prescriptive"] = { aliases = {"normative", "prescribed"}, glossary = true, } labels["privative"] = { pos_categories = "privative verbs", } labels["procedure word"] = { display = "[[procedure word]]", } labels["productive"] = { glossary = true, } -- TODO: This label is probably inappropriate for many languages labels["pronominal"] = { glossary = "pronominal verb", } labels["pronunciation spelling"] = { glossary = true, } labels["pro-verb"] = { Wikipedia = true, } labels["reciprocal"] = { glossary = true, pos_categories = "reciprocal verbs", } labels["reflexive"] = { glossary = true, pos_categories = "reflexive verbs", } labels["reflexive pronoun"] = { glossary = "reflexive", pos_categories = "reflexive pronouns", } labels["relational"] = { glossary = true, pos_categories = "relational adjectives", } labels["repetitive"] = { pos_categories = "repetitive verbs", } labels["respelling"] = { glossary = true, } labels["reversative"] = { pos_categories = "reversative verbs", } labels["rhetorical question"] = { glossary = true, pos_categories = "rhetorical questions", } labels["rhotic"] = { glossary = true, } labels["saturative"] = { aliases = {"sative"}, pos_categories = "saturative verbs", } labels["semelfactive"] = { glossary = true, pos_categories = "semelfactive verbs", } labels["sentence adverb"] = { glossary = true, pos_categories = "sentence adverbs", } labels["set phrase"] = { display = "[[set phrase]]", } labels["simile"] = { glossary = true, pos_categories = "similes", } labels["singular only"] = { aliases = {"singular-only", "singulare tantum", "no plural"}, display = "singular only", pos_categories = "singularia tantum", } labels["snowclone"] = { glossary = true, pos_categories = "snowclones", } labels["stative"] = { aliases = {"stative verb"}, glossary = true, pos_categories = "stative verbs", } labels["strictly"] = { aliases = {"strict", "narrowly", "narrow"}, glossary = true, } labels["substantive"] = { glossary = true, track = true, } labels["terminative"] = { pos_categories = "terminative verbs", } labels["palipat"] = { --TLCHANGE aliases = {"transitive"}, --TLCHANGE glossary = true, pos_categories = "na pandiwang palipat", --TLCHANGE "transitive verbs" } labels["transmission error"] = { Wiktionary = true, } labels["unaccusative"] = { aliases = {"not accusative"}, Wikipedia = "Unaccusative verb", } labels["di-pamilang"] = { --TLCHANGE aliases = {"not countable", "uncountable", "di-nabibilang", "di nabibilang"}, --TLCHANGE glossary = true, pos_categories = "na pangngalang di-pamilang", --TLCHANGE "uncountable nouns", } labels["unergative"] = { aliases = {"not ergative"}, Wikipedia = "Unergative verb", } labels["UPA"] = { aliases = {"Uralic Phonetic Alphabet"}, Wikipedia = "Uralic Phonetic Alphabet", plain_categories = "UPA symbols", } labels["usually plural"] = { aliases = {"usually in the plural", "usually in plural"}, display = "usually in the [[Appendix:Glossary#plural|plural]]", deprecated = true, } -- Usage labels labels["4chan"] = { aliases = {"4chan slang"}, display = "[[w:4chan|4chan]] {{glossary|slang}}", pos_categories = "4chan slang", } labels["4chan lgbt"] = { aliases = {"tttt"}, display = "[[w:4chan|4chan]] /lgbt/ {{glossary|slang}}", pos_categories = "4chan /lgbt/ slang", } labels["ACG"] = { display = "[[ACG]]", -- see also "fandom slang" pos_categories = "fandom slang", } labels["endearing"] = { aliases = {"affectionate"}, display = "[[endearing]]", -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "endearing terms", } labels["endearing form"] = { aliases = {"affectionate form"}, display = "[[endearing]]", pos_categories = "endearing forms", } labels["pre-classical"] = { aliases = {"Pre-classical", "pre-Classical", "Pre-Classical", "Preclassical", "preclassical", "ante-classical", "Ante-classical", "ante-Classical", "Ante-Classical", "Anteclassical", "anteclassical"}, display = "pre-Classical", regional_categories = true, } labels["anti-LGBTQ slur"] = { -- don't add aliases "homophobia" or "transphobia" because these could be topical categories aliases = {"homophobic", "transphobic"}, display = "anti-[[LGBTQ]] [[slur]]", pos_categories = "anti-LGBTQ slurs", } labels["lipas na"] = { --TLCHANGE aliases = {"antiquated", "archaic"}, --TLCHANGE glossary = true, sense_categories = true, } labels["archaic form"] = { glossary = "archaic", display = "archaic", pos_categories = "archaic forms", } labels["Australian slang"] = { display = "[[Australian]] {{glossary|slang}}", regional_categories = "Australian", plain_categories = true, } labels["avoidance"] = { glossary = true, } labels["back slang"] = { aliases = {"backslang", "back-slang"}, glossary = "backslang", pos_categories = true, } labels["Bargoens"] = { Wikipedia = true, plain_categories = true, } labels["Braille"] = { Wikipedia = true, } labels["British slang"] = { aliases = {"UK slang"}, display = "[[British]] {{glossary|slang}}", plain_categories = true, } labels["Cambridge University slang"] = { aliases = {"University of Cambridge slang", "Cantab slang"}, display = "[[w:University of Cambridge|Cambridge University]] {{glossary|slang}}", topical_categories = "Universities", plain_categories = true, } labels["cant"] = { aliases = {"argot", "cryptolect"}, display = "[[cant]]", pos_categories = true, } labels["capitalized"] = { aliases = {"capitalised"}, display = "[[capitalisation|capitalized]]", } labels["Castilianism"] = { aliases = {"Hispanicism"}, display = "[[Castilianism]]", } labels["childish"] = { aliases = {"baby talk", "child language", "infantile", "puerile"}, display = "[[childish]]", -- should be "terms with X senses", leaving "X terms" to the term-context temp? pos_categories = "childish terms", } labels["chu Nom"] = { display = "[[Vietnamese]] [[chữ Nôm]]", plain_categories = "Vietnamese Han tu", } labels["Cockney rhyming slang"] = { display = "[[Cockney rhyming slang]]", plain_categories = true, } labels["kolokyal"] = { --TLCHANGE aliases = {"colloquial", "colloquially"}, --TLCHANGE glossary = true, pos_categories = "na salitang kolokyal" --TLCHANGE "colloquialisms", } -- FIXME! The following two are apparently for Persian but probably don't belong in this file. labels["colloquial-um"] = { glossary = "colloquial", pos_categories = "colloquialisms containing sequence um", } labels["colloquial-un"] = { glossary = "colloquial", pos_categories = "colloquialisms containing sequence un", } labels["corporate jargon"] = { aliases = {"business jargon", "corporatese", "businessese", "corporate speak", "business speak"}, display = "[[corporate]] [[jargon]]", pos_categories = true, } labels["costermongers"] = { aliases = {"coster", "costers", "costermonger", "costermongers back slang", "costermongers' back slang"}, display = "[[Appendix:Costermongers' back slang|costermongers]]", plain_categories = "Costermongers' back slang", } labels["criminal slang"] = { aliases = {"thieves' cant", "Thieves' Cant", "thieves cant", "thieves'", "thieves", "thieves' cant"}, -- Thieves' Cant is English-only, so defined in the English submodule; if other languages try to use it, it's just criminal slang display = "[[criminal]] {{glossary|slang}}", topical_categories = "Crime", pos_categories = true, } labels["makaluma"] = { --TLCHANGE aliases = {"old-fashioned", "dated"}, --TLCHANGE glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "na salitang makaluma", --TLCHANGE "dated terms", } labels["anyong makaluma"] = { --TLCHANGE aliases = {"old-fashioned form", "dated form"}, --TLCHANGE glossary = "makaluma", --TLCHANGE "dated", display = "makaluma", --TLCHANGE "dated", pos_categories = "na anyong makaluma", --TLCHANGE "dated forms", } -- combine with previous? labels["dated sense"] = { glossary = "dated", sense_categories = "dated", } labels["mapanlait"] = { --TLCHANGE aliases = {"pejorative", "derogative", "disparaging", "derogatory"}, --TLCHANGE display = "[[mapanlait]]", --TLCHANGE -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "na salitang mapanlait", --TLCHANGE "derogatory terms", } labels["anyong mapanlait"] = { --TLCHANGE aliases = {"pejorative form", "derogative form", "disparaging form", "derogatory form"}, --TLCHANGE display = "[[mapanlait]]", --TLCHANGE "[[derogatory]]", pos_categories = "na anyong mapanlait", --TLCHANGE "derogatory forms", } labels["dialect"] = {-- separated from "dialectal" so e.g. "obsolete|outside|the|_|dialect|of..." displays right glossary = "dialectal", pos_categories = "dialectal terms", } labels["dialectal"] = { glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "dialectal terms", } labels["dialectal form"] = { glossary = "dialectal", display = "dialectal", pos_categories = "dialectal forms", } labels["dialects"] = {-- separated from "dialectal" so e.g. "obsolete|outside|dialects" displays right glossary = "dialectal", pos_categories = "dialectal terms", } labels["dis legomenon"] = { display = "[[dis legomenon]]", pos_categories = "dis legomena", } labels["dismissal"] = { display = "[[dismissal]]", pos_categories = "dismissals", } labels["drag slang"] = { aliases = {"Drag Race slang"}, display = "[[drag]] {{glossary|slang}}", pos_categories = "drag slang", } labels["ecclesiastical"] = { display = "[[ecclesiastical#Adjective|ecclesiastical]]", pos_categories = "ecclesiastical terms", } labels["ethnic slur"] = { aliases = {"racial slur"}, display = "[[ethnic]] [[slur]]", pos_categories = "ethnic slurs", } labels["euphemistic"] = { aliases = {"euphemism"}, glossary = "euphemism", pos_categories = "euphemisms", } labels["eye dialect"] = { display = "[[eye dialect]]", pos_categories = true, } labels["familiar"] = { glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp? pos_categories = "familiar terms", } labels["fandom slang"] = { aliases = {"fandom"}, display = "[[fandom]] {{glossary|slang}}", pos_categories = true, } labels["figurative"] = { aliases = {"metaphorical", "metaphoric", "metaphor"}, glossary = "figurative", } labels["figuratively"] = { aliases = {"metaphorically"}, glossary = "figurative", } labels["folk songs"] = { aliases = {"folksongs", "used in folk songs", "used in folksongs"}, pos_categories = "folk poetic terms", display = "used in [[folk song]]s", } labels["folk tales"] = { aliases = {"folktales", "used in folk tales", "used in folktales"}, pos_categories = "folk poetic terms", display = "used in [[folk tale]]s", } labels["folk poetic"] = { -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "folk poetic terms", } labels["pormal"] = { --TLCHANGE aliases = {"formal"}, --TLCHANGE glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp? pos_categories = "na salitang pormal",--TLCHANGE "formal terms", } labels["anyong pormal"] = { --TLCHANGE aliases = {"formal form"}, --TLCHANGE glossary = "pormal", --TLCHANGE "formal" display = "pormal", --TLCHANGE "formal", pos_categories = "na anyong pormal", --TLCHANGE "formal forms", } labels["gay slang"] = { display = "[[gay]] {{glossary|slang}}", pos_categories = true, } labels["gender critical slang"] = { aliases = {"gender-critical slang", "GC slang", "TERF slang"}, display = "[[gender-critical]] {{glossary|slang}}", pos_categories = "gender-critical slang", } labels["gender-neutral"] = { glossary = "gender-neutral", pos_categories = "gender-neutral terms", } labels["graffiti slang"] = { display = "[[graffiti#Noun|graffiti]] {{glossary|slang}}", pos_categories = true, } labels["genericized trademark"] = { aliases = {"generic trademark", "proprietary eponym"}, display = "[[genericized trademark]]", pos_categories = "genericized trademarks", } labels["ghost word"] = { aliases = {"ghost"}, display = "ghost word", glossary = true, pos_categories = "ghost words", } labels["hapax legomenon"] = { aliases = {"hapax"}, display = "hapax legomenon", glossary = true, pos_categories = "hapax legomena", } labels["higher register"] = { aliases = {"high register", "elevated register", "elevated"}, glossary = "higher register", pos_categories = "higher register terms", } labels["makasaysayan"] = { --TLCHANGE aliases = {"historic", "historical"}, --TLCHANGE glossary = true, sense_categories = true, } labels["non-native speakers"] = {-- language-agnostic version aliases = {"NNS"}, display = "[[non-native speaker]]s", -- so preceded by "used by", "error by children and", etc? or reword? regional_categories = {"Non-native speakers'"}, } -- used exclusively by languages that use the "Jpan" script code labels["historical hiragana"] = { pos_categories = true, } -- used exclusively by languages that use the "Jpan" script code labels["historical katakana"] = { pos_categories = true, } -- applies to Japanese and Korean, etc., please do not confuse with "polite" labels["honorific"] = { Wikipedia = "Honorifics (linguistics)", -- should be "terms with X senses", leaving "X terms" to the term-context temp? pos_categories = "honorific terms", } -- for Ancient Greek labels["Homeric epithet"] = { display = "[[Homeric Greek|Homeric]] [[w:Epithets in Homer|epithet]]", omit_postComma = true, plain_categories = "Epic Greek", } -- applies to Japanese and Korean, etc. labels["humble"] = { -- should be "terms with X senses", leaving "X terms" to the term-context temp? display = "[[humble]]", pos_categories = "humble terms", } -- for Akkadian labels["in hendiadys"] = { aliases = {"hendiadys"}, display = "in {{w|hendiadys}}", pos_categories = "terms used in hendiadys", } labels["humorous"] = { -- should be "terms with X senses", leaving "X terms" to the term-context temp; NB and cf a similar "jocular" label further up on this page aliases = {"humorously", "jocular"}, glossary = true, pos_categories = "humorous terms", } labels["hyperbolic"] = { aliases = {"hyperbole"}, glossary = true, pos_categories = "hyperboles", } labels["hypercorrect"] = { glossary = true, pos_categories = "hypercorrections", } labels["hyperforeign"] = { glossary = true, pos_categories = "hyperforeign terms", } labels["imperial"] = { aliases = {"emperor", "empress"}, pos_categories = "royal terms", } labels["incel slang"] = { display = "[[incel]] {{glossary|slang}}", pos_categories = true, } labels["impormal"] = { --TLCHANGE aliases = {"informally", "not formal", "informal"}, --TLCHANGE glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "na salitang impormal", --TLCHANGE "informal terms", } labels["anyong impormal"] = { --TLCHANGE aliases = {"informal form"}, --TLCHANGE glossary = "impormal", --TLCHANGE "informal", display = "impormal", --TLCHANGE "informal", pos_categories = "na anyong impormal" --TLCHANGE "informal forms", } labels["Internet slang"] = { aliases = {"internet slang"}, display = "[[Internet]] {{glossary|slang}}", pos_categories = "internet slang", } labels["IRC"] = { display = "[[IRC]]", pos_categories = "internet slang", } labels["ironic"] = { display = "[[irony|ironic]]", } -- Not the same as "journalism", which maps to a topical category (e.g. [[:Category:en:Journalism]], instead of [[:Category:English journalistic terms]]). labels["journalistic"] = { aliases = {"journalese"}, display = "[[journalistic]]", pos_categories = "journalistic terms", } labels["leet"] = { aliases = {"leetspeak"}, display = "[[leetspeak]]", pos_categories = "leetspeak", } labels["LGBTQ slang"] = { aliases = {"LGBT slang"}, display = "[[LGBTQ]] {{glossary|slang}}", pos_categories = true, } labels["literal"] = { glossary = "literally", } labels["literally"] = { glossary = "literally", } labels["pampanitikan"] = { --TLCHANGE -- should be "terms with X senses", leaving "X terms" to the term-context temp aliases = {"bookish", "literary"}, --TLCHANGE glossary = true, pos_categories = "na salitang pampanitikan", --TLCHANGE "literary terms", } labels["anyong pampanitikan"] = { --TLCHANGE aliases = {"bookish form", "literary form"}, --TLCHANGE glossary = "pampanitikan", --TLCHANGE "literary", display = "pampanitikan", --TLCHANGE "literary", pos_categories = "na anyong pampanitikan", --TLCHANGE "literary forms", } --see also "short scale" labels["long scale"] = { display = "[[w:Long and short scales|long scale]]" } labels["loosely"] = { aliases = {"loose", "broadly", "broad"}, glossary = true, } labels["Lubunyaca"] = { display = "[[Lubunyaca]]", pos_categories = true, } labels["medical slang"] = { display = "[[medical]] {{glossary|slang}}", pos_categories = true, } -- for Awetí, Karajá, etc., where men and women use different words labels["men's speech"] = { aliases = {"male speech"}, glossary = "men's speech", pos_categories = "men's speech terms", } labels["metonymic"] = { aliases = {"metonymically", "metonymy", "metonym"}, glossary = true, pos_categories = "metonyms", } labels["military slang"] = { display = "[[military]] {{glossary|slang}}", pos_categories = true, } labels["minced oath"] = { display = "[[minced oath]]", pos_categories = "minced oaths", } labels["multiplicative"] = { aliases = {"multiplicative number", "multiplicative numeral"}, display = "[[multiplicative number]]", pos_categories = "multiplicative numbers", } labels["multiplicity slang"] = { display = "{{l|en|multiplicity|id=multiple personalities}} {{glossary|slang}}", pos_categories = true, } labels["naval slang"] = { aliases = {"navy slang"}, display = "[[naval]] {{glossary|slang}}", pos_categories = true, } labels["neolohismo"] = { --TLCHANGE aliases = {"neologistic", "neologism"}, --TLCHANGE glossary = true, pos_categories = "na neolohismo", --TLCHANGE "neologisms", } labels["neopronoun"] = { display = "[[neopronoun]]", -- pos_categories = {"neopronouns"}, } labels["no longer productive"] = { aliases = {"non-productive"}, display = "no longer [[Appendix:Glossary#productive|productive]]", } labels["nonce word"] = { -- should be "terms with X senses", leaving "X terms" to the term-context temp? aliases = {"nonce"}, glossary = true, pos_categories = "nonce terms", } labels["di-pamantayan"] = { --TLCHANGE aliases = {"non-standard", "substandard", "sub-standard", "nonstandard"}, --TLCHANGE glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "na salitang di-pamantayan", --TLCHANGE "nonstandard terms", } labels["anyong di-pamantayan"] = { --TLCHANGE aliases = {"non-standard form", "substandard form", "sub-standard form", "nonstandard form"}, --TLCHANGE glossary = "di-pamantayan", --TLCHANGE "nonstandard", display = "di-pamantayan", --TLCHANGE "nonstandard", pos_categories = "na anyong di-pamantayan", --TLCHANGE "nonstandard forms", } labels["numismatic slang"] = { display = "[[numismatic]] {{glossary|slang}}", pos_categories = true, } labels["obsolete"] = { glossary = true, sense_categories = true, } labels["obsolete form"] = { glossary = "obsolete", display = "obsolete", pos_categories = "obsolete forms", } labels["obsolete term"] = { glossary = "obsolete", -- combine with previous two, q.v. pos_categories = "obsolete terms", } labels["offensive"] = { glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "offensive terms", } labels["officialese"] = { aliases = {"bureaucratic"}, display = "[[officialese]]", pos_categories = "officialese terms", } labels["Oxbridge slang"] = { display = "[[w:Oxbridge|Oxbridge]] {{glossary|slang}}", topical_categories = "Universities", plain_categories = {"Cambridge University slang", "Oxford University slang"}, } labels["Oxford University slang"] = { aliases = {"University of Oxford slang", "Oxon slang"}, display = "[[w:University of Oxford|Oxford University]] {{glossary|slang}}", topical_categories = "Universities", plain_categories = true, } labels["poetic"] = { aliases = {"poi"}, -- Only used in Ancient Greek as a holdover from [[Module:grc:Dialects]]. -- should be "terms with X senses", leaving "X terms" to the term-context temp glossary = true, pos_categories = "poetic terms", } labels["poetic form"] = { glossary = "poetic", display = "poetic", pos_categories = "poetic forms", } labels["polite"] = { glossary = true, pos_categories = "polite terms", } labels["post-classical"] = { aliases = {"Post-classical", "post-Classical", "Post-Classical", "Postclassical", "postclassical"}, display = "post-Classical", regional_categories = true, } labels["prison slang"] = { display = "[[prison]] {{glossary|slang}}", pos_categories = true, } labels["proscribed"] = { glossary = true, pos_categories = "proscribed terms", } labels["purista"] = { --TLCHANGE aliases = {"purism", "puristic"}, --TLCHANGE Wikipedia = "Linguistic purism", pos_categories = "na salitang purista", --TLCHANGE "puristic terms", } labels["radio slang"] = { display = "[[radio]] {{glossary|slang}}", pos_categories = true, } labels["Reddit slang"] = { display = "[[Reddit]] {{glossary|slang}}", pos_categories = true, } labels["rare"] = { aliases = {"rare sense"}, glossary = true, sense_categories = true, } labels["rare form"] = { glossary = "rare", display = "rare", pos_categories = "rare forms", } labels["rare term"] = { display = "rare", -- see comments about "obsolete" pos_categories = "rare terms", } -- cf Cockney rhyming slang labels["rhyming slang"] = { display = "[[rhyming slang]]", pos_categories = true, } labels["religious slur"] = { aliases = {"sectarian slur"}, display = "[[religious]] [[slur]]", pos_categories = "religious slurs", } labels["retronym"] = { glossary = true, pos_categories = "retronyms", } labels["reverential"] = { -- should be "terms with X senses", leaving "X terms" to the term-context temp? display = "[[reverential]]", pos_categories = "reverential terms", } labels["royal"] = { aliases = {"regal"}, pos_categories = "royal terms", } labels["rustic"] = { glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp? aliases = {"rural"}, pos_categories = "rustic terms", } labels["sarcastic"] = { display = "[[sarcastic]]", pos_categories = "sarcastic terms", } labels["school slang"] = { aliases = {"public school slang"}, display = "[[school]] {{glossary|slang}}", pos_categories = true, } labels["self-deprecatory"] = { aliases = {"self-deprecating"}, display = "[[self-deprecatory]]", -- should be "terms with X senses", leaving "X terms" to the term-context temp? pos_categories = "self-deprecatory terms", } -- Swahili Sheng cant / argot -- should this be in a language-specific module? labels["Sheng"] = { Wikipedia = "Sheng slang", plain_categories = true, } labels["siglum"] = { aliases = {"sigla"}, glossary = true, pos_categories = "sigla", } --see also "long scale" labels["short scale"] = { display = "[[w:Long and short scales|short scale]]" } labels["balbal"] = { --TLCHANGE aliases = {"slang"}, --TLCHANGE glossary = true, pos_categories = "na salitang balbal", --TLCHANGE true, } labels["solemn"] = { glossary = true, pos_categories = "solemn terms", } labels["Stenoscript"] = { aliases = {"stenoscript"}, display = "[[Stenoscript]]", pos_categories = "Stenoscript abbreviations", } labels["pinalitang pagbaybay"] = { --TLCHANGE aliases = {"superseded"}, --TLCHANGE glossary = true } labels["swear word"] = { aliases = {"profanity", "expletive"}, pos_categories = "swear words", } labels["syncopated"] = { aliases = {"syncope", "syncopic", "syncopation"}, glossary = true, pos_categories = "syncopic forms", } labels["synecdochically"] = { aliases = {"synecdochic", "synecdochical", "synecdoche"}, glossary = true, pos_categories = "synecdoches", } labels["technical"] = { display = "[[technical]]", pos_categories = "technical terms", } labels["telic"] = { glossary = true, } labels["text messaging"] = { aliases = {"texting"}, display = "[[text messaging]]", pos_categories = "text messaging slang", } labels["tone indicator"] = { display = "[[tone indicator]]", pos_categories = "tone indicators", } labels["trademark"] = { display = "[[trademark]]", pos_categories = "trademarks", } labels["transferred sense"] = { glossary = true, pos_categories = "terms with transferred senses", } labels["transferred senses"] = { display = "[[transferred sense#English|transferred senses]]", pos_categories = "terms with transferred senses", } labels["transgender slang"] = { aliases = {"trans slang"}, display = "[[transgender]] {{glossary|slang}}", pos_categories = true, } labels["Twitch-speak"] = { display = "[[Twitch-speak]]", pos_categories = true, } labels["uds."] = { display = "[[Appendix:Spanish pronouns#Ustedes and vosotros|used formally in Spain]]", } labels["di-karaniwan"] = { aliases = {"uncommon"}, --TLCHANGE glossary = true, sense_categories = true, } labels["anyong di-karaniwan"] = { --TLCHANGE aliases = {"uncommon form"}, --TLCHANGE glossary = "di-karaniwan", --TLCHANGE "uncommon", display = "di-karaniwan", --TLCHANGE "uncommon", pos_categories = "na anyong di-karaniwan", --TLCHANGE "uncommon forms", } labels["university slang"] = { aliases = {"college slang", "student slang"}, display = "[[university]] {{glossary|slang}}", topical_categories = "Universities", pos_categories = "student slang", } labels["verlan"] = { glossary = true, plain_categories = true, } labels["very rare"] = { display = "very [[Appendix:Glossary#rare|rare]]", sense_categories = "rare", } labels["vulgar"] = { aliases = {"coarse", "obscene", "profane"}, glossary = true, pos_categories = "vulgarities", } labels["vesre"] = { Wikipedia = true, plain_categories = true, } labels["youth slang"] = { display = "[[youth]] {{glossary|slang}}", pos_categories = "slang", } labels["2channel slang"] = { aliases = {"2channel", "2ch slang"}, display ="[[w:2channel|2channel]] {{glossary|slang}}", pos_categories = {"internet slang" , "2channel slang"}, } -- for Awetí, Karajá, etc., where men & women use different words labels["women's speech"] = { aliases = {"female speech"}, glossary = "women's speech", pos_categories = "women's speech terms", } -- terms applying to Old Norse skaldic poetry labels["kenning"] = { aliases = {"Kenning"}, Wikipedia = "Kenning", pos_categories = "kennings", } labels["heiti"] = { aliases = {"Heiti"}, Wikipedia = "Heiti", pos_categories = true, } return require("Module:labels").finalize_data(labels) o0pfaji7fxqfyp240cuh2n47si9nktu 177533 177531 2026-08-27T12:41:59Z Yivan000 4078 "makaluma" is "archaic"; "may kalumaan" is "dated"; "lipas na" is "obsolete" (this is so hard to come up with translations omg) 177533 Scribunto text/plain local labels = {} -- Grammatical labels labels["daglat"] = { --TLCHANGE aliases = {"abbreviation"}, --TLCHANGE glossary = true, pos_categories = "na daglat", --TLCHANGE "abbreviations" } labels["pangngalang basal"] = { --TLCHANGE aliases = {"abstract noun"}, --TLCHANGE display = "basal", --TLCHANGE "abstract", glossary = true, pos_categories = "na pangngalang basal", --TLCHANGE "abstract nouns", } labels["pandiwang basal"] = { --TLCHANGE aliases = {"abstract verb"}, --TLCHANGE display = "basal", --TLCHANGE "abstract", glossary = true, pos_categories = "na pandiwang basal", --TLCHANGE "abstract verbs", } labels["akronim"] = { --TLCHANGE aliases = {"acronym"}, --TLCHANGE glossary = true, pos_categories = "na akronim", --TLCHANGE "acronyms", } labels["active voice"] = { aliases = {"active", "in active", "in the active", "in active voice", "in the active voice"}, glossary = true, } labels["ambitransitive"] = { glossary = true, pos_categories = {"transitive verbs", "intransitive verbs"}, } labels["angry register"] = { aliases = {"angry", "anger", "said in anger"}, glossary = true, pos_categories = "angry register terms", } labels["animate"] = { glossary = true, } labels["panaganong paturol"] = { --TLCHANGE aliases = {"in the indicative", "indicative mood", "indicative"}, --TLCHANGE glossary = "panaganong paturol", --TLCHANGE "indicative mood", } labels["panaganong pasakali"] = { --TLCHANGE aliases = {"in the subjunctive", "subjunctive mood", "subjunctive"}, --TLCHANGE glossary = "panaganong pasakali", --TLCHANGE "subjunctive mood", } labels["panaganong pautos"] = { --TLCHANGE aliases = {"in the imperative", "imperative mood", "imperative"}, --TLCHANGE glossary = "panaganong pautos", --TLCHANGE "imperative mood", } labels["jussive"] = { aliases = {"in the jussive", "jussive mood"}, glossary = "jussive mood", } labels["atelic"] = { glossary = true, } labels["attenuative"] = { pos_categories = "attenuative verbs", } labels["attributive"] = { glossary = true, } labels["attributively"] = { glossary = "attributive", } labels["auxiliary"] = { glossary = true, pos_categories = "auxiliary verbs", } labels["cardinal"] = { aliases = {"cardinal number", "cardinal numeral"}, display = "[[cardinal number]]", pos_categories = "cardinal numbers", } labels["catenative"] = { glossary = "catenative verb", } labels["causative"] = { glossary = true, } labels["causative verb"] = { display = "causative", glossary = true, pos_categories = "causative verbs", } labels["cognate object"] = { aliases = {"with cognate object"}, display = "with [[w:Cognate object|cognate object]]", pos_categories = "verbs used with cognate objects", } labels["collective"] = { glossary = true, display = "collective", pos_categories = "collective nouns", } labels["collectively"] = { glossary = "collective", display = "collectively", pos_categories = "collective nouns", } labels["collective number"] = { aliases = {"collective numeral"}, display = "[[collective number]]", pos_categories = "collective numbers", } labels["common"] = { glossary = true, } labels["comparable"] = { glossary = true, } labels["completive"] = { pos_categories = "completive verbs", } labels["concrete verb"] = { display = "concrete", Wiktionary = true, pos_categories = "concrete verbs", } labels["contraction"] = { aliases = {"contractions", "contracted"}, glossary = true, pos_categories = "contractions", } labels["control verb"] = { aliases = {"control"}, Wikipedia = true, pos_categories = "control verbs", } labels["copulative"] = { aliases = {"copular"}, glossary = true, pos_categories = "copulative verbs", } labels["pamilang"] = { --TLCHANGE aliases = {"countable", "nabibilang"}, --TLCHANGE glossary = true, pos_categories = "na pangngalang pamilang", --TLCHANGE "countable nouns", } labels["cumulative"] = { pos_categories = "cumulative verbs", } labels["defective adjective"] = { aliases = {"defective a", "defective adj", "defective adjectives"}, display = "defective", glossary = true, pos_categories = "defective adjectives", } labels["defective noun"] = { aliases = {"defective n", "defective nouns"}, display = "defective", glossary = true, pos_categories = "defective nouns", } labels["defective verb"] = { aliases = {"defective v", "defective vb", "defective verbs"}, display = "defective", glossary = true, pos_categories = "defective verbs", } labels["deliberate misspelling"] = { display = "deliberate [[misspelling]]", } labels["delimitative"] = { pos_categories = "delimitative verbs", } labels["deponent"] = { glossary = true, pos_categories = "deponent verbs", } labels["distributive"] = { pos_categories = "distributive verbs", } labels["distributive number"] = { aliases = {"distributive numeral"}, display = "[[distributive number]]", pos_categories = "distributive numbers", } labels["ditransitive"] = { glossary = true, pos_categories = "ditransitive verbs", } labels["dual only"] = { aliases = {"dual-only", "dualonly", "duale tantum"}, display = "[[dual]] only", pos_categories = "dualia tantum", } labels["dysphemistic"] = { aliases = {"dysphemism"}, glossary = "dysphemism", pos_categories = "dysphemisms", } labels["by ellipsis"] = { aliases = {"ellipsis"}, glossary = "ellipsis", pos_categories = "ellipses", } labels["emphatic"] = { glossary = true, } labels["ergative"] = { glossary = true, pos_categories = "ergative verbs", } labels["expressive"] = { glossary = true, pos_categories = "expressive terms", } labels["by extension"] = { aliases = {"hence"}, } labels["feminine"] = { glossary = true, } labels["focus"] = { glossary = true, pos_categories = "focus adverbs", } labels["fractional"] = { aliases = {"fractional number", "fractional numeral"}, display = "[[fractional number]]", pos_categories = "fractional numbers", } labels["frequentative"] = { glossary = true, pos_categories = "frequentative verbs", } labels["hedge"] = { aliases = {"hedges"}, glossary = true, pos_categories = "hedges", } labels["ideophonic"] = { aliases = {"ideophone"}, glossary = true, } labels["sawikain"] = { --TLCHANGE aliases = {"idiom", "idiomatically", "idiomatic"}, --TLCHANGE glossary = true, pos_categories = "na sawikain", --TLCHANGE "idioms", } labels["imperfect"] = { glossary = true, } labels["imperfective"] = { glossary = true, pos_categories = "imperfective verbs", } labels["impersonal"] = { glossary = true, pos_categories = "impersonal verbs", } labels["in the singular"] = { aliases = {"in singular"}, display = "in the [[singular]]", } labels["in the dual"] = { aliases = {"in dual"}, display = "in the [[dual]]", } labels["in the plural"] = { aliases = {"in plural"}, display = "in the [[Appendix:Glossary#plural|plural]]", } labels["inanimate"] = { aliases = {"not animate"}, glossary = true, } labels["inchoative"] = { glossary = true, pos_categories = "inchoative verbs", } labels["indefinite"] = { aliases = {"indef", "not definite"}, glossary = true, } labels["initialism"] = { glossary = true, pos_categories = "initialisms", } labels["intensive verb"] = { display = "intensive", pos_categories = "intensive verbs", } labels["katawanin"] = { --TLCHANGE aliases = {"not transitive", "intransitive"}, --TLCHANGE glossary = true, pos_categories = "na pandiwang katawanin", --TLCHANGE "intransitive verbs", } labels["IPA"] = { aliases = {"International Phonetic Alphabet"}, Wikipedia = "International Phonetic Alphabet", plain_categories = "IPA symbols", } labels["iterative"] = { glossary = true, pos_categories = "iterative verbs", } labels["litotes"] = { aliases = {"litote", "litotic", "litotical"}, glossary = true, pos_categories = true, } labels["panlalaki"] = { --TLCHANGE aliases = {"masculine"}, --TLCHANGE glossary = true, } labels["mediopassive voice"] = { aliases = {"mediopassive", "in mediopassive", "in the mediopassive", "in mediopassive voice", "in the mediopassive voice"}, glossary = true, } labels["meiosis"] = { aliases = {"meioses", "meiotic"}, glossary = true, pos_categories = "meioses", } labels["middle voice"] = { aliases = {"middle", "in middle", "in the middle", "in middle voice", "in the middle voice"}, glossary = true, } labels["misspelling"] = { display = "[[misspelling]]", } labels["mnemonic"] = { display = "[[mnemonic]]", pos_categories = "mnemonics", } labels["modal"] = { Wikipedia = "Modality (linguistics)", } labels["modal adverb"] = { aliases = {"modal adverbs"}, display = "modal", Wikipedia = "Modality (linguistics)", pos_categories = "modal adverbs", } labels["modal verb"] = { aliases = {"modal verbs"}, display = "modal", Wikipedia = "Modality (linguistics)", pos_categories = "modal verbs", } labels["NAPA"] = { aliases = {"Americanist_phonetic_notation"}, Wikipedia = "Americanist_phonetic_notation", plain_categories = "NAPA symbols", } labels["always in the negative"] = { glossary = "negative polarity item", pos_categories = "negative polarity items", } labels["chiefly in the negative"] = { aliases = {"chiefly used in the negative", "negative polarity", "negative polarity item", "usually in the negative", "usually used in the negative"}, glossary = "negative polarity item", pos_categories = "negative polarity items", } labels["chiefly in the negative plural"] = { aliases = {"chiefly used in the negative plural", "negative polarity plural", "negative polarity plural item", "usually in the negative plural", "usually used in the negative plural"}, display = "chiefly in the [[Appendix:Glossary#negative polarity item|negative]] [[Appendix:Glossary#plural|plural]]", pos_categories = "negative polarity items", } labels["chiefly in the positive"] = { aliases = {"chiefly used in the positive", "positive polarity", "positive polarity item", "usually in the positive", "usually used in the positive"}, glossary = "positive polarity item", -- pos_categories = {"positive polarity items"}, } labels["chiefly in the positive plural"] = { aliases = {"chiefly used in the positive plural", "positive polarity plural", "positive polarity plural item", "usually in the positive plural", "usually used in the positive plural"}, display = "chiefly in the [[Appendix:Glossary#positive polarity item|positive]] [[Appendix:Glossary#plural|plural]]", -- pos_categories = "positive polarity items", } labels["balaki"] = { --TLCHANGE aliases = {"neuter"}, --TLCHANGE glossary = true, } -- British English ("ise") labels["nominalised"] = { aliases = {"nominalisation", "substantivised", "substantivisation"}, glossary = "nominalization", pos_categories = "nominalized adjectives", } -- American English ("ize") labels["nominalized"] = { aliases = {"nominalization", "substantivized", "substantivization"}, glossary = "nominalization", pos_categories = "nominalized adjectives", } labels["not comparable"] = { aliases = {"notcomp", "incomparable", "uncomparable"}, glossary = "uncomparable", } labels["onomatopoeia"] = { glossary = true, pos_categories = "onomatopoeias", } labels["ordinal"] = { aliases = {"ordinal number", "ordinal numeral"}, display = "[[ordinal number]]", pos_categories = "ordinal numbers", } labels["partitive verb"] = { display = "[[Appendix:Glossary#transitive|transitive]], usually [[Appendix:Finnic telic and atelic verbs|atelic]]", pos_categories = "transitive verbs", -- = "partitive verbs", } labels["perfect"] = { glossary = true, } labels["pandiwari"] = { --TLCHANGE aliases = {"participle"}, --TLCHANGE glossary = true, } labels["balintiyak"] = { --TLCHANGE aliases = {"passive", "in passive", "in the passive", "in passive voice", "in the passive voice", "passive voice"}, --TLCHANGE glossary = true, } labels["perfect"] = { glossary = true, } labels["perfective"] = { glossary = true, pos_categories = "perfective verbs", } labels["plural only"] = { aliases = {"plural-only", "pluralonly", "plurale tantum"}, display = "[[Appendix:Glossary#plural|plural]] only", pos_categories = "pluralia tantum", } labels["possessional adjective"] = { aliases = {"possessional", "possessional adjectives"}, display = "possessional", glossary = true, pos_categories = "possessional adjectives", } labels["possessive pronoun"] = { aliases = {"possessive determiner"}, display = "possessive", glossary = "possessive determiner", pos_categories = "possessive pronouns", } labels["postpositive"] = { glossary = true, } labels["predicative"] = { glossary = true, } labels["predicatively"] = { glossary = "predicative", } labels["prepositive"] = { glossary = true, } labels["prescriptive"] = { aliases = {"normative", "prescribed"}, glossary = true, } labels["privative"] = { pos_categories = "privative verbs", } labels["procedure word"] = { display = "[[procedure word]]", } labels["productive"] = { glossary = true, } -- TODO: This label is probably inappropriate for many languages labels["pronominal"] = { glossary = "pronominal verb", } labels["pronunciation spelling"] = { glossary = true, } labels["pro-verb"] = { Wikipedia = true, } labels["reciprocal"] = { glossary = true, pos_categories = "reciprocal verbs", } labels["reflexive"] = { glossary = true, pos_categories = "reflexive verbs", } labels["reflexive pronoun"] = { glossary = "reflexive", pos_categories = "reflexive pronouns", } labels["relational"] = { glossary = true, pos_categories = "relational adjectives", } labels["repetitive"] = { pos_categories = "repetitive verbs", } labels["respelling"] = { glossary = true, } labels["reversative"] = { pos_categories = "reversative verbs", } labels["rhetorical question"] = { glossary = true, pos_categories = "rhetorical questions", } labels["rhotic"] = { glossary = true, } labels["saturative"] = { aliases = {"sative"}, pos_categories = "saturative verbs", } labels["semelfactive"] = { glossary = true, pos_categories = "semelfactive verbs", } labels["sentence adverb"] = { glossary = true, pos_categories = "sentence adverbs", } labels["set phrase"] = { display = "[[set phrase]]", } labels["simile"] = { glossary = true, pos_categories = "similes", } labels["singular only"] = { aliases = {"singular-only", "singulare tantum", "no plural"}, display = "singular only", pos_categories = "singularia tantum", } labels["snowclone"] = { glossary = true, pos_categories = "snowclones", } labels["stative"] = { aliases = {"stative verb"}, glossary = true, pos_categories = "stative verbs", } labels["strictly"] = { aliases = {"strict", "narrowly", "narrow"}, glossary = true, } labels["substantive"] = { glossary = true, track = true, } labels["terminative"] = { pos_categories = "terminative verbs", } labels["palipat"] = { --TLCHANGE aliases = {"transitive"}, --TLCHANGE glossary = true, pos_categories = "na pandiwang palipat", --TLCHANGE "transitive verbs" } labels["transmission error"] = { Wiktionary = true, } labels["unaccusative"] = { aliases = {"not accusative"}, Wikipedia = "Unaccusative verb", } labels["di-pamilang"] = { --TLCHANGE aliases = {"not countable", "uncountable", "di-nabibilang", "di nabibilang"}, --TLCHANGE glossary = true, pos_categories = "na pangngalang di-pamilang", --TLCHANGE "uncountable nouns", } labels["unergative"] = { aliases = {"not ergative"}, Wikipedia = "Unergative verb", } labels["UPA"] = { aliases = {"Uralic Phonetic Alphabet"}, Wikipedia = "Uralic Phonetic Alphabet", plain_categories = "UPA symbols", } labels["usually plural"] = { aliases = {"usually in the plural", "usually in plural"}, display = "usually in the [[Appendix:Glossary#plural|plural]]", deprecated = true, } -- Usage labels labels["4chan"] = { aliases = {"4chan slang"}, display = "[[w:4chan|4chan]] {{glossary|slang}}", pos_categories = "4chan slang", } labels["4chan lgbt"] = { aliases = {"tttt"}, display = "[[w:4chan|4chan]] /lgbt/ {{glossary|slang}}", pos_categories = "4chan /lgbt/ slang", } labels["ACG"] = { display = "[[ACG]]", -- see also "fandom slang" pos_categories = "fandom slang", } labels["endearing"] = { aliases = {"affectionate"}, display = "[[endearing]]", -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "endearing terms", } labels["endearing form"] = { aliases = {"affectionate form"}, display = "[[endearing]]", pos_categories = "endearing forms", } labels["pre-classical"] = { aliases = {"Pre-classical", "pre-Classical", "Pre-Classical", "Preclassical", "preclassical", "ante-classical", "Ante-classical", "ante-Classical", "Ante-Classical", "Anteclassical", "anteclassical"}, display = "pre-Classical", regional_categories = true, } labels["anti-LGBTQ slur"] = { -- don't add aliases "homophobia" or "transphobia" because these could be topical categories aliases = {"homophobic", "transphobic"}, display = "anti-[[LGBTQ]] [[slur]]", pos_categories = "anti-LGBTQ slurs", } labels["makaluma"] = { --TLCHANGE aliases = {"antiquated", "archaic"}, --TLCHANGE glossary = true, sense_categories = true, } labels["anyong makaluma"] = { --TLCHANGE aliases = {"archaic form"}, --TLCHANGE glossary = "makaluma", --TLCHANGE "archaic", display = "makaluma", --TLCHANGE "archaic", pos_categories = "na anyong makaluma", --TLCHANGE "archaic forms", } labels["Australian slang"] = { display = "[[Australian]] {{glossary|slang}}", regional_categories = "Australian", plain_categories = true, } labels["avoidance"] = { glossary = true, } labels["back slang"] = { aliases = {"backslang", "back-slang"}, glossary = "backslang", pos_categories = true, } labels["Bargoens"] = { Wikipedia = true, plain_categories = true, } labels["Braille"] = { Wikipedia = true, } labels["British slang"] = { aliases = {"UK slang"}, display = "[[British]] {{glossary|slang}}", plain_categories = true, } labels["Cambridge University slang"] = { aliases = {"University of Cambridge slang", "Cantab slang"}, display = "[[w:University of Cambridge|Cambridge University]] {{glossary|slang}}", topical_categories = "Universities", plain_categories = true, } labels["cant"] = { aliases = {"argot", "cryptolect"}, display = "[[cant]]", pos_categories = true, } labels["capitalized"] = { aliases = {"capitalised"}, display = "[[capitalisation|capitalized]]", } labels["Castilianism"] = { aliases = {"Hispanicism"}, display = "[[Castilianism]]", } labels["childish"] = { aliases = {"baby talk", "child language", "infantile", "puerile"}, display = "[[childish]]", -- should be "terms with X senses", leaving "X terms" to the term-context temp? pos_categories = "childish terms", } labels["chu Nom"] = { display = "[[Vietnamese]] [[chữ Nôm]]", plain_categories = "Vietnamese Han tu", } labels["Cockney rhyming slang"] = { display = "[[Cockney rhyming slang]]", plain_categories = true, } labels["kolokyal"] = { --TLCHANGE aliases = {"colloquial", "colloquially"}, --TLCHANGE glossary = true, pos_categories = "na salitang kolokyal" --TLCHANGE "colloquialisms", } -- FIXME! The following two are apparently for Persian but probably don't belong in this file. labels["colloquial-um"] = { glossary = "colloquial", pos_categories = "colloquialisms containing sequence um", } labels["colloquial-un"] = { glossary = "colloquial", pos_categories = "colloquialisms containing sequence un", } labels["corporate jargon"] = { aliases = {"business jargon", "corporatese", "businessese", "corporate speak", "business speak"}, display = "[[corporate]] [[jargon]]", pos_categories = true, } labels["costermongers"] = { aliases = {"coster", "costers", "costermonger", "costermongers back slang", "costermongers' back slang"}, display = "[[Appendix:Costermongers' back slang|costermongers]]", plain_categories = "Costermongers' back slang", } labels["criminal slang"] = { aliases = {"thieves' cant", "Thieves' Cant", "thieves cant", "thieves'", "thieves", "thieves' cant"}, -- Thieves' Cant is English-only, so defined in the English submodule; if other languages try to use it, it's just criminal slang display = "[[criminal]] {{glossary|slang}}", topical_categories = "Crime", pos_categories = true, } labels["may kalumaan"] = { --TLCHANGE aliases = {"old-fashioned", "dated"}, --TLCHANGE glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "na salitang may kalumaan", --TLCHANGE "dated terms", } labels["anyong may kalumaan"] = { --TLCHANGE aliases = {"old-fashioned form", "dated form"}, --TLCHANGE glossary = "may kalumaan", --TLCHANGE "dated", display = "may kalumaan", --TLCHANGE "dated", pos_categories = "na anyong may kalumaan", --TLCHANGE "dated forms", } -- combine with previous? labels["dated sense"] = { glossary = "dated", sense_categories = "dated", } labels["mapanlait"] = { --TLCHANGE aliases = {"pejorative", "derogative", "disparaging", "derogatory"}, --TLCHANGE display = "[[mapanlait]]", --TLCHANGE -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "na salitang mapanlait", --TLCHANGE "derogatory terms", } labels["anyong mapanlait"] = { --TLCHANGE aliases = {"pejorative form", "derogative form", "disparaging form", "derogatory form"}, --TLCHANGE display = "[[mapanlait]]", --TLCHANGE "[[derogatory]]", pos_categories = "na anyong mapanlait", --TLCHANGE "derogatory forms", } labels["dialect"] = {-- separated from "dialectal" so e.g. "obsolete|outside|the|_|dialect|of..." displays right glossary = "dialectal", pos_categories = "dialectal terms", } labels["dialectal"] = { glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "dialectal terms", } labels["dialectal form"] = { glossary = "dialectal", display = "dialectal", pos_categories = "dialectal forms", } labels["dialects"] = {-- separated from "dialectal" so e.g. "obsolete|outside|dialects" displays right glossary = "dialectal", pos_categories = "dialectal terms", } labels["dis legomenon"] = { display = "[[dis legomenon]]", pos_categories = "dis legomena", } labels["dismissal"] = { display = "[[dismissal]]", pos_categories = "dismissals", } labels["drag slang"] = { aliases = {"Drag Race slang"}, display = "[[drag]] {{glossary|slang}}", pos_categories = "drag slang", } labels["ecclesiastical"] = { display = "[[ecclesiastical#Adjective|ecclesiastical]]", pos_categories = "ecclesiastical terms", } labels["ethnic slur"] = { aliases = {"racial slur"}, display = "[[ethnic]] [[slur]]", pos_categories = "ethnic slurs", } labels["euphemistic"] = { aliases = {"euphemism"}, glossary = "euphemism", pos_categories = "euphemisms", } labels["eye dialect"] = { display = "[[eye dialect]]", pos_categories = true, } labels["familiar"] = { glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp? pos_categories = "familiar terms", } labels["fandom slang"] = { aliases = {"fandom"}, display = "[[fandom]] {{glossary|slang}}", pos_categories = true, } labels["figurative"] = { aliases = {"metaphorical", "metaphoric", "metaphor"}, glossary = "figurative", } labels["figuratively"] = { aliases = {"metaphorically"}, glossary = "figurative", } labels["folk songs"] = { aliases = {"folksongs", "used in folk songs", "used in folksongs"}, pos_categories = "folk poetic terms", display = "used in [[folk song]]s", } labels["folk tales"] = { aliases = {"folktales", "used in folk tales", "used in folktales"}, pos_categories = "folk poetic terms", display = "used in [[folk tale]]s", } labels["folk poetic"] = { -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "folk poetic terms", } labels["pormal"] = { --TLCHANGE aliases = {"formal"}, --TLCHANGE glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp? pos_categories = "na salitang pormal",--TLCHANGE "formal terms", } labels["anyong pormal"] = { --TLCHANGE aliases = {"formal form"}, --TLCHANGE glossary = "pormal", --TLCHANGE "formal" display = "pormal", --TLCHANGE "formal", pos_categories = "na anyong pormal", --TLCHANGE "formal forms", } labels["gay slang"] = { display = "[[gay]] {{glossary|slang}}", pos_categories = true, } labels["gender critical slang"] = { aliases = {"gender-critical slang", "GC slang", "TERF slang"}, display = "[[gender-critical]] {{glossary|slang}}", pos_categories = "gender-critical slang", } labels["gender-neutral"] = { glossary = "gender-neutral", pos_categories = "gender-neutral terms", } labels["graffiti slang"] = { display = "[[graffiti#Noun|graffiti]] {{glossary|slang}}", pos_categories = true, } labels["genericized trademark"] = { aliases = {"generic trademark", "proprietary eponym"}, display = "[[genericized trademark]]", pos_categories = "genericized trademarks", } labels["ghost word"] = { aliases = {"ghost"}, display = "ghost word", glossary = true, pos_categories = "ghost words", } labels["hapax legomenon"] = { aliases = {"hapax"}, display = "hapax legomenon", glossary = true, pos_categories = "hapax legomena", } labels["higher register"] = { aliases = {"high register", "elevated register", "elevated"}, glossary = "higher register", pos_categories = "higher register terms", } labels["makasaysayan"] = { --TLCHANGE aliases = {"historic", "historical"}, --TLCHANGE glossary = true, sense_categories = true, } labels["non-native speakers"] = {-- language-agnostic version aliases = {"NNS"}, display = "[[non-native speaker]]s", -- so preceded by "used by", "error by children and", etc? or reword? regional_categories = {"Non-native speakers'"}, } -- used exclusively by languages that use the "Jpan" script code labels["historical hiragana"] = { pos_categories = true, } -- used exclusively by languages that use the "Jpan" script code labels["historical katakana"] = { pos_categories = true, } -- applies to Japanese and Korean, etc., please do not confuse with "polite" labels["honorific"] = { Wikipedia = "Honorifics (linguistics)", -- should be "terms with X senses", leaving "X terms" to the term-context temp? pos_categories = "honorific terms", } -- for Ancient Greek labels["Homeric epithet"] = { display = "[[Homeric Greek|Homeric]] [[w:Epithets in Homer|epithet]]", omit_postComma = true, plain_categories = "Epic Greek", } -- applies to Japanese and Korean, etc. labels["humble"] = { -- should be "terms with X senses", leaving "X terms" to the term-context temp? display = "[[humble]]", pos_categories = "humble terms", } -- for Akkadian labels["in hendiadys"] = { aliases = {"hendiadys"}, display = "in {{w|hendiadys}}", pos_categories = "terms used in hendiadys", } labels["humorous"] = { -- should be "terms with X senses", leaving "X terms" to the term-context temp; NB and cf a similar "jocular" label further up on this page aliases = {"humorously", "jocular"}, glossary = true, pos_categories = "humorous terms", } labels["hyperbolic"] = { aliases = {"hyperbole"}, glossary = true, pos_categories = "hyperboles", } labels["hypercorrect"] = { glossary = true, pos_categories = "hypercorrections", } labels["hyperforeign"] = { glossary = true, pos_categories = "hyperforeign terms", } labels["imperial"] = { aliases = {"emperor", "empress"}, pos_categories = "royal terms", } labels["incel slang"] = { display = "[[incel]] {{glossary|slang}}", pos_categories = true, } labels["impormal"] = { --TLCHANGE aliases = {"informally", "not formal", "informal"}, --TLCHANGE glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "na salitang impormal", --TLCHANGE "informal terms", } labels["anyong impormal"] = { --TLCHANGE aliases = {"informal form"}, --TLCHANGE glossary = "impormal", --TLCHANGE "informal", display = "impormal", --TLCHANGE "informal", pos_categories = "na anyong impormal" --TLCHANGE "informal forms", } labels["Internet slang"] = { aliases = {"internet slang"}, display = "[[Internet]] {{glossary|slang}}", pos_categories = "internet slang", } labels["IRC"] = { display = "[[IRC]]", pos_categories = "internet slang", } labels["ironic"] = { display = "[[irony|ironic]]", } -- Not the same as "journalism", which maps to a topical category (e.g. [[:Category:en:Journalism]], instead of [[:Category:English journalistic terms]]). labels["journalistic"] = { aliases = {"journalese"}, display = "[[journalistic]]", pos_categories = "journalistic terms", } labels["leet"] = { aliases = {"leetspeak"}, display = "[[leetspeak]]", pos_categories = "leetspeak", } labels["LGBTQ slang"] = { aliases = {"LGBT slang"}, display = "[[LGBTQ]] {{glossary|slang}}", pos_categories = true, } labels["literal"] = { glossary = "literally", } labels["literally"] = { glossary = "literally", } labels["pampanitikan"] = { --TLCHANGE -- should be "terms with X senses", leaving "X terms" to the term-context temp aliases = {"bookish", "literary"}, --TLCHANGE glossary = true, pos_categories = "na salitang pampanitikan", --TLCHANGE "literary terms", } labels["anyong pampanitikan"] = { --TLCHANGE aliases = {"bookish form", "literary form"}, --TLCHANGE glossary = "pampanitikan", --TLCHANGE "literary", display = "pampanitikan", --TLCHANGE "literary", pos_categories = "na anyong pampanitikan", --TLCHANGE "literary forms", } --see also "short scale" labels["long scale"] = { display = "[[w:Long and short scales|long scale]]" } labels["loosely"] = { aliases = {"loose", "broadly", "broad"}, glossary = true, } labels["Lubunyaca"] = { display = "[[Lubunyaca]]", pos_categories = true, } labels["medical slang"] = { display = "[[medical]] {{glossary|slang}}", pos_categories = true, } -- for Awetí, Karajá, etc., where men and women use different words labels["men's speech"] = { aliases = {"male speech"}, glossary = "men's speech", pos_categories = "men's speech terms", } labels["metonymic"] = { aliases = {"metonymically", "metonymy", "metonym"}, glossary = true, pos_categories = "metonyms", } labels["military slang"] = { display = "[[military]] {{glossary|slang}}", pos_categories = true, } labels["minced oath"] = { display = "[[minced oath]]", pos_categories = "minced oaths", } labels["multiplicative"] = { aliases = {"multiplicative number", "multiplicative numeral"}, display = "[[multiplicative number]]", pos_categories = "multiplicative numbers", } labels["multiplicity slang"] = { display = "{{l|en|multiplicity|id=multiple personalities}} {{glossary|slang}}", pos_categories = true, } labels["naval slang"] = { aliases = {"navy slang"}, display = "[[naval]] {{glossary|slang}}", pos_categories = true, } labels["neolohismo"] = { --TLCHANGE aliases = {"neologistic", "neologism"}, --TLCHANGE glossary = true, pos_categories = "na neolohismo", --TLCHANGE "neologisms", } labels["neopronoun"] = { display = "[[neopronoun]]", -- pos_categories = {"neopronouns"}, } labels["no longer productive"] = { aliases = {"non-productive"}, display = "no longer [[Appendix:Glossary#productive|productive]]", } labels["nonce word"] = { -- should be "terms with X senses", leaving "X terms" to the term-context temp? aliases = {"nonce"}, glossary = true, pos_categories = "nonce terms", } labels["di-pamantayan"] = { --TLCHANGE aliases = {"non-standard", "substandard", "sub-standard", "nonstandard"}, --TLCHANGE glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "na salitang di-pamantayan", --TLCHANGE "nonstandard terms", } labels["anyong di-pamantayan"] = { --TLCHANGE aliases = {"non-standard form", "substandard form", "sub-standard form", "nonstandard form"}, --TLCHANGE glossary = "di-pamantayan", --TLCHANGE "nonstandard", display = "di-pamantayan", --TLCHANGE "nonstandard", pos_categories = "na anyong di-pamantayan", --TLCHANGE "nonstandard forms", } labels["numismatic slang"] = { display = "[[numismatic]] {{glossary|slang}}", pos_categories = true, } labels["lipas na"] = { --TLCHANGE aliases = {"obsolete"}, --TLCHANGE glossary = true, sense_categories = true, } labels["anyong lipas na"] = { --TLCHANGE aliases = {"obsolete form"}, --TLCHANGE glossary = "lipas na", --TLCHANGE "obsolete", display = "lipas na", --TLCHANGE "obsolete", pos_categories = "na anyong lipas na", --TLCHANGE "obsolete forms", } labels["salitang lipas na"] = { --TLCHANGE aliases = {"obsolete term"}, --TLCHANGE glossary = "lipas na", --TLCHANGE "obsolete", -- combine with previous two, q.v. pos_categories = "na salitang lipas na", --TLCHANGE "obsolete terms", } labels["offensive"] = { glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp pos_categories = "offensive terms", } labels["officialese"] = { aliases = {"bureaucratic"}, display = "[[officialese]]", pos_categories = "officialese terms", } labels["Oxbridge slang"] = { display = "[[w:Oxbridge|Oxbridge]] {{glossary|slang}}", topical_categories = "Universities", plain_categories = {"Cambridge University slang", "Oxford University slang"}, } labels["Oxford University slang"] = { aliases = {"University of Oxford slang", "Oxon slang"}, display = "[[w:University of Oxford|Oxford University]] {{glossary|slang}}", topical_categories = "Universities", plain_categories = true, } labels["poetic"] = { aliases = {"poi"}, -- Only used in Ancient Greek as a holdover from [[Module:grc:Dialects]]. -- should be "terms with X senses", leaving "X terms" to the term-context temp glossary = true, pos_categories = "poetic terms", } labels["poetic form"] = { glossary = "poetic", display = "poetic", pos_categories = "poetic forms", } labels["polite"] = { glossary = true, pos_categories = "polite terms", } labels["post-classical"] = { aliases = {"Post-classical", "post-Classical", "Post-Classical", "Postclassical", "postclassical"}, display = "post-Classical", regional_categories = true, } labels["prison slang"] = { display = "[[prison]] {{glossary|slang}}", pos_categories = true, } labels["proscribed"] = { glossary = true, pos_categories = "proscribed terms", } labels["purista"] = { --TLCHANGE aliases = {"purism", "puristic"}, --TLCHANGE Wikipedia = "Linguistic purism", pos_categories = "na salitang purista", --TLCHANGE "puristic terms", } labels["radio slang"] = { display = "[[radio]] {{glossary|slang}}", pos_categories = true, } labels["Reddit slang"] = { display = "[[Reddit]] {{glossary|slang}}", pos_categories = true, } labels["rare"] = { aliases = {"rare sense"}, glossary = true, sense_categories = true, } labels["rare form"] = { glossary = "rare", display = "rare", pos_categories = "rare forms", } labels["rare term"] = { display = "rare", -- see comments about "obsolete" pos_categories = "rare terms", } -- cf Cockney rhyming slang labels["rhyming slang"] = { display = "[[rhyming slang]]", pos_categories = true, } labels["religious slur"] = { aliases = {"sectarian slur"}, display = "[[religious]] [[slur]]", pos_categories = "religious slurs", } labels["retronym"] = { glossary = true, pos_categories = "retronyms", } labels["reverential"] = { -- should be "terms with X senses", leaving "X terms" to the term-context temp? display = "[[reverential]]", pos_categories = "reverential terms", } labels["royal"] = { aliases = {"regal"}, pos_categories = "royal terms", } labels["rustic"] = { glossary = true, -- should be "terms with X senses", leaving "X terms" to the term-context temp? aliases = {"rural"}, pos_categories = "rustic terms", } labels["sarcastic"] = { display = "[[sarcastic]]", pos_categories = "sarcastic terms", } labels["school slang"] = { aliases = {"public school slang"}, display = "[[school]] {{glossary|slang}}", pos_categories = true, } labels["self-deprecatory"] = { aliases = {"self-deprecating"}, display = "[[self-deprecatory]]", -- should be "terms with X senses", leaving "X terms" to the term-context temp? pos_categories = "self-deprecatory terms", } -- Swahili Sheng cant / argot -- should this be in a language-specific module? labels["Sheng"] = { Wikipedia = "Sheng slang", plain_categories = true, } labels["siglum"] = { aliases = {"sigla"}, glossary = true, pos_categories = "sigla", } --see also "long scale" labels["short scale"] = { display = "[[w:Long and short scales|short scale]]" } labels["balbal"] = { --TLCHANGE aliases = {"slang"}, --TLCHANGE glossary = true, pos_categories = "na salitang balbal", --TLCHANGE true, } labels["solemn"] = { glossary = true, pos_categories = "solemn terms", } labels["Stenoscript"] = { aliases = {"stenoscript"}, display = "[[Stenoscript]]", pos_categories = "Stenoscript abbreviations", } labels["pinalitang pagbaybay"] = { --TLCHANGE aliases = {"superseded"}, --TLCHANGE glossary = true } labels["swear word"] = { aliases = {"profanity", "expletive"}, pos_categories = "swear words", } labels["syncopated"] = { aliases = {"syncope", "syncopic", "syncopation"}, glossary = true, pos_categories = "syncopic forms", } labels["synecdochically"] = { aliases = {"synecdochic", "synecdochical", "synecdoche"}, glossary = true, pos_categories = "synecdoches", } labels["technical"] = { display = "[[technical]]", pos_categories = "technical terms", } labels["telic"] = { glossary = true, } labels["text messaging"] = { aliases = {"texting"}, display = "[[text messaging]]", pos_categories = "text messaging slang", } labels["tone indicator"] = { display = "[[tone indicator]]", pos_categories = "tone indicators", } labels["trademark"] = { display = "[[trademark]]", pos_categories = "trademarks", } labels["transferred sense"] = { glossary = true, pos_categories = "terms with transferred senses", } labels["transferred senses"] = { display = "[[transferred sense#English|transferred senses]]", pos_categories = "terms with transferred senses", } labels["transgender slang"] = { aliases = {"trans slang"}, display = "[[transgender]] {{glossary|slang}}", pos_categories = true, } labels["Twitch-speak"] = { display = "[[Twitch-speak]]", pos_categories = true, } labels["uds."] = { display = "[[Appendix:Spanish pronouns#Ustedes and vosotros|used formally in Spain]]", } labels["di-karaniwan"] = { aliases = {"uncommon"}, --TLCHANGE glossary = true, sense_categories = true, } labels["anyong di-karaniwan"] = { --TLCHANGE aliases = {"uncommon form"}, --TLCHANGE glossary = "di-karaniwan", --TLCHANGE "uncommon", display = "di-karaniwan", --TLCHANGE "uncommon", pos_categories = "na anyong di-karaniwan", --TLCHANGE "uncommon forms", } labels["university slang"] = { aliases = {"college slang", "student slang"}, display = "[[university]] {{glossary|slang}}", topical_categories = "Universities", pos_categories = "student slang", } labels["verlan"] = { glossary = true, plain_categories = true, } labels["very rare"] = { display = "very [[Appendix:Glossary#rare|rare]]", sense_categories = "rare", } labels["vulgar"] = { aliases = {"coarse", "obscene", "profane"}, glossary = true, pos_categories = "vulgarities", } labels["vesre"] = { Wikipedia = true, plain_categories = true, } labels["youth slang"] = { display = "[[youth]] {{glossary|slang}}", pos_categories = "slang", } labels["2channel slang"] = { aliases = {"2channel", "2ch slang"}, display ="[[w:2channel|2channel]] {{glossary|slang}}", pos_categories = {"internet slang" , "2channel slang"}, } -- for Awetí, Karajá, etc., where men & women use different words labels["women's speech"] = { aliases = {"female speech"}, glossary = "women's speech", pos_categories = "women's speech terms", } -- terms applying to Old Norse skaldic poetry labels["kenning"] = { aliases = {"Kenning"}, Wikipedia = "Kenning", pos_categories = "kennings", } labels["heiti"] = { aliases = {"Heiti"}, Wikipedia = "Heiti", pos_categories = true, } return require("Module:labels").finalize_data(labels) ra3mnpmhi7yi6qelljtl7tlsqhwxivt Module:labels 828 31106 177567 175185 2026-08-27T14:00:21Z Yivan000 4078 177567 Scribunto text/plain local export = {} export.lang_specific_data_list_module = "Module:labels/data/lang" export.lang_specific_data_modules_prefix = "Module:labels/data/lang/" local load_module = "Module:load" local parse_utilities_module = "Module:parse utilities" local string_utilities_module = "Module:string utilities" local utilities_module = "Module:utilities" local insert = table.insert local require_when_needed = require("Module:require when needed") local unpack = unpack or table.unpack -- Lua 5.2 compatibility local dump = mw.dumpObject local m_lang_specific_data = mw.loadData(export.lang_specific_data_list_module) local m_table = require_when_needed("Module:table") --[==[ intro: Labels go through several stages of processing to get from the original (raw) label specified in the Wikicode to the final (formatted) label displayed to the user. The following terminology will help keep things straight: * The "raw label" is the label specified in the Wikicode. * The "non-canonical label" is the label extracted from the raw label, used for looking up in the label modules in order to fetch the associated label data structure and determine the canonical form of the label. Normally this is the same as the raw label, but it will be different if the raw label is of the form `!<var>label</var>` (e.g. `!Australian`) `<var>label</var>!<var>display</var>` (e.g. `Southern US!Southern`). The former syntax indicates that the label should display as-is instead of in its canonical form (which in the example given is `Australia`), and the latter syntax indicates that the label should display in the form specified after the exclamation point. * The "canonical label" is the result of applying alias resolution to the non-canonical label. Normally, the canonical label rather than the non-canonical label is what is shown to the user. * The "display form of the label" is what is shown to the user, not considering links and HTML that may wrap the display form to get the formatted form of the label. The display form comes from the `.display` field of the module label data for the label; if no such field exists in the label data, it is normally the canonical label. However, if the display override exists (see below), it takes precedence over the `.display` field or canonical label when determining the display form of the label. * The "display override", if specified, overrides all other means of determining the display form of the label. It is specified in two circumstances, i.e. in the `!<var>label</var>` and `<var>label</var>!<var>display</var>` raw label formats (i.e. in the same cirumstances where the raw label and non-canonical label are different). * The "formatted form of the label" is the final form of the label shown directly to the user. It generally appears to the user as the display form of the label, but in the Wikicode, the formatted form may wrap the display form with a link to Wikipedia, the Wiktionary glossary or another Wiktionary entry, and that link in turn may be wrapped in an HTML span with a "deprecated" CSS class attached, causing the label to display differently (to indicate that it is deprecated). ]==] -- for testing local force_cat = false local m_headword_data = mw.loadData("Module:headword/data") local SUBPAGENAME = m_headword_data.pagename -- Disable tracking on heavy pages to save time. local pages_where_tracking_is_disabled = m_headword_data.large_pages -- Add tracking category for PAGE. The tracking category linked to is [[Wiktionary:Tracking/labels/PAGE]]. -- We also add to [[Wiktionary:Tracking/labels/PAGE/LANGCODE]] and [[Wiktionary:Tracking/labels/PAGE/MODE]] if -- LANGCODE and/or MODE given. local function track(page, langcode, mode) if pages_where_tracking_is_disabled[SUBPAGENAME] then return true end -- avoid including links in pages (may cause error) page = page:gsub("%[", "("):gsub("%]", ")"):gsub("|", "!") require("Module:debug/track")("labels/" .. page) if langcode then require("Module:debug/track")("labels/" .. page .. "/" .. langcode) end if mode then require("Module:debug/track")("labels/" .. page .. "/" .. mode) end -- We don't currently add a tracking label for both langcode and mode to reduce the total number of labels, to -- save some memory. return true end local function ucfirst(txt) return mw.getContentLanguage():ucfirst(txt) end local mode_to_outer_class = { ["label"] = "usage-label-sense", ["term-label"] = "usage-label-term", ["accent"] = "usage-label-accent", ["form-of"] = "usage-label-form-of", } local mode_to_property_prefix = { ["label"] = false, ["term-label"] = false, -- handled specially ["accent"] = "accent_", ["form-of"] = "form_of_", } local function validate_mode(mode) mode = mode or "label" if not mode_to_outer_class[mode] then local allowed_values = {} for key, _ in pairs(mode_to_outer_class) do insert(allowed_values, "'" .. key .. "'") end table.sort(allowed_values) error(("Invalid value '%s' for `mode`; should be one of %s"):format(mode, table.concat(allowed_values, ", "))) end return mode end local function getprop(labdata, mode, prop) local mode_prefix = mode_to_property_prefix[mode] return mode_prefix and labdata[mode_prefix .. prop] or labdata[prop] end local function check_type(label, lang, prop, value, expected_types) if value == nil or expected_types == nil then return value end if type(expected_types) ~= "table" then expected_types = {expected_types} end local valtype = type(value) local matches = false for _, expected_type in ipairs(expected_types) do if type(expected_type) == "string" then if valtype == expected_type then matches = true break end elseif value == expected_type then matches = true break end end if not matches then local function join_untagged_or(elements) return m_table.serialCommaJoin(elements, {conj = "or", dontTag = true}) end local quoted_types = {} local quoted_values = {} for _, expected_type in ipairs(expected_types) do if type(expected_type) == "string" then insert(quoted_types, "'" .. expected_type .. "'") else insert(quoted_values, "'" .. dump(expected_type) .. "'") end end local possible_matches = {} if quoted_types[1] then insert(possible_matches, ("be of type%s %s"):format( quoted_types[2] and "s" or "", join_untagged_or(quoted_types))) end if quoted_values[1] then insert(possible_matches, ("have the value%s %s"):format( quoted_values[2] and "s" or "", join_untagged_or(quoted_values))) end error(("Internal error: For label '%s', langcode '%s', property '%s' should %s but is of type '%s' with value %s"):format( label, lang and lang:getCode() or "UNKNOWN", prop, join_untagged_or(possible_matches), valtype, dump(value))) end end -- HACK! For languages in any of the given families, check the specified-language Wikipedia for appropriate -- Wikipedia articles for the language in question (esp. useful for obscure etymology-only languages that may not -- have English articles for them, like many Chinese lects). local families_to_wikipedia_languages = { {"zhx", "zh"}, {"sem-arb", "ar"}, } --[==[ Given language `lang` (a full language, etymology-language or family), fetch a list of Wikimedia languages to check when converting a Wikidata item to a Wikipedia article. Tagalog is always first, followed by the Wikimedia language --TLCHANGE code(s) of `lang` if `lang` is a language (which may or may not be the same as `lang`'s Wiktionary code), followed by the macrolanguage of `lang` for certain languages and families (currently, only languages and families in the Chinese and Arabic families). If `lang` is nil, only return English. Note that the same code may occur more than once in the list. This is exported because it's also used by [[Module:category tree/poscatboiler/data/language varieties]]. ]==] function export.get_langs_to_extract_wikipedia_articles_from_wikidata(lang) local wikipedia_langs = {} insert(wikipedia_langs, "tl") --TLCHANGE if lang then local article_lang = lang while article_lang do if article_lang:hasType("language") then local wmcodes = article_lang:getWikimediaLanguageCodes() for _, wmcode in ipairs(wmcodes) do insert(wikipedia_langs, wmcode) end end article_lang = article_lang:getParent() end for _, family_to_wp_lang in ipairs(families_to_wikipedia_languages) do local family, wp_lang = unpack(family_to_wp_lang) if lang:inFamily(family) then insert(wikipedia_langs, wp_lang) end end end return wikipedia_langs end --[==[ Fetch the categories to add to a page, given that the label whose canonical form is `canon_label` with language `lang` has been seen. `labdata` is the label data structure for `label`, fetched from the appropriate submodule. `mode` specifies how the label was invoked (see {get_label_info()} for more information). The return value is a list of the actual categories, unless `for_doc` is specified, in which case the categories returned are marked up for display on a documentation page. If `for_doc` is given, `lang` may be nil to format the categories in a language-independent fashion; otherwise, it must be specified. If `category_types` is specified, it should be a set object (i.e. with category types as keys and {true} as values), and only categories of the specified types will be returned. ]==] function export.fetch_categories(canon_label, labdata, lang, mode, for_doc, category_types) local categories = {} mode = validate_mode(mode) local langcode, canonical_name if lang then langcode = lang:getFullCode() canonical_name = lang:getFullName() elseif for_doc then langcode = "<var>[langcode]</var>" canonical_name = "<var>[language name]</var>" else error("Internal error: Must specify `lang` unless `for_doc` is given") end local function labprop(prop, expected_types) local retval = getprop(labdata, mode, prop) check_type(canon_label, lang, prop, retval, expected_types) return retval end local empty_list = {} local function get_cats(cat_type) if category_types and not category_types[cat_type] then return empty_list end local cats = labprop(cat_type) if not cats then return empty_list end if type(cats) ~= "table" then return {cats} end return cats end local topical_categories = get_cats("topical_categories") local sense_categories = get_cats("sense_categories") local pos_categories = get_cats("pos_categories") local regional_categories = get_cats("regional_categories") local plain_categories = get_cats("plain_categories") local function insert_cat(cat, sense_cat) if for_doc then cat = "<code>" .. cat .. "</code>" if sense_cat then if mode == "term-label" then cat = cat .. " (using {{tl|tlb}})" else cat = cat .. " (using {{tl|lb}} or form-of template)" end cat = mw.getCurrentFrame():preprocess(cat) end end insert(categories, cat) end for _, cat in ipairs(topical_categories) do insert_cat(langcode .. ":" .. (cat == true and ucfirst(canon_label) or cat)) end for _, cat in ipairs(sense_categories) do if cat == true then cat = canon_label end --TLCHANGE cat = mode == "term-label" and cat .. " terms" or "terms with " .. cat .. " senses" cat = mode == "term-label" and "na salitang" .. cat or "na salitang may kahulugang " .. cat insert_cat(canonical_name .. " " .. cat, true) end for _, cat in ipairs(pos_categories) do insert_cat(canonical_name .. " " .. (cat == true and canon_label or cat)) end for _, cat in ipairs(regional_categories) do --TLCHANGE insert_cat((cat == true and ucfirst(canon_label) or cat) .. " " .. canonical_name) -- change formatting to "LANG LABEL" (ex. Tagalog Baguio) insert_cat(canonical_name .. " " .. (cat == true and ucfirst(canon_label) or cat) ) end for _, cat in ipairs(plain_categories) do insert_cat(cat == true and ucfirst(canon_label) or cat) end return categories end --[==[ Return the list of all labels data modules for a label whose language is `lang`. The return value is a list of module names, with overriding modules earlier in the list (that is, if a label occurs in two modules in the list, the earlier-listed module takes precedence). If `lang` is nil, only return non-language-specific submodules. ]==] function export.get_submodules(lang) local submodules = { "Module:labels/data", "Module:labels/data/qualifiers", "Module:labels/data/regional", "Module:labels/data/topical", } if not lang then return submodules end -- get language-specific labels from data module local langcode = lang:getFullCode() if m_lang_specific_data.langs_with_lang_specific_modules[langcode] then -- prefer per-language label in order to pick subvariety labels over regional ones insert(submodules, 1, export.lang_specific_data_modules_prefix .. langcode) end return submodules end --[==[ Return the formatted form of a label `label` (which should be the canonical form of the label; see comment at top), given (a) the label data structure `labdata` from one of the data modules; (b) the language object `lang` of the language being processed, or nil for no language; (c) `deprecated` (true if the label is deprecated, otherwise the deprecation information is taken from `labdata`); (d) `override_display` (if specified, override the display form of the label with the specified string, instead of any value in `labdata.display` or `labdata.special_display` or the canonical label in `label` itself); (e) `mode` (same as `data.mode` passed to {get_label_info()}). Returns two values: the formatted label form and a boolean indicating whether the label is deprecated. '''NOTE: Under normal circumstances, do not use this.''' Instead, use {get_label_info()}, which searches all the data modules for a given label and handles other complications. ]==] function export.format_label(label, labdata, lang, deprecated, override_display, mode) local formatted_label mode = validate_mode(mode) local function labprop(prop, expected_types) local retval = getprop(labdata, mode, prop) check_type(label, lang, prop, retval, expected_types) return retval end deprecated = deprecated or labprop("deprecated") if not override_display and labprop("special_display") then local function add_language_name(str) if str == "canonical_name" then if lang then return lang:getFullName() else return "<code><var>[language name]</var></code>" end else return "" end end formatted_label = labprop("special_display", "string"):gsub("<(.-)>", add_language_name) else --[=[ We proceed as follows: 1. The display form comes from either (a) the `override_display` variable if set (this happens when the user uses a label like '!British'); (b) the `display` property, if set; or (c) the label iself. 2. If the display form contains a link, use it directly and ignore the other display-related settings. (NOTE: Settings `Wikipedia` and `Wikidata` may still be used on the category page itself, by the category tree code.) 3. Otherwise, use one of the other display-related settings, in the following order: `glossary` > `Wiktionary` > `Wikipedia` > `Wikidata`. Specifically: a. If any of the values is equal to `true`, that is equivalent to specifying a string consisting of the canonical label. b. If `glossary` is set, it specifies the anchor in [[Appendix:Glossary]]. c. If `Wiktionary` is set, it specifies an arbitrary Wiktionary page or page + anchor (e.g. a separate Appendix entry). d. If `Wikipedia` is set, it specifies an arbitrary Wikipedia article, or a list of such items (in this case, we select the first one, but the category tree uses all of them). e. If `Wikidata` is set, it specifies an arbitrary Wikidata item to retrieve a Wikipedia article from, or a list of such items (in this case, we select the first one, but the category tree uses all of them). If the item is of the form `wmcode:id`, the Wikipedia article corresponding to `id` in the `wmcode`-language Wikipedia is fetched if available. Otherwise, the English-language Wikipedia article corresponding to `id` is retrieved if available, falling back to the Wikimedia language(s) corresponding to `lang` and then (in certain cases) to the macrolanguage that `lang` is part of. Note that if `mode` is specified, prefixed properties (e.g. `accent_display` for `mode` == "accent", `form_display` for `mode` == "form") are checked before the bare equivalent (e.g. `display`). ]=] local display = override_display or labprop("display", "string") or label -- There are several 'Foo spelling' labels specially designed for use in the |from= param in -- {{alternative form of}}, {{standard spelling of}} and the like. Often the display includes the word -- "spelling" at the end (e.g. if it's defaulted), which is useful when the label is used with {{tl|lb}} or -- {{tl|tlb}}; but it causes redundancy when used with the form-of templates, which add the word "form", -- "spelling", "standard spelling", etc. after the label. if mode == "form-of" then display = display:gsub(" spelling$", "") end if display:find("%[%[") then formatted_label = display else local glossary = labprop("glossary", {"string", true}) local Wiktionary = labprop("Wiktionary", {"string", true}) local Wikipedia = labprop("Wikipedia", {"string", true, "table"}) local Wikidata = labprop("Wikidata", {"string", true, "table"}) if glossary then local glossary_entry = glossary == true and label or glossary formatted_label = "[[Apendise:Glosaryo#" .. glossary_entry .. "|" .. display .. "]]" --TLCHANGE Appendix:Glossary elseif Wiktionary then local Wiktionary_entry = Wiktionary == true and label or Wiktionary if Wiktionary == display then formatted_label = "[[" .. display .. "]]" else formatted_label = "[[" .. Wiktionary_entry .. "|" .. display .. "]]" end elseif Wikipedia then if type(Wikipedia) == "table" then Wikipedia = Wikipedia[1] end local Wikipedia_entry = Wikipedia == true and label or Wikipedia formatted_label = "[[w:" .. Wikipedia_entry .. "|" .. display .. "]]" elseif Wikidata then if not mw.wikibase then error(("Unable to retrieve data from Wikidata ID for label '%s'; `mw.wikibase` not defined" ):format(label)) end local function make_formatted_label(wmcode, id) local article = mw.wikibase.sitelink(id, wmcode .. "wiki") if article then local link = wmcode == "tl" and "w:" .. article or "w:" .. wmcode .. ":" .. article --TLCHANGE return ("[[%s|%s]]"):format(link, display) else return nil end end if type(Wikidata) == "table" then Wikidata = Wikidata[1] end local wmcode, id = Wikidata:match("^(.*):(.*)$") if wmcode then formatted_label = make_formatted_label(wmcode, id) else local langs_to_check = export.get_langs_to_extract_wikipedia_articles_from_wikidata(lang) for _, wmcode in ipairs(langs_to_check) do formatted_label = make_formatted_label(wmcode, Wikidata) if formatted_label then break end end end formatted_label = formatted_label or display else formatted_label = display end end end if deprecated then formatted_label = '<span class="deprecated-label">' .. formatted_label .. '</span>' end return formatted_label, deprecated end --[==[ Return information on a label. On input `data` is an object with the following fields: * `label`: The raw label to return information on. * `lang`: The language of the label. Must be specified unless `for_doc` is given. * `mode`: How the label was invoked. One of the following: ** {nil} or {"label"}: invoked through {{tl|lb}} or another template whose labels in the same fashion, e.g. {{tl|alt}}, {{tl|quote}} or {{tl|syn}}; ** {"term-label"}: invoked through {{tl|tlb}}; ** {"accent"}: invoked through {{tl|a}} or the {{para|a}} or {{para|aa}} parameters of other pronunciation templates, such as {{tl|IPA}}, {{tl|rhymes}} or {{tl|homophones}}; ** {"form-of"}: invoked through {{tl|alt form}}, {{tl|standard spelling of}} or other form-of template. This changes the display and/or categorization of a minority of labels. (The majority work the same for all modes.) * `for_doc`: Data is being fetched for documentation purposes. This causes the raw categories returned in `categories` to be formatted for documentation display. * `nocat`: If true, don't add the label to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for this label. * `sort`: Sort key for categorization. * `already_seen`: An object used to track labels already seen, so they aren't displayed twice. Tracking is according to the display form of the label, so if two labels have the same display form, the second one won't be displayed (but its categories will still be added). If `already_seen` is {nil}, this tracking doesn't happen. The return value is an object with the following fields: * `raw_text`: If specified, the object does not describe a label but simply raw text surrounding labels. This occurs when double angle bracket (<<...>>) notation is used. {get_label_info()} does not currently return objects with this field set, but {process_raw_labels()} does. The value is {"begin"} (this is the first raw text portion derived from a double angle bracket spec, provided there are at least two raw text portions); {"end"} (this is the last raw text portion derived from a double angle bracket spec, provided there are at least two portions); {"middle"} (this is neither the first nor the last raw text portion); or {"only"} (this is a raw text portion standing by itself). The particular value determines the handling of commas and spaces on one or both sides of the raw text. If this field is specified, only the `label` field (containing the actual raw text) and the `category` field (containing an empty list) are set; all other fields are {nil}. * `raw_label`: The raw label that was passed in. * `non_canonical`: The label prior to canonicalization (i.e. alias resolution). Usually this is the same as `raw_label`, but if the raw label was preceded by an exclamation point (meaning "display the raw label as-is"), this field will contain the label stripped of the exclamation point, and if the raw label is of the form `<var>label</var>!<var>display</var>` (meaning "display the label in the specified form"), this field will contain the label before the exclamation point. * `canonical`: If the label in `non_canonical` is an alias, this contains the canonical name of the label; otherwise it will be {nil}. * `override_display`: If specified, this contains a string that overrides the normal display form of the label. The display form of a label is the `.display` field of the label data if present, and otherwise is normally the canonical form of the label (i.e. after alias resolution). (This is not the same as the formatted form of the label, found in `label`, which is the final form shown to the user and includes links to Wikipedia, the glossary, etc. as well as an HTML wrapper if the label is deprecated.) If `override_display` is specified, however, this is used in place of the normal display form of the label. This currently happens in two circumstances: (1) the label was preceded by ! to indicate that the raw label should be displayed rather than the canonical form; (2) the label was given in the form `<var>label</var>!<var>display</var>` (meaning "display the label in the specified `<var>display</var>` form"). * `label`: The formatted form of the label. This is what is actually shown to the user. If the label is recognized (found in some module), this will typically be in the form of a link. * `categories`: A list of the categories to add the label to; an empty list if `nocat` was specified. * `formatted_categories`: A string containing the formatted categories; {nil} if `nocat` or `for_doc` was specified, or if `categories` is empty. Currently will be an empty string if there are categories to format but the namespace is one that normally excludes categories (e.g. userspace and discussion pages), and `force_cat` isn't specified. * `deprecated`: True if the label is deprecated. * `recognized`: If true, the label was found in some module. * `data`: The data structure for the label, as fetched from the label modules. For unrecognized labels, this will be an empty object. ]==] function export.get_label_info(data) if not data.label then error("`data` must now be an object containing the params") end local mode = validate_mode(data.mode) local ret = {categories = {}} local label = data.label local raw_label = label ret.raw_label = raw_label local override_display if label:find("^!") then label = label:gsub("^!", "") override_display = label elseif label:find("![^%s]") then label, override_display = label:match("^(.-)!([^%s].*)$") if not label then error(("Internal error: This Lua pattern should never fail to match for label '%s'"):format(raw_label)) end end local non_canonical = label ret.non_canonical = non_canonical local deprecated = false local labdata local submodule local data_langcode = data.lang and data.lang:getCode() or nil local submodules_to_check = export.get_submodules(data.lang) for _, submodule_to_check in ipairs(submodules_to_check) do submodule = mw.loadData(submodule_to_check) local this_labdata = submodule[label] local resolved_label if type(this_labdata) == "string" then resolved_label = this_labdata this_labdata = submodule[this_labdata] if not this_labdata then error(("Internal error: Label alias '%s' points to '%s', which is undefined in module [[%s]]"):format( label, resolved_label, submodule_to_check)) end if type(this_labdata) == "string" then error(("Internal error: Label alias '%s' points to '%s', which is also an alias (of '%s') in module [[%s]]"):format( label, resolved_label, this_labdata, submodule_to_check)) end end if this_labdata then -- Make sure either there's no lang restriction, or we're processing lang-independent, or our language -- is among the listed languages. Otherwise, continue processing (which could conceivably pick up a -- lang-appropriate version of the label in another label data module). local lablangs = getprop(this_labdata, mode, "langs") if not lablangs or not data_langcode then labdata = this_labdata label = resolved_label or label break end local lang_in_list = false for _, langcode in ipairs(lablangs) do if langcode == data_langcode then lang_in_list = true break end end if lang_in_list then labdata = this_labdata label = resolved_label or label break elseif not data.notrack then -- Track use of a label that fails the lang restriction. -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label/LANGCODE]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label/LABEL]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label/LABEL/LANGCODE]] track("wrong-lang-label", data_langcode) track("wrong-lang-label/" .. label, data_langcode) if resolved_label then track("wrong-lang-label/" .. resolved_label, data_langcode) end end end end if labdata then ret.recognized = true else labdata = {} ret.recognized = false end local function labprop(prop) return getprop(labdata, mode, prop) end if labprop("deprecated") then deprecated = true end if label ~= non_canonical then -- Note that this is an alias and store the canonical version. ret.canonical = label end if not data.notrack then -- labprop("track") then -- track all labels now -- Track label (after converting aliases to canonical form; but also track raw label (alias) if different -- from canonical label). -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/label/LABEL]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/label/LABEL/LANGCODE]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/label/LABEL/MODE]] track("label/" .. label, data_langcode, mode) if label ~= non_canonical then track("label/" .. non_canonical, data_langcode, mode) end end local formatted_label formatted_label, deprecated = export.format_label(label, labdata, data.lang, deprecated, override_display, mode) ret.deprecated = deprecated if deprecated then if not data.nocat then local depcat = "Entries with deprecated labels" if data.for_doc then depcat = "<code>" .. depcat .. "</code>" end insert(ret.categories, depcat) end end local label_for_already_seen = (labprop("topical_categories") or labprop("regional_categories") or labprop("plain_categories") or labprop("pos_categories") or labprop("sense_categories")) and formatted_label or nil -- Track label text. If label text was previously used, don't show it, but include the categories. -- For an example, see [[hypocretin]]. if data.already_seen and data.already_seen[label_for_already_seen] then ret.label = "" else if formatted_label:find("{") then formatted_label = mw.getCurrentFrame():preprocess(formatted_label) end ret.label = formatted_label end if data.nocat then -- do nothing else local cats = export.fetch_categories(label, labdata, data.lang, mode, data.for_doc) for _, cat in ipairs(cats) do insert(ret.categories, cat) end if not ret.categories[1] or data.for_doc then -- Don't try to format categories if we're doing this for documentation ({{label/doc}}), because there -- will be HTML in the categories. -- do nothing else ret.formatted_categories = require(utilities_module).format_categories(ret.categories, data.lang, data.sort, nil, force_cat or data.force_cat) end end ret.data = labdata if label_for_already_seen and data.already_seen then data.already_seen[label_for_already_seen] = true end return ret end --[==[ Split a string containing comma-separated raw labels into the individual labels. This will not split on a comma followed by whitespace, and it will not split inside of matched <...> or [...]. The code is written to be efficient, so that it does not load modules (e.g. [[Module:parse utilities]]) unnecessarily. ]==] function export.split_labels_on_comma(term) if term:find("[%[<]") then -- Do it the "hard way". We don't want to split anything inside of <...> or <<...>> even if there are commas -- inside of the angle brackets. For good measure we do the same for [...] and [[...]]. We first parse balanced -- segment runs involving either [...] or <...>. Then we split alternating runs on comma (but not on -- comma+whitespace). Then we rejoin the split runs. For example, given the following: -- "regional,older <<non-rhotic,and,non-hoarse-horse>> speakers", the first call to -- parse_multi_delimiter_balanced_segment_run() produces -- -- {"regional,older ", "<<non-rhotic,and,non-hoarse-horse>>", " speakers"} -- -- After calling split_alternating_runs_on_comma(), we get the following: -- -- {{"regional"}, {"older ", "<<non-rhotic,and,non-hoarse-horse>>", " speakers"}} -- -- After rejoining each group, we get: -- -- {"regional", "older <<non-rhotic,and,non-hoarse-horse>> speakers"} -- -- which is the desired output. When processing the second "label" string, the code in process_raw_labels() -- will do a similar process to this to pull out the labels inside of the <<...>> notation. local put = require(parse_utilities_module) local segments = put.parse_multi_delimiter_balanced_segment_run(term, {{"<", ">"}, {"[", "]"}}) -- This won't split on comma+whitespace. local comma_separated_groups = put.split_alternating_runs_on_comma(segments) for i, group in ipairs(comma_separated_groups) do comma_separated_groups[i] = table.concat(group) end return comma_separated_groups elseif term:find(",%s") then -- This won't split on comma+whitespace. return require(parse_utilities_module).split_on_comma(term) elseif term:find(",") then return require(string_utilities_module).split(term, ",") else return {term} end end --[==[ Return a list of objects corresponding to a set of raw labels. Each object returned is of the format returned by {get_label_info()}. This is similar to looping over the labels and calling {get_label_info()} on each one, but it also correctly handles embedded double angle bracket specs <<...>> found in the labels. (In such a case, there will be more objects returned than raw labels passed in.) On input, `data` is an object with the following fields: * `labels`: The list of labels to process. * `lang`: The language of the labels. Must be specified. * `mode`: How the label was invoked; see {get_label_info()} for more information. * `nocat`: If true, don't add the label to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for this label. * `sort`: Sort key for categorization. * `already_seen`: An object used to track labels already seen, so they aren't displayed twice. Tracking is according to the display form of the label, so if two labels have the same display form, the second one won't be displayed (but its categories will still be added). If `already_seen` is {nil}, this tracking doesn't happen. * `ok_to_destructively_modify`: If set, the `data` structure will be destructively modified in the process of this function running. ]==] function export.process_raw_labels(data) local label_infos = {} if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.ok_to_destructively_modify = true end local function get_info_and_insert(label) -- Reuse this structure to save memory. data.label = label insert(label_infos, export.get_label_info(data)) end for _, label in ipairs(data.labels) do if label:find("<<") then local segments = require(string_utilities_module).split(label, "<<(.-)>>") for i, segment in ipairs(segments) do if i % 2 == 1 then local raw_text_type = i == 1 and "begin" or i == #segments and "end" or "middle" insert(label_infos, {raw_text = raw_text_type, label = segment, categories = {}}) else local segment_labels = export.split_labels_on_comma(segment) for _, segment_label in ipairs(segment_labels) do get_info_and_insert(segment_label) end end end else get_info_and_insert(label) end end return label_infos end --[==[ Split a comma-separated string of raw labels and process each label to get a list of objects suitable for passing to {format_processed_labels()}. Each object returned is of the format returned by {get_label_info()}. This is equivalent to calling {split_labels_on_comma()} followed by {process_raw_labels()}. On input, `data` is an object with the following fields: * `labels`: The string containing the raw comma-separated labels. * `lang`: The language of the labels. Must be specified. * `mode`: How the label was invoked; see {get_label_info()} for more information. * `nocat`: If true, don't add the label to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for this label. * `sort`: Sort key for categorization. * `already_seen`: An object used to track labels already seen, so they aren't displayed twice. Tracking is according to the display form of the label, so if two labels have the same display form, the second one won't be displayed (but its categories will still be added). If `already_seen` is {nil}, this tracking doesn't happen. * `ok_to_destructively_modify`: If set, the `data` structure will be destructively modified in the process of this function running. ]==] function export.split_and_process_raw_labels(data) if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.ok_to_destructively_modify = true end data.labels = export.split_labels_on_comma(data.labels) return export.process_raw_labels(data) end --[==[ Format one or more already-processed labels for display and categorization. "Already-processed" means that {get_label_info()} or {process_raw_labels()} has been called on the raw labels to convert them into objects containing information on how to display and categorize the labels. This is a lower-level alternative to {show_labels()} and is meant for modules such as [[Module:alternative forms]], [[Module:quote]] and [[Module:etymology/templates/descendant]] that support displaying labels along with some other information. On input `data` is an object with the following fields: * `labels`: List of the label objects to format, in the format returned by {get_label_info()}. * `lang`: The language of the labels. * `open`: Open bracket or parenthesis to display before the concatenated labels. If specified, it is wrapped in the {"ib-brac"} and {"label-brac"} CSS classes. If {nil} or {false}, no open bracket is displayed. * `close`: Close bracket or parenthesis to display after the concatenated labels. If specified, it is wrapped in the {"ib-brac"} and {"label-brac"} CSS classes. If {nil} or {false}, no close bracket is displayed. * `no_ib_content`: By default, the concatenated formatted labels inside of the open/close brackets are wrapped in the {"ib-content"} and {"label-content"} CSS classes. Specify this to suppress this wrapping. * `raw`: Suppress all CSS wrapping of content, including open/close parentheses, content and comma delimiters (which are normally wrapped in {"ib-comma"} and {"label-comma"} CSS classes). * `ok_to_destructively_modify`: If set, the `data` structure, and the `data.labels` table inside of it, will be destructively modified in the process of this function running. * `split_output`: If not given, the return value is a concatenation of the formatted concatenated labels and formatted categories. Otherwise, two values are returned: the formatted pronunciation and the categories. If `split_output` is the value {"raw"}, the categories are returned in list form, where the list elements are strings f the form suitable for passing to {format_categories()} in [[Module:utilities]]. If `split_output` is any other value besides {nil}, the categories are returned as a pre-formatted concatenated string. The return value (or the first return value, if `split_output` is given) is a string containing the contenated labels, optionally surrounded by open/close brackets or parentheses. Normally, labels are separated by comma-space sequences, but this may be suppressed for certain labels. If `nocat` wasn't given to {get_label_info()} or {process_raw_labels()}, and `split_output` wasn't given, the label objects will contain formatted categories in them, which will be inserted into the returned text. (Use `split_output` if you need the categories returned separately.) The concatenated text inside of the open/close brackets is normally wrapped in the {"ib-content"} CSS class, but this can be suppressed, as mentioned above. ]==] function export.format_processed_labels(data) if not data.labels then error("`data` must now be an object containing the params") end if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.labels = m_table.deepCopy(data.labels) data.ok_to_destructively_modify = true end local labels = data.labels if not labels[1] then error("You must specify at least one label.") end -- Show the labels local omit_preComma = false local omit_postComma = true local omit_preSpace = false local omit_postSpace = true for _, label in ipairs(labels) do omit_preComma = omit_postComma omit_preSpace = omit_postSpace local raw_text_omit_before = label.raw_text == "middle" or label.raw_text == "end" local raw_text_omit_after = label.raw_text == "middle" or label.raw_text == "begin" label.omit_comma = omit_preComma or (label.data and label.data.omit_preComma) or raw_text_omit_before omit_postComma = (label.data and label.data.omit_postComma) or raw_text_omit_after label.omit_space = omit_preSpace or (label.data and label.data.omit_preSpace) or raw_text_omit_before omit_postSpace = (label.data and label.data.omit_postSpace) or raw_text_omit_after end if data.lang then local lang_functions_module = export.lang_specific_data_modules_prefix .. data.lang:getCode() .. "/functions" local m_lang_functions = require(load_module).safe_require(lang_functions_module) if m_lang_functions and m_lang_functions.postprocess_handlers then for _, handler in ipairs(m_lang_functions.postprocess_handlers) do handler(data) end end end local function wrap_css(txt, suffix) if data.raw then return txt end return ("<span class=\"ib-%s label-%s\">%s</span>"):format(suffix, suffix, txt) end local categories = nil local formatted_categories = split_output and split_output ~= "raw" and {} or nil for i, labelinfo in ipairs(labels) do local label -- Need to check for 'not raw_text' here because blank labels may legitimately occur as raw text if a double -- angle bracket spec occurs at the beginning of a label. In this case we've already taken into account the -- context and don't want to leave out a preceding comma and space e.g. in a case like -- {{lb|en|rare|<<dialect>> or <<eye dialect>>}}. FIXME: We should reconsider whether we need this special case -- at all. if labelinfo.label == "" and not labelinfo.raw_text then label = "" else label = (labelinfo.omit_comma and "" or wrap_css(",", "comma")) .. (labelinfo.omit_space and "" or "&#32;") .. labelinfo.label end if split_output then labels[i] = label if split_output == "raw" then if labelinfo.categories and labelinfo.categories[1] then if categories then m_table.extend(categories, labelinfo.categories) else categories = labelinfo.categories end end elseif labelinfo.formatted_categories then insert(formatted_categories, labelinfo.formatted_categories) end else labels[i] = label .. (labelinfo.formatted_categories or "") end end local function wrap_open_close(val) if val then return wrap_css(val, "brac") else return "" end end local concatenated_labels = table.concat(labels, "") if not data.no_ib_content then concatenated_labels = wrap_css(concatenated_labels, "content") end local ret_labels = wrap_open_close(data.open) .. concatenated_labels .. wrap_open_close(data.close) if split_output == "raw" then return ret_labels, categories elseif split_output then return ret_labels, concat(formatted_categories) else return ret_labels end end --[==[ Format one or more labels for display and categorization. This provides the implementation of the {{tl|label}}/{{tl|lb}}, {{tl|term label}}/{{tl|tlb}} and {{tl|accent}}/{{tl|a}} templates, and can also be called from a module. The return value is a string to be inserted into the generated page, including the display and categories. On input `data` is an object with the following fields: * `labels`: List of the labels to format. * `lang`: The language of the labels. * `mode`: How the label was invoked; see {get_label_info()} for more information. * `nocat`: If true, don't add the labels to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for these labels. * `sort`: Sort key for categorization. * `no_track_already_seen`: Don't track already-seen labels. If not specified, already-seen labels are not displayed again, but still categorize. See the documentation of {get_label_info()}. * `open`: Open bracket or parenthesis to display before the concatenated labels. If {nil}, defaults to an open parenthesis. Set to {false} to disable. * `close`: Close bracket or parenthesis to display after the concatenated labels. If {nil}, defaults to a close parenthesis. Set to {false} to disable. * `no_ib_content`: As in `format_processed_labels()`. * `raw`: As in `format_processed_labels()`. Also suppress wrapping the entire formatted result in a usage label CSS class (see below). * `ok_to_destructively_modify`: If set, the `data` structure will be destructively modified in the process of this function running. Compared with {format_processed_labels()}, this function has the following differences: # The labels specified in `labels` are raw labels (i.e. strings) rather than formatted objects. # The open and close brackets default to parentheses ("round brackets") rather than not being displayed by default. # Tracking of already-seen labels is enabled unless explicitly turned off using `no_track_already_seen`. # The entire formatted result is wrapped in a {"usage-label-<var>type</var>"} CSS class (depending on the value of `mode`), unless `raw` is given. ]==] function export.show_labels(data) if not data.labels then error("`data` must now be an object containing the params") end if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.ok_to_destructively_modify = true end local labels = data.labels if not labels[1] then error("You must specify at least one label.") end local mode = validate_mode(data.mode) if not data.no_track_already_seen then data.already_seen = {} end data.labels = export.process_raw_labels(data) if data.open == nil then data.open = "(" end if data.close == nil then data.close = ")" end local formatted = export.format_processed_labels(data) if data.raw then return formatted else return "<span class=\"" .. mode_to_outer_class[mode] .. "\">" .. formatted .. "</span>" end end --[==[Helper function for the data modules.]==] function export.alias(labels, key, aliases) m_table.alias(labels, key, aliases) end --[==[ Split the display form of a label. Returns two values: `link` and `display`. If the display form consists of a two-part link, `link` is the first part and `display` is the second part. If the display form consists of a single-part link, `link` and `display` are the same. Otherwise (the display form is not a link or contains an embedded link), `link` is the same as the passed-in `label` and `display` is nil. ]==] function export.split_display_form(label) if not label:find("%[%[") then return label, nil end local link, display = label:match("^%[%[([^%[%]|]+)|([^%[%]|]+)%]%]$") if link then return link, display end link = label:match("^%[%[([^%[%]|])+%]%]$") if link then return link, link end return label, nil end --[==[ Combine the `link` and `display` parts of the display form of a label as returned by {split_display_form()}. If `display` is nil, `link` is returned directly. Otherwise, a one-part or two-part link is constructed depending on whether `link` and `display` are the same. (As a special case, if both consist of a blank string, the return value is a blank string rather than a malformed link.) ]==] function export.combine_display_form_parts(link, display) if not display then return link end if link == display then if link == "" then return "" else return ("[[%s]]"):format(link) end end return ("[[%s|%s]]"):format(link, display) end --[==[Used to finalize the data into the form that is actually returned.]==] function export.finalize_data(labels) local shallow_copy = m_table.shallowCopy local aliases = {} for label, data in pairs(labels) do if type(data) == "table" then if data.aliases then for _, alias in ipairs(data.aliases) do aliases[alias] = label end data.aliases = nil end if data.deprecated_aliases then local data2 = shallow_copy(data) data2.deprecated = true data2.canonical = label for _, alias in ipairs(data2.deprecated_aliases) do aliases[alias] = data2 end data.deprecated_aliases = nil data2.deprecated_aliases = nil end end end for label, data in pairs(aliases) do labels[label] = data end return labels end return export gc8w0idsnlhg3iqcoadbhqy81o7yzpv 177585 177567 2026-08-27T14:17:53Z Yivan000 4078 177585 Scribunto text/plain local export = {} export.lang_specific_data_list_module = "Module:labels/data/lang" export.lang_specific_data_modules_prefix = "Module:labels/data/lang/" local load_module = "Module:load" local parse_utilities_module = "Module:parse utilities" local string_utilities_module = "Module:string utilities" local utilities_module = "Module:utilities" local insert = table.insert local require_when_needed = require("Module:require when needed") local unpack = unpack or table.unpack -- Lua 5.2 compatibility local dump = mw.dumpObject local m_lang_specific_data = mw.loadData(export.lang_specific_data_list_module) local m_table = require_when_needed("Module:table") --[==[ intro: Labels go through several stages of processing to get from the original (raw) label specified in the Wikicode to the final (formatted) label displayed to the user. The following terminology will help keep things straight: * The "raw label" is the label specified in the Wikicode. * The "non-canonical label" is the label extracted from the raw label, used for looking up in the label modules in order to fetch the associated label data structure and determine the canonical form of the label. Normally this is the same as the raw label, but it will be different if the raw label is of the form `!<var>label</var>` (e.g. `!Australian`) `<var>label</var>!<var>display</var>` (e.g. `Southern US!Southern`). The former syntax indicates that the label should display as-is instead of in its canonical form (which in the example given is `Australia`), and the latter syntax indicates that the label should display in the form specified after the exclamation point. * The "canonical label" is the result of applying alias resolution to the non-canonical label. Normally, the canonical label rather than the non-canonical label is what is shown to the user. * The "display form of the label" is what is shown to the user, not considering links and HTML that may wrap the display form to get the formatted form of the label. The display form comes from the `.display` field of the module label data for the label; if no such field exists in the label data, it is normally the canonical label. However, if the display override exists (see below), it takes precedence over the `.display` field or canonical label when determining the display form of the label. * The "display override", if specified, overrides all other means of determining the display form of the label. It is specified in two circumstances, i.e. in the `!<var>label</var>` and `<var>label</var>!<var>display</var>` raw label formats (i.e. in the same cirumstances where the raw label and non-canonical label are different). * The "formatted form of the label" is the final form of the label shown directly to the user. It generally appears to the user as the display form of the label, but in the Wikicode, the formatted form may wrap the display form with a link to Wikipedia, the Wiktionary glossary or another Wiktionary entry, and that link in turn may be wrapped in an HTML span with a "deprecated" CSS class attached, causing the label to display differently (to indicate that it is deprecated). ]==] -- for testing local force_cat = false local m_headword_data = mw.loadData("Module:headword/data") local SUBPAGENAME = m_headword_data.pagename -- Disable tracking on heavy pages to save time. local pages_where_tracking_is_disabled = m_headword_data.large_pages -- Add tracking category for PAGE. The tracking category linked to is [[Wiktionary:Tracking/labels/PAGE]]. -- We also add to [[Wiktionary:Tracking/labels/PAGE/LANGCODE]] and [[Wiktionary:Tracking/labels/PAGE/MODE]] if -- LANGCODE and/or MODE given. local function track(page, langcode, mode) if pages_where_tracking_is_disabled[SUBPAGENAME] then return true end -- avoid including links in pages (may cause error) page = page:gsub("%[", "("):gsub("%]", ")"):gsub("|", "!") require("Module:debug/track")("labels/" .. page) if langcode then require("Module:debug/track")("labels/" .. page .. "/" .. langcode) end if mode then require("Module:debug/track")("labels/" .. page .. "/" .. mode) end -- We don't currently add a tracking label for both langcode and mode to reduce the total number of labels, to -- save some memory. return true end local function ucfirst(txt) return mw.getContentLanguage():ucfirst(txt) end local mode_to_outer_class = { ["label"] = "usage-label-sense", ["term-label"] = "usage-label-term", ["accent"] = "usage-label-accent", ["form-of"] = "usage-label-form-of", } local mode_to_property_prefix = { ["label"] = false, ["term-label"] = false, -- handled specially ["accent"] = "accent_", ["form-of"] = "form_of_", } local function validate_mode(mode) mode = mode or "label" if not mode_to_outer_class[mode] then local allowed_values = {} for key, _ in pairs(mode_to_outer_class) do insert(allowed_values, "'" .. key .. "'") end table.sort(allowed_values) error(("Invalid value '%s' for `mode`; should be one of %s"):format(mode, table.concat(allowed_values, ", "))) end return mode end local function getprop(labdata, mode, prop) local mode_prefix = mode_to_property_prefix[mode] return mode_prefix and labdata[mode_prefix .. prop] or labdata[prop] end local function check_type(label, lang, prop, value, expected_types) if value == nil or expected_types == nil then return value end if type(expected_types) ~= "table" then expected_types = {expected_types} end local valtype = type(value) local matches = false for _, expected_type in ipairs(expected_types) do if type(expected_type) == "string" then if valtype == expected_type then matches = true break end elseif value == expected_type then matches = true break end end if not matches then local function join_untagged_or(elements) return m_table.serialCommaJoin(elements, {conj = "or", dontTag = true}) end local quoted_types = {} local quoted_values = {} for _, expected_type in ipairs(expected_types) do if type(expected_type) == "string" then insert(quoted_types, "'" .. expected_type .. "'") else insert(quoted_values, "'" .. dump(expected_type) .. "'") end end local possible_matches = {} if quoted_types[1] then insert(possible_matches, ("be of type%s %s"):format( quoted_types[2] and "s" or "", join_untagged_or(quoted_types))) end if quoted_values[1] then insert(possible_matches, ("have the value%s %s"):format( quoted_values[2] and "s" or "", join_untagged_or(quoted_values))) end error(("Internal error: For label '%s', langcode '%s', property '%s' should %s but is of type '%s' with value %s"):format( label, lang and lang:getCode() or "UNKNOWN", prop, join_untagged_or(possible_matches), valtype, dump(value))) end end -- HACK! For languages in any of the given families, check the specified-language Wikipedia for appropriate -- Wikipedia articles for the language in question (esp. useful for obscure etymology-only languages that may not -- have English articles for them, like many Chinese lects). local families_to_wikipedia_languages = { {"zhx", "zh"}, {"sem-arb", "ar"}, } --[==[ Given language `lang` (a full language, etymology-language or family), fetch a list of Wikimedia languages to check when converting a Wikidata item to a Wikipedia article. Tagalog is always first, followed by the Wikimedia language --TLCHANGE code(s) of `lang` if `lang` is a language (which may or may not be the same as `lang`'s Wiktionary code), followed by the macrolanguage of `lang` for certain languages and families (currently, only languages and families in the Chinese and Arabic families). If `lang` is nil, only return English. Note that the same code may occur more than once in the list. This is exported because it's also used by [[Module:category tree/poscatboiler/data/language varieties]]. ]==] function export.get_langs_to_extract_wikipedia_articles_from_wikidata(lang) local wikipedia_langs = {} insert(wikipedia_langs, "tl") --TLCHANGE if lang then local article_lang = lang while article_lang do if article_lang:hasType("language") then local wmcodes = article_lang:getWikimediaLanguageCodes() for _, wmcode in ipairs(wmcodes) do insert(wikipedia_langs, wmcode) end end article_lang = article_lang:getParent() end for _, family_to_wp_lang in ipairs(families_to_wikipedia_languages) do local family, wp_lang = unpack(family_to_wp_lang) if lang:inFamily(family) then insert(wikipedia_langs, wp_lang) end end end return wikipedia_langs end --[==[ Fetch the categories to add to a page, given that the label whose canonical form is `canon_label` with language `lang` has been seen. `labdata` is the label data structure for `label`, fetched from the appropriate submodule. `mode` specifies how the label was invoked (see {get_label_info()} for more information). The return value is a list of the actual categories, unless `for_doc` is specified, in which case the categories returned are marked up for display on a documentation page. If `for_doc` is given, `lang` may be nil to format the categories in a language-independent fashion; otherwise, it must be specified. If `category_types` is specified, it should be a set object (i.e. with category types as keys and {true} as values), and only categories of the specified types will be returned. ]==] function export.fetch_categories(canon_label, labdata, lang, mode, for_doc, category_types) local categories = {} mode = validate_mode(mode) local langcode, canonical_name if lang then langcode = lang:getFullCode() canonical_name = lang:getFullName() elseif for_doc then langcode = "<var>[langcode]</var>" canonical_name = "<var>[language name]</var>" else error("Internal error: Must specify `lang` unless `for_doc` is given") end local function labprop(prop, expected_types) local retval = getprop(labdata, mode, prop) check_type(canon_label, lang, prop, retval, expected_types) return retval end local empty_list = {} local function get_cats(cat_type) if category_types and not category_types[cat_type] then return empty_list end local cats = labprop(cat_type) if not cats then return empty_list end if type(cats) ~= "table" then return {cats} end return cats end local topical_categories = get_cats("topical_categories") local sense_categories = get_cats("sense_categories") local pos_categories = get_cats("pos_categories") local regional_categories = get_cats("regional_categories") local plain_categories = get_cats("plain_categories") local function insert_cat(cat, sense_cat) if for_doc then cat = "<code>" .. cat .. "</code>" if sense_cat then if mode == "term-label" then cat = cat .. " (using {{tl|tlb}})" else cat = cat .. " (using {{tl|lb}} or form-of template)" end cat = mw.getCurrentFrame():preprocess(cat) end end insert(categories, cat) end for _, cat in ipairs(topical_categories) do insert_cat(langcode .. ":" .. (cat == true and ucfirst(canon_label) or cat)) end for _, cat in ipairs(sense_categories) do if cat == true then cat = canon_label end --TLCHANGE cat = mode == "term-label" and cat .. " terms" or "terms with " .. cat .. " senses" cat = mode == "term-label" and "na salitang " .. cat or "na salitang may kahulugang " .. cat insert_cat(canonical_name .. " " .. cat, true) end for _, cat in ipairs(pos_categories) do insert_cat(canonical_name .. " " .. (cat == true and canon_label or cat)) end for _, cat in ipairs(regional_categories) do --TLCHANGE insert_cat((cat == true and ucfirst(canon_label) or cat) .. " " .. canonical_name) -- change formatting to "LANG LABEL" (ex. Tagalog Baguio) insert_cat(canonical_name .. " " .. (cat == true and ucfirst(canon_label) or cat) ) end for _, cat in ipairs(plain_categories) do insert_cat(cat == true and ucfirst(canon_label) or cat) end return categories end --[==[ Return the list of all labels data modules for a label whose language is `lang`. The return value is a list of module names, with overriding modules earlier in the list (that is, if a label occurs in two modules in the list, the earlier-listed module takes precedence). If `lang` is nil, only return non-language-specific submodules. ]==] function export.get_submodules(lang) local submodules = { "Module:labels/data", "Module:labels/data/qualifiers", "Module:labels/data/regional", "Module:labels/data/topical", } if not lang then return submodules end -- get language-specific labels from data module local langcode = lang:getFullCode() if m_lang_specific_data.langs_with_lang_specific_modules[langcode] then -- prefer per-language label in order to pick subvariety labels over regional ones insert(submodules, 1, export.lang_specific_data_modules_prefix .. langcode) end return submodules end --[==[ Return the formatted form of a label `label` (which should be the canonical form of the label; see comment at top), given (a) the label data structure `labdata` from one of the data modules; (b) the language object `lang` of the language being processed, or nil for no language; (c) `deprecated` (true if the label is deprecated, otherwise the deprecation information is taken from `labdata`); (d) `override_display` (if specified, override the display form of the label with the specified string, instead of any value in `labdata.display` or `labdata.special_display` or the canonical label in `label` itself); (e) `mode` (same as `data.mode` passed to {get_label_info()}). Returns two values: the formatted label form and a boolean indicating whether the label is deprecated. '''NOTE: Under normal circumstances, do not use this.''' Instead, use {get_label_info()}, which searches all the data modules for a given label and handles other complications. ]==] function export.format_label(label, labdata, lang, deprecated, override_display, mode) local formatted_label mode = validate_mode(mode) local function labprop(prop, expected_types) local retval = getprop(labdata, mode, prop) check_type(label, lang, prop, retval, expected_types) return retval end deprecated = deprecated or labprop("deprecated") if not override_display and labprop("special_display") then local function add_language_name(str) if str == "canonical_name" then if lang then return lang:getFullName() else return "<code><var>[language name]</var></code>" end else return "" end end formatted_label = labprop("special_display", "string"):gsub("<(.-)>", add_language_name) else --[=[ We proceed as follows: 1. The display form comes from either (a) the `override_display` variable if set (this happens when the user uses a label like '!British'); (b) the `display` property, if set; or (c) the label iself. 2. If the display form contains a link, use it directly and ignore the other display-related settings. (NOTE: Settings `Wikipedia` and `Wikidata` may still be used on the category page itself, by the category tree code.) 3. Otherwise, use one of the other display-related settings, in the following order: `glossary` > `Wiktionary` > `Wikipedia` > `Wikidata`. Specifically: a. If any of the values is equal to `true`, that is equivalent to specifying a string consisting of the canonical label. b. If `glossary` is set, it specifies the anchor in [[Appendix:Glossary]]. c. If `Wiktionary` is set, it specifies an arbitrary Wiktionary page or page + anchor (e.g. a separate Appendix entry). d. If `Wikipedia` is set, it specifies an arbitrary Wikipedia article, or a list of such items (in this case, we select the first one, but the category tree uses all of them). e. If `Wikidata` is set, it specifies an arbitrary Wikidata item to retrieve a Wikipedia article from, or a list of such items (in this case, we select the first one, but the category tree uses all of them). If the item is of the form `wmcode:id`, the Wikipedia article corresponding to `id` in the `wmcode`-language Wikipedia is fetched if available. Otherwise, the English-language Wikipedia article corresponding to `id` is retrieved if available, falling back to the Wikimedia language(s) corresponding to `lang` and then (in certain cases) to the macrolanguage that `lang` is part of. Note that if `mode` is specified, prefixed properties (e.g. `accent_display` for `mode` == "accent", `form_display` for `mode` == "form") are checked before the bare equivalent (e.g. `display`). ]=] local display = override_display or labprop("display", "string") or label -- There are several 'Foo spelling' labels specially designed for use in the |from= param in -- {{alternative form of}}, {{standard spelling of}} and the like. Often the display includes the word -- "spelling" at the end (e.g. if it's defaulted), which is useful when the label is used with {{tl|lb}} or -- {{tl|tlb}}; but it causes redundancy when used with the form-of templates, which add the word "form", -- "spelling", "standard spelling", etc. after the label. if mode == "form-of" then display = display:gsub(" spelling$", "") end if display:find("%[%[") then formatted_label = display else local glossary = labprop("glossary", {"string", true}) local Wiktionary = labprop("Wiktionary", {"string", true}) local Wikipedia = labprop("Wikipedia", {"string", true, "table"}) local Wikidata = labprop("Wikidata", {"string", true, "table"}) if glossary then local glossary_entry = glossary == true and label or glossary formatted_label = "[[Apendise:Glosaryo#" .. glossary_entry .. "|" .. display .. "]]" --TLCHANGE Appendix:Glossary elseif Wiktionary then local Wiktionary_entry = Wiktionary == true and label or Wiktionary if Wiktionary == display then formatted_label = "[[" .. display .. "]]" else formatted_label = "[[" .. Wiktionary_entry .. "|" .. display .. "]]" end elseif Wikipedia then if type(Wikipedia) == "table" then Wikipedia = Wikipedia[1] end local Wikipedia_entry = Wikipedia == true and label or Wikipedia formatted_label = "[[w:" .. Wikipedia_entry .. "|" .. display .. "]]" elseif Wikidata then if not mw.wikibase then error(("Unable to retrieve data from Wikidata ID for label '%s'; `mw.wikibase` not defined" ):format(label)) end local function make_formatted_label(wmcode, id) local article = mw.wikibase.sitelink(id, wmcode .. "wiki") if article then local link = wmcode == "tl" and "w:" .. article or "w:" .. wmcode .. ":" .. article --TLCHANGE return ("[[%s|%s]]"):format(link, display) else return nil end end if type(Wikidata) == "table" then Wikidata = Wikidata[1] end local wmcode, id = Wikidata:match("^(.*):(.*)$") if wmcode then formatted_label = make_formatted_label(wmcode, id) else local langs_to_check = export.get_langs_to_extract_wikipedia_articles_from_wikidata(lang) for _, wmcode in ipairs(langs_to_check) do formatted_label = make_formatted_label(wmcode, Wikidata) if formatted_label then break end end end formatted_label = formatted_label or display else formatted_label = display end end end if deprecated then formatted_label = '<span class="deprecated-label">' .. formatted_label .. '</span>' end return formatted_label, deprecated end --[==[ Return information on a label. On input `data` is an object with the following fields: * `label`: The raw label to return information on. * `lang`: The language of the label. Must be specified unless `for_doc` is given. * `mode`: How the label was invoked. One of the following: ** {nil} or {"label"}: invoked through {{tl|lb}} or another template whose labels in the same fashion, e.g. {{tl|alt}}, {{tl|quote}} or {{tl|syn}}; ** {"term-label"}: invoked through {{tl|tlb}}; ** {"accent"}: invoked through {{tl|a}} or the {{para|a}} or {{para|aa}} parameters of other pronunciation templates, such as {{tl|IPA}}, {{tl|rhymes}} or {{tl|homophones}}; ** {"form-of"}: invoked through {{tl|alt form}}, {{tl|standard spelling of}} or other form-of template. This changes the display and/or categorization of a minority of labels. (The majority work the same for all modes.) * `for_doc`: Data is being fetched for documentation purposes. This causes the raw categories returned in `categories` to be formatted for documentation display. * `nocat`: If true, don't add the label to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for this label. * `sort`: Sort key for categorization. * `already_seen`: An object used to track labels already seen, so they aren't displayed twice. Tracking is according to the display form of the label, so if two labels have the same display form, the second one won't be displayed (but its categories will still be added). If `already_seen` is {nil}, this tracking doesn't happen. The return value is an object with the following fields: * `raw_text`: If specified, the object does not describe a label but simply raw text surrounding labels. This occurs when double angle bracket (<<...>>) notation is used. {get_label_info()} does not currently return objects with this field set, but {process_raw_labels()} does. The value is {"begin"} (this is the first raw text portion derived from a double angle bracket spec, provided there are at least two raw text portions); {"end"} (this is the last raw text portion derived from a double angle bracket spec, provided there are at least two portions); {"middle"} (this is neither the first nor the last raw text portion); or {"only"} (this is a raw text portion standing by itself). The particular value determines the handling of commas and spaces on one or both sides of the raw text. If this field is specified, only the `label` field (containing the actual raw text) and the `category` field (containing an empty list) are set; all other fields are {nil}. * `raw_label`: The raw label that was passed in. * `non_canonical`: The label prior to canonicalization (i.e. alias resolution). Usually this is the same as `raw_label`, but if the raw label was preceded by an exclamation point (meaning "display the raw label as-is"), this field will contain the label stripped of the exclamation point, and if the raw label is of the form `<var>label</var>!<var>display</var>` (meaning "display the label in the specified form"), this field will contain the label before the exclamation point. * `canonical`: If the label in `non_canonical` is an alias, this contains the canonical name of the label; otherwise it will be {nil}. * `override_display`: If specified, this contains a string that overrides the normal display form of the label. The display form of a label is the `.display` field of the label data if present, and otherwise is normally the canonical form of the label (i.e. after alias resolution). (This is not the same as the formatted form of the label, found in `label`, which is the final form shown to the user and includes links to Wikipedia, the glossary, etc. as well as an HTML wrapper if the label is deprecated.) If `override_display` is specified, however, this is used in place of the normal display form of the label. This currently happens in two circumstances: (1) the label was preceded by ! to indicate that the raw label should be displayed rather than the canonical form; (2) the label was given in the form `<var>label</var>!<var>display</var>` (meaning "display the label in the specified `<var>display</var>` form"). * `label`: The formatted form of the label. This is what is actually shown to the user. If the label is recognized (found in some module), this will typically be in the form of a link. * `categories`: A list of the categories to add the label to; an empty list if `nocat` was specified. * `formatted_categories`: A string containing the formatted categories; {nil} if `nocat` or `for_doc` was specified, or if `categories` is empty. Currently will be an empty string if there are categories to format but the namespace is one that normally excludes categories (e.g. userspace and discussion pages), and `force_cat` isn't specified. * `deprecated`: True if the label is deprecated. * `recognized`: If true, the label was found in some module. * `data`: The data structure for the label, as fetched from the label modules. For unrecognized labels, this will be an empty object. ]==] function export.get_label_info(data) if not data.label then error("`data` must now be an object containing the params") end local mode = validate_mode(data.mode) local ret = {categories = {}} local label = data.label local raw_label = label ret.raw_label = raw_label local override_display if label:find("^!") then label = label:gsub("^!", "") override_display = label elseif label:find("![^%s]") then label, override_display = label:match("^(.-)!([^%s].*)$") if not label then error(("Internal error: This Lua pattern should never fail to match for label '%s'"):format(raw_label)) end end local non_canonical = label ret.non_canonical = non_canonical local deprecated = false local labdata local submodule local data_langcode = data.lang and data.lang:getCode() or nil local submodules_to_check = export.get_submodules(data.lang) for _, submodule_to_check in ipairs(submodules_to_check) do submodule = mw.loadData(submodule_to_check) local this_labdata = submodule[label] local resolved_label if type(this_labdata) == "string" then resolved_label = this_labdata this_labdata = submodule[this_labdata] if not this_labdata then error(("Internal error: Label alias '%s' points to '%s', which is undefined in module [[%s]]"):format( label, resolved_label, submodule_to_check)) end if type(this_labdata) == "string" then error(("Internal error: Label alias '%s' points to '%s', which is also an alias (of '%s') in module [[%s]]"):format( label, resolved_label, this_labdata, submodule_to_check)) end end if this_labdata then -- Make sure either there's no lang restriction, or we're processing lang-independent, or our language -- is among the listed languages. Otherwise, continue processing (which could conceivably pick up a -- lang-appropriate version of the label in another label data module). local lablangs = getprop(this_labdata, mode, "langs") if not lablangs or not data_langcode then labdata = this_labdata label = resolved_label or label break end local lang_in_list = false for _, langcode in ipairs(lablangs) do if langcode == data_langcode then lang_in_list = true break end end if lang_in_list then labdata = this_labdata label = resolved_label or label break elseif not data.notrack then -- Track use of a label that fails the lang restriction. -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label/LANGCODE]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label/LABEL]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label/LABEL/LANGCODE]] track("wrong-lang-label", data_langcode) track("wrong-lang-label/" .. label, data_langcode) if resolved_label then track("wrong-lang-label/" .. resolved_label, data_langcode) end end end end if labdata then ret.recognized = true else labdata = {} ret.recognized = false end local function labprop(prop) return getprop(labdata, mode, prop) end if labprop("deprecated") then deprecated = true end if label ~= non_canonical then -- Note that this is an alias and store the canonical version. ret.canonical = label end if not data.notrack then -- labprop("track") then -- track all labels now -- Track label (after converting aliases to canonical form; but also track raw label (alias) if different -- from canonical label). -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/label/LABEL]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/label/LABEL/LANGCODE]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/label/LABEL/MODE]] track("label/" .. label, data_langcode, mode) if label ~= non_canonical then track("label/" .. non_canonical, data_langcode, mode) end end local formatted_label formatted_label, deprecated = export.format_label(label, labdata, data.lang, deprecated, override_display, mode) ret.deprecated = deprecated if deprecated then if not data.nocat then local depcat = "Entries with deprecated labels" if data.for_doc then depcat = "<code>" .. depcat .. "</code>" end insert(ret.categories, depcat) end end local label_for_already_seen = (labprop("topical_categories") or labprop("regional_categories") or labprop("plain_categories") or labprop("pos_categories") or labprop("sense_categories")) and formatted_label or nil -- Track label text. If label text was previously used, don't show it, but include the categories. -- For an example, see [[hypocretin]]. if data.already_seen and data.already_seen[label_for_already_seen] then ret.label = "" else if formatted_label:find("{") then formatted_label = mw.getCurrentFrame():preprocess(formatted_label) end ret.label = formatted_label end if data.nocat then -- do nothing else local cats = export.fetch_categories(label, labdata, data.lang, mode, data.for_doc) for _, cat in ipairs(cats) do insert(ret.categories, cat) end if not ret.categories[1] or data.for_doc then -- Don't try to format categories if we're doing this for documentation ({{label/doc}}), because there -- will be HTML in the categories. -- do nothing else ret.formatted_categories = require(utilities_module).format_categories(ret.categories, data.lang, data.sort, nil, force_cat or data.force_cat) end end ret.data = labdata if label_for_already_seen and data.already_seen then data.already_seen[label_for_already_seen] = true end return ret end --[==[ Split a string containing comma-separated raw labels into the individual labels. This will not split on a comma followed by whitespace, and it will not split inside of matched <...> or [...]. The code is written to be efficient, so that it does not load modules (e.g. [[Module:parse utilities]]) unnecessarily. ]==] function export.split_labels_on_comma(term) if term:find("[%[<]") then -- Do it the "hard way". We don't want to split anything inside of <...> or <<...>> even if there are commas -- inside of the angle brackets. For good measure we do the same for [...] and [[...]]. We first parse balanced -- segment runs involving either [...] or <...>. Then we split alternating runs on comma (but not on -- comma+whitespace). Then we rejoin the split runs. For example, given the following: -- "regional,older <<non-rhotic,and,non-hoarse-horse>> speakers", the first call to -- parse_multi_delimiter_balanced_segment_run() produces -- -- {"regional,older ", "<<non-rhotic,and,non-hoarse-horse>>", " speakers"} -- -- After calling split_alternating_runs_on_comma(), we get the following: -- -- {{"regional"}, {"older ", "<<non-rhotic,and,non-hoarse-horse>>", " speakers"}} -- -- After rejoining each group, we get: -- -- {"regional", "older <<non-rhotic,and,non-hoarse-horse>> speakers"} -- -- which is the desired output. When processing the second "label" string, the code in process_raw_labels() -- will do a similar process to this to pull out the labels inside of the <<...>> notation. local put = require(parse_utilities_module) local segments = put.parse_multi_delimiter_balanced_segment_run(term, {{"<", ">"}, {"[", "]"}}) -- This won't split on comma+whitespace. local comma_separated_groups = put.split_alternating_runs_on_comma(segments) for i, group in ipairs(comma_separated_groups) do comma_separated_groups[i] = table.concat(group) end return comma_separated_groups elseif term:find(",%s") then -- This won't split on comma+whitespace. return require(parse_utilities_module).split_on_comma(term) elseif term:find(",") then return require(string_utilities_module).split(term, ",") else return {term} end end --[==[ Return a list of objects corresponding to a set of raw labels. Each object returned is of the format returned by {get_label_info()}. This is similar to looping over the labels and calling {get_label_info()} on each one, but it also correctly handles embedded double angle bracket specs <<...>> found in the labels. (In such a case, there will be more objects returned than raw labels passed in.) On input, `data` is an object with the following fields: * `labels`: The list of labels to process. * `lang`: The language of the labels. Must be specified. * `mode`: How the label was invoked; see {get_label_info()} for more information. * `nocat`: If true, don't add the label to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for this label. * `sort`: Sort key for categorization. * `already_seen`: An object used to track labels already seen, so they aren't displayed twice. Tracking is according to the display form of the label, so if two labels have the same display form, the second one won't be displayed (but its categories will still be added). If `already_seen` is {nil}, this tracking doesn't happen. * `ok_to_destructively_modify`: If set, the `data` structure will be destructively modified in the process of this function running. ]==] function export.process_raw_labels(data) local label_infos = {} if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.ok_to_destructively_modify = true end local function get_info_and_insert(label) -- Reuse this structure to save memory. data.label = label insert(label_infos, export.get_label_info(data)) end for _, label in ipairs(data.labels) do if label:find("<<") then local segments = require(string_utilities_module).split(label, "<<(.-)>>") for i, segment in ipairs(segments) do if i % 2 == 1 then local raw_text_type = i == 1 and "begin" or i == #segments and "end" or "middle" insert(label_infos, {raw_text = raw_text_type, label = segment, categories = {}}) else local segment_labels = export.split_labels_on_comma(segment) for _, segment_label in ipairs(segment_labels) do get_info_and_insert(segment_label) end end end else get_info_and_insert(label) end end return label_infos end --[==[ Split a comma-separated string of raw labels and process each label to get a list of objects suitable for passing to {format_processed_labels()}. Each object returned is of the format returned by {get_label_info()}. This is equivalent to calling {split_labels_on_comma()} followed by {process_raw_labels()}. On input, `data` is an object with the following fields: * `labels`: The string containing the raw comma-separated labels. * `lang`: The language of the labels. Must be specified. * `mode`: How the label was invoked; see {get_label_info()} for more information. * `nocat`: If true, don't add the label to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for this label. * `sort`: Sort key for categorization. * `already_seen`: An object used to track labels already seen, so they aren't displayed twice. Tracking is according to the display form of the label, so if two labels have the same display form, the second one won't be displayed (but its categories will still be added). If `already_seen` is {nil}, this tracking doesn't happen. * `ok_to_destructively_modify`: If set, the `data` structure will be destructively modified in the process of this function running. ]==] function export.split_and_process_raw_labels(data) if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.ok_to_destructively_modify = true end data.labels = export.split_labels_on_comma(data.labels) return export.process_raw_labels(data) end --[==[ Format one or more already-processed labels for display and categorization. "Already-processed" means that {get_label_info()} or {process_raw_labels()} has been called on the raw labels to convert them into objects containing information on how to display and categorize the labels. This is a lower-level alternative to {show_labels()} and is meant for modules such as [[Module:alternative forms]], [[Module:quote]] and [[Module:etymology/templates/descendant]] that support displaying labels along with some other information. On input `data` is an object with the following fields: * `labels`: List of the label objects to format, in the format returned by {get_label_info()}. * `lang`: The language of the labels. * `open`: Open bracket or parenthesis to display before the concatenated labels. If specified, it is wrapped in the {"ib-brac"} and {"label-brac"} CSS classes. If {nil} or {false}, no open bracket is displayed. * `close`: Close bracket or parenthesis to display after the concatenated labels. If specified, it is wrapped in the {"ib-brac"} and {"label-brac"} CSS classes. If {nil} or {false}, no close bracket is displayed. * `no_ib_content`: By default, the concatenated formatted labels inside of the open/close brackets are wrapped in the {"ib-content"} and {"label-content"} CSS classes. Specify this to suppress this wrapping. * `raw`: Suppress all CSS wrapping of content, including open/close parentheses, content and comma delimiters (which are normally wrapped in {"ib-comma"} and {"label-comma"} CSS classes). * `ok_to_destructively_modify`: If set, the `data` structure, and the `data.labels` table inside of it, will be destructively modified in the process of this function running. * `split_output`: If not given, the return value is a concatenation of the formatted concatenated labels and formatted categories. Otherwise, two values are returned: the formatted pronunciation and the categories. If `split_output` is the value {"raw"}, the categories are returned in list form, where the list elements are strings f the form suitable for passing to {format_categories()} in [[Module:utilities]]. If `split_output` is any other value besides {nil}, the categories are returned as a pre-formatted concatenated string. The return value (or the first return value, if `split_output` is given) is a string containing the contenated labels, optionally surrounded by open/close brackets or parentheses. Normally, labels are separated by comma-space sequences, but this may be suppressed for certain labels. If `nocat` wasn't given to {get_label_info()} or {process_raw_labels()}, and `split_output` wasn't given, the label objects will contain formatted categories in them, which will be inserted into the returned text. (Use `split_output` if you need the categories returned separately.) The concatenated text inside of the open/close brackets is normally wrapped in the {"ib-content"} CSS class, but this can be suppressed, as mentioned above. ]==] function export.format_processed_labels(data) if not data.labels then error("`data` must now be an object containing the params") end if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.labels = m_table.deepCopy(data.labels) data.ok_to_destructively_modify = true end local labels = data.labels if not labels[1] then error("You must specify at least one label.") end -- Show the labels local omit_preComma = false local omit_postComma = true local omit_preSpace = false local omit_postSpace = true for _, label in ipairs(labels) do omit_preComma = omit_postComma omit_preSpace = omit_postSpace local raw_text_omit_before = label.raw_text == "middle" or label.raw_text == "end" local raw_text_omit_after = label.raw_text == "middle" or label.raw_text == "begin" label.omit_comma = omit_preComma or (label.data and label.data.omit_preComma) or raw_text_omit_before omit_postComma = (label.data and label.data.omit_postComma) or raw_text_omit_after label.omit_space = omit_preSpace or (label.data and label.data.omit_preSpace) or raw_text_omit_before omit_postSpace = (label.data and label.data.omit_postSpace) or raw_text_omit_after end if data.lang then local lang_functions_module = export.lang_specific_data_modules_prefix .. data.lang:getCode() .. "/functions" local m_lang_functions = require(load_module).safe_require(lang_functions_module) if m_lang_functions and m_lang_functions.postprocess_handlers then for _, handler in ipairs(m_lang_functions.postprocess_handlers) do handler(data) end end end local function wrap_css(txt, suffix) if data.raw then return txt end return ("<span class=\"ib-%s label-%s\">%s</span>"):format(suffix, suffix, txt) end local categories = nil local formatted_categories = split_output and split_output ~= "raw" and {} or nil for i, labelinfo in ipairs(labels) do local label -- Need to check for 'not raw_text' here because blank labels may legitimately occur as raw text if a double -- angle bracket spec occurs at the beginning of a label. In this case we've already taken into account the -- context and don't want to leave out a preceding comma and space e.g. in a case like -- {{lb|en|rare|<<dialect>> or <<eye dialect>>}}. FIXME: We should reconsider whether we need this special case -- at all. if labelinfo.label == "" and not labelinfo.raw_text then label = "" else label = (labelinfo.omit_comma and "" or wrap_css(",", "comma")) .. (labelinfo.omit_space and "" or "&#32;") .. labelinfo.label end if split_output then labels[i] = label if split_output == "raw" then if labelinfo.categories and labelinfo.categories[1] then if categories then m_table.extend(categories, labelinfo.categories) else categories = labelinfo.categories end end elseif labelinfo.formatted_categories then insert(formatted_categories, labelinfo.formatted_categories) end else labels[i] = label .. (labelinfo.formatted_categories or "") end end local function wrap_open_close(val) if val then return wrap_css(val, "brac") else return "" end end local concatenated_labels = table.concat(labels, "") if not data.no_ib_content then concatenated_labels = wrap_css(concatenated_labels, "content") end local ret_labels = wrap_open_close(data.open) .. concatenated_labels .. wrap_open_close(data.close) if split_output == "raw" then return ret_labels, categories elseif split_output then return ret_labels, concat(formatted_categories) else return ret_labels end end --[==[ Format one or more labels for display and categorization. This provides the implementation of the {{tl|label}}/{{tl|lb}}, {{tl|term label}}/{{tl|tlb}} and {{tl|accent}}/{{tl|a}} templates, and can also be called from a module. The return value is a string to be inserted into the generated page, including the display and categories. On input `data` is an object with the following fields: * `labels`: List of the labels to format. * `lang`: The language of the labels. * `mode`: How the label was invoked; see {get_label_info()} for more information. * `nocat`: If true, don't add the labels to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for these labels. * `sort`: Sort key for categorization. * `no_track_already_seen`: Don't track already-seen labels. If not specified, already-seen labels are not displayed again, but still categorize. See the documentation of {get_label_info()}. * `open`: Open bracket or parenthesis to display before the concatenated labels. If {nil}, defaults to an open parenthesis. Set to {false} to disable. * `close`: Close bracket or parenthesis to display after the concatenated labels. If {nil}, defaults to a close parenthesis. Set to {false} to disable. * `no_ib_content`: As in `format_processed_labels()`. * `raw`: As in `format_processed_labels()`. Also suppress wrapping the entire formatted result in a usage label CSS class (see below). * `ok_to_destructively_modify`: If set, the `data` structure will be destructively modified in the process of this function running. Compared with {format_processed_labels()}, this function has the following differences: # The labels specified in `labels` are raw labels (i.e. strings) rather than formatted objects. # The open and close brackets default to parentheses ("round brackets") rather than not being displayed by default. # Tracking of already-seen labels is enabled unless explicitly turned off using `no_track_already_seen`. # The entire formatted result is wrapped in a {"usage-label-<var>type</var>"} CSS class (depending on the value of `mode`), unless `raw` is given. ]==] function export.show_labels(data) if not data.labels then error("`data` must now be an object containing the params") end if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.ok_to_destructively_modify = true end local labels = data.labels if not labels[1] then error("You must specify at least one label.") end local mode = validate_mode(data.mode) if not data.no_track_already_seen then data.already_seen = {} end data.labels = export.process_raw_labels(data) if data.open == nil then data.open = "(" end if data.close == nil then data.close = ")" end local formatted = export.format_processed_labels(data) if data.raw then return formatted else return "<span class=\"" .. mode_to_outer_class[mode] .. "\">" .. formatted .. "</span>" end end --[==[Helper function for the data modules.]==] function export.alias(labels, key, aliases) m_table.alias(labels, key, aliases) end --[==[ Split the display form of a label. Returns two values: `link` and `display`. If the display form consists of a two-part link, `link` is the first part and `display` is the second part. If the display form consists of a single-part link, `link` and `display` are the same. Otherwise (the display form is not a link or contains an embedded link), `link` is the same as the passed-in `label` and `display` is nil. ]==] function export.split_display_form(label) if not label:find("%[%[") then return label, nil end local link, display = label:match("^%[%[([^%[%]|]+)|([^%[%]|]+)%]%]$") if link then return link, display end link = label:match("^%[%[([^%[%]|])+%]%]$") if link then return link, link end return label, nil end --[==[ Combine the `link` and `display` parts of the display form of a label as returned by {split_display_form()}. If `display` is nil, `link` is returned directly. Otherwise, a one-part or two-part link is constructed depending on whether `link` and `display` are the same. (As a special case, if both consist of a blank string, the return value is a blank string rather than a malformed link.) ]==] function export.combine_display_form_parts(link, display) if not display then return link end if link == display then if link == "" then return "" else return ("[[%s]]"):format(link) end end return ("[[%s|%s]]"):format(link, display) end --[==[Used to finalize the data into the form that is actually returned.]==] function export.finalize_data(labels) local shallow_copy = m_table.shallowCopy local aliases = {} for label, data in pairs(labels) do if type(data) == "table" then if data.aliases then for _, alias in ipairs(data.aliases) do aliases[alias] = label end data.aliases = nil end if data.deprecated_aliases then local data2 = shallow_copy(data) data2.deprecated = true data2.canonical = label for _, alias in ipairs(data2.deprecated_aliases) do aliases[alias] = data2 end data.deprecated_aliases = nil data2.deprecated_aliases = nil end end end for label, data in pairs(aliases) do labels[label] = data end return labels end return export 3e8dnu5v77wn4ljslpjo82xtbhh15sl ござる 0 31217 177599 165968 2026-08-27T14:40:42Z Yivan000 4078 177599 wikitext text/x-wiki =={{=ja=}}== ===Pagbigkas=== {{ja-pron|acc=2}} {{ja-acc-table|verb-honorific|ござる|acc=2|て-form-acc=2}} ===Pandiwa=== {{ja-verb|type=1s|tr=intrans}} # {{ja-def|御座る}} {{lb|ja|makaluma}} para [[umiral]], para [[maging]], para [[magkaroon]] #: Sa klasikal na Wikang Hapon ang ござる (''gozaru'') ay isang magalang na anyo ng [[ある]] (''aru''), subalit maaari ring magamit sa parehang buhay at hindi nabubuhay na bagay. Nananatili pa rin ito sa modernong Wikang Hapon ngunit sa mahirap na anyo [[ございました]] (''gozaimashita''), [[ございましたら]] (''gozaimashitara''), [[ございます]] (''gozaimasu''), at [[です]] (''desu''), na orihinal na pinaikli ng [[でございます]] (''de gozaimasu''). s1hgb413ffwhiajazb4zavsc9910ggx いった 0 31263 177604 167768 2026-08-27T14:46:56Z Yivan000 4078 177604 wikitext text/x-wiki =={{=ja=}}== ===Pandiwa=== {{ja-see|言った|入った|行った}} d90e3n7mpow9ofqlz5hdz356hcg8spo Module:labels/data/topical 828 31282 177675 176754 2026-08-28T04:24:51Z Yivan000 4078 177675 Scribunto text/plain local labels = {} -- To sort these, you first have to convert each label section into a single line, and then sort the lines, and undo -- the single-line conversion. This can be done using Vim commands, something like this: -- 1. Mark the first line to be changed using `ma`. -- 2. Go to the last line and use `'a,.s/\n/\\n/g` to convert newlines to \n sequences. -- 3. Use `'a,.s/\\n\\n/\r/g` to convert sequences of two \n's (marking section divisions) back to newlines. -- 4. Go to the last line again and use `'a,.!sort -f -d` to sort. The `-f` makes it case-insensitive and the `-d` -- selects "dictionary order", which is needed to get 'yoga' to sort before 'yoga pose' instead of the other way -- around. -- 5. Go to the last line again and use `'a,.s/\\n/\r/g` to convert \n sequences back to newlines. -- 6. Go to the last line again and use `'a,.s/^labels/\rlabels/` to put an extra newline before each section. labels["3D printing"] = { aliases = {"3D printer", "3D printers"}, Wiktionary = "3D printing#Noun", Wikipedia = true, Wikidata = "Q229367", topical_categories = true, } labels["ABDL"] = { aliases = {"AB/DL"}, Wiktionary = true, Wikipedia = true, topical_categories = true, } labels["Abrahamism"] = { Wiktionary = "Abrahamism#Noun", topical_categories = true, } labels["accounting"] = { Wiktionary = "accounting#Noun", topical_categories = true, } labels["acoustics"] = { Wiktionary = true, topical_categories = true, } labels["acting"] = { Wiktionary = "acting#Noun", topical_categories = true, } labels["advertising"] = { Wiktionary = "advertising#Noun", topical_categories = true, } labels["aeronautics"] = { Wiktionary = true, topical_categories = true, } labels["aerospace"] = { Wiktionary = true, topical_categories = true, } labels["aesthetic"] = { aliases = {"aesthetics"}, Wiktionary = true, topical_categories = "Aesthetics", } labels["agrikultura"] = { --TLCHANGE aliases = {"agriculture", "farming"}, --TLCHANGE Wiktionary = true, topical_categories = true, } labels["Ahmadiyya"] = { aliases = {"Ahmadiyyat", "Ahmadi"}, Wiktionary = true, topical_categories = true, } labels["aircraft"] = { Wiktionary = true, topical_categories = true, } labels["alchemy"] = { Wiktionary = true, topical_categories = true, } labels["alcoholic beverages"] = { aliases = {"alcohol"}, display = "[[alcoholic#Adjective|alcoholic]] [[beverage]]s", topical_categories = true, } labels["alcoholism"] = { Wiktionary = true, topical_categories = true, } labels["algebra"] = { Wiktionary = true, topical_categories = true, } labels["algebraic geometry"] = { Wiktionary = true, topical_categories = true, } labels["algebraic topology"] = { Wiktionary = true, topical_categories = true, } labels["alternative history"] = { aliases = {"alt hist", "alternate history"}, Wikidata = "Q224989", topical_categories = true, } labels["alternative medicine"] = { Wiktionary = true, topical_categories = true, } labels["alt-right"] = { aliases = {"altright", "Alt-right", "Altright"}, Wiktionary = true, topical_categories = true, } labels["amateur radio"] = { aliases = {"ham radio"}, Wiktionary = true, topical_categories = true, } labels["American football"] = { Wiktionary = true, topical_categories = "Football (American)", } labels["amino acid"] = { display = "[[biochemistry]]", topical_categories = "Amino acids", } labels["analytic geometry"] = { Wiktionary = true, topical_categories = "Geometry", } labels["analytical chemistry"] = { display = "[[analytical]] [[chemistry]]", topical_categories = true, } labels["anarchism"] = { Wiktionary = true, topical_categories = true, } labels["anatomiya"] = { --TLCHANGE aliases = {"anatomy"}, --TLCHANGE Wiktionary = true, topical_categories = true, } labels["Ancient Greece"] = { aliases = {"ancient Greece"}, Wiktionary = true, topical_categories = true, } labels["Ancient Rome"] = { aliases = {"ancient Rome"}, Wiktionary = true, topical_categories = true, } labels["Anglicanism"] = { aliases = {"Anglican", "Anglicanist", "Anglican Church"}, Wiktionary = true, topical_categories = true, } labels["animation"] = { Wiktionary = true, topical_categories = true, } labels["anime"] = { Wiktionary = true, topical_categories = "Japanese fiction", } labels["anthropology"] = { Wiktionary = true, topical_categories = true, } labels["Arabian god"] = { display = "[[Arabian]] [[mythology]]", topical_categories = "Arabian deities", } labels["arachnology"] = { Wiktionary = true, topical_categories = true, } labels["archaeological culture"] = { aliases = {"archeological culture", "archaeological cultures", "archeological cultures"}, display = "[[archaeology]]", topical_categories = "Archaeological cultures", } labels["archaeology"] = { aliases = {"archeology"}, Wiktionary = true, topical_categories = true, } labels["archery"] = { Wiktionary = true, topical_categories = true, } labels["architectural element"] = { aliases = {"architectural elements"}, display = "[[architecture]]", topical_categories = "Architectural elements", } labels["architecture"] = { Wiktionary = true, topical_categories = true, } labels["Argentine politics"] = { aliases = {"Argentina politics", "Argentinian politics"}, Wikipedia = "Politics of Argentina", topical_categories = true, } labels["arithmetic"] = { Wiktionary = true, topical_categories = true, } labels["Armenian mythology"] = { display = "[[Armenian]] [[mythology]]", topical_categories = true, } labels["art"] = { aliases = {"arts"}, Wiktionary = "art#Noun", topical_categories = true, } labels["Arthurian legend"] = { aliases = {"Arthurian mythology"}, Wikipedia = "Matter_of_Britain#Arthurian_legend", topical_categories = "Arthurian mythology", } labels["artificial intelligence"] = { aliases = {"AI"}, Wiktionary = true, topical_categories = true, } labels["artillery"] = { display = "[[weaponry]]", topical_categories = true, } labels["artistic work"] = { display = "[[art#Noun|art]]", topical_categories = "Artistic works", } labels["asterism"] = { display = "[[uranography]]", topical_categories = "Asterisms", } labels["asteroid"] = { display = "[[astronomy]]", topical_categories = {"Asteroids", "Astronomy"} } labels["astrology"] = { aliases = {"horoscope", "zodiac"}, Wiktionary = true, topical_categories = true, } labels["astronautics"] = { aliases = {"rocketry"}, Wiktionary = true, topical_categories = true, } labels["astronomy"] = { Wiktionary = true, topical_categories = true, } labels["astrophysics"] = { Wiktionary = true, topical_categories = true, } labels["Asturian mythology"] = { display = "[[Asturian]] [[mythology]]", topical_categories = true, } labels["athletics"] = { Wiktionary = true, topical_categories = true, } labels["Australian Aboriginal mythology"] = { Wikipedia = true, topical_categories = true, } labels["Australian politics"] = { Wikipedia = "Politics of Australia", topical_categories = true, } labels["Australian rules football"] = { Wiktionary = true, topical_categories = true, } labels["autism"] = { Wiktionary = true, Wikipedia = true, topical_categories = true, } labels["auto parts"] = { display = "[[automotive]]", topical_categories = true, } labels["automotive"] = { aliases = {"automotives"}, Wiktionary = true, topical_categories = true, } labels["aviation"] = { aliases = {"air transport"}, Wiktionary = true, topical_categories = true, } labels["backgammon"] = { Wiktionary = true, topical_categories = true, } labels["bacteria"] = { display = "[[bacteriology]]", topical_categories = true, } labels["bacteriology"] = { Wiktionary = true, topical_categories = true, } labels["badminton"] = { Wiktionary = true, topical_categories = true, } labels["baking"] = { Wiktionary = "baking#Noun", topical_categories = true, } labels["ball games"] = { aliases = {"ball sports"}, display = "[[ball game]]s", topical_categories = true, } labels["ballet"] = { Wiktionary = true, topical_categories = true, } labels["ballistics"] = { Wiktionary = true, topical_categories = true, } labels["Bangladeshi politics"] = { Wikipedia = "Politics of Bangladesh", topical_categories = true, } labels["banking"] = { Wiktionary = "banking#Noun", topical_categories = true, } labels["baseball"] = { Wiktionary = true, topical_categories = true, } labels["basketball"] = { Wiktionary = true, topical_categories = true, } labels["BDSM"] = { Wiktionary = true, topical_categories = true, } labels["beekeeping"] = { aliases = {"melittology", "apiology", "apidology"}, -- could potentially be split out Wiktionary = true, topical_categories = true, } labels["beer"] = { Wiktionary = true, topical_categories = true, } labels["betting"] = { aliases = {"bet", "bets"}, display = "[[gambling#Noun|gambling]]", topical_categories = true, } labels["biblical"] = { aliases = {"Bible", "bible", "Biblical"}, Wiktionary = "Bible", topical_categories = "Bible", } labels["biblical character"] = { aliases = {"Biblical character", "biblical figure", "Biblical figure"}, display = "[[Bible|biblical]]", topical_categories = "Biblical characters", } labels["bibliography"] = { Wiktionary = true, topical_categories = true, } labels["bicycle parts"] = { aliases = {"bicycle part"}, display = "[[w:List of bicycle parts|cycling]]", topical_categories = true, } labels["billiards"] = { aliases = {"cue sports"}, Wiktionary = true, topical_categories = true, } labels["bingo"] = { Wiktionary = true, topical_categories = true, } labels["biochemistry"] = { Wiktionary = true, topical_categories = true, } labels["biology"] = { aliases = {"biological"}, Wiktionary = true, topical_categories = true, } labels["biotechnology"] = { aliases = {"biotechnological"}, Wiktionary = true, topical_categories = true, } labels["birdwatching"] = { aliases = {"birding"}, Wiktionary = "birdwatching#Noun", topical_categories = true, } labels["blacksmithing"] = { aliases = {"blacksmith"}, Wiktionary = true, topical_categories = true, } labels["blogging"] = { aliases = {"blog"}, Wiktionary = "blogging#Noun", topical_categories = "Internet", } labels["board games"] = { aliases = {"board game"}, display = "[[board game]]s", topical_categories = true, } labels["board sports"] = { Wiktionary = "boardsport", topical_categories = true, } labels["bodybuilding"] = { Wiktionary = "bodybuilding#Noun", topical_categories = true, } labels["book of the Bible"] = { aliases = {"book of the bible", "books of the Bible", "books of the bible", "Biblical book", "biblical book"}, display = "[[Bible|biblical]]", topical_categories = "Books of the Bible", } labels["bookbinding"] = { Wiktionary = true, topical_categories = true, } labels["botany"] = { Wiktionary = true, topical_categories = true, } labels["bowling"] = { Wiktionary = "bowling#Noun", topical_categories = true, } labels["bowls"] = { aliases = {"lawn bowls", "crown green bowls"}, Wiktionary = true, topical_categories = "Bowls (game)", } labels["boxing"] = { Wiktionary = "boxing#Noun", topical_categories = true, } labels["brass instruments"] = { aliases = {"brass instrument"}, display = "[[music]]", topical_categories = true, } labels["Brazilian politics"] = { Wikipedia = "Politics of Brazil", topical_categories = true, } labels["brewing"] = { Wiktionary = "brewing#Noun", topical_categories = true, } labels["bridge"] = { Wiktionary = "bridge#English:_game", topical_categories = true, } labels["broadcasting"] = { Wiktionary = "broadcasting#Noun", topical_categories = true, } labels["bryology"] = { Wiktionary = true, topical_categories = true, } labels["Buddhism"] = { Wiktionary = true, topical_categories = true, } labels["Buddhist deity"] = { aliases = {"Buddhist god", "Buddhist goddess"}, display = "[[Buddhism]]", topical_categories = "Buddhist deities", } labels["bullfighting"] = { aliases = {"bullfight"}, Wiktionary = true, topical_categories = true, } labels["business"] = { aliases = {"professional"}, Wiktionary = true, topical_categories = true, } labels["Byzantine Empire"] = { aliases = {"Byzantine"}, Wiktionary = true, topical_categories = true, } labels["calculus"] = { Wiktionary = true, topical_categories = true, } labels["calligraphy"] = { Wiktionary = true, topical_categories = true, } labels["Calvinism"] = { aliases = {"Calvinist", "Reformed Christianity", "Calvinist Church", "Reformed Church"}, Wikipedia = true, topical_categories = true, } labels["Canadian football"] = { Wiktionary = true, topical_categories = true, } labels["Canadian politics"] = { Wikipedia = "Politics of Canada", topical_categories = true, } labels["Candomblé"] = { aliases = {"candomblé"}, Wiktionary = true, topical_categories = true, } labels["canid"] = { display = "[[zoology]]", topical_categories = "Canids", } labels["canoeing"] = { aliases = {"canoe"}, Wiktionary = "canoeing#Noun", topical_categories = "Water sports", } labels["capitalism"] = { aliases = {"capitalist"}, Wiktionary = true, topical_categories = true, } labels["carbohydrate"] = { aliases = {"carbohydrates"}, display = "[[biochemistry]]", topical_categories = "Carbohydrates", } labels["carboxylic acid"] = { aliases = {"carboxylic acids"}, display = "[[organic chemistry]]", topical_categories = "Carboxylic acids", } labels["card games"] = { aliases = {"cards", "card game", "playing card"}, display = "[[card game]]s", topical_categories = true, } labels["cardiology"] = { Wiktionary = true, topical_categories = true, } labels["carpentry"] = { Wiktionary = true, topical_categories = true, } labels["cartography"] = { Wiktionary = true, topical_categories = true, } labels["cartomancy"] = { Wiktionary = true, topical_categories = true, } labels["castells"] = { Wiktionary = true, topical_categories = true, } labels["category theory"] = { Wiktionary = true, topical_categories = true, } labels["Catholicism"] = { aliases = {"catholicism", "Catholic", "catholic"}, Wiktionary = true, topical_categories = true, } labels["caving"] = { Wiktionary = "caving#Noun", topical_categories = true, } labels["cellular automata"] = { Wiktionary = true, topical_categories = true, } labels["Celtic mythology"] = { display = "[[Celtic]] [[mythology]]", topical_categories = true, } labels["ceramics"] = { Wiktionary = true, topical_categories = true, } labels["cheerleading"] = { Wiktionary = "cheerleading#Noun", topical_categories = true, } labels["chemical element"] = { display = "[[chemistry]]", topical_categories = "Chemical elements", } labels["chemical engineering"] = { Wiktionary = true, topical_categories = true, } labels["chemistry"] = { aliases = {"chemical"}, Wiktionary = true, topical_categories = true, } labels["chess"] = { Wiktionary = true, topical_categories = true, } labels["children's games"] = { aliases = {"children's game"}, display = "[[children|children's]] [[game]]s", topical_categories = true, } labels["Chilean politics"] = { Wikipedia = "Politics of Chile", topical_categories = true, } labels["Chinese astronomy"] = { display = "[[Chinese]] [[astronomy]]", topical_categories = true, } labels["Chinese calligraphy"] = { display = "[[Chinese]] [[calligraphy]]", topical_categories = "Calligraphy", } labels["Chinese constellation"] = { display = "[[Chinese]] [[astronomy]]", topical_categories = "Constellations", } labels["Chinese folk religion"] = { display = "[[Chinese]] [[folk religion]]", topical_categories = "Religion", } labels["Chinese linguistics"] = { display = "[[Chinese]] [[linguistics]]", topical_categories = "Linguistics", } labels["Chinese mythology"] = { display = "[[Chinese]] [[mythology]]", topical_categories = true, } labels["Chinese philosophy"] = { display = "[[Chinese]] [[philosophy]]", topical_categories = true, } labels["Chinese phonetics"] = { display = "[[Chinese]] [[phonetics]]", topical_categories = true, } labels["Chinese religion"] = { display = "[[Chinese]] [[religion]]", topical_categories = "Religion", } labels["Chinese star"] = { display = "[[Chinese]] [[astronomy]]", topical_categories = "Stars", } labels["Christianity"] = { aliases = {"christianity", "Christian", "christian"}, Wiktionary = true, topical_categories = true, } labels["Church of England"] = { aliases = {"C of E", "CofE"}, Wikipedia = true, topical_categories = true, } labels["Church of the East"] = { Wiktionary = true, topical_categories = true, } labels["cinematography"] = { aliases = {"filmology"}, Wiktionary = true, topical_categories = true, } labels["cladistics"] = { Wiktionary = true, topical_categories = "Taxonomy", } labels["classical mechanics"] = { Wiktionary = true, topical_categories = true, } labels["classical studies"] = { Wiktionary = true, topical_categories = true, } labels["climate change"] = { Wiktionary = true, topical_categories = true, } labels["climatology"] = { Wiktionary = true, topical_categories = true, } labels["climbing"] = { aliases = {"rock climbing"}, Wiktionary = "climbing#Noun", topical_categories = true, } labels["clinical psychology"] = { display = "[[clinical]] [[psychology]]", topical_categories = true, } labels["clothing"] = { Wiktionary = "clothing#Noun", topical_categories = true, } labels["cloud computing"] = { Wiktionary = true, topical_categories = "Computing", } labels["cockfighting"] = { aliases = {"cockfight"}, Wiktionary = true, topical_categories = true, } labels["codicology"] = { Wiktionary = true, topical_categories = true, } labels["coenzyme"] = { aliases = {"coenzymes"}, display = "[[biochemistry]]", topical_categories = "Coenzymes", } labels["coins"] = { -- Do not merge with "numismatics", as the category is different. aliases = {"coin"}, display = "[[numismatics]]", topical_categories = true, } labels["collectible card games"] = { aliases = {"trading card games", "collectible cards", "trading cards"}, Wikipedia = true, topical_categories = true, } labels["combinatorics"] = { Wiktionary = true, topical_categories = true, } labels["comedy"] = { Wiktionary = true, topical_categories = true, } labels["comics"] = { Wiktionary = true, topical_categories = true, } labels["commerce"] = { Wiktionary = true, topical_categories = true, } labels["commercial law"] = { display = "[[commercial#Adjective|commercial]] [[law]]", topical_categories = true, } labels["communication"] = { aliases = {"communications"}, Wiktionary = true, topical_categories = true, } labels["communism"] = { aliases = {"Communism", "communist"}, Wiktionary = true, topical_categories = true, } labels["compilation"] = { aliases = {"compiler"}, display = "[[software]] [[compilation]]", topical_categories = true, } labels["complex analysis"] = { Wiktionary = true, topical_categories = true, } labels["computational linguistics"] = { Wiktionary = true, topical_categories = true, } labels["computer chess"] = { Wiktionary = true, topical_categories = true, } labels["computer games"] = { aliases = {"computer game", "computer gaming"}, display = "[[computer game]]s", topical_categories = "Video games", } labels["computer graphics"] = { Wiktionary = true, topical_categories = true, } labels["computer hardware"] = { display = "[[computer]] [[hardware]]", topical_categories = true, } labels["computer languages"] = { aliases = {"computer language", "programming language", "programming languages"}, display = "[[computer language]]s", topical_categories = true, } labels["computer science"] = { aliases = {"comp sci", "CompSci", "compsci"}, Wiktionary = true, topical_categories = true, } labels["computer security"] = { Wiktionary = true, topical_categories = true, } labels["computing"] = { aliases = {"computer", "computers"}, Wiktionary = "computing#Noun", topical_categories = true, } labels["computing theory"] = { aliases = {"comptheory", "computability theory"}, display = "[[computing#Noun|computing]] [[theory]]", topical_categories = "Theory of computing", } labels["conchology"] = { Wiktionary = true, topical_categories = true, } labels["Confucianism"] = { Wiktionary = true, topical_categories = true, } labels["conlanging"] = { aliases = {"conlang", "conlanger", "constructed languages", "constructed language"}, Wiktionary = true, topical_categories = true, } labels["conservatism"] = { aliases = {"conservative"}, Wiktionary = true, topical_categories = true, } labels["conspiracy theories"] = { aliases = {"conspiracy theory", "conspiracy"}, Wiktionary = "conspiracy theory#Noun", topical_categories = true, } labels["constellation"] = { display = "[[astronomy]]", topical_categories = "Constellations", } labels["construction"] = { Wiktionary = true, topical_categories = true, } labels["control theory"] = { Wiktionary = true, topical_categories = true, } labels["cooking"] = { aliases = {"culinary", "cuisine", "cookery", "gastronomy"}, Wiktionary = "cooking#Noun", topical_categories = true, } labels["cookware"] = { aliases = {"bakeware"}, display = "[[cooking#Noun|cooking]]", topical_categories = "Cookware and bakeware", } labels["Coptic Orthodoxy"] = { aliases = {"Coptic Orthodox", "Coptic Orthodox Church"}, Wikipedia = true, topical_categories = true, } labels["copyright"] = { aliases = {"copyright law", "intellectual property", "intellectual property law", "IP law"}, display = "[[copyright]] [[law]]", topical_categories = true, } labels["copyright license"] = { aliases = {"copyright licenses", "license", "copyright licence", "copyright licences", "licence"}, display = "[[w:Copyright license|copyright law]]", Wikipedia = true, topical_categories = "Copyright licenses", } labels["cosmetics"] = { aliases = {"cosmetology"}, Wiktionary = true, topical_categories = true, } labels["cosmology"] = { Wiktionary = true, topical_categories = true, } labels["creationism"] = { aliases = {"baraminology"}, Wiktionary = "creationism#English", topical_categories = true, } labels["cribbage"] = { Wiktionary = true, topical_categories = true, } labels["cricket"] = { Wiktionary = true, topical_categories = true, } labels["crime"] = { aliases = {"criminal"}, Wiktionary = true, topical_categories = true, } labels["criminal law"] = { Wiktionary = true, topical_categories = true, } labels["criminology"] = { Wiktionary = true, topical_categories = true, } labels["crochet"] = { aliases = {"crocheting"}, Wiktionary = true, topical_categories = true, } labels["croquet"] = { Wiktionary = true, topical_categories = true, } labels["crosswording"] = { aliases = {"crosswords", "cruciverbalism", "cryptic crosswords", "crossword puzzles"}, Wiktionary = true, topical_categories = true, } labels["cryptocurrencies"] = { aliases = {"cryptocurrency", "crypto"}, Wiktionary = "cryptocurrency", topical_categories = "Cryptocurrency", } labels["cryptography"] = { aliases = {"cryptographic"}, Wiktionary = true, topical_categories = true, } labels["cryptozoology"] = { Wiktionary = true, topical_categories = true, } labels["crystallography"] = { Wiktionary = true, topical_categories = true, } labels["cultural anthropology"] = { Wiktionary = true, topical_categories = true, } labels["curling"] = { Wiktionary = true, topical_categories = true, } labels["currencies"] = { -- Do not merge with "numismatics", as the category is different. aliases = {"currency"}, display = "[[numismatics]]", topical_categories = true, } labels["cybernetics"] = { aliases = {"cybernetic"}, Wiktionary = true, topical_categories = true, } labels["cybersecurity"] = { Wiktionary = true, topical_categories = "Networking", } labels["cycle racing"] = { aliases = {"cycle sport"}, Wikipedia = "cycle sport", topical_categories = true, } labels["cycling"] = { aliases = {"bicycling", "bicycle", "bike"}, Wiktionary = "cycling#Noun", topical_categories = true, } labels["cytology"] = { aliases = {"cell biology", "cellular biology"}, Wiktionary = true, topical_categories = true, } labels["dance"] = { aliases = {"dancing"}, Wiktionary = "dance#Noun", topical_categories = true, } labels["dances"] = { display = "[[dance#Noun|dance]]", topical_categories = true, } labels["darts"] = { Wiktionary = true, topical_categories = true, } labels["data management"] = { Wiktionary = true, topical_categories = true, } labels["data modeling"] = { Wiktionary = true, topical_categories = true, } labels["databases"] = { aliases = {"database"}, display = "[[database]]s", topical_categories = true, } labels["decision theory"] = { Wiktionary = true, topical_categories = true, } labels["deltiology"] = { Wiktionary = true, topical_categories = true, } labels["demography"] = { aliases = {"demographics"}, Wiktionary = true, topical_categories = true, } labels["demonym"] = { aliases = {"demonyms"}, Wiktionary = true, topical_categories = "Demonyms", } labels["demoscene"] = { topical_categories = true, } labels["dentistry"] = { aliases = {"dentist"}, Wiktionary = true, topical_categories = true, } labels["dermatology"] = { Wiktionary = true, topical_categories = true, } labels["design"] = { Wiktionary = "design#Noun", topical_categories = true, } labels["dice games"] = { aliases = {"dice"}, display = "[[dice game]]s", topical_categories = true, } labels["dictation"] = { Wiktionary = true, topical_categories = true, } labels["differential geometry"] = { Wiktionary = true, topical_categories = true, } labels["diplomacy"] = { Wiktionary = true, topical_categories = true, } labels["disc golf"] = { Wiktionary = true, topical_categories = true, } labels["disease"] = { aliases = {"diseases"}, display = "[[pathology]]", topical_categories = "Diseases", } labels["divination"] = { Wiktionary = true, topical_categories = true, } labels["diving"] = { Wiktionary = "diving#Noun", topical_categories = true, } labels["dominoes"] = { Wiktionary = true, topical_categories = true, } labels["dou dizhu"] = { Wikipedia = true, topical_categories = true, } labels["drama"] = { Wiktionary = true, topical_categories = true, } labels["dressage"] = { Wiktionary = true, topical_categories = true, } labels["E number"] = { display = "[[food]] [[manufacture]]", plain_categories = "European food additive numbers", } labels["early Christianity"] = { aliases = {"early christianity", "Early Christianity", "early Church", "early church", "Early Church", "the early Church", "the early church", "the Early Church"}, Wikipedia = true, topical_categories = true, } labels["earth science"] = { Wiktionary = true, topical_categories = "Earth sciences", } labels["Eastern Catholicism"] = { aliases = {"Eastern Catholic"}, Wikipedia = true, topical_categories = true, } labels["Eastern Christianity"] = { aliases = {"Eastern christianity", "Eastern Christian", "Eastern christian", "Eastern Church", "Eastern church"}, Wikipedia = true, topical_categories = true, } labels["Eastern Orthodoxy"] = { aliases = {"Eastern Orthodox", "Eastern Orthodox Church"}, Wikipedia = true, topical_categories = true, } labels["eating disorders"] = { aliases = {"eating disorder"}, display = "[[eating disorder]]s", topical_categories = true, } labels["ecology"] = { Wiktionary = true, topical_categories = true, } labels["economics"] = { Wiktionary = true, topical_categories = true, } labels["education"] = { Wiktionary = true, topical_categories = true, } labels["Egyptian god"] = { aliases = {"Egyptian goddess", "Egyptian deity"}, display = "[[Egyptian]] [[mythology]]", topical_categories = "Egyptian deities", } labels["Egyptian mythology"] = { display = "[[Egyptian]] [[mythology]]", topical_categories = true, } labels["Egyptology"] = { Wiktionary = true, aliases = {"Ancient Egypt"}, topical_categories = "Ancient Egypt", } labels["electrencephalography"] = { Wiktionary = true, topical_categories = true, } labels["electrical engineering"] = { Wiktionary = true, topical_categories = true, } labels["electricity"] = { aliases = {"electrical"}, Wiktionary = true, topical_categories = true, } labels["electrodynamics"] = { Wiktionary = true, topical_categories = true, } labels["electromagnetism"] = { Wiktionary = true, topical_categories = true, } labels["electronics"] = { Wiktionary = true, topical_categories = true, } labels["element symbol"] = { -- Compare "systematic element symbol" and "obsolete element symbol". display = "[[chemistry]]", plain_categories = "Symbols for chemical elements", } labels["embryology"] = { Wiktionary = true, topical_categories = true, } labels["emergency medicine"] = { Wiktionary = true, topical_categories = true, } labels["emergency services"] = { Wiktionary = true, topical_categories = true, } labels["endocrinology"] = { Wiktionary = true, topical_categories = true, } labels["engineering"] = { Wiktionary = "engineering#Noun", topical_categories = true, } labels["enterprise engineering"] = { Wiktionary = true, topical_categories = true, } labels["entomology"] = { Wiktionary = true, topical_categories = true, } labels["enzyme"] = { aliases = {"enzymes"}, display = "[[biochemistry]]", topical_categories = "Enzymes", } labels["epidemiology"] = { Wiktionary = true, topical_categories = true, } labels["epigraphy"] = { Wiktionary = true, topical_categories = true, } labels["epistemology"] = { Wiktionary = true, topical_categories = true, } labels["equestrianism"] = { aliases = {"equestrian", "horses", "horsemanship"}, Wiktionary = true, topical_categories = true, } labels["espionage"] = { Wiktionary = true, topical_categories = true, } labels["ethics"] = { aliases = {"ethical"}, Wiktionary = true, topical_categories = true, } labels["ethnography"] = { Wiktionary = true, topical_categories = true, } labels["ethology"] = { Wiktionary = true, topical_categories = true, } labels["EU politics"] = { aliases = {"European Union politics"}, Wikipedia = "Politics of the European Union", topical_categories = true, } labels["European folklore"] = { display = "[[European]] [[folklore]]", topical_categories = true, } labels["European politics"] = { Wikipedia = "Politics of Europe", topical_categories = true, } labels["European Union"] = { aliases = {"EU"}, Wiktionary = true, topical_categories = true, } labels["Evangelicalism"] = { aliases = {"Evangelical", "evangelical", "Evangelical Christianity", "Evangelical Christian", "Evangelical Protestantism", "Evangelical Protestant"}, Wikipedia = true, topical_categories = true, } labels["evolutionary theory"] = { aliases = {"evolutionary biology"}, Wiktionary = true, topical_categories = true, } labels["exercise"] = { Wiktionary = true, topical_categories = true, } labels["eye color"] = { aliases = {"eye colour"}, display = "[[eye]] [[color]]", topical_categories = "Eye colors", } labels["eyewear"] = { Wiktionary = true, topical_categories = true, } labels["fairy tale"] = { -- names of fairy tales aliases = {"fairytale", "fairy-tale"}, Wiktionary = true, topical_categories = true, } labels["fairy tales"] = { -- relating to fairy tales aliases = {"fairytales", "fairy-tales"}, Wiktionary = true, topical_categories = true, } labels["falconry"] = { Wiktionary = true, topical_categories = true, } labels["fantasy"] = { Wiktionary = true, topical_categories = true, } labels["farriery"] = { Wiktionary = true, topical_categories = true, } labels["fascism"] = { Wiktionary = true, topical_categories = true, } labels["fashion"] = { Wiktionary = true, topical_categories = true, } labels["fatty acid"] = { display = "[[organic chemistry]]", topical_categories = "Fatty acids", } labels["felid"] = { aliases = {"cat"}, display = "[[zoology]]", topical_categories = "Felids", } labels["feminism"] = { Wiktionary = true, topical_categories = true, } labels["fencing"] = { Wiktionary = "fencing#Noun", topical_categories = true, } labels["feudalism"] = { Wiktionary = true, topical_categories = true, } labels["fiction"] = { aliases = {"fictional"}, Wiktionary = true, topical_categories = true, } labels["fictional character"] = { display = "[[fiction]]", topical_categories = "Fictional characters", } labels["field hockey"] = { Wiktionary = true, topical_categories = true, } labels["figure of speech"] = { display = "[[rhetoric]]", topical_categories = "Figures of speech", } labels["figure skating"] = { Wiktionary = true, topical_categories = true, } labels["file format"] = { Wiktionary = true, topical_categories = "File formats", } labels["film"] = { Wiktionary = "film#Noun", topical_categories = true, } labels["film genre"] = { aliases = {"cinema"}, display = "[[film#Noun|film]]", topical_categories = "Film genres", } labels["finance"] = { Wiktionary = "finance#Noun", topical_categories = true, } labels["Finnic mythology"] = { aliases = {"Finnish mythology"}, display = "[[Finnic]] [[mythology]]", topical_categories = true, } labels["firearms"] = { aliases = {"firearm"}, display = "[[firearm]]s", topical_categories = true, } labels["firefighting"] = { Wiktionary = true, topical_categories = true, } labels["fish"] = { display = "[[zoology]]", topical_categories = true, } labels["pangingisda"] = { aliases = {"angling", "fishing"}, --TLCHANGE Wiktionary = true, --TLCHANGE "fishing#Noun", topical_categories = true, } labels["flamenco"] = { Wiktionary = true, topical_categories = true, } labels["fluid dynamics"] = { Wiktionary = true, topical_categories = true, } labels["fluid mechanics"] = { Wiktionary = true, topical_categories = "Mechanics", } labels["folklore"] = { Wiktionary = true, topical_categories = true, } labels["footwear"] = { Wiktionary = true, topical_categories = true, } labels["forestry"] = { Wiktionary = true, topical_categories = true, } labels["Forteana"] = { Wiktionary = true, topical_categories = true, } labels["Freemasonry"] = { aliases = {"freemasonry"}, Wiktionary = true, topical_categories = true, } labels["French politics"] = { Wikipedia = "Politics of France", topical_categories = true, } labels["functional analysis"] = { Wiktionary = true, topical_categories = true, } labels["functional group prefix"] = { display = "[[organic chemistry]]", topical_categories = "Functional group prefixes", } labels["functional group suffix"] = { display = "[[organic chemistry]]", topical_categories = "Functional group suffixes", } labels["functional programming"] = { Wiktionary = true, topical_categories = "Programming", } labels["furniture"] = { Wiktionary = true, topical_categories = true, } labels["furry fandom"] = { aliases = {"furry", "furry community", "fursuit", "kemonā", "kemona", "kemono", "kemonomimi"}, display = "[[furry#Noun|furry]] [[fandom]]", topical_categories = true, } labels["fuzzy logic"] = { Wiktionary = true, topical_categories = true, } labels["Gaelic football"] = { Wiktionary = true, topical_categories = true, } labels["galaxy"] = { display = "[[astronomy]]", topical_categories = "Galaxies", } labels["gambling"] = { Wiktionary = "gambling#Noun", topical_categories = true, } labels["game theory"] = { Wiktionary = true, topical_categories = true, } labels["games"] = { aliases = {"game"}, Wiktionary = "game#Noun", topical_categories = true, } labels["gaming"] = { Wiktionary = "gaming#Noun", topical_categories = true, } labels["gender critical"] = { aliases = {"gender-critical", "gender critical feminism", "gender-critical feminism", "GC", "GCF", "trans-exclusionary radical feminism", "TERF", "TERFism"}, Wiktionary = "gender-critical#Adjective", Wikipedia = "Gender-critical feminism", topical_categories = "Gender-critical feminism", } labels["genealogy"] = { Wiktionary = true, topical_categories = true, } labels["general semantics"] = { Wiktionary = true, topical_categories = true, } labels["genetic disorder"] = { display = "[[medical]] [[genetics]]", topical_categories = "Genetic disorders", } labels["genetics"] = { Wiktionary = true, topical_categories = true, } labels["geography"] = { Wiktionary = true, topical_categories = true, } labels["geological period"] = { Wikipedia = true, topical_categories = "Geological periods", } labels["geology"] = { Wiktionary = true, topical_categories = true, } labels["geometry"] = { aliases = {"geometric", "geometrical"}, Wiktionary = true, topical_categories = true, } labels["geomorphology"] = { Wiktionary = true, topical_categories = true, } labels["geopolitics"] = { Wiktionary = true, topical_categories = true, } labels["German politics"] = { Wikipedia = "Politics of Germany", topical_categories = true, } labels["Germanic paganism"] = { aliases = {"Asatru", "Ásatrú", "Germanic neopaganism", "Germanic Paganism", "Heathenry", "heathenry", "Norse neopaganism", "Norse paganism"}, display = "[[Germanic#Adjective|Germanic]] [[paganism]]", topical_categories = true, } labels["gerontology"] = { Wiktionary = true, topical_categories = true, } labels["gladiatorial combat"] = { Wikipedia = true, topical_categories = true, } labels["glassblowing"] = { Wiktionary = true, topical_categories = true, } labels["Gnosticism"] = { aliases = {"gnosticism"}, Wiktionary = true, topical_categories = true, } labels["go"] = { aliases = {"Go", "game of go", "game of Go"}, display = "{{l|en|go|id=game}}", topical_categories = true, } labels["golf"] = { aliases = {"golfing"}, Wiktionary = true, topical_categories = true, } labels["government"] = { Wiktionary = true, topical_categories = true, } labels["balarila"] = { --TLCHANGE aliases = {"grammar", "gramatika", "grammatical"}, --TLCHANGE Wiktionary = true, topical_categories = true, } labels["grammatical case"] = { display = "[[grammar]]", topical_categories = "Grammatical cases", } labels["grammatical mood"] = { display = "[[grammar]]", topical_categories = "Grammatical moods", } labels["graph theory"] = { Wiktionary = true, topical_categories = true, } labels["graphic design"] = { Wiktionary = true, topical_categories = true, } labels["graphical user interface"] = { aliases = {"GUI"}, Wiktionary = true, topical_categories = true, } labels["Greek god"] = { aliases = {"Greek goddess", "Greek deity"}, display = "[[Greek]] [[mythology]]", topical_categories = "Greek deities", } labels["Greek mythology"] = { display = "[[Greek]] [[mythology]]", topical_categories = true, } labels["Greek Orthodoxy"] = { aliases = {"Greek Orthodox", "Greek Orthodox Church"}, Wikipedia = true, topical_categories = true, } labels["group theory"] = { Wiktionary = true, topical_categories = true, } labels["gun mechanisms"] = { aliases = {"firearm mechanism", "firearm mechanisms", "gun mechanism"}, display = "[[firearm]]s", topical_categories = true, } labels["gun sports"] = { aliases = {"shooting sports"}, display = "[[gun]] [[sport]]s", topical_categories = true, } labels["gymnastics"] = { Wiktionary = true, Wikipedia = true, topical_categories = true, } labels["gynaecology"] = { aliases = {"gynecology"}, Wiktionary = true, topical_categories = true, } labels["hair color"] = { aliases = {"hair colour"}, display = "[[hair]] [[color]]", topical_categories = "Hair colors", } labels["hairdressing"] = { Wiktionary = true, topical_categories = true, } labels["hanafuda"] = { Wikipedia = true, topical_categories = true, } labels["hand games"] = { aliases = {"hand game"}, display = "[[hand]] [[game]]s", topical_categories = true, } labels["handball"] = { Wiktionary = true, topical_categories = true, } labels["Hawaiian mythology"] = { display = "[[Hawaiian]] [[mythology]]", topical_categories = true, } labels["headwear"] = { display = "[[clothing#Noun|clothing]]", topical_categories = true, } labels["healthcare"] = { Wiktionary = true, topical_categories = true, } labels["helminthology"] = { Wiktionary = true, topical_categories = true, } labels["hematology"] = { aliases = {"haematology"}, Wiktionary = true, topical_categories = true, } labels["heraldic charge"] = { aliases = {"heraldiccharge"}, display = "[[heraldry]]", topical_categories = "Heraldic charges", } labels["heraldry"] = { Wiktionary = true, topical_categories = true, } labels["herbalism"] = { Wiktionary = true, topical_categories = true, } labels["herpetology"] = { Wiktionary = true, topical_categories = true, } labels["Hindu god"] = { display = "[[Hinduism]]", topical_categories = "Hindu deities", } labels["Hinduism"] = { Wiktionary = true, topical_categories = true, } labels["Hindutva"] = { Wiktionary = true, topical_categories = true, } labels["historical currencies"] = { aliases = {"historical currency"}, display = "[[numismatics]]", sense_categories = "historical", topical_categories = "Historical currencies", } labels["historical linguistics"] = { Wiktionary = true, topical_categories = "Linguistics", } labels["historical period"] = { aliases = {"historical periods"}, display = "[[history]]", topical_categories = "Historical periods", } labels["historiography"] = { Wiktionary = true, topical_categories = true, } labels["history"] = { Wiktionary = true, topical_categories = true, } labels["hockey"] = { display = "[[field hockey]] or [[ice hockey]]", topical_categories = {"Field hockey", "Ice hockey"}, } labels["homeopathy"] = { Wiktionary = true, topical_categories = true, } labels["Hong Kong politics"] = { aliases = {"HK politics"}, Wikipedia = "Politics of Hong Kong", topical_categories = true, } labels["hormone"] = { display = "[[biochemistry]]", topical_categories = "Hormones", } labels["horse color"] = { aliases = {"horse colour"}, display = "[[horse]] [[color]]", topical_categories = "Horse colors", } labels["horse racing"] = { Wiktionary = true, topical_categories = true, } labels["horticulture"] = { aliases = {"gardening"}, Wiktionary = true, topical_categories = true, } labels["HTML"] = { Wiktionary = "Hypertext Markup Language", topical_categories = true, } labels["human resources"] = { aliases = {"HR"}, Wiktionary = true, topical_categories = true, } labels["humanities"] = { Wiktionary = true, topical_categories = true, } labels["hunting"] = { Wiktionary = "hunting#Noun", topical_categories = true, } labels["hurling"] = { Wiktionary = "hurling#Noun", topical_categories = true, } labels["hydroacoustics"] = { Wikipedia = true, topical_categories = true, } labels["hydrocarbon chain prefix"] = { display = "[[organic chemistry]]", topical_categories = "Hydrocarbon chain prefixes", } labels["hydrocarbon chain suffix"] = { display = "[[organic chemistry]]", topical_categories = "Hydrocarbon chain suffixes", } labels["hydrology"] = { Wiktionary = true, topical_categories = true, } labels["ice hockey"] = { Wiktionary = true, topical_categories = true, } labels["ichthyology"] = { Wiktionary = true, topical_categories = true, } labels["idol fandom"] = { aliases = {"idol"}, display = "[[idol]] [[fandom]]", topical_categories = true, } labels["immunochemistry"] = { Wiktionary = true, topical_categories = true, } labels["immunology"] = { Wiktionary = true, topical_categories = true, } labels["import/export"] = { aliases = {"import", "export"}, display = "[[import#Noun|import]]/[[export#Noun|export]]", topical_categories = true, } labels["incoterm"] = { display = "[[Incoterm]]", topical_categories = "Incoterms", } labels["Indian politics"] = { Wikipedia = "Politics of India", topical_categories = true, } labels["Indo-European studies"] = { aliases = {"indo-european studies"}, Wiktionary = true, topical_categories = true, } labels["Indonesian politics"] = { aliases = {"Indonesia politics"}, Wikipedia = "Politics of Indonesia", topical_categories = true, } labels["information science"] = { Wiktionary = true, topical_categories = true, } labels["information technology"] = { aliases = {"IT"}, Wiktionary = true, topical_categories = "Computing", } labels["information theory"] = { Wiktionary = true, topical_categories = true, } labels["inheritance law"] = { Wiktionary = true, topical_categories = true, } labels["inorganic chemistry"] = { Wiktionary = true, topical_categories = true, } labels["inorganic compound"] = { display = "[[inorganic chemistry]]", topical_categories = "Inorganic compounds", } labels["insurance"] = { Wiktionary = true, topical_categories = true, } labels["international law"] = { Wiktionary = true, topical_categories = true, } labels["international relations"] = { Wiktionary = true, topical_categories = true, } labels["international standards"] = { aliases = {"international standard", "ISO", "International Organization for Standardization", "International Organisation for Standardisation"}, Wikipedia = "International standard", } labels["Internet"] = { aliases = {"internet", "online"}, Wiktionary = true, topical_categories = true, } labels["Iranian mythology"] = { display = "[[Iranian]] [[mythology]]", topical_categories = true, } labels["Irish mythology"] = { display = "[[Irish]] [[mythology]]", topical_categories = true, } labels["Irish politics"] = { Wikipedia = "Politics of the Republic of Ireland", topical_categories = true, } labels["Islam"] = { aliases = {"islam", "Islamic", "Muslim"}, Wikipedia = true, topical_categories = true, } labels["Islamic finance"] = { aliases = {"Islamic banking", "Muslim finance", "Muslim banking", "Sharia-compliant finance"}, Wikipedia = true, topical_categories = true, } labels["Islamic law"] = { aliases = {"Islamic legal", "Sharia"}, Wikipedia = true, topical_categories = true, } labels["isotope"] = { display = "[[physics]]", topical_categories = "Isotopes", } labels["Jainism"] = { Wiktionary = true, Wikipedia = true, topical_categories = true, } labels["Japanese fiction"] = { -- aliases = {"anime", "manga", "anime and manga", "manga and anime"}, display = "[[Japanese#Adjective|Japanese]] [[fiction]]", Wikipedia = true, topical_categories = true, } labels["Japanese god"] = { display = "[[Japanese#Adjective|Japanese]] [[mythology]]", topical_categories = "Japanese deities", } labels["Japanese mythology"] = { display = "[[Japanese#Adjective|Japanese]] [[mythology]]", topical_categories = true, } labels["Japanese politics"] = { Wikipedia = "Politics of Japan", topical_categories = true, } labels["Japanese pornography"] = { aliases = {"Japanese porn", "hentai", "adult anime", "erotic anime", "ero anime"}, display = "[[Japanese#Adjective|Japanese]] [[pornography]]", Wikipedia = true, topical_categories = true, } labels["Java programming language"] = { aliases = {"JavaPL", "Java PL"}, Wikipedia = "Java (programming language)", topical_categories = true, } labels["jazz"] = { Wiktionary = "jazz#Noun", topical_categories = true, } labels["jewelry"] = { aliases = {"jewellery"}, Wiktionary = true, topical_categories = true, } labels["Jewish law"] = { aliases = {"Halacha", "Halachah", "Halakha", "Halakhah", "halacha", "halachah", "halakha", "halakhah", "Jewish Law", "jewish law"}, display = "[[Jewish]] [[law]]", topical_categories = true, } labels["journalism"] = { Wiktionary = true, topical_categories = "Mass media", } labels["Judaism"] = { Wiktionary = true, topical_categories = true, } labels["judo"] = { Wiktionary = true, topical_categories = true, } labels["juggling"] = { Wiktionary = "juggling#Noun", topical_categories = true, } labels["karuta"] = { Wiktionary = true, topical_categories = true, } labels["kendo"] = { Wiktionary = true, topical_categories = true, } labels["knitting"] = { Wiktionary = "knitting#Noun", topical_categories = true, } labels["Korean mythology"] = { display = "[[Korean#Adjective|Korean]] [[mythology]]", topical_categories = true, } labels["labour"] = { aliases = {"labor", "labour movement", "labor movement"}, Wiktionary = true, topical_categories = true, } labels["labour law"] = { aliases = {"labor law"}, Wiktionary = true, topical_categories = "Law", } labels["lacrosse"] = { Wiktionary = true, topical_categories = true, } labels["landforms"] = { display = "[[geography]]", topical_categories = true, } labels["batas"] = { --TLCHANGE aliases = {"legal", "law"}, --TLCHANGE Wiktionary = "batas#Tagalog",--TLCHANGE topical_categories = true, } labels["kapulisan"] = { --TLCHANGE aliases = {"police", "policing", "law enforcement"}, --TLCHANGE Wiktionary = true, topical_categories = true, } labels["leatherworking"] = { Wiktionary = true, topical_categories = true, } labels["leftism"] = { aliases = {"leftist"}, Wiktionary = true, topical_categories = true, } labels["letterpress"] = { aliases = {"metal type", "metal typesetting"}, display = "[[letterpress]] [[typography]]", topical_categories = "Typography", } labels["leksikograpiya"] = {--TLCHANGE aliases = {"lexicography"}, --TLCHANGE Wiktionary = true, topical_categories = true, } labels["LGBTQ"] = { aliases = {"LGBT", "LGBT+", "LGBT*", "LGBTQ+", "LGBTQ*", "LGBTQIA", "LGBTQIA+", "LGBTQIA*", "queer"}, Wiktionary = true, topical_categories = true, } labels["liberalism"] = { aliases = {"liberal"}, Wiktionary = true, topical_categories = true, } labels["library science"] = { Wiktionary = true, topical_categories = true, } labels["lichenology"] = { Wiktionary = true, topical_categories = true, } labels["limnology"] = { Wiktionary = true, topical_categories = "Ecology", } labels["linear algebra"] = { aliases = {"vector algebra"}, Wiktionary = true, topical_categories = true, } labels["linguistic morphology"] = { display = "[[linguistic]] [[morphology]]", topical_categories = true, } labels["linguistics"] = { aliases = {"linguistic", "philology"}, Wiktionary = true, topical_categories = true, } labels["lipid"] = { aliases = {"lipids"}, display = "[[biochemistry]]", topical_categories = "Lipids", } labels["literature"] = { Wiktionary = true, topical_categories = true, } labels["logic"] = { Wiktionary = true, topical_categories = true, } labels["logical fallacy"] = { aliases = {"fallacies"}, display = "[[rhetoric]]", topical_categories = "Logical fallacies", } labels["logistics"] = { Wiktionary = true, topical_categories = true, } labels["luge"] = { Wiktionary = true, topical_categories = true, } labels["Lutheranism"] = { aliases = {"Lutheran", "Lutheranist", "Lutheran Church"}, Wikipedia = true, topical_categories = true, } labels["lutherie"] = { Wiktionary = true, topical_categories = true, } labels["machine learning"] = { aliases = {"ML"}, Wiktionary = true, topical_categories = true, } labels["machining"] = { Wiktionary = "machining#Noun", topical_categories = true, } labels["macroeconomics"] = { Wiktionary = true, topical_categories = "Economics", } labels["mahjong"] = { Wiktionary = true, topical_categories = true, } labels["malacology"] = { Wiktionary = true, topical_categories = true, } labels["Malaysian politics"] = { aliases = {"Malaysia politics"}, Wikipedia = "Politics of Malaysia", topical_categories = true, } labels["mammalogy"] = { Wiktionary = true, topical_categories = true, } labels["management"] = { Wiktionary = true, topical_categories = true, } labels["manga"] = { aliases = {"Japanese comics"}, Wiktionary = true, topical_categories = "Japanese fiction", } labels["manhua"] = { aliases = {"Chinese comics"}, Wiktionary = true, topical_categories = "Chinese fiction", } labels["manhwa"] = { aliases = {"Korean comics"}, Wiktionary = true, topical_categories = "Korean fiction", } labels["Manichaeism"] = { Wiktionary = true, topical_categories = true, } labels["manufacturing"] = { Wiktionary = "manufacturing#Noun", topical_categories = true, } labels["Maoism"] = { aliases = {"Maoist"}, Wiktionary = true, topical_categories = true, } labels["marching"] = { Wiktionary = "marching#Noun", topical_categories = true, } labels["marine biology"] = { aliases = {"coral science"}, Wiktionary = true, topical_categories = true, } labels["marketing"] = { Wiktionary = "marketing#Noun", topical_categories = true, } labels["martial arts"] = { Wiktionary = true, topical_categories = true, } labels["Marxism"] = { aliases = {"Marxist"}, Wiktionary = true, topical_categories = true, } labels["masonry"] = { Wiktionary = true, topical_categories = true, } labels["massage"] = { Wiktionary = true, topical_categories = true, } labels["materials science"] = { Wiktionary = true, topical_categories = true, } labels["mathematical analysis"] = { aliases = {"analysis"}, Wiktionary = true, topical_categories = true, } labels["mathematics"] = { aliases = {"math", "maths"}, Wiktionary = true, topical_categories = true, } labels["measure theory"] = { Wiktionary = true, topical_categories = true, } labels["mechanical engineering"] = { Wiktionary = true, topical_categories = true, } labels["mechanics"] = { Wiktionary = true, topical_categories = true, } labels["media"] = { Wiktionary = true, topical_categories = true, } labels["mediaeval folklore"] = { aliases = {"medieval folklore"}, display = "[[mediaeval]] [[folklore]]", topical_categories = "European folklore", } labels["medical genetics"] = { display = "[[medical]] [[genetics]]", topical_categories = true, } labels["medical sign"] = { aliases = {"medical symptoms", "symptom", "symptoms"}, display = "[[medicine]]", topical_categories = "Medical signs and symptoms", } labels["medisina"] = { --TLCHANGE aliases = {"medical", "medicine"}, --TLCHANGE Wiktionary = true, topical_categories = true, } labels["Meitei god"] = { aliases = {"Meitei goddess", "Meitei deity"}, display = "[[Meitei]] [[mythology]]", topical_categories = "Meitei deities", } labels["mental health"] = { Wiktionary = true, topical_categories = true, } labels["Mesopotamian god"] = { aliases = {"Mesopotamian goddess", "Mesopotamian diety"}, display = "[[Mesopotamian]] [[mythology]]", topical_categories = "Mesopotamian deities", } labels["Mesopotamian mythology"] = { display = "[[Mesopotamian]] [[mythology]]", topical_categories = true, } labels["metadata"] = { Wiktionary = true, topical_categories = "Data management", } labels["metallurgy"] = { Wiktionary = true, topical_categories = true, } labels["metalworking"] = { Wiktionary = true, topical_categories = true, } labels["metamaterial"] = { display = "[[physics]]", topical_categories = "Metamaterials", } labels["metaphysics"] = { Wiktionary = true, topical_categories = true, } labels["meteorolohiya"] = { --TLCHANGE aliases = {"meteorology"}, --TLCHANGE display = "[[meteorolohiya]]", --TLCHANGE "[[meteorology]]", topical_categories = true, --TLCHANGE "Meteorology", } labels["Methodism"] = { aliases = {"Methodist", "methodism", "methodist"}, Wiktionary = true, topical_categories = true, } labels["metrology"] = { Wiktionary = true, topical_categories = true, } labels["Mexican politics"] = { aliases = {"Mexico politics"}, Wikipedia = "Politics of Mexico", topical_categories = true, } labels["microbiology"] = { Wiktionary = true, topical_categories = true, } labels["microelectronics"] = { Wiktionary = true, topical_categories = true, } labels["micronationalism"] = { aliases = {"micronation", "micronations"}, Wiktionary = true, topical_categories = true, } labels["microscopy"] = { Wiktionary = true, topical_categories = true, } labels["military"] = { aliases = {"army"}, Wiktionary = true, topical_categories = true, } labels["military ranks"] = { aliases = {"military rank"}, display = "[[military]]", topical_categories = true, } labels["military unit"] = { display = "[[military]]", topical_categories = "Military units", } labels["milling"] = { Wiktionary = true, topical_categories = true, } labels["Minecraft"] = { display = "''[[Minecraft]]''", topical_categories = true, } labels["mineral"] = { display = "[[mineralogy]]", topical_categories = "Minerals", } labels["mineralogy"] = { Wiktionary = true, topical_categories = true, } labels["mining"] = { Wiktionary = "mining#Noun", topical_categories = true, } labels["mobile phones"] = { aliases = {"cell phone", "cell phones", "mobile phone", "mobile telephony", "smartphone", "smartphones", "mobile"}, display = "[[mobile telephone|mobile telephony]]", topical_categories = true, } labels["molecular biology"] = { Wiktionary = true, topical_categories = true, } labels["monarkiya"] = { --TLCHANGE aliases = {"monarchy"}, --TLCHANGE Wiktionary = true, topical_categories = true, } labels["pera"] = { --TLCHANGE aliases = {"money"}, --TLCHANGE Wiktionary = true, topical_categories = true, } labels["Mormonism"] = { Wiktionary = true, topical_categories = true, } labels["motor racing"] = { -- There are other types of racing, but 99% of the time "racing" on its own refers to motorsports. aliases = {"motor sport", "motorsport", "motorsports", "racing"}, Wiktionary = true, topical_categories = true, } labels["motorcycling"] = { aliases = {"motorcycle", "motorcycles", "motorbike"}, Wiktionary = "motorcycling#Noun", topical_categories = "Motorcycles", } labels["multiplicity"] = { aliases = {"plurality", "polypsychism", "dissociative identity disorder", "DID"}, display = "{{l|en|multiplicity|id=multiple personalities}}", topical_categories = "Multiplicity (psychology)", } labels["muscle"] = { aliases = {"muscles"}, display = "[[anatomy]]", topical_categories = "Muscles", } labels["mushroom"] = { aliases = {"mushrooms"}, display = "[[mycology]]", topical_categories = "Mushrooms", } labels["musika"] = { --TLCHANGE aliases = {"music", "musical"}, --TLCHANGE Wiktionary = true, topical_categories = true, } labels["music genre"] = { display = "[[music]]", topical_categories = "Musical genres", } labels["music industry"] = { Wikipedia = true, topical_categories = true, } labels["musical instruments"] = { aliases = {"musical instrument"}, display = "[[music]]", topical_categories = true, } labels["musician"] = { display = "[[music]]", topical_categories = "Musicians", } labels["musicology"] = { Wiktionary = true, topical_categories = "Music", } labels["mycology"] = { Wiktionary = true, topical_categories = true, } labels["mysticism"] = { Wiktionary = true, topical_categories = true, } labels["mythological creature"] = { aliases = {"mythological creatures"}, display = "[[mythology]]", topical_categories = "Mythological creatures", } labels["mythology"] = { Wiktionary = true, topical_categories = true, } labels["nanotechnology"] = { Wiktionary = true, topical_categories = true, } labels["narratology"] = { Wiktionary = true, topical_categories = true, } labels["nautical"] = { Wiktionary = true, topical_categories = true, } labels["Navajo mythology"] = { display = "[[Navajo]] [[mythology]]", topical_categories = true, } labels["navigation"] = { Wiktionary = true, topical_categories = true, } labels["Nazism"] = { -- see also Neo-Nazism aliases = {"nazism", "Nazi", "nazi", "Nazis", "nazis"}, Wikipedia = true, topical_categories = true, } labels["nematology"] = { Wiktionary = true, topical_categories = "Zoology", } labels["neo-Nazism"] = { -- Often used to indicate Nazi-used jargon; compare "white supremacist ideology" aliases = {"Neo-Nazism", "Neo-nazism", "neo-nazism", "Neo-Nazi", "Neo-nazi", "neo-Nazi", "neo-nazi", "Neo-Nazis", "Neo-nazis", "neo-Nazis", "neo-nazis", "NeoNazism", "Neonazism", "neoNazism", "neonazism", "NeoNazi", "Neonazi", "neoNazi", "neonazi", "NeoNazis", "Neonazis", "neoNazis", "neonazis"}, Wikipedia = true, topical_categories = true, } labels["netball"] = { Wiktionary = true, topical_categories = true, } labels["networking"] = { Wiktionary = "networking#Noun", topical_categories = true, } labels["neuroanatomy"] = { Wiktionary = true, topical_categories = true, } labels["neurology"] = { Wiktionary = true, topical_categories = true, } labels["neuroscience"] = { Wiktionary = true, topical_categories = true, } labels["neurosurgery"] = { Wiktionary = true, topical_categories = true, } labels["neurotoxin"] = { display = "[[neurotoxicology]]", topical_categories = "Neurotoxins", } labels["neurotransmitter"] = { display = "[[biochemistry]]", topical_categories = "Neurotransmitters", } labels["New Zealand politics"] = { Wikipedia = "Politics of New Zealand", topical_categories = true, } labels["newspapers"] = { display = "[[newspaper]]s", topical_categories = true, } labels["Norse god"] = { aliases = {"Norse goddess", "Norse deity"}, display = "[[Norse]] [[mythology]]", topical_categories = "Norse deities", } labels["Norse mythology"] = { display = "[[Norse]] [[mythology]]", topical_categories = true, } labels["nuclear energy"] = { Wiktionary = true, topical_categories = true, } labels["nuclear physics"] = { Wiktionary = true, topical_categories = true, } labels["number theory"] = { Wiktionary = true, topical_categories = true, } labels["numismatics"] = { Wiktionary = true, topical_categories = "Currency", } labels["nutrition"] = { Wiktionary = true, topical_categories = true, } labels["object-oriented programming"] = { aliases = {"object-oriented", "OOP"}, Wiktionary = true, topical_categories = true, } labels["obsolete element symbol"] = { display = "[[chemistry]], [[obsolete]]", plain_categories = "Obsolete symbols for chemical elements", } labels["obstetrics"] = { aliases = {"obstetric"}, Wiktionary = true, topical_categories = true, } labels["occult"] = { Wiktionary = true, topical_categories = true, } labels["oceanography"] = { Wiktionary = true, topical_categories = true, } labels["Odinani"] = { aliases = {"Odinala", "Omenala", "Odinana", "Omenana", "Igbo religion"}, Wikipedia = true, topical_categories = true, } labels["oenology"] = { Wiktionary = true, topical_categories = true, } labels["oil industry"] = { aliases = {"oil", "oil drilling", "petroleum industry", "petroleum"}, Wikipedia = true, topical_categories = true, } labels["oncology"] = { Wiktionary = true, topical_categories = true, } labels["online gaming"] = { aliases = {"online games", "MMO", "MMORPG"}, display = "[[online]] [[gaming#Noun|gaming]]", topical_categories = "Video games", } labels["onomastics"] = { Wiktionary = true, topical_categories = true, } labels["opera"] = { Wiktionary = true, topical_categories = true, } labels["operating systems"] = { display = "[[operating system]]s", topical_categories = "Software", } labels["ophthalmology"] = { Wiktionary = true, topical_categories = true, } labels["optics"] = { Wiktionary = true, topical_categories = true, } labels["organic chemistry"] = { Wiktionary = true, topical_categories = true, } labels["organic compound"] = { display = "[[organic chemistry]]", topical_categories = "Organic compounds", } labels["Oriental Orthodoxy"] = { aliases = {"Oriental Orthodox", "Oriental Orthodox Church"}, Wikipedia = true, topical_categories = true, } labels["ornithology"] = { Wiktionary = true, topical_categories = true, } labels["orthodontics"] = { Wiktionary = true, topical_categories = "Dentistry", } labels["orthography"] = { Wiktionary = true, topical_categories = true, } labels["paganism"] = { aliases = {"pagan", "neopagan", "neopaganism", "neo-pagan", "neo-paganism"}, Wiktionary = true, topical_categories = true, } labels["pain"] = { display = "[[medicine]]", topical_categories = true, } labels["paintball"] = { Wiktionary = true, topical_categories = true, } labels["painting"] = { Wiktionary = "painting#Noun", topical_categories = true, } labels["Pakistani politics"] = { Wikipedia = "Politics of Pakistan", topical_categories = true, } labels["palaeography"] = { aliases = {"paleography"}, Wiktionary = true, topical_categories = true, } labels["paleontology"] = { aliases = {"palaeontology"}, Wiktionary = true, topical_categories = true, } labels["Palestinian politics"] = { aliases = {"Palestine politics"}, Wikipedia = "Politics of the Palestinian National Authority", topical_categories = true, } labels["palmistry"] = { Wiktionary = true, topical_categories = true, } labels["palynology"] = { Wiktionary = true, topical_categories = true, } labels["papermaking"] = { Wiktionary = true, topical_categories = true, } labels["paraphilia"] = { aliases = {"paraphilias", "paraphilic", "fetish", "fetishes", "fetishism", "fetishistic", "fetishization", "fetishisation"}, Wiktionary = "paraphilia#Noun", topical_categories = "Paraphilias", } labels["parapsychology"] = { Wiktionary = true, topical_categories = true, } labels["parasitology"] = { Wiktionary = true, topical_categories = true, } labels["bahagi ng pananalita"] = { --TLCHANGE aliases = {"PoS", "part of speech"}, --TLCHANGE display = "[[balarila]]", --TLCHANGE "[[grammar]]", topical_categories = "Balarila", --TLCHANGE "Parts of speech", } labels["particle"] = { aliases = {"subatomic particle", "subatomic particles"}, display = "[[particle physics]]", topical_categories = "Subatomic particles", } labels["particle physics"] = { Wiktionary = true, topical_categories = true, } labels["pasteurization"] = { aliases = {"pasteurisation"}, Wiktionary = true, topical_categories = true, } labels["patent law"] = { aliases = {"patents"}, display = "[[patent#Noun|patent]] [[law]]", topical_categories = true, } labels["pathology"] = { Wiktionary = true, topical_categories = true, } labels["pensions"] = { aliases = {"pension"}, display = "[[pension]]s", topical_categories = true, } labels["percussion instruments"] = { aliases = {"percussion instrument"}, display = "[[music]]", topical_categories = true, } labels["perfumery"] = { Wiktionary = true, topical_categories = true, } labels["Peruvian politics"] = { Wikipedia = "Politics of Peru", topical_categories = true, } labels["pesäpallo"] = { aliases = {"pesapallo"}, Wiktionary = true, topical_categories = true, } labels["petrochemistry"] = { Wiktionary = true, topical_categories = true, } labels["petrology"] = { Wiktionary = true, topical_categories = true, } labels["pharmaceutical drug"] = { display = "[[pharmacology]]", topical_categories = "Pharmaceutical drugs", } labels["pharmaceutical effect"] = { display = "[[pharmacology]]", topical_categories = "Pharmaceutical effects", } labels["pharmacology"] = { Wiktionary = true, topical_categories = true, } labels["pharmacy"] = { Wiktionary = true, topical_categories = true, } labels["pharyngology"] = { Wiktionary = true, topical_categories = true, } labels["philately"] = { Wiktionary = true, topical_categories = true, } labels["politika ng Pilipinas"] = { --TLCHANGE aliases = {"Filipino politics", "Philippine politics"}, --TLCHANGE Wikipedia = "Politika ng Pilipinas", --TLCHANGE topical_categories = true, } labels["Philmont Scout Ranch"] = { aliases = {"Philmont"}, Wikipedia = true, topical_categories = true, } labels["philosophy"] = { Wiktionary = true, topical_categories = true, } labels["phonetics"] = { aliases = {"phonetic"}, Wiktionary = true, topical_categories = true, } labels["phonology"] = { aliases = {"phonological"}, Wiktionary = true, topical_categories = true, } labels["photography"] = { aliases = {"photograph"}, Wiktionary = true, topical_categories = true, } labels["phrenology"] = { Wiktionary = true, topical_categories = true, } labels["physical chemistry"] = { Wiktionary = true, topical_categories = true, } labels["physics"] = { Wiktionary = true, topical_categories = true, } labels["physiology"] = { Wiktionary = true, topical_categories = true, } labels["phytopathology"] = { Wiktionary = true, topical_categories = true, } labels["pinball"] = { Wiktionary = true, topical_categories = true, } labels["planetology"] = { Wiktionary = true, topical_categories = true, } labels["plant"] = { aliases = {"plants"}, display = "[[botany]]", topical_categories = "Plants", } labels["plant disease"] = { aliases = {"plant diseases"}, display = "[[phytopathology]]", topical_categories = "Plant diseases", } labels["plastic surgery"] = { Wiktionary = true, topical_categories = true, } labels["playground games"] = { aliases = {"playground game"}, display = "[[playground]] [[game]]s", topical_categories = true, } labels["poetry"] = { Wiktionary = true, topical_categories = true, } labels["poison"] = { display = "[[toxicology]]", topical_categories = "Poisons", } labels["Pokémon"] = { aliases = {"Pokemon"}, display = "''[[w:Pokémon|Pokémon]]''", Wikipedia = true, topical_categories = true, } labels["poker"] = { Wiktionary = true, topical_categories = true, } labels["poker slang"] = { display = "[[poker]] [[slang]]", topical_categories = "Poker", } labels["political science"] = { Wiktionary = true, topical_categories = true, } labels["political subdivision"] = { display = "[[government]]", topical_categories = "Political subdivisions", } labels["politics"] = { aliases = {"political"}, Wiktionary = true, topical_categories = true, } labels["pornography"] = { aliases = {"porn", "porno", "adult video", "adult videos"}, Wiktionary = true, topical_categories = true, } labels["Portuguese folklore"] = { display = "[[Portuguese#Adjective|Portuguese]] [[folklore]]", topical_categories = "European folklore", } labels["Portuguese politics"] = { Wikipedia = "Politics of Portugal", topical_categories = true, } labels["post"] = { aliases = {"mail", "postal"}, display = "[[postal]]", topical_categories = true, } labels["postal abbreviation"] = { aliases = {"postal abbr", "postal abbrev"}, display = "[[postal]]", topical_categories = "Postal abbreviations", } labels["potential theory"] = { Wiktionary = true, topical_categories = true, } labels["pottery"] = { Wiktionary = true, topical_categories = "Ceramics", } labels["pragmatics"] = { Wiktionary = true, topical_categories = true, } labels["printing"] = { Wiktionary = "printing#Noun", topical_categories = true, } labels["probability theory"] = { Wiktionary = true, topical_categories = true, } labels["professional wrestling"] = { aliases = {"pro wrestling"}, Wiktionary = true, topical_categories = true, } labels["programming"] = { aliases = {"computer programming"}, Wiktionary = "programming#Noun", topical_categories = true, } labels["property law"] = { aliases = {"land law", "real estate law"}, Wiktionary = true, topical_categories = true, } labels["prosody"] = { Wiktionary = true, topical_categories = true, } labels["protein"] = { aliases = {"proteins"}, display = "[[biochemistry]]", topical_categories = "Proteins", } labels["Protestantism"] = { aliases = {"protestantism", "Protestant", "protestant"}, Wiktionary = true, topical_categories = true, } labels["pseudoscience"] = { Wiktionary = true, topical_categories = true, } labels["psychiatry"] = { Wiktionary = true, topical_categories = true, } labels["psychoanalysis"] = { Wiktionary = true, topical_categories = true, } labels["psychology"] = { Wiktionary = true, topical_categories = true, } labels["psychotherapy"] = { Wiktionary = true, topical_categories = true, } labels["publishing"] = { Wiktionary = "publishing#Noun", topical_categories = true, } labels["pulmonology"] = { Wiktionary = true, topical_categories = true, } labels["pyrotechnics"] = { Wiktionary = true, aliases = { "firework", "fireworks" }, topical_categories = true, } labels["QAnon"] = { aliases = {"Qanon"}, Wikipedia = true, topical_categories = true, } labels["Quakerism"] = { Wiktionary = true, topical_categories = true, } labels["quantum computing"] = { Wiktionary = true, topical_categories = true, } labels["quantum mechanics"] = { aliases = {"quantum physics"}, Wiktionary = true, topical_categories = true, } labels["Quimbanda"] = { Wiktionary = true, topical_categories = true, } labels["radiation"] = { -- TODO: What kind of topic is "radiation"? Is it specific kinds of radiation? That would be a set-type category. display = "[[physics]]", topical_categories = true, } labels["radio"] = { Wiktionary = true, topical_categories = true, } labels["Raëlism"] = { Wiktionary = true, topical_categories = true, } labels["rail transport"] = { aliases = {"rail", "railroading", "railroads"}, Wiktionary = true, topical_categories = "Rail transportation", } labels["Rastafari"] = { aliases = {"Rasta", "rasta", "Rastafarian", "rastafarian", "Rastafarianism"}, Wiktionary = true, topical_categories = true, } labels["real estate"] = { Wiktionary = true, topical_categories = true, } labels["real tennis"] = { Wiktionary = true, topical_categories = "Tennis", } labels["recreational mathematics"] = { Wiktionary = true, topical_categories = "Mathematics", } labels["Reddit"] = { Wiktionary = true, topical_categories = true, } labels["regular expressions"] = { aliases = {"regex"}, display = "[[regular expression]]s", topical_categories = true, } labels["relativity"] = { Wiktionary = true, topical_categories = true, } labels["religion"] = { Wiktionary = true, topical_categories = true, } labels["rhetoric"] = { Wiktionary = true, topical_categories = true, } labels["rhythmic gymnastics"] = { Wiktionary = true, Wikipedia = true, topical_categories = true, } labels["road transport"] = { aliases = {"roads"}, Wikipedia = true, topical_categories = true, } labels["robotics"] = { Wiktionary = true, topical_categories = true, } labels["rock"] = { aliases = {"rocks"}, display = "[[geology]]", topical_categories = "Rocks", } labels["rock paper scissors"] = { topical_categories = true, } labels["roleplaying games"] = { aliases = {"role playing games", "role-playing games", "RPG", "RPGs"}, display = "[[roleplaying game]]s", topical_categories = "Role-playing games", } labels["roller derby"] = { Wiktionary = true, topical_categories = true, } labels["Roman Catholicism"] = { aliases = {"Roman Catholic", "Roman Catholic Church"}, Wiktionary = true, topical_categories = true, } labels["Roman Empire"] = { Wiktionary = true, topical_categories = true, } labels["Roman god"] = { aliases = {"Roman goddess", "Roman deity"}, display = "[[Roman]] [[mythology]]", topical_categories = "Roman deities", } labels["Roman mythology"] = { display = "[[Roman]] [[mythology]]", topical_categories = true, } labels["Roman numerals"] = { display = "[[Roman numeral]]s", topical_categories = true, } labels["roofing"] = { Wiktionary = "roofing#Noun", topical_categories = true, } labels["rosiculture"] = { Wiktionary = true, topical_categories = true, } labels["rowing"] = { Wiktionary = "rowing#Noun", topical_categories = true, } labels["Rubik's Cube"] = { aliases = {"Rubik's cubes", "Magic Cube", "magic cube"}, Wiktionary = "Rubik's cube", topical_categories = true, } labels["rugby"] = { Wiktionary = true, topical_categories = true, } labels["rugby league"] = { Wiktionary = true, topical_categories = true, } labels["rugby union"] = { Wiktionary = true, topical_categories = true, } labels["Russian Orthodoxy"] = { aliases = {"Russian Orthodox", "Russian Orthodox Church"}, Wikipedia = true, topical_categories = true, } labels["sailing"] = { Wiktionary = "sailing#Noun", topical_categories = true, } labels["schools"] = { display = "[[education]]", topical_categories = true, } labels["science fiction"] = { aliases = {"scifi", "sci fi", "sci-fi"}, Wiktionary = true, topical_categories = true, } labels["sciences"] = { aliases = {"science", "scientific"}, Wiktionary = true, topical_categories = true, } labels["Scientology"] = { Wiktionary = true, topical_categories = true, } labels["Scots law"] = { -- Note: this is the usual term, not "Scottish law". aliases = {"Scottish law", "Scotland law", "Scots Law", "Scottish Law", "Scotland Law"}, Wikipedia = true, topical_categories = true, } labels["Scouting"] = { aliases = {"scouting"}, display = "[[scouting]]", topical_categories = true, } labels["Scrabble"] = { display = "''[[Scrabble]]''", Wikipedia = true, topical_categories = true, } labels["scrapbooks"] = { display = "[[scrapbook]]s", topical_categories = true, } labels["sculpture"] = { Wiktionary = true, topical_categories = true, } labels["seduction community"] = { aliases = {"pickup artist", "pickup artists", "pickup artistry", "pickup community"}, Wikipedia = true, topical_categories = true, } labels["seismology"] = { Wiktionary = true, topical_categories = true, } labels["self-harm"] = { aliases = {"selfharm", "self harm", "self-harm community"}, Wiktionary = true, topical_categories = true, } labels["semantics"] = { Wiktionary = true, topical_categories = true, } labels["semiconductors"] = { display = "[[semiconductor]]s", topical_categories = true, } labels["semiotics"] = { Wiktionary = true, topical_categories = true, } labels["SEO"] = { Wiktionary = "search engine optimization", topical_categories = {"Internet", "Marketing"}, } labels["set theory"] = { Wiktionary = true, topical_categories = true, } labels["sewing"] = { Wiktionary = "sewing#Noun", topical_categories = true, } labels["sex"] = { Wiktionary = true, topical_categories = true, } labels["sex position"] = { display = "[[sex]]", topical_categories = "Sex positions", } labels["sexology"] = { Wiktionary = true, topical_categories = true, } labels["sexuality"] = { Wiktionary = true, topical_categories = true, } labels["Shaivism"] = { Wiktionary = true, topical_categories = true, } labels["shamanism"] = { aliases = {"Shamanism"}, Wiktionary = true, topical_categories = true, } labels["Shi'ism"] = { aliases = {"Shia", "Shi'ite", "Shi'i"}, display = "[[Shia Islam]]", topical_categories = true, } labels["Shinto"] = { Wiktionary = true, topical_categories = true, } labels["ship parts"] = { display = "[[nautical]]", topical_categories = "Ship parts", } labels["shipping"] = { Wiktionary = "shipping#Noun", topical_categories = true, } labels["shoemaking"] = { Wiktionary = true, topical_categories = true, } labels["shogi"] = { Wiktionary = true, topical_categories = true, } labels["signal processing"] = { Wikipedia = true, topical_categories = true, } labels["Sikhism"] = { aliases = {"Sikh"}, Wiktionary = true, topical_categories = true, } labels["Singaporean politics"] = { Wikipedia = "Politics of Singapore", topical_categories = true, } labels["singing"] = { Wiktionary = "singing#Noun", topical_categories = true, } labels["skateboarding"] = { Wiktionary = "skateboarding#Noun", topical_categories = true, } labels["skating"] = { Wiktionary = "skating#Noun", topical_categories = true, } labels["skeleton"] = { display = "[[anatomy]]", topical_categories = true, } labels["skiing"] = { Wiktionary = "skiing#Noun", topical_categories = true, } labels["skydiving"] = { Wiktionary = "skydiving#Noun", topical_categories = true, } labels["Slavic god"] = { display = "[[Slavic]] [[mythology]]", topical_categories = "Slavic deities", } labels["Slavic mythology"] = { display = "[[Slavic]] [[mythology]]", topical_categories = true, } labels["smoking"] = { Wiktionary = "smoking#Noun", topical_categories = true, } labels["snooker"] = { Wiktionary = "snooker#Noun", topical_categories = true, } labels["snowboarding"] = { Wiktionary = "snowboarding#Noun", topical_categories = true, } labels["soccer"] = { aliases = {"football", "association football"}, Wiktionary = true, topical_categories = "Football (soccer)", } labels["social media"] = { Wiktionary = true, topical_categories = true, } labels["social sciences"] = { aliases = {"social science"}, display = "[[social science]]s", topical_categories = true, } labels["socialism"] = { Wiktionary = true, topical_categories = true, } labels["sociolinguistics"] = { Wiktionary = true, topical_categories = true, } labels["sociology"] = { Wiktionary = true, topical_categories = true, } labels["softball"] = { Wiktionary = true, topical_categories = true, } labels["software"] = { Wiktionary = true, topical_categories = true, } labels["software architecture"] = { Wiktionary = true, topical_categories = {"Software engineering", "Programming"}, } labels["software engineering"] = { aliases = {"software development"}, Wiktionary = true, topical_categories = true, } labels["soil science"] = { Wiktionary = true, topical_categories = true, } labels["sound"] = { Wiktionary = "sound#Noun", topical_categories = true, } labels["sound engineering"] = { Wiktionary = true, topical_categories = true, } labels["South Korean idol fandom"] = { aliases = {"Korean idol fandom", "Korean idol"}, display = "[[South Korean]] [[idol]] [[fandom]]", topical_categories = true, } labels["South Park"] = { display = "''[[w:South Park|South Park]]''", Wikipedia = true, topical_categories = true, } labels["Soviet Union"] = { aliases = {"USSR", "Soviet"}, Wiktionary = true, topical_categories = true, } labels["space flight"] = { aliases = {"spaceflight", "space travel"}, Wiktionary = true, topical_categories = "Space", } labels["space science"] = { aliases = {"space"}, Wiktionary = true, topical_categories = "Space", } labels["Spanish politics"] = { Wikipedia = "Politics of Spain", topical_categories = true, } labels["spectroscopy"] = { Wiktionary = true, topical_categories = true, } labels["speedrunning"] = { aliases = {"speedrun", "speedruns"}, Wiktionary = true, topical_categories = true, } labels["spinning"] = { Wiktionary = true, topical_categories = true, } labels["spiritualism"] = { Wiktionary = true, topical_categories = true, } labels["sports"] = { aliases = {"sport"}, Wiktionary = true, topical_categories = true, } labels["square dancing"] = { aliases = {"square dance"}, Wiktionary = true, topical_categories = true, } labels["squash"] = { Wikipedia = "Squash (sport)", topical_categories = true, } labels["standard of identity"] = { display = "[[standard of identity|standards of identity]]", topical_categories = "Standards of identity", } labels["star"] = { display = "[[astronomy]]", topical_categories = "Stars", } labels["Star Wars"] = { display = "''[[Star Wars]]''", topical_categories = true, } labels["statistical mechanics"] = { Wiktionary = true, topical_categories = true, } labels["statistics"] = { Wiktionary = true, topical_categories = true, } labels["steroid"] = { display = "[[biochemistry]]", topical_categories = "Steroids", } labels["steroid hormone"] = { aliases = {"steroid drug"}, display = "[[biochemistry]], [[steroids]]", topical_categories = "Hormones", } labels["stock market"] = { Wiktionary = true, topical_categories = true, } labels["stock ticker symbol"] = { aliases = {"stock symbol"}, Wiktionary = true, topical_categories = "Stock symbols for companies", } labels["string instruments"] = { aliases = {"string instrument"}, display = "[[music]]", topical_categories = true, } labels["subculture"] = { Wiktionary = true, topical_categories = "Culture", } labels["Sufism"] = { aliases = {"Sufi Islam"}, Wikipedia = true, topical_categories = true, } labels["sugar acid"] = { display = "[[organic chemistry]]", topical_categories = "Sugar acids", } labels["sumo"] = { Wiktionary = true, topical_categories = true, } labels["supply chain"] = { Wiktionary = true, topical_categories = true, } labels["surface feature"] = { display = "[[planetology]]", topical_categories = "Planetary nomenclature", } labels["surfing"] = { aliases = {"surf"}, Wiktionary = "surfing#Noun", topical_categories = true, } labels["surgery"] = { Wiktionary = true, topical_categories = true, } labels["surveying"] = { Wiktionary = "surveying#Noun", topical_categories = true, } labels["sushi"] = { Wiktionary = true, topical_categories = true, } labels["swimming"] = { Wiktionary = "swimming#Noun", topical_categories = true, } labels["Swiss politics"] = { Wikipedia = "Politics of Switzerland", topical_categories = true, } labels["swords"] = { display = "[[sword]]s", topical_categories = true, } labels["Syriac Orthodoxy"] = { aliases = {"Syriac Orthodox", "Syriac Orthodox Church"}, Wikipedia = true, topical_categories = true, } labels["systematic element symbol"] = { display = "[[chemistry]]", plain_categories = "Systematic chemical symbols", } labels["systematics"] = { Wiktionary = true, topical_categories = "Taxonomy", } labels["systems engineering"] = { Wiktionary = true, topical_categories = true, } labels["systems theory"] = { Wiktionary = true, topical_categories = true, } labels["table tennis"] = { Wiktionary = true, topical_categories = true, } labels["Taoism"] = { aliases = {"Daoism"}, Wiktionary = true, topical_categories = true, } labels["tarot"] = { Wiktionary = true, topical_categories = "Cartomancy", } labels["taxation"] = { aliases = {"tax", "taxes"}, Wiktionary = true, topical_categories = true, } labels["taxonomic name"] = { display = "[[taxonomy]]", topical_categories = "Taxonomic names", } labels["taxonomy"] = { Wiktionary = true, topical_categories = true, } labels["technology"] = { Wiktionary = true, topical_categories = true, } labels["telecommunications"] = { aliases = {"telecommunication", "telecom"}, Wiktionary = true, topical_categories = true, } labels["telegraphy"] = { Wiktionary = true, topical_categories = true, } labels["telephony"] = { aliases = {"telephone", "telephones"}, Wiktionary = true, topical_categories = true, } labels["television"] = { aliases = {"TV"}, Wiktionary = true, topical_categories = true, } labels["tennis"] = { Wiktionary = true, topical_categories = true, } labels["teratology"] = { Wiktionary = true, topical_categories = true, } labels["Tetris"] = { Wiktionary = true, topical_categories = true, } labels["textiles"] = { Wiktionary = true, topical_categories = true, } labels["textual criticism"] = { Wiktionary = true, topical_categories = true, } labels["theater"] = { aliases = {"theatre"}, Wiktionary = true, topical_categories = true, } labels["theology"] = { Wiktionary = true, topical_categories = true, } labels["thermodynamics"] = { Wiktionary = true, topical_categories = true, } labels["Thracian god"] = { aliases = {"Thracian goddess", "Thracian deity"}, display = "[[w:Thracian religion|Thracian religion]]", Wikipedia = "Thracian religion", topical_categories = "Thracian deities", } labels["Tibetan Buddhism"] = { Wiktionary = true, topical_categories = "Buddhism", } labels["tiddlywinks"] = { Wiktionary = true, topical_categories = true, } labels["TikTok aesthetic"] = { display = "[[TikTok]] aesthetic", topical_categories = "Aesthetics", } labels["timber industry"] = { aliases = {"timber", "wood industry", "lumber industry", "lumber", "logging"}, Wikipedia = true, topical_categories = true, } labels["time"] = { Wiktionary = true, topical_categories = true, } labels["tincture"] = { display = "[[heraldry]]", topical_categories = "Heraldic tinctures", } labels["topology"] = { Wiktionary = true, topical_categories = true, } labels["tort law"] = { Wiktionary = true, topical_categories = "Law", } labels["tourism"] = { aliases = {"tourist"}, Wiktionary = true, topical_categories = true, } labels["toxicology"] = { Wiktionary = true, topical_categories = true, } labels["trading"] = { aliases = {"trade"}, Wiktionary = "trading#Noun", topical_categories = true, } labels["trading cards"] = { display = "[[trading card]]s", topical_categories = true, } labels["traditional Chinese medicine"] = { aliases = {"TCM", "Chinese medicine"}, Wiktionary = true, topical_categories = true, } labels["traditional Korean medicine"] = { aliases = {"Korean medicine"}, topical_categories = true, } labels["transgender"] = { aliases = {"trans"}, Wiktionary = true, topical_categories = true, } labels["translation studies"] = { Wiktionary = true, topical_categories = true, } labels["transport"] = { aliases = {"transportation"}, Wiktionary = true, topical_categories = true, } labels["traumatology"] = { Wiktionary = true, topical_categories = "Emergency medicine", } labels["travel"] = { aliases = {"travelling"}, Wiktionary = true, topical_categories = true, } labels["trigonometric function"] = { display = "[[trigonometry]]", topical_categories = "Trigonometric functions", } labels["trigonometry"] = { Wiktionary = true, topical_categories = true, } labels["trust law"] = { Wiktionary = true, topical_categories = "Law", } labels["Tumblr aesthetic"] = { display = "[[Tumblr]] [[aesthetic]]", topical_categories = "Aesthetics", } labels["Twitter"] = { aliases = {"twitter", "X"}, Wiktionary = "Twitter#Proper noun", topical_categories = true, } labels["two-up"] = { Wiktionary = true, topical_categories = true, } labels["typography"] = { aliases = {"typesetting"}, Wiktionary = true, topical_categories = true, } labels["ufology"] = { Wiktionary = true, topical_categories = true, } labels["UK politics"] = { Wikipedia = "Politics of the United Kingdom", topical_categories = true, } labels["Umbanda"] = { Wiktionary = true, topical_categories = true, } labels["underwater diving"] = { aliases = {"scuba", "scuba diving"}, display = "[[underwater]] [[diving#Noun|diving]]", topical_categories = true, } labels["Unicode"] = { aliases = {"Unicode standard"}, Wikipedia = true, topical_categories = true, } labels["United Nations"] = { aliases = {"UN"}, display = "[[United Nations|UN]]", Wikipedia = true, topical_categories = true, } labels["urban studies"] = { aliases = {"urbanism", "urban planning"}, Wiktionary = true, topical_categories = true, } labels["urology"] = { Wiktionary = true, topical_categories = true, } labels["US politics"] = { Wikipedia = "Politics of the United States", topical_categories = true, } labels["Vaishnavism"] = { aliases = {"Vaishnavist"}, Wiktionary = true, topical_categories = true, } labels["Valentinianism"] = { aliases = {"valentinianism", "Valentinianist", "valentinianist"}, Wikipedia = true, topical_categories = true, } labels["Vedic religion"] = { aliases = {"Vedic Hinduism", "Vedism", "Vedicism", "Ancient Hinduism", "ancient Hinduism"}, Wikipedia = "Historical Vedic religion", topical_categories = true, } labels["vegetable"] = { aliases = {"vegetables"}, Wiktionary = true, topical_categories = "Vegetables", } labels["vehicles"] = { aliases = {"vehicle"}, display = "[[vehicle]]s", topical_categories = true, } labels["Venezuelan politics"] = { aliases = {"Venezuela politics"}, Wikipedia = "Politics of Venezuela", topical_categories = true, } labels["veterinary disease"] = { display = "[[veterinary medicine]]", topical_categories = "Veterinary diseases", } labels["veterinary medicine"] = { aliases = {"veterinary", "vet"}, Wiktionary = true, topical_categories = true, } labels["video compression"] = { Wikipedia = true, topical_categories = true, } labels["video game genre"] = { display = "[[video game]]s", topical_categories = "Video game genres", } labels["video games"] = { aliases = {"video game", "video gaming"}, display = "[[video game]]s", topical_categories = true, } labels["virology"] = { Wiktionary = true, topical_categories = true, } labels["virus"] = { display = "[[virology]]", topical_categories = "Viruses", } labels["vitamin"] = { display = "[[biochemistry]]", topical_categories = "Vitamins", } labels["viticulture"] = { Wiktionary = true, topical_categories = {"Horticulture", "Wine"}, } labels["volcanology"] = { aliases = {"vulcanology"}, Wiktionary = true, topical_categories = true, } labels["volleyball"] = { Wiktionary = true, topical_categories = true, } labels["voodoo"] = { Wiktionary = true, topical_categories = true, } labels["war"] = { aliases = {"warfare"}, Wiktionary = true, topical_categories = true, } labels["water sports"] = { aliases = {"watersport", "watersports", "water sport"}, Wiktionary = "watersport", topical_categories = true, } labels["watercraft"] = { display = "[[nautical]]", topical_categories = true, } labels["weaponry"] = { aliases = {"weapon", "weapons"}, Wiktionary = true, topical_categories = "Weapons", } labels["weather"] = { topical_categories = true, } labels["weaving"] = { Wiktionary = "weaving#Noun", topical_categories = true, } labels["web design"] = { Wiktionary = true, topical_categories = true, aliases = {"Web design"} } labels["web development"] = { Wiktionary = true, topical_categories = {"Programming", "Web design"}, } labels["weightlifting"] = { Wiktionary = true, topical_categories = true, } labels["white supremacy"] = { -- Often used to indicate Nazi-used jargon; compare "neo-Nazism" aliases = {"white nationalism", "white nationalist", "white power", "white racism", "white supremacist ideology", "white supremacism", "white supremacist"}, Wikipedia = true, topical_categories = "White supremacist ideology", } labels["Wicca"] = { Wiktionary = true, topical_categories = true, } labels["wiki jargon"] = { aliases = {"wiki", "wikis"}, display = "[[wiki]] [[jargon]]", topical_categories = "Wiki", } labels["Wikimedia jargon"] = { aliases = {"WMF", "WMF jargon", "Wiktionary", "Wiktionary jargon", "Wikipedia", "Wikipedia jargon"}, display = "[[w:Wikimedia Foundation|Wikimedia]] [[jargon]]", topical_categories = "Wikimedia", } labels["wind instruments"] = { aliases = {"wind instrument"}, display = "[[music]]", topical_categories = true, } labels["wine"] = { Wiktionary = true, topical_categories = true, } labels["winemaking"] = { Wiktionary = true, topical_categories = "Wine", } labels["winter sports"] = { display = "[[winter sport]]s", topical_categories = true, } labels["woodwind instruments"] = { aliases = {"woodwind instrument"}, display = "[[music]]", topical_categories = true, } labels["woodworking"] = { Wiktionary = true, topical_categories = true, } labels["World War I"] = { aliases = {"World War 1", "WWI", "WW I", "WW1", "WW 1"}, Wikipedia = true, topical_categories = true, } labels["World War II"] = { aliases = {"World War 2", "WWII", "WW II", "WW2", "WW 2"}, Wikipedia = true, topical_categories = true, } labels["wrestling"] = { Wiktionary = "wrestling#Noun", topical_categories = true, } labels["writing"] = { Wiktionary = "writing#Noun", topical_categories = true, } labels["xiangqi"] = { aliases = {"Chinese chess"}, Wiktionary = true, topical_categories = true, } labels["Yazidism"] = { aliases = {"Yezidism"}, Wiktionary = true, topical_categories = true, } labels["yoga"] = { Wiktionary = true, topical_categories = true, } labels["yoga pose"] = { aliases = {"asana"}, display = "[[yoga]]", topical_categories = "Yoga poses", } labels["zodiac constellations"] = { display = "[[astronomy]]", topical_categories = "Constellations in the zodiac", } labels["zoolohiya"] = { --TLCHANGE aliases = {"zoology"}, --TLCHANGE Wiktionary = true, topical_categories = true, } labels["zootomy"] = { Wiktionary = true, topical_categories = "Animal body parts", } labels["Zoroastrianism"] = { Wiktionary = true, topical_categories = true, } -- Deprecated/do not use warning (ambiguous, unsuitable etc) labels["deprecated label"] = { aliases = {"emergency", "greekmyth", "industry", "morphology", "musici", "quantum", "vector"}, display = "<span style=\"color:var(--wikt-palette-red,red);\"><b>deprecated label</b></span>", deprecated = true, } return require("Module:labels").finalize_data(labels) 0t2go0cojaghbcfl713ds63va6ldn0r Module:Jpan-headword 828 32992 177605 172950 2026-08-27T14:48:52Z Yivan000 4078 177605 Scribunto text/plain local m_ja = require("Module:ja") local m_ja_ruby = require("Module:ja-ruby") local m_str_utils = require("Module:string utilities") local byteoffset = mw.ustring.byteoffset local concat = table.concat local gsplit = m_str_utils.gsplit local insert = table.insert local kana_to_romaji = require("Module:Hrkt-translit").tr local max_index = require("Module:table").maxIndex local moraify = m_ja.moraify local remove = table.remove local ugmatch = mw.ustring.gmatch local ugsub = m_str_utils.gsub local ulen = m_str_utils.len local ulower = m_str_utils.lower local umatch = mw.ustring.match local usub = m_str_utils.sub local export = {} local pos_functions = {} local range = mw.loadData('Module:ja/data/range') local Jpan = require("Module:scripts").getByCode("Jpan") local function remove_links(text) return (text:gsub("%[%[[^|%]]-|", "") :gsub("%[%[", "") :gsub("%]%]", "")) end local function assign_kana_to_kanji(head, kana, pagename, template_name) -- TODO: uses deprecated module local m_tu = require'Module:template utilities' local kanji_pos = {[0] = { nil, 0}} local head_nolink = {} local link_border = 0 local function insert_kanji_pos(substr) insert(head_nolink, substr) for p1, w1 in ugmatch(substr, '()([々' .. range.kanji .. '])') do p1 = byteoffset(substr, p1) + link_border insert(kanji_pos, { p1, p1 + w1:len() - 1 }) end end for p1, p2, w1 in m_tu.gfind_bracket(head, {['%[%['] = ']]'}) do insert_kanji_pos(head:sub(link_border + 1, p1 - 1)) local p_pipe = w1:find'|' or 2 link_border = p1 + p_pipe - 1 insert_kanji_pos(w1:sub(p_pipe + 1, -3)) link_border = p2 end insert_kanji_pos(head:sub(link_border + 1)) head_nolink = concat(head_nolink) local pagetext = mw.title.new(pagename):getContent() if not pagetext then return head, kana end local non_kanji = {} local last_kanji = 1 for p1 in ugmatch(head_nolink, '[々' .. range.kanji .. ']()') do insert(non_kanji, usub(head_nolink, last_kanji, p1 - 2)) last_kanji = p1 end insert(non_kanji, usub(head_nolink, last_kanji)) for kanjitab in pagetext:gmatch('(){{%s*' .. template_name) do kanjitab = select(3, m_tu.find_bracket(pagetext, m_tu.brackets_temp, kanjitab)) if not kanjitab then error('ill-formed [[t:' .. template_name:gsub('%%', '') .. ']] syntax') end kanjitab = m_tu.parse_temp(kanjitab) local readings = {} local readings_len = {} for i = 1, max_index(kanjitab.args) do local r_i = kanjitab.args[i] or '' local r_o = kanjitab.args['o' .. i] or '' if kanjitab.args['k' .. i] then readings[i] = kanjitab.args['k' .. i] .. r_o readings_len[i] = tonumber(r_i:match'^%s*%D*(%d*)%s*$') or 1 else local r_kana, r_len = r_i:match'^%s*(%D*)(%d*)%s*$' readings[i] = r_kana .. r_o readings_len[i] = tonumber(r_len) or 1 end end local kana_decom = {} local reading_id = 1 local reading_len = 1 for i = 1, #non_kanji - 1 do if reading_len <= 1 then reading_len = readings_len[reading_id] or 1 insert(kana_decom, non_kanji[i]) insert(kana_decom, readings[reading_id]) reading_id = reading_id + 1 else reading_len = reading_len - 1 end end insert(kana_decom, non_kanji[#non_kanji]) local function strip_nonkana(str, repl) return ugsub(str, '[^' .. range.kana .. ']+', repl) or nil end local xeno_reading = {strip_nonkana(kana, ''):match('^' .. strip_nonkana(concat(kana_decom), '(.-)') .. '$')} if #xeno_reading > 0 then local head_decom = {} reading_id = 1 reading_len = 1 for i = 1, #non_kanji - 1 do if reading_len <= 1 then reading_len = readings_len[reading_id] or 1 insert(head_decom, head:sub(kanji_pos[i - 1][2] + 1, kanji_pos[i][1] - 1)) insert(head_decom, head:sub(kanji_pos[i][1], kanji_pos[i + reading_len - 1][2])) reading_id = reading_id + 1 else reading_len = reading_len - 1 end end insert(head_decom, head:sub(kanji_pos[#non_kanji - 1][2] + 1)) if #head_decom ~= #kana_decom then error('number of parameters in [[t:' .. template_name:gsub('%%', '') .. ']] is incorrect') end local n_xeno_reading = 0 for i = 1, #kana_decom, 2 do kana_decom[i] = ugsub(kana_decom[i], '[^' .. range.kana .. ']+', function() n_xeno_reading = n_xeno_reading + 1 if xeno_reading[n_xeno_reading] == '' then return nil else return xeno_reading[n_xeno_reading] end end) end return concat(head_decom, '%'), concat(kana_decom, '%') end end return head, kana end --TLCHANGE local en_grades = { "baitang 1", "baitang 2", "baitang 3", --"first grade", "second grade", "third grade", "baitang 4", "baitang 5", "baitang 6", --"fourth grade", "fifth grade", "sixth grade", "sekundarya", "jinmeiyō", "hyōgai" --"secondary school", "jinmeiyō", "hyōgai" } local aliases = { ['transitive']='tr', ['trans']='tr', ['intransitive']='in', ['intrans']='in', ['intr']='in', ['godan']='1', ['ichidan']='2', ['irregular']='irr' } local adverbs_optional_tag = 'optionally ' local adverbs_optional_aliases = { ['to']='と', ['と']='と', ['ト']='と', ['ni']='に', ['に']='に', ['ニ']='に', } local adverbs_optional_links = { ['と']='[[と#Japanese:_adverbs|と]]', ['に']='[[に]]', } local function formatting_adjustments(rom, kana, pos_category) -- hyphens for prefixes, suffixes, and counters (classifiers) if pos_category == "prefixes" then rom = rom:gsub('%-?$', '-') elseif pos_category == "suffixes" or pos_category == "suffix forms" or pos_category == "counters" or pos_category == "classifiers" then rom = rom:gsub('^%-?', '-') elseif pos_category == "proper nouns" and not kana:match'%^' then -- automatic caps for proper nouns, if not already specified rom = ugsub(ugsub(rom, '%f[^%s%c%p]%l', string.uupper), "%w'%u", ulower) -- no caps after medial apostrophes end return rom end local function kana_to_romaji_with_pos_format(kana, data, args) if data.headword.pos_category == "combining forms" or data.headword.pos_category == "punctuation marks" or data.headword.pos_category == "iteration marks" then return "-" end local rom = remove_links(kana_to_romaji(kana, data.lang_code)) -- make adjustments for -u verbs and -i adjectives if args['infl'] == '1' or args['infl'] == '1s' or args['infl'] == 'godan' then rom = rom:gsub('ō$', 'ou'):gsub('ū$', 'uu') elseif args['infl'] == 'i' or args['infl'] == 'is' or args['infl'] == 'い' then rom = rom:gsub('ī$', 'ii') end return formatting_adjustments(rom, kana, data.headword.pos_category) end local function iterate_rare_chars(text) local ch, i return function() repeat ch, i = umatch(text, "([" .. range.kana .. range.kana_graph .. "!-/:-@%[\\-`×△○◎。-〠〶〷〻-〽・·゠=~][゙゚]*)()", i) until not (ch and umatch(ch, "^[ぁ-ちっつて-ろんァ-チッツテ-ロンヲ-゚]$")) return ch end end local function historical_kana(data, hist_kana, modern_kana) -- Disallow historical kana for kana and morae, as there's no one-to-one correspondence. local pos = data.headword.pos_category if pos == "syllables" or pos == "kana" or pos == "morae" then error(("Cannot specify historical kana for %s."):format(pos)) end local hist_kana_no_formatting = hist_kana:gsub("[%^%-%. %%]+", "") local rare_chars, lang_name, hc = {}, data.lang_name, data.headword.categories for ch in iterate_rare_chars(hist_kana_no_formatting) do if not (modern_kana and modern_kana:find(ch)) then rare_chars[ch] = true end end for _, mora in ipairs(moraify((ugsub(hist_kana_no_formatting, "[^" .. range.kana .. "]+", " ")))) do if not (mora:gsub(" +", ""):match("^.?[\128-\191]*$") or (modern_kana and modern_kana:find(mora))) then rare_chars[mora] = true end end for ch in pairs(rare_chars) do insert(hc, lang_name .. " terms historically spelled with " .. ch) end insert(data.info_hist, require("Module:ja-link").link({ lang = data.headword.lang, lemma = hist_kana, tr = formatting_adjustments( remove_links(kana_to_romaji(hist_kana, data.lang_code, nil, {hist = true})), hist_kana, pos ) }, { face = "head", disableSelfLink = true, })) end local function detect_pagename_kana(data, digraphs) local pagename = data.pagename -- Exclude "&" and "@", which are part of %p (e.g. リズム&ブルース). local function remove_kana(m) return m:match("[&@]") or "" end if ugsub(pagename, '[%p%s%c' .. range.hiragana .. (digraphs and "ゟ" or "") .. ']', remove_kana) == "" then return 'hira' elseif ugsub(pagename, '[%p%s%c' .. range.katakana .. (digraphs and "ヿ" or "") .. ']', remove_kana) == "" then return 'kata' elseif ugsub(pagename, '[%p%s%c' .. range.kana .. (digraphs and "ゟヿ" or "") .. ']', remove_kana) == "" then return 'both' end end -- go through args and build inflections by finding whatever kanas were given to us local function format_headword(args, data) local pagename, kanas, lang_name = data.pagename, data.kanas, data.lang_name data.pagename_kana = detect_pagename_kana(data) if args[1][1] and not args[1][1]:match'[\128-\255]' then -- filter out POS designations remove(args[1], 1) end local linked_translit = data.headword.lang:link_tr(Jpan) local suru_ending, rom_suru_ending if data.headword.pos_category == "suru verbs" then suru_ending = "[[する]]" rom_suru_ending = linked_translit and " [[suru]]" or " suru" else suru_ending, rom_suru_ending = "", "" end if data.pagename_kana then -- pure-kana-title entry if #args.head > 0 or args.head.default then insert(data.headword.categories, lang_name .. " terms with redundant head parameter") end -- {{ja-xxx}} vs {{ja-xxx|こ.うし}} vs {{ja-xxx|コウシ}} in [[こうし]] if not args[1][1] then args[1][1] = pagename elseif remove_links(args[1][1]:gsub("[%^%-%. %%]+", "")) ~= pagename then insert(args[1], 1, pagename) end for i, k in ipairs(args[1]) do insert(data.headword.heads, { term = k:gsub("[%^%-%. %%]+", "") .. suru_ending, tr = '-', l = args.label[i] and {args.label[i]} or nil, }) end for i = 1, math.max(args.rom.maxindex, 1) do local rom = args.rom[i] or args.rom.default or kana_to_romaji_with_pos_format(args[1][1], data, args) if not data.headword.heads[i] then data.headword.heads[i] = {term = data.headword.heads[i-1].term} end if rom == "-" then data.headword.heads[i].tr = "-" elseif linked_translit then data.headword.heads[i].tr = "[[" .. rom .. "]]" .. rom_suru_ending else data.headword.heads[i].tr = rom .. rom_suru_ending end if not data.inflection_base.form then data.inflection_base.form = remove_links(args[i][1]:gsub("[%^%-%. %%]+", "")) .. suru_ending data.inflection_base.romaji = rom .. rom_suru_ending end end kanas[1] = pagename if args.hist[1] then historical_kana(data, args.hist[1], args[1][1]) end else -- non-pure-kana-title entry if #args[1] == 0 and not (data.headword.pos_category == "punctuation marks" or data.headword.pos_category == "iteration marks" or data.headword.pos_category == "symbols") then error("Kana form is required.") end if args.head.default == pagename then insert(data.headword.categories, lang_name .. " terms with redundant head parameter") end local rom_repetition_final = {} for i, k in ipairs(args[1]) do local rom_auto = kana_to_romaji_with_pos_format(k, data, args) local head = args.head[i] or args.head.default or pagename if args.head[i] == pagename then insert(data.headword.categories, lang_name .. " terms with redundant head parameter") end local head_for_ruby, kana_for_ruby if ulen(head) > 1 and head:match'%%' == nil and k:match'%%' == nil then head_for_ruby, kana_for_ruby = assign_kana_to_kanji(head, k, pagename, data.lang_code .. '%-kanjitab') else head_for_ruby, kana_for_ruby = head, k end local format_table = m_ja_ruby.parse_text(head_for_ruby, kana_for_ruby, { try = 'force', try_force_limit = 10000 }) local kana_bare = remove_links(k:gsub("[%^%-%. %%]+", "")) local rom = args.rom[i] or args.rom.default or rom_auto head = { term = m_ja_ruby.to_wiki(format_table, { break_link = true, }):gsub('<rt>(..-)</rt>', "<rt>[[" .. kana_bare .."|%1]]</rt>") .. suru_ending, l = args.label[i] and {args.label[i]} or nil, } if rom == "-" or rom_repetition_final[rom] then head.tr = "-" elseif linked_translit then head.tr = "[[" .. rom .. "]]" .. rom_suru_ending else head.tr = rom .. rom_suru_ending end insert(data.headword.heads, head) rom_repetition_final[rom] = true insert(kanas, kana_bare) if args.hist[i] then historical_kana(data, args.hist[i], k) end if not data.inflection_base.form then data.inflection_base.form = remove_links(m_ja_ruby.to_markup(format_table)) .. suru_ending data.inflection_base.romaji = rom .. rom_suru_ending end end local first_reading, multiple = kanas[1] if not first_reading then return end first_reading = ulower(kana_to_romaji(first_reading, data.lang_code)):gsub("%%", "") for i = 2, #kanas do if ulower(kana_to_romaji(kanas[i], data.lang_code)):gsub("%%", "") ~= first_reading then multiple = true break end end if not multiple then local lang_code = data.lang_code local content = mw.title.getCurrentTitle():getContent() local loc1, loc2 = content:find("%f[^%z%s]==%s*" .. lang_name:gsub("%-", "%%%-") .. "%s*==()") loc2 = content:find("%f[^%z%s]==[^\n=]+==", loc2) if loc1 then content = content:sub(loc1, loc2) for template in require("Module:template parser").find_templates(content) do local name, reading = template:get_name() if ( name == lang_code .. "-head" or name == lang_code .. "-pos" ) then reading = template:get_arguments()[2] if reading ~= nil then reading = remove_links(reading):gsub("%%", "") end elseif ( name == lang_code .. "-noun" or name == lang_code .. "-verb" or name == lang_code .. "-adj" or name == lang_code .. "-phrase" or name == lang_code .. "-verb form" or name == lang_code .. "-verb-suru" ) then reading = template:get_arguments()[1] if reading ~= nil then reading = remove_links(reading):gsub("%%", "") end elseif name == lang_code .. "-see" then reading = template:get_arguments()[1] if reading ~= nil then reading = remove_links(reading):gsub("%%", "") end -- if umatch(reading, "[^" .. range.kana .. "]") then -- TODO: check linked page -- end end if reading and ulower(kana_to_romaji(reading, lang_code)):gsub("%%", "") ~= first_reading then multiple = true end end end end if multiple then insert(data.headword.categories, lang_name .. " terms with multiple readings") end end end local function add_transitivity(data, tr) local categories, lang_name = data.headword.categories, data.lang_name tr = aliases[tr] or tr if tr == "tr" then insert(data.info_mid, 'transitive') insert(categories, lang_name .. " na pandiwang palipat") --TLCHANGE " transitive verbs" elseif tr == "in" then insert(data.info_mid, 'intransitive') insert(categories, lang_name .. " na pandiwang katawanin") --TLCHANGE " intransitive verbs" elseif tr == "both" then insert(data.info_mid, 'transitive or intransitive') insert(categories, lang_name .. " na pandiwang palipat") --TLCHANGE " transitive verbs" insert(categories, lang_name .. " na pandiwang katawanin") --TLCHANGE " intransitive verbs" else insert(categories, lang_name .. " verbs without transitivity") end end local function get_final(lemma, data) return kana_to_romaji(remove(moraify(m_ja_ruby.to_ruby(m_ja_ruby.parse_markup(lemma)))), data.lang_code) end local function add_language_fragment(t, lang_name) for k, v in ipairs(t) do t[k] = v:gsub("%[%[([^]#]*)%]%]", "[[%1#%%s|%1]]"):format(lang_name) end end local function add_inflections(data, inflection_type, cat_suffix) local lang_name = data.lang_name local lemma = data.inflection_base.form local romaji = data.inflection_base.romaji inflection_type = aliases[inflection_type] or inflection_type local function replace_suffix(lemma_from, lemma_to, romaji_from, romaji_to) -- e.g. 持って来る, lemma = "[持](も)って来(く)る" -- lemma_from = "くる", lemma_to = {"き","きた"} add_language_fragment(lemma_to, lang_name) add_language_fragment(romaji_to, lang_name) local result = {} local pattern_from, n_from = lemma_from:gsub('.[\128-\191]*', function(c) return '[' .. c .. m_ja.hira_to_kata(c) .. ']([^' .. range.kana .. ']*)' end) pattern_from = pattern_from .. '$' -- "[くク]([^kana range]*)[るル]([^kana range]*)$" for i_lemma_to, s_lemma_to in ipairs(lemma_to) do local n_to = 0 local pattern_to = s_lemma_to:gsub('.[\128-\191]*', function(c) if n_to < n_from then n_to = n_to + 1 return c .. "%" .. n_to else return c end end) for i = n_to + 1, n_from do pattern_to = pattern_to .. "%" .. i end -- "き%1%2", "き%1た%2" local lemma_inflected, success = ugsub(lemma, pattern_from, pattern_to) if success == 0 then return end local romaji_inflected romaji_inflected, success = romaji:gsub(romaji_from .. "$", romaji_to[i_lemma_to]) if success == 0 then romaji_inflected, success = romaji:gsub("%[%[" .. romaji_from .. "%]%]$", "[[" .. romaji_to[i_lemma_to] .. "]]") if success == 0 then return end end insert(result, {lemma = lemma_inflected, romaji = romaji_inflected}) end return result -- {{lemma="[持](も)って来(き)",romaji="motteki"},{lemma="[持](も)って来(き)た",romaji="mottekita"}} end local function insert_form(label, ...) -- label = "stem" or "past" etc. -- ... = {lemma=...,romaji=...},{lemma=...,romaji=...} local labeled_forms = {label = label} for _, v in ipairs{...} do local table_form = m_ja_ruby.parse_markup(v.lemma) local form_term = m_ja_ruby.to_wiki(table_form) if not form_term:find'%[%[.+%]%]' then form_term = '[[' .. m_ja_ruby.to_text(table_form) .. '#' .. lang_name .. '|' .. form_term .. ']]' end insert(labeled_forms, { term = form_term, tr = v.romaji, }) end insert(data.headword.inflections, labeled_forms) end local inflected_forms if data.lang_code == 'ja' then if inflection_type == '1' or inflection_type == '1s' then insert(data.info_mid, '<abbr title="godan (group 1) conjugation">godan</abbr>') --TLCHANGE: change `cat-suffix` behavior if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " godan") local romaji = data.inflection_base.romaji if cat_suffix == "na pandiwang" then local final = get_final(lemma, data) insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " godan na nagtatapos sa -" .. final) if final == "ru" then if umatch(romaji, "[iIīĪ]ru$") then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " godan na nagtatapos sa -iru") elseif umatch(romaji, "[eEēĒ]ru$") then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " godan na nagtatapos sa -eru") end end end end if inflection_type == '1' then inflected_forms = replace_suffix('く', {'き', 'いた'}, 'ku', {'ki', 'ita'}) or replace_suffix('ぐ', {'ぎ', 'いだ'}, 'gu', {'gi', 'ida'}) or replace_suffix('す', {'し', 'した'}, 'su', {'shi', 'shita'}) or replace_suffix('つ', {'ち', 'った'}, 'tsu', {'chi', 'tta'}) or replace_suffix('ぬ', {'に', 'んだ'}, 'nu', {'ni', 'nda'}) or replace_suffix('ぶ', {'び', 'んだ'}, 'bu', {'bi', 'nda'}) or replace_suffix('む', {'み', 'んだ'}, 'mu', {'mi', 'nda'}) or replace_suffix('る', {'り', 'った'}, 'ru', {'ri', 'tta'}) or replace_suffix('う', {'い', 'った'}, 'u', {'i', 'tta'}) if inflected_forms then insert_form('stem', inflected_forms[1]) insert_form('pangnagdaan', inflected_forms[2]) --TLCHANGE 'past' else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end else inflected_forms = replace_suffix('る', {'り', 'った', 'い'}, 'ru', {'ri', 'tta', 'i'}) or --くださる replace_suffix('いく', {'いき', 'いった'}, 'iku', {'iki', 'itta'}) or --行く replace_suffix('う', {'い', 'うた'}, 'ou', {'oi', 'ōta'}) --問う if inflected_forms then insert_form('stem', inflected_forms[1], inflected_forms[3]) insert_form('pangnagdaan', inflected_forms[2]) --TLCHANGE 'past' else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end end elseif inflection_type == '2' then insert(data.info_mid, '<abbr title="ichidan (group 2) conjugation">ichidan</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " ichidan") local romaji = data.inflection_base.romaji if umatch(romaji, "[iIīĪ]ru$") then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " kami ichidan") elseif umatch(romaji, "[eEēĒ]ru$") then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " shimo ichidan ") else insert(data.headword.categories, lang_name .. " " .. cat_suffix .. "di-karaniwan") --TLCHANGE "irregular" end end inflected_forms = replace_suffix('る', {'', 'た'}, 'ru', {'', 'ta'}) if inflected_forms then insert_form('stem', inflected_forms[1]) insert_form('pangnagdaan', inflected_forms[2]) --TLCHANGE 'past' else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end elseif inflection_type == 'suru' then insert(data.info_mid, '<abbr title="suru (group 3) conjugation">suru</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " suru") --TLCHANGE end inflected_forms = replace_suffix('する', {'し', 'した'}, 'suru', {'shi', 'shita'}) or replace_suffix('ずる', {'じ', 'じた'}, 'zuru', {'ji', 'jita'}) if inflected_forms then insert_form('stem', inflected_forms[1]) insert_form('pangnagdaan', inflected_forms[2]) --TLCHANGE 'past' else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end elseif inflection_type == 'kuru' then insert(data.info_mid, '<abbr title="kuru (group 3) conjugation">kuru</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " kuru") --TLCHANGE end inflected_forms = replace_suffix('くる', {'き', 'きた'}, 'kuru', {'ki', 'kita'}) if inflected_forms then insert_form('stem', inflected_forms[1]) insert_form('pangnagdaan', inflected_forms[2]) --TLCHANGE 'past' else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end elseif inflection_type == 'i' or inflection_type == 'い' then insert(data.info_mid, '<abbr title="-i (type I) inflection">-i</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " い-i") --TLCHANGE end inflected_forms = replace_suffix('い', {'く'}, 'i', {'ku'}) if inflected_forms then insert_form('adverbial', inflected_forms[1]) else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end elseif inflection_type == 'is' then insert(data.info_mid, '<abbr title="-i (type I) inflection">-i</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " い-i") --TLCHANGE end inflected_forms = replace_suffix('いい', {'よく'}, 'ii', {'yoku'}) if inflected_forms then insert_form('adverbial', inflected_forms[1]) else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end elseif inflection_type == 'na' or inflection_type == 'な' then insert(data.info_mid, '<abbr title="-na (type II) inflection">-na</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " な-na") --TLCHANGE end inflected_forms = replace_suffix('', {'[[な]]', '[[に]]'}, '', {' [[na]]', ' [[ni]]'}) insert_form('adnominal', inflected_forms[1]) insert_form('adverbial', inflected_forms[2]) elseif inflection_type == "yo" then insert(data.info_mid, '<abbr title="yodan conjugation (classical)"><sup><small>†</small></sup>yodan</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " yodan ") --TLCHANGE insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " yodan na nagtatapos sa -" .. get_final(lemma, data)) --TLCHANGE end elseif inflection_type == "kami ni" then insert(data.info_mid, '<abbr title="kami nidan conjugation (classical)"><sup><small>†</small></sup>nidan</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " nidan") --TLCHANGE insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " kami nidan") --TLCHANGE end elseif inflection_type == "shimo ni" then insert(data.info_mid, '<abbr title="shimo nidan conjugation (classical)"><sup><small>†</small></sup>nidan</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " nidan") --TLCHANGE insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " shimo nidan") --TLCHANGE end elseif inflection_type == "rahen" then insert(data.info_mid, '<abbr title="r-special conjugation (classical)"><sup><small>†</small></sup>-ri</abbr>') elseif inflection_type == "sahen" then insert(data.info_mid, '<abbr title="s-special conjugation (classical)"><sup><small>†</small></sup>-se</abbr>') elseif inflection_type == "kahen" then insert(data.info_mid, '<abbr title="k-special conjugation (classical)"><sup><small>†</small></sup>-ko</abbr>') elseif inflection_type == "nahen" then insert(data.info_mid, '<abbr title="n-special conjugation (classical)"><sup><small>†</small></sup>-n</abbr>') elseif inflection_type == "nari" or inflection_type == "なり" then insert(data.info_mid, '<abbr title="-nari inflection (classical)"><sup><small>†</small></sup>-nari</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " なり-nari") --TLCHANGE end elseif inflection_type == 'tari' or inflection_type == 'たり' then insert(data.info_mid, '<abbr title="-tari inflection (classical)"><sup><small>†</small></sup>-tari</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " たり-tari") --TLCHANGE end inflected_forms = replace_suffix('', {'[[とした]]', '[[たる]]', '[[と]]', '[[として]]'}, '', {' [[to shita]]', ' [[taru]]', ' [[to]]', ' [[to shite]]'}) insert_form('adnominal', inflected_forms[1], inflected_forms[2]) insert_form('adverbial', inflected_forms[3], inflected_forms[4]) elseif inflection_type == "ku" or inflection_type == "く" then insert(data.info_mid, '<abbr title="-ku inflection (classical)"><sup><small>†</small></sup>-ku</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " く-ku") --TLCHANGE end elseif inflection_type == "shiku" or inflection_type == "しく" then insert(data.info_mid, '<abbr title="-shiku inflection (classical)"><sup><small>†</small></sup>-shiku</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " しく-shiku") --TLCHANGE end elseif inflection_type == "ka" or inflection_type == "か" then insert(data.info_mid, '<abbr title="-ka inflection (dialectal)"><sup><small>†</small></sup>-ka</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " か-ka") end elseif inflection_type and inflection_type:len() > adverbs_optional_tag:len() and inflection_type:sub(1, adverbs_optional_tag:len()) == adverbs_optional_tag then local adverbs_optional_list = inflection_type:sub(adverbs_optional_tag:len() + 1) for option in gsplit(adverbs_optional_list, ':') do local normalized_option = adverbs_optional_aliases[option] if not normalized_option then error('unrecognized adverb opt= argument: "' .. option .. '"') end local normalized_option_romaji = kana_to_romaji(normalized_option, data.lang_code) local normalized_option_link = adverbs_optional_links[normalized_option] inflected_forms = replace_suffix('', {normalized_option_link}, '', {' [[' .. normalized_option_romaji .. ']]'}) insert_form('optionally as', inflected_forms[1]) if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " optionally taking " .. normalized_option .. "-" .. normalized_option_romaji) end end elseif inflection_type == 'irr' then insert(data.info_mid, 'irregular') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " di-karaniwan") --TLCHANGE "irregular" end elseif inflection_type == '-' or inflection_type == 'un' then insert(data.info_mid, 'uninflectable') end --elseif data.lang_code == 'ryu' then ... end end local function add_categories(data) local lang_name = data.lang_name local pagename = data.pagename local tc = data.headword.categories -- adds category [langname] terms spelled with jōyō kanji or [langname] terms spelled with non-jōyō kanji -- (if it contains any kanji) local number_of_kanji = 0 for c in ugmatch(pagename, "[" .. range.kanji .. "々〻]") do number_of_kanji = number_of_kanji + 1 if c ~= "々" and c ~= "〻" then -- Not a kanji for the purposes of categorisation. --TLCHANGE insert(tc, (lang_name .. " terms spelled with %s kanji"):format(en_grades[m_ja.kanji_grade(c)])) insert(tc, (lang_name .. " na salitang binaybay ng kanjing pang-%s"):format(en_grades[m_ja.kanji_grade(c)])) end end -- categorize by number of kanji if number_of_kanji ~= 0 then insert(tc, (lang_name .. " na salitang may %s kanji"):format(number_of_kanji)) --TLCHANGE -- single-kanji terms if ulen(pagename) == 1 then insert(tc, lang_name .. " na salitang binaybay ng " .. pagename) --TLCHANGE " terms spelled with " insert(tc, lang_name .. " single-kanji terms") end end -- categorize by the script of the pagename or specific characters contained in it -- if pagename is hiragana or katakana if detect_pagename_kana(data, true) == 'hira' then insert(tc, lang_name .. " na hiragana") end --TLCHANGE if detect_pagename_kana(data, true) == 'kata' then insert(data.katakana_category, lang_name .. " na katakana") end --TLCHANGE local p, n = ugsub(pagename, '[' .. range.kana .. range.kanji .. range.ideograph .. range.kana_graph .. range.punctuation .. ']+', '') if p ~= '' and n > 0 then insert(tc, lang_name .. " na salitang isinulat sa maraming katitikan") end --TLCHANGE " terms written in multiple scripts" local pos = data.headword.pos_category local rare_chars = {} for ch in iterate_rare_chars(pagename) do rare_chars[ch] = true end -- Categorise yōon, but exclude kana and mora entries, since they can't be spelled with themselves. -- FIXME: allow kana categories for morae. if not (pos == "syllables" or pos == "kana" or pos == "morae") then for _, mora in ipairs(moraify((ugsub(pagename, "[^" .. range.kana .. "]+", " ")))) do if not mora:gsub(" +", ""):match("^.?[\128-\191]*$") then rare_chars[mora] = true end end end for ch in pairs(rare_chars) do insert(tc, lang_name .. " na salitang binaybay ng " .. ch) --TLCHANGE " terms spelled with " end if ( pos ~= "proverbs" and pos ~= "phrases" and umatch(ugsub(pagename, "[" .. range.katakana .. "]+", ""), "[" .. range.hiragana .. "]") and umatch(ugsub(pagename, "[" .. range.hiragana .. "]+", ""), "[" .. range.katakana .. "]") ) then insert(tc, lang_name .. " na salitang binaybay nang halo-halong kana") --TLCHANGE "terms spelled with mixed kana" end end pos_functions["pandiwa"] = function(args, data) --TLCHANGE add_transitivity(data, args["tr"]) add_inflections(data, args["infl"], 'na pandiwang') end pos_functions["hulapi"] = function(args, data) --TLCHANGE add_inflections(data, args["infl"]) end pos_functions["pandiwang pantulong"] = function(args, data) --TLCHANGE "auxiliary verbs" insert(data.headword.categories, data.lang_name .. " na pandiwang pantulong") --TLCHANGE add_inflections(data, args["infl"]) data.headword.pos_category = "pandiwa" --TLCHANGE "verbs" end pos_functions["pandiwang suru"] = function(args, data) --TLCHANGE add_transitivity(data, args["tr"]) add_inflections(data, 'suru', 'na pandiwang') data.headword.pos_category = "pandiwa" --TLCHANGE "verbs" end pos_functions["pang-uri"] = function(args, data) --TLCHANGE add_inflections(data, args["infl"], 'na pang-uring') end pos_functions["pangngalan"] = function(args, data) --TLCHANGE -- the counter (classifier) parameter, only relevant for nouns local counter = args["count"] or "" if counter == "-" then insert(data.headword.inflections, {label = "uncountable"}) elseif counter ~= "" then insert(data.headword.inflections, {label = "counter", counter}) end end pos_functions["pang-abay"] = function(args, data) --TLCHANGE local opt = args["opt"] if opt then opt = adverbs_optional_tag .. opt end add_inflections(data, opt, 'na pang-abay na') --TLCHANGE end --[==[ Generate categories by pagename, also optionally by POS Also for use in soft redirect pages ([[Module:ja-see]]). Sortkey is not provided. data = { pagename = ..., -- (required) lang = ..., -- (required) language object categories = {}, -- (required) receive categories katakana_category = {}, -- (required) receive katakana-sorted categories pos = ..., "noun", "verb", etc. no POS categories if not given } ]==] function export.cat(data) data.lang_name = data.lang:getCanonicalName() data.pagename_kana = detect_pagename_kana(data) if data.pos then --TLCHANGE local pos = data.pos:gsub('x$', 'xe') .. 's' local pos = data.pos:gsub('x$', 'xe') --TLCHANGE insert(data.categories, data.lang_name .. ' ' .. pos) insert(data.categories, data.lang_name .. ' na ' .. pos) --TLCHANGE insert(data.categories, data.lang_name .. ' ' .. require'Module:headword'.pos_lemma_or_nonlemma(pos, true) .. 's') insert(data.categories, data.lang_name .. ' na ' .. require'Module:headword'.pos_lemma_or_nonlemma(pos, true)) end data.headword = { categories = data.categories } add_categories(data) end --[==[ The main entry point. This is the only function that can be invoked from a template. ]==] function export.show(frame) local poscat = frame.args[2] or frame.args[1] or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.") local alias_of_hist = {alias_of = 'hist', list = false} local alias_of_infl = {alias_of = "infl"} local list = {list = true} local list_allow_holes_separate_no_index = {list = true, allow_holes = true, separate_no_index = true} local params = { [1] = list, ['rom'] = list_allow_holes_separate_no_index, ['head'] = list_allow_holes_separate_no_index, ['label'] = {list = true, allow_holes = true}, ['hist'] = list, ['hhira'] = alias_of_hist, ['hkata'] = alias_of_hist, ['tr'] = true, ['infl'] = true, ['type'] = alias_of_infl, ['decl'] = alias_of_infl, ['opt'] = true, ['count'] = true, ['sort'] = true, ['pagename'] = true, } -- For backwards compatibility with uses of {{ja-syllable}} with the script parameter. if poscat == "syllables" then params["sc"] = true end local args = require('Module:parameters').process(frame:getParent().args, params) local data = { headword = { pos_category = poscat, categories = {}, heads = {}, no_redundant_head_cat = true, inflections = {}, genders = {'m'}, -- placeholder nogendercat = true }, --custom info pagename = args.pagename or mw.loadData("Module:headword/data").pagename, pagename_kana = nil, -- "hira" "kata" "both", nil lang_code = frame.args[1], lang_name = nil, -- "Japanese", "Okinawan" ... katakana_category = {}, info_mid = {}, -- "godan", "intransitive" ... info_hist = {}, -- historical kana inflection_base = {}, -- base of inflections kanas = {}, -- kana id } data.headword.lang = require("Module:languages").getByCode(data.lang_code) data.lang_name = data.headword.lang:getCanonicalName() -- sort out all the kanas and do the romanization business format_headword(args, data) -- add certain inflections and categories for adjectives, verbs, nouns, or adverbs if pos_functions[poscat] then pos_functions[poscat](args, data) end -- categories add_categories(data) local sort_base = args.sort or data.kanas[1] or data.pagename data.headword.sort_key = data.headword.lang:makeSortKey(sort_base) local katakana_category = #data.katakana_category > 0 and require("Module:utilities").format_categories( data.katakana_category, data.headword.lang, nil, sort_base, nil, require("Module:scripts").getByCode("Kana") ) or "" -- output local i_kanas = 0 return katakana_category .. require('Module:headword').full_headword(data.headword):gsub('<span class="gender">.-</span>', function() return (#data.info_hist > 0 and '<sup>←' .. concat(data.info_hist, ' or ') .. '<sup>[[w:Historical kana orthography|?]]</sup></sup>' or '') .. ('<i>' .. concat(data.info_mid, '&nbsp;') .. '</i>') end):gsub('<strong .->.-</strong>', function(m0) i_kanas = i_kanas + 1 if data.kanas[i_kanas] then return m0 end end) end return export rpzb9jltunw38mmnsopohnppc11m7vy 177674 177605 2026-08-28T04:16:42Z Yivan000 4078 177674 Scribunto text/plain local m_ja = require("Module:ja") local m_ja_ruby = require("Module:ja-ruby") local m_str_utils = require("Module:string utilities") local byteoffset = mw.ustring.byteoffset local concat = table.concat local gsplit = m_str_utils.gsplit local insert = table.insert local kana_to_romaji = require("Module:Hrkt-translit").tr local max_index = require("Module:table").maxIndex local moraify = m_ja.moraify local remove = table.remove local ugmatch = mw.ustring.gmatch local ugsub = m_str_utils.gsub local ulen = m_str_utils.len local ulower = m_str_utils.lower local umatch = mw.ustring.match local usub = m_str_utils.sub local export = {} local pos_functions = {} local range = mw.loadData('Module:ja/data/range') local Jpan = require("Module:scripts").getByCode("Jpan") local function remove_links(text) return (text:gsub("%[%[[^|%]]-|", "") :gsub("%[%[", "") :gsub("%]%]", "")) end local function assign_kana_to_kanji(head, kana, pagename, template_name) -- TODO: uses deprecated module local m_tu = require'Module:template utilities' local kanji_pos = {[0] = { nil, 0}} local head_nolink = {} local link_border = 0 local function insert_kanji_pos(substr) insert(head_nolink, substr) for p1, w1 in ugmatch(substr, '()([々' .. range.kanji .. '])') do p1 = byteoffset(substr, p1) + link_border insert(kanji_pos, { p1, p1 + w1:len() - 1 }) end end for p1, p2, w1 in m_tu.gfind_bracket(head, {['%[%['] = ']]'}) do insert_kanji_pos(head:sub(link_border + 1, p1 - 1)) local p_pipe = w1:find'|' or 2 link_border = p1 + p_pipe - 1 insert_kanji_pos(w1:sub(p_pipe + 1, -3)) link_border = p2 end insert_kanji_pos(head:sub(link_border + 1)) head_nolink = concat(head_nolink) local pagetext = mw.title.new(pagename):getContent() if not pagetext then return head, kana end local non_kanji = {} local last_kanji = 1 for p1 in ugmatch(head_nolink, '[々' .. range.kanji .. ']()') do insert(non_kanji, usub(head_nolink, last_kanji, p1 - 2)) last_kanji = p1 end insert(non_kanji, usub(head_nolink, last_kanji)) for kanjitab in pagetext:gmatch('(){{%s*' .. template_name) do kanjitab = select(3, m_tu.find_bracket(pagetext, m_tu.brackets_temp, kanjitab)) if not kanjitab then error('ill-formed [[t:' .. template_name:gsub('%%', '') .. ']] syntax') end kanjitab = m_tu.parse_temp(kanjitab) local readings = {} local readings_len = {} for i = 1, max_index(kanjitab.args) do local r_i = kanjitab.args[i] or '' local r_o = kanjitab.args['o' .. i] or '' if kanjitab.args['k' .. i] then readings[i] = kanjitab.args['k' .. i] .. r_o readings_len[i] = tonumber(r_i:match'^%s*%D*(%d*)%s*$') or 1 else local r_kana, r_len = r_i:match'^%s*(%D*)(%d*)%s*$' readings[i] = r_kana .. r_o readings_len[i] = tonumber(r_len) or 1 end end local kana_decom = {} local reading_id = 1 local reading_len = 1 for i = 1, #non_kanji - 1 do if reading_len <= 1 then reading_len = readings_len[reading_id] or 1 insert(kana_decom, non_kanji[i]) insert(kana_decom, readings[reading_id]) reading_id = reading_id + 1 else reading_len = reading_len - 1 end end insert(kana_decom, non_kanji[#non_kanji]) local function strip_nonkana(str, repl) return ugsub(str, '[^' .. range.kana .. ']+', repl) or nil end local xeno_reading = {strip_nonkana(kana, ''):match('^' .. strip_nonkana(concat(kana_decom), '(.-)') .. '$')} if #xeno_reading > 0 then local head_decom = {} reading_id = 1 reading_len = 1 for i = 1, #non_kanji - 1 do if reading_len <= 1 then reading_len = readings_len[reading_id] or 1 insert(head_decom, head:sub(kanji_pos[i - 1][2] + 1, kanji_pos[i][1] - 1)) insert(head_decom, head:sub(kanji_pos[i][1], kanji_pos[i + reading_len - 1][2])) reading_id = reading_id + 1 else reading_len = reading_len - 1 end end insert(head_decom, head:sub(kanji_pos[#non_kanji - 1][2] + 1)) if #head_decom ~= #kana_decom then error('number of parameters in [[t:' .. template_name:gsub('%%', '') .. ']] is incorrect') end local n_xeno_reading = 0 for i = 1, #kana_decom, 2 do kana_decom[i] = ugsub(kana_decom[i], '[^' .. range.kana .. ']+', function() n_xeno_reading = n_xeno_reading + 1 if xeno_reading[n_xeno_reading] == '' then return nil else return xeno_reading[n_xeno_reading] end end) end return concat(head_decom, '%'), concat(kana_decom, '%') end end return head, kana end --TLCHANGE local en_grades = { "baitang 1", "baitang 2", "baitang 3", --"first grade", "second grade", "third grade", "baitang 4", "baitang 5", "baitang 6", --"fourth grade", "fifth grade", "sixth grade", "sekundarya", "jinmeiyō", "hyōgai" --"secondary school", "jinmeiyō", "hyōgai" } local aliases = { ['transitive']='tr', ['trans']='tr', ['intransitive']='in', ['intrans']='in', ['intr']='in', ['godan']='1', ['ichidan']='2', ['irregular']='irr' } local adverbs_optional_tag = 'optionally ' local adverbs_optional_aliases = { ['to']='と', ['と']='と', ['ト']='と', ['ni']='に', ['に']='に', ['ニ']='に', } local adverbs_optional_links = { ['と']='[[と#Japanese:_adverbs|と]]', ['に']='[[に]]', } local function formatting_adjustments(rom, kana, pos_category) -- hyphens for prefixes, suffixes, and counters (classifiers) if pos_category == "prefixes" then rom = rom:gsub('%-?$', '-') elseif pos_category == "suffixes" or pos_category == "suffix forms" or pos_category == "counters" or pos_category == "classifiers" then rom = rom:gsub('^%-?', '-') elseif pos_category == "proper nouns" and not kana:match'%^' then -- automatic caps for proper nouns, if not already specified rom = ugsub(ugsub(rom, '%f[^%s%c%p]%l', string.uupper), "%w'%u", ulower) -- no caps after medial apostrophes end return rom end local function kana_to_romaji_with_pos_format(kana, data, args) if data.headword.pos_category == "combining forms" or data.headword.pos_category == "punctuation marks" or data.headword.pos_category == "iteration marks" then return "-" end local rom = remove_links(kana_to_romaji(kana, data.lang_code)) -- make adjustments for -u verbs and -i adjectives if args['infl'] == '1' or args['infl'] == '1s' or args['infl'] == 'godan' then rom = rom:gsub('ō$', 'ou'):gsub('ū$', 'uu') elseif args['infl'] == 'i' or args['infl'] == 'is' or args['infl'] == 'い' then rom = rom:gsub('ī$', 'ii') end return formatting_adjustments(rom, kana, data.headword.pos_category) end local function iterate_rare_chars(text) local ch, i return function() repeat ch, i = umatch(text, "([" .. range.kana .. range.kana_graph .. "!-/:-@%[\\-`×△○◎。-〠〶〷〻-〽・·゠=~][゙゚]*)()", i) until not (ch and umatch(ch, "^[ぁ-ちっつて-ろんァ-チッツテ-ロンヲ-゚]$")) return ch end end local function historical_kana(data, hist_kana, modern_kana) -- Disallow historical kana for kana and morae, as there's no one-to-one correspondence. local pos = data.headword.pos_category if pos == "syllables" or pos == "kana" or pos == "morae" then error(("Cannot specify historical kana for %s."):format(pos)) end local hist_kana_no_formatting = hist_kana:gsub("[%^%-%. %%]+", "") local rare_chars, lang_name, hc = {}, data.lang_name, data.headword.categories for ch in iterate_rare_chars(hist_kana_no_formatting) do if not (modern_kana and modern_kana:find(ch)) then rare_chars[ch] = true end end for _, mora in ipairs(moraify((ugsub(hist_kana_no_formatting, "[^" .. range.kana .. "]+", " ")))) do if not (mora:gsub(" +", ""):match("^.?[\128-\191]*$") or (modern_kana and modern_kana:find(mora))) then rare_chars[mora] = true end end for ch in pairs(rare_chars) do insert(hc, lang_name .. " terms historically spelled with " .. ch) end insert(data.info_hist, require("Module:ja-link").link({ lang = data.headword.lang, lemma = hist_kana, tr = formatting_adjustments( remove_links(kana_to_romaji(hist_kana, data.lang_code, nil, {hist = true})), hist_kana, pos ) }, { face = "head", disableSelfLink = true, })) end local function detect_pagename_kana(data, digraphs) local pagename = data.pagename -- Exclude "&" and "@", which are part of %p (e.g. リズム&ブルース). local function remove_kana(m) return m:match("[&@]") or "" end if ugsub(pagename, '[%p%s%c' .. range.hiragana .. (digraphs and "ゟ" or "") .. ']', remove_kana) == "" then return 'hira' elseif ugsub(pagename, '[%p%s%c' .. range.katakana .. (digraphs and "ヿ" or "") .. ']', remove_kana) == "" then return 'kata' elseif ugsub(pagename, '[%p%s%c' .. range.kana .. (digraphs and "ゟヿ" or "") .. ']', remove_kana) == "" then return 'both' end end -- go through args and build inflections by finding whatever kanas were given to us local function format_headword(args, data) local pagename, kanas, lang_name = data.pagename, data.kanas, data.lang_name data.pagename_kana = detect_pagename_kana(data) if args[1][1] and not args[1][1]:match'[\128-\255]' then -- filter out POS designations remove(args[1], 1) end local linked_translit = data.headword.lang:link_tr(Jpan) local suru_ending, rom_suru_ending if data.headword.pos_category == "suru verbs" then suru_ending = "[[する]]" rom_suru_ending = linked_translit and " [[suru]]" or " suru" else suru_ending, rom_suru_ending = "", "" end if data.pagename_kana then -- pure-kana-title entry if #args.head > 0 or args.head.default then insert(data.headword.categories, lang_name .. " terms with redundant head parameter") end -- {{ja-xxx}} vs {{ja-xxx|こ.うし}} vs {{ja-xxx|コウシ}} in [[こうし]] if not args[1][1] then args[1][1] = pagename elseif remove_links(args[1][1]:gsub("[%^%-%. %%]+", "")) ~= pagename then insert(args[1], 1, pagename) end for i, k in ipairs(args[1]) do insert(data.headword.heads, { term = k:gsub("[%^%-%. %%]+", "") .. suru_ending, tr = '-', l = args.label[i] and {args.label[i]} or nil, }) end for i = 1, math.max(args.rom.maxindex, 1) do local rom = args.rom[i] or args.rom.default or kana_to_romaji_with_pos_format(args[1][1], data, args) if not data.headword.heads[i] then data.headword.heads[i] = {term = data.headword.heads[i-1].term} end if rom == "-" then data.headword.heads[i].tr = "-" elseif linked_translit then data.headword.heads[i].tr = "[[" .. rom .. "]]" .. rom_suru_ending else data.headword.heads[i].tr = rom .. rom_suru_ending end if not data.inflection_base.form then data.inflection_base.form = remove_links(args[i][1]:gsub("[%^%-%. %%]+", "")) .. suru_ending data.inflection_base.romaji = rom .. rom_suru_ending end end kanas[1] = pagename if args.hist[1] then historical_kana(data, args.hist[1], args[1][1]) end else -- non-pure-kana-title entry if #args[1] == 0 and not (data.headword.pos_category == "punctuation marks" or data.headword.pos_category == "iteration marks" or data.headword.pos_category == "symbols") then error("Kana form is required.") end if args.head.default == pagename then insert(data.headword.categories, lang_name .. " terms with redundant head parameter") end local rom_repetition_final = {} for i, k in ipairs(args[1]) do local rom_auto = kana_to_romaji_with_pos_format(k, data, args) local head = args.head[i] or args.head.default or pagename if args.head[i] == pagename then insert(data.headword.categories, lang_name .. " terms with redundant head parameter") end local head_for_ruby, kana_for_ruby if ulen(head) > 1 and head:match'%%' == nil and k:match'%%' == nil then head_for_ruby, kana_for_ruby = assign_kana_to_kanji(head, k, pagename, data.lang_code .. '%-kanjitab') else head_for_ruby, kana_for_ruby = head, k end local format_table = m_ja_ruby.parse_text(head_for_ruby, kana_for_ruby, { try = 'force', try_force_limit = 10000 }) local kana_bare = remove_links(k:gsub("[%^%-%. %%]+", "")) local rom = args.rom[i] or args.rom.default or rom_auto head = { term = m_ja_ruby.to_wiki(format_table, { break_link = true, }):gsub('<rt>(..-)</rt>', "<rt>[[" .. kana_bare .."|%1]]</rt>") .. suru_ending, l = args.label[i] and {args.label[i]} or nil, } if rom == "-" or rom_repetition_final[rom] then head.tr = "-" elseif linked_translit then head.tr = "[[" .. rom .. "]]" .. rom_suru_ending else head.tr = rom .. rom_suru_ending end insert(data.headword.heads, head) rom_repetition_final[rom] = true insert(kanas, kana_bare) if args.hist[i] then historical_kana(data, args.hist[i], k) end if not data.inflection_base.form then data.inflection_base.form = remove_links(m_ja_ruby.to_markup(format_table)) .. suru_ending data.inflection_base.romaji = rom .. rom_suru_ending end end local first_reading, multiple = kanas[1] if not first_reading then return end first_reading = ulower(kana_to_romaji(first_reading, data.lang_code)):gsub("%%", "") for i = 2, #kanas do if ulower(kana_to_romaji(kanas[i], data.lang_code)):gsub("%%", "") ~= first_reading then multiple = true break end end if not multiple then local lang_code = data.lang_code local content = mw.title.getCurrentTitle():getContent() local loc1, loc2 = content:find("%f[^%z%s]==%s*" .. lang_name:gsub("%-", "%%%-") .. "%s*==()") loc2 = content:find("%f[^%z%s]==[^\n=]+==", loc2) if loc1 then content = content:sub(loc1, loc2) for template in require("Module:template parser").find_templates(content) do local name, reading = template:get_name() if ( name == lang_code .. "-head" or name == lang_code .. "-pos" ) then reading = template:get_arguments()[2] if reading ~= nil then reading = remove_links(reading):gsub("%%", "") end elseif ( name == lang_code .. "-noun" or name == lang_code .. "-verb" or name == lang_code .. "-adj" or name == lang_code .. "-phrase" or name == lang_code .. "-verb form" or name == lang_code .. "-verb-suru" ) then reading = template:get_arguments()[1] if reading ~= nil then reading = remove_links(reading):gsub("%%", "") end elseif name == lang_code .. "-see" then reading = template:get_arguments()[1] if reading ~= nil then reading = remove_links(reading):gsub("%%", "") end -- if umatch(reading, "[^" .. range.kana .. "]") then -- TODO: check linked page -- end end if reading and ulower(kana_to_romaji(reading, lang_code)):gsub("%%", "") ~= first_reading then multiple = true end end end end if multiple then insert(data.headword.categories, lang_name .. " terms with multiple readings") end end end local function add_transitivity(data, tr) local categories, lang_name = data.headword.categories, data.lang_name tr = aliases[tr] or tr if tr == "tr" then insert(data.info_mid, 'palipat') --TLCHANGE 'transitive' insert(categories, lang_name .. " na pandiwang palipat") --TLCHANGE " transitive verbs" elseif tr == "in" then insert(data.info_mid, 'katawanin') --TLCHANGE 'intransitive' insert(categories, lang_name .. " na pandiwang katawanin") --TLCHANGE " intransitive verbs" elseif tr == "both" then insert(data.info_mid, 'palipat o katawanin') --TLCHANGE 'transitive or intransitive' insert(categories, lang_name .. " na pandiwang palipat") --TLCHANGE " transitive verbs" insert(categories, lang_name .. " na pandiwang katawanin") --TLCHANGE " intransitive verbs" else insert(categories, lang_name .. " verbs without transitivity") end end local function get_final(lemma, data) return kana_to_romaji(remove(moraify(m_ja_ruby.to_ruby(m_ja_ruby.parse_markup(lemma)))), data.lang_code) end local function add_language_fragment(t, lang_name) for k, v in ipairs(t) do t[k] = v:gsub("%[%[([^]#]*)%]%]", "[[%1#%%s|%1]]"):format(lang_name) end end local function add_inflections(data, inflection_type, cat_suffix) local lang_name = data.lang_name local lemma = data.inflection_base.form local romaji = data.inflection_base.romaji inflection_type = aliases[inflection_type] or inflection_type local function replace_suffix(lemma_from, lemma_to, romaji_from, romaji_to) -- e.g. 持って来る, lemma = "[持](も)って来(く)る" -- lemma_from = "くる", lemma_to = {"き","きた"} add_language_fragment(lemma_to, lang_name) add_language_fragment(romaji_to, lang_name) local result = {} local pattern_from, n_from = lemma_from:gsub('.[\128-\191]*', function(c) return '[' .. c .. m_ja.hira_to_kata(c) .. ']([^' .. range.kana .. ']*)' end) pattern_from = pattern_from .. '$' -- "[くク]([^kana range]*)[るル]([^kana range]*)$" for i_lemma_to, s_lemma_to in ipairs(lemma_to) do local n_to = 0 local pattern_to = s_lemma_to:gsub('.[\128-\191]*', function(c) if n_to < n_from then n_to = n_to + 1 return c .. "%" .. n_to else return c end end) for i = n_to + 1, n_from do pattern_to = pattern_to .. "%" .. i end -- "き%1%2", "き%1た%2" local lemma_inflected, success = ugsub(lemma, pattern_from, pattern_to) if success == 0 then return end local romaji_inflected romaji_inflected, success = romaji:gsub(romaji_from .. "$", romaji_to[i_lemma_to]) if success == 0 then romaji_inflected, success = romaji:gsub("%[%[" .. romaji_from .. "%]%]$", "[[" .. romaji_to[i_lemma_to] .. "]]") if success == 0 then return end end insert(result, {lemma = lemma_inflected, romaji = romaji_inflected}) end return result -- {{lemma="[持](も)って来(き)",romaji="motteki"},{lemma="[持](も)って来(き)た",romaji="mottekita"}} end local function insert_form(label, ...) -- label = "stem" or "past" etc. -- ... = {lemma=...,romaji=...},{lemma=...,romaji=...} local labeled_forms = {label = label} for _, v in ipairs{...} do local table_form = m_ja_ruby.parse_markup(v.lemma) local form_term = m_ja_ruby.to_wiki(table_form) if not form_term:find'%[%[.+%]%]' then form_term = '[[' .. m_ja_ruby.to_text(table_form) .. '#' .. lang_name .. '|' .. form_term .. ']]' end insert(labeled_forms, { term = form_term, tr = v.romaji, }) end insert(data.headword.inflections, labeled_forms) end local inflected_forms if data.lang_code == 'ja' then if inflection_type == '1' or inflection_type == '1s' then insert(data.info_mid, '<abbr title="godan (group 1) conjugation">godan</abbr>') --TLCHANGE: change `cat-suffix` behavior if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " godan") local romaji = data.inflection_base.romaji if cat_suffix == "na pandiwang" then local final = get_final(lemma, data) insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " godan na nagtatapos sa -" .. final) if final == "ru" then if umatch(romaji, "[iIīĪ]ru$") then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " godan na nagtatapos sa -iru") elseif umatch(romaji, "[eEēĒ]ru$") then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " godan na nagtatapos sa -eru") end end end end if inflection_type == '1' then inflected_forms = replace_suffix('く', {'き', 'いた'}, 'ku', {'ki', 'ita'}) or replace_suffix('ぐ', {'ぎ', 'いだ'}, 'gu', {'gi', 'ida'}) or replace_suffix('す', {'し', 'した'}, 'su', {'shi', 'shita'}) or replace_suffix('つ', {'ち', 'った'}, 'tsu', {'chi', 'tta'}) or replace_suffix('ぬ', {'に', 'んだ'}, 'nu', {'ni', 'nda'}) or replace_suffix('ぶ', {'び', 'んだ'}, 'bu', {'bi', 'nda'}) or replace_suffix('む', {'み', 'んだ'}, 'mu', {'mi', 'nda'}) or replace_suffix('る', {'り', 'った'}, 'ru', {'ri', 'tta'}) or replace_suffix('う', {'い', 'った'}, 'u', {'i', 'tta'}) if inflected_forms then insert_form('stem', inflected_forms[1]) insert_form('pangnagdaan', inflected_forms[2]) --TLCHANGE 'past' else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end else inflected_forms = replace_suffix('る', {'り', 'った', 'い'}, 'ru', {'ri', 'tta', 'i'}) or --くださる replace_suffix('いく', {'いき', 'いった'}, 'iku', {'iki', 'itta'}) or --行く replace_suffix('う', {'い', 'うた'}, 'ou', {'oi', 'ōta'}) --問う if inflected_forms then insert_form('stem', inflected_forms[1], inflected_forms[3]) insert_form('pangnagdaan', inflected_forms[2]) --TLCHANGE 'past' else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end end elseif inflection_type == '2' then insert(data.info_mid, '<abbr title="ichidan (group 2) conjugation">ichidan</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " ichidan") local romaji = data.inflection_base.romaji if umatch(romaji, "[iIīĪ]ru$") then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " kami ichidan") elseif umatch(romaji, "[eEēĒ]ru$") then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " shimo ichidan ") else insert(data.headword.categories, lang_name .. " " .. cat_suffix .. "di-karaniwan") --TLCHANGE "irregular" end end inflected_forms = replace_suffix('る', {'', 'た'}, 'ru', {'', 'ta'}) if inflected_forms then insert_form('stem', inflected_forms[1]) insert_form('pangnagdaan', inflected_forms[2]) --TLCHANGE 'past' else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end elseif inflection_type == 'suru' then insert(data.info_mid, '<abbr title="suru (group 3) conjugation">suru</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " suru") --TLCHANGE end inflected_forms = replace_suffix('する', {'し', 'した'}, 'suru', {'shi', 'shita'}) or replace_suffix('ずる', {'じ', 'じた'}, 'zuru', {'ji', 'jita'}) if inflected_forms then insert_form('stem', inflected_forms[1]) insert_form('pangnagdaan', inflected_forms[2]) --TLCHANGE 'past' else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end elseif inflection_type == 'kuru' then insert(data.info_mid, '<abbr title="kuru (group 3) conjugation">kuru</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " kuru") --TLCHANGE end inflected_forms = replace_suffix('くる', {'き', 'きた'}, 'kuru', {'ki', 'kita'}) if inflected_forms then insert_form('stem', inflected_forms[1]) insert_form('pangnagdaan', inflected_forms[2]) --TLCHANGE 'past' else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end elseif inflection_type == 'i' or inflection_type == 'い' then insert(data.info_mid, '<abbr title="-i (type I) inflection">-i</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " い-i") --TLCHANGE end inflected_forms = replace_suffix('い', {'く'}, 'i', {'ku'}) if inflected_forms then insert_form('adverbial', inflected_forms[1]) else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end elseif inflection_type == 'is' then insert(data.info_mid, '<abbr title="-i (type I) inflection">-i</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " い-i") --TLCHANGE end inflected_forms = replace_suffix('いい', {'よく'}, 'ii', {'yoku'}) if inflected_forms then insert_form('adverbial', inflected_forms[1]) else require'Module:debug'.track'Jpan-headword/inflection failed/ja' end elseif inflection_type == 'na' or inflection_type == 'な' then insert(data.info_mid, '<abbr title="-na (type II) inflection">-na</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " な-na") --TLCHANGE end inflected_forms = replace_suffix('', {'[[な]]', '[[に]]'}, '', {' [[na]]', ' [[ni]]'}) insert_form('adnominal', inflected_forms[1]) insert_form('adverbial', inflected_forms[2]) elseif inflection_type == "yo" then insert(data.info_mid, '<abbr title="yodan conjugation (classical)"><sup><small>†</small></sup>yodan</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " yodan ") --TLCHANGE insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " yodan na nagtatapos sa -" .. get_final(lemma, data)) --TLCHANGE end elseif inflection_type == "kami ni" then insert(data.info_mid, '<abbr title="kami nidan conjugation (classical)"><sup><small>†</small></sup>nidan</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " nidan") --TLCHANGE insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " kami nidan") --TLCHANGE end elseif inflection_type == "shimo ni" then insert(data.info_mid, '<abbr title="shimo nidan conjugation (classical)"><sup><small>†</small></sup>nidan</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " nidan") --TLCHANGE insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " shimo nidan") --TLCHANGE end elseif inflection_type == "rahen" then insert(data.info_mid, '<abbr title="r-special conjugation (classical)"><sup><small>†</small></sup>-ri</abbr>') elseif inflection_type == "sahen" then insert(data.info_mid, '<abbr title="s-special conjugation (classical)"><sup><small>†</small></sup>-se</abbr>') elseif inflection_type == "kahen" then insert(data.info_mid, '<abbr title="k-special conjugation (classical)"><sup><small>†</small></sup>-ko</abbr>') elseif inflection_type == "nahen" then insert(data.info_mid, '<abbr title="n-special conjugation (classical)"><sup><small>†</small></sup>-n</abbr>') elseif inflection_type == "nari" or inflection_type == "なり" then insert(data.info_mid, '<abbr title="-nari inflection (classical)"><sup><small>†</small></sup>-nari</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " なり-nari") --TLCHANGE end elseif inflection_type == 'tari' or inflection_type == 'たり' then insert(data.info_mid, '<abbr title="-tari inflection (classical)"><sup><small>†</small></sup>-tari</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " たり-tari") --TLCHANGE end inflected_forms = replace_suffix('', {'[[とした]]', '[[たる]]', '[[と]]', '[[として]]'}, '', {' [[to shita]]', ' [[taru]]', ' [[to]]', ' [[to shite]]'}) insert_form('adnominal', inflected_forms[1], inflected_forms[2]) insert_form('adverbial', inflected_forms[3], inflected_forms[4]) elseif inflection_type == "ku" or inflection_type == "く" then insert(data.info_mid, '<abbr title="-ku inflection (classical)"><sup><small>†</small></sup>-ku</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " く-ku") --TLCHANGE end elseif inflection_type == "shiku" or inflection_type == "しく" then insert(data.info_mid, '<abbr title="-shiku inflection (classical)"><sup><small>†</small></sup>-shiku</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " しく-shiku") --TLCHANGE end elseif inflection_type == "ka" or inflection_type == "か" then insert(data.info_mid, '<abbr title="-ka inflection (dialectal)"><sup><small>†</small></sup>-ka</abbr>') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " か-ka") end elseif inflection_type and inflection_type:len() > adverbs_optional_tag:len() and inflection_type:sub(1, adverbs_optional_tag:len()) == adverbs_optional_tag then local adverbs_optional_list = inflection_type:sub(adverbs_optional_tag:len() + 1) for option in gsplit(adverbs_optional_list, ':') do local normalized_option = adverbs_optional_aliases[option] if not normalized_option then error('unrecognized adverb opt= argument: "' .. option .. '"') end local normalized_option_romaji = kana_to_romaji(normalized_option, data.lang_code) local normalized_option_link = adverbs_optional_links[normalized_option] inflected_forms = replace_suffix('', {normalized_option_link}, '', {' [[' .. normalized_option_romaji .. ']]'}) insert_form('optionally as', inflected_forms[1]) if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " optionally taking " .. normalized_option .. "-" .. normalized_option_romaji) end end elseif inflection_type == 'irr' then insert(data.info_mid, 'irregular') if cat_suffix then insert(data.headword.categories, lang_name .. " " .. cat_suffix .. " di-karaniwan") --TLCHANGE "irregular" end elseif inflection_type == '-' or inflection_type == 'un' then insert(data.info_mid, 'uninflectable') end --elseif data.lang_code == 'ryu' then ... end end local function add_categories(data) local lang_name = data.lang_name local pagename = data.pagename local tc = data.headword.categories -- adds category [langname] terms spelled with jōyō kanji or [langname] terms spelled with non-jōyō kanji -- (if it contains any kanji) local number_of_kanji = 0 for c in ugmatch(pagename, "[" .. range.kanji .. "々〻]") do number_of_kanji = number_of_kanji + 1 if c ~= "々" and c ~= "〻" then -- Not a kanji for the purposes of categorisation. --TLCHANGE insert(tc, (lang_name .. " terms spelled with %s kanji"):format(en_grades[m_ja.kanji_grade(c)])) insert(tc, (lang_name .. " na salitang binaybay ng kanjing pang-%s"):format(en_grades[m_ja.kanji_grade(c)])) end end -- categorize by number of kanji if number_of_kanji ~= 0 then insert(tc, (lang_name .. " na salitang may %s kanji"):format(number_of_kanji)) --TLCHANGE -- single-kanji terms if ulen(pagename) == 1 then insert(tc, lang_name .. " na salitang binaybay ng " .. pagename) --TLCHANGE " terms spelled with " insert(tc, lang_name .. " single-kanji terms") end end -- categorize by the script of the pagename or specific characters contained in it -- if pagename is hiragana or katakana if detect_pagename_kana(data, true) == 'hira' then insert(tc, lang_name .. " na hiragana") end --TLCHANGE if detect_pagename_kana(data, true) == 'kata' then insert(data.katakana_category, lang_name .. " na katakana") end --TLCHANGE local p, n = ugsub(pagename, '[' .. range.kana .. range.kanji .. range.ideograph .. range.kana_graph .. range.punctuation .. ']+', '') if p ~= '' and n > 0 then insert(tc, lang_name .. " na salitang isinulat sa maraming katitikan") end --TLCHANGE " terms written in multiple scripts" local pos = data.headword.pos_category local rare_chars = {} for ch in iterate_rare_chars(pagename) do rare_chars[ch] = true end -- Categorise yōon, but exclude kana and mora entries, since they can't be spelled with themselves. -- FIXME: allow kana categories for morae. if not (pos == "syllables" or pos == "kana" or pos == "morae") then for _, mora in ipairs(moraify((ugsub(pagename, "[^" .. range.kana .. "]+", " ")))) do if not mora:gsub(" +", ""):match("^.?[\128-\191]*$") then rare_chars[mora] = true end end end for ch in pairs(rare_chars) do insert(tc, lang_name .. " na salitang binaybay ng " .. ch) --TLCHANGE " terms spelled with " end if ( pos ~= "proverbs" and pos ~= "phrases" and umatch(ugsub(pagename, "[" .. range.katakana .. "]+", ""), "[" .. range.hiragana .. "]") and umatch(ugsub(pagename, "[" .. range.hiragana .. "]+", ""), "[" .. range.katakana .. "]") ) then insert(tc, lang_name .. " na salitang binaybay nang halo-halong kana") --TLCHANGE "terms spelled with mixed kana" end end pos_functions["pandiwa"] = function(args, data) --TLCHANGE add_transitivity(data, args["tr"]) add_inflections(data, args["infl"], 'na pandiwang') end pos_functions["hulapi"] = function(args, data) --TLCHANGE add_inflections(data, args["infl"]) end pos_functions["pandiwang pantulong"] = function(args, data) --TLCHANGE "auxiliary verbs" insert(data.headword.categories, data.lang_name .. " na pandiwang pantulong") --TLCHANGE add_inflections(data, args["infl"]) data.headword.pos_category = "pandiwa" --TLCHANGE "verbs" end pos_functions["pandiwang suru"] = function(args, data) --TLCHANGE add_transitivity(data, args["tr"]) add_inflections(data, 'suru', 'na pandiwang') data.headword.pos_category = "pandiwa" --TLCHANGE "verbs" end pos_functions["pang-uri"] = function(args, data) --TLCHANGE add_inflections(data, args["infl"], 'na pang-uring') end pos_functions["pangngalan"] = function(args, data) --TLCHANGE -- the counter (classifier) parameter, only relevant for nouns local counter = args["count"] or "" if counter == "-" then insert(data.headword.inflections, {label = "uncountable"}) elseif counter ~= "" then insert(data.headword.inflections, {label = "counter", counter}) end end pos_functions["pang-abay"] = function(args, data) --TLCHANGE local opt = args["opt"] if opt then opt = adverbs_optional_tag .. opt end add_inflections(data, opt, 'na pang-abay na') --TLCHANGE end --[==[ Generate categories by pagename, also optionally by POS Also for use in soft redirect pages ([[Module:ja-see]]). Sortkey is not provided. data = { pagename = ..., -- (required) lang = ..., -- (required) language object categories = {}, -- (required) receive categories katakana_category = {}, -- (required) receive katakana-sorted categories pos = ..., "noun", "verb", etc. no POS categories if not given } ]==] function export.cat(data) data.lang_name = data.lang:getCanonicalName() data.pagename_kana = detect_pagename_kana(data) if data.pos then --TLCHANGE local pos = data.pos:gsub('x$', 'xe') .. 's' local pos = data.pos:gsub('x$', 'xe') --TLCHANGE insert(data.categories, data.lang_name .. ' ' .. pos) insert(data.categories, data.lang_name .. ' na ' .. pos) --TLCHANGE insert(data.categories, data.lang_name .. ' ' .. require'Module:headword'.pos_lemma_or_nonlemma(pos, true) .. 's') insert(data.categories, data.lang_name .. ' na ' .. require'Module:headword'.pos_lemma_or_nonlemma(pos, true)) end data.headword = { categories = data.categories } add_categories(data) end --[==[ The main entry point. This is the only function that can be invoked from a template. ]==] function export.show(frame) local poscat = frame.args[2] or frame.args[1] or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.") local alias_of_hist = {alias_of = 'hist', list = false} local alias_of_infl = {alias_of = "infl"} local list = {list = true} local list_allow_holes_separate_no_index = {list = true, allow_holes = true, separate_no_index = true} local params = { [1] = list, ['rom'] = list_allow_holes_separate_no_index, ['head'] = list_allow_holes_separate_no_index, ['label'] = {list = true, allow_holes = true}, ['hist'] = list, ['hhira'] = alias_of_hist, ['hkata'] = alias_of_hist, ['tr'] = true, ['infl'] = true, ['type'] = alias_of_infl, ['decl'] = alias_of_infl, ['opt'] = true, ['count'] = true, ['sort'] = true, ['pagename'] = true, } -- For backwards compatibility with uses of {{ja-syllable}} with the script parameter. if poscat == "syllables" then params["sc"] = true end local args = require('Module:parameters').process(frame:getParent().args, params) local data = { headword = { pos_category = poscat, categories = {}, heads = {}, no_redundant_head_cat = true, inflections = {}, genders = {'m'}, -- placeholder nogendercat = true }, --custom info pagename = args.pagename or mw.loadData("Module:headword/data").pagename, pagename_kana = nil, -- "hira" "kata" "both", nil lang_code = frame.args[1], lang_name = nil, -- "Japanese", "Okinawan" ... katakana_category = {}, info_mid = {}, -- "godan", "intransitive" ... info_hist = {}, -- historical kana inflection_base = {}, -- base of inflections kanas = {}, -- kana id } data.headword.lang = require("Module:languages").getByCode(data.lang_code) data.lang_name = data.headword.lang:getCanonicalName() -- sort out all the kanas and do the romanization business format_headword(args, data) -- add certain inflections and categories for adjectives, verbs, nouns, or adverbs if pos_functions[poscat] then pos_functions[poscat](args, data) end -- categories add_categories(data) local sort_base = args.sort or data.kanas[1] or data.pagename data.headword.sort_key = data.headword.lang:makeSortKey(sort_base) local katakana_category = #data.katakana_category > 0 and require("Module:utilities").format_categories( data.katakana_category, data.headword.lang, nil, sort_base, nil, require("Module:scripts").getByCode("Kana") ) or "" -- output local i_kanas = 0 return katakana_category .. require('Module:headword').full_headword(data.headword):gsub('<span class="gender">.-</span>', function() return (#data.info_hist > 0 and '<sup>←' .. concat(data.info_hist, ' or ') .. '<sup>[[w:Historical kana orthography|?]]</sup></sup>' or '') .. ('<i>' .. concat(data.info_mid, '&nbsp;') .. '</i>') end):gsub('<strong .->.-</strong>', function(m0) i_kanas = i_kanas + 1 if data.kanas[i_kanas] then return m0 end end) end return export 0ajfi94frbtgsxyo4oliagibic9kenq wikang-tao 0 33055 177565 164540 2026-08-27T13:46:06Z Yivan000 4078 Inilipat ni Yivan000 ang pahinang [[Wikang-Tao]] sa [[wikang-tao]] nang walang iniwang redirect 164540 wikitext text/x-wiki ==Tagalog== === Alternatibong Anyo === *''[[Wikang-Tawo]]'' - (lipas) *''[[wikantawo]]'' - (lipas) ===Pangngalan=== {{tl-noun}} (''Baybayin'' '''[[ᜏᜒᜃᜅ᜔ ᜆᜂ]]''') ('' nabibilang at di nabibilang'') # (lipas) Tumutukoy sa wika ng mga mamamayang Tagalog: ''[[Tagalog]]'' 516vcg0yo0celzjh8nd32j90z3ysjnz 177566 177565 2026-08-27T13:47:22Z Yivan000 4078 177566 wikitext text/x-wiki =={{=tl=}}== ===Panghaliling anyo=== *''[[Wikang-Tawo]]'' - (lipas) *''[[wikantawo]]'' - (lipas) ===Pangngalan=== {{tl-noun|[[wika]]ng-[[tao]]|b=+}} {{tlb|tl|obsolete}} # Tumutukoy sa wika ng mga mamamayang Tagalog: ''[[Tagalog]]'' m0glf9pp8n0c6i9bkwxcwoiage2e4ck Module:languages/data/3/r 828 33127 177609 177372 2026-08-28T03:08:27Z Yivan000 4078 177609 Scribunto text/plain local m_langdata = require("Module:languages/data") -- Loaded on demand, as it may not be needed (depending on the data). local function u(...) u = require("Module:string utilities").char return u(...) end local c = m_langdata.chars local p = m_langdata.puaChars local s = m_langdata.shared local m = {} m["raa"] = { "Dungmali", 56871, "sit-kic", } m["rab"] = { "Chamling", 3436664, "sit-kic", "Deva", } m["rac"] = { "Rasawa", 56443, "paa-rsa", "Latn", } m["rad"] = { "Rade", 3429088, "cmc", "Latn", } m["raf"] = { "Western Meohang", 17442461, "sit-kie", } m["rag"] = { "Logooli", 6667767, "bnt-lok", "Latn", } m["rah"] = { "Rabha", 7278686, "tbq-bdg", "Beng, Latn", } m["rai"] = { "Ramoaaina", 3418509, "poz-ocw", "Latn", } m["rak"] = { "Tulu-Bohuai", 2908807, "poz-aay", "Latn", } m["ral"] = { "Ralte", 7288392, "tbq-kuk", "Latn", } m["ram"] = { "Canela", 2936334, "sai-nje", "Latn", } m["ran"] = { "Riantana", 7322169, "paa-kol", "Latn", } m["rao"] = { "Rao", 11732596, "paa-ram", "Latn", } m["rap"] = { "Rapa Nui", 36746, "poz-pep", "Latn", } m["raq"] = { "Saam", 7395644, "sit-kic", } m["rar"] = { "Rarotongan", 36745, "poz-pep", "Latn", } m["ras"] = { "Tegali", 36522, "nic-ras", "Latn", } m["rat"] = { "Razajerdi", 7299461, "xme-ttc", ancestors = "xme-ttc-eas", } m["rau"] = { "Raute", 7296262, "sit-gma", "Deva, Latn", } m["rav"] = { "Sampang", 3449115, "sit-kic", } m["raw"] = { "Rawang", 542564, "sit-nng", "Latn", sort_key = {remove_diacritics = c.grave .. c.acute .. c.macron}, } m["rax"] = { "Rang", 3913345, "alv-mum", } m["ray"] = { "Rapa", 36417, "poz-pep", "Latn", } m["raz"] = { "Rahambuu", 3417555, "poz-btk", } m["rbb"] = { "Rumai Palaung", 12953797, "mkh-pal", "Mymr", } m["rbk"] = { "Sinadanga", --TLCHANGE 63311016, "phi", "Latn", is_official_kwf_name = "https://kwfwikaatkultura.ph/sinadanga-2/", --TLCHANGE english_name = "Northern Bontoc", --TLCHANGE } m["rbl"] = { "Bikol Miraya", --"Miraya Bikol", 18664557, "phi", "Latn", is_official_kwf_name = "https://kwfwikaatkultura.ph/bikol/", --TLCHANGE english_name = "Miraya Bikol", --TLCHANGE } m["rcf"] = { "Réunion Creole French", 13198, "crp", "Latn", ancestors = "fr", sort_key = s["roa-oil-sortkey"], } m["rdb"] = { "Rudbari", 12953072, "xme", ancestors = "xme-mid", } m["rea"] = { "Rerau", 7314883, "ngf-rai", -- placed in Nuru subfamily by Pawley-Hammarström "Latn", } m["reb"] = { "Rembong", 7311570, "poz-cet", "Latn", } m["ree"] = { "Rejang Kayan", 3423957, "poz", "Latn", } m["reg"] = { "Kara (Tanzania)", 6367567, "bnt-haj", } m["rei"] = { "Reli", 7310982, } m["rej"] = { "Rejang", 3056339, "poz", "Rjng, Latn", } m["rel"] = { "Rendille", 3447297, "cus-som", "Latn", } m["rem"] = { "Remo", 3501825, "sai-pan", "Latn", } m["ren"] = { "Rengao", 6583692, "mkh", } m["rer"] = { "Rer Bare", 12953857, "qfa-unc", -- extinct, might not exist } m["res"] = { "Reshe", 36258, "nic-knj", } m["ret"] = { "Retta", 7317113, "paa-alp", "Latn", } m["rey"] = { "Reyesano", 3111857, "sai-tac", "Latn", } m["rga"] = { "Roria", 7366825, "poz-vnn", "Latn", } m["rge"] = { "Romano-Greek", 3915435, "qfa-mix", "Latn", -- and/or Grek? ancestors = "rom, el", } m["rgk"] = { "Rangkas", 7292645, "sit-alm", } m["rgn"] = { "Romagnol", 1641543, "roa-emr", ancestors = "rgn-old", "Latn", wikimedia_codes = "eml", } m["rgr"] = { "Resígaro", 3450504, "awd", "Latn", } m["rgs"] = { "Southern Roglai", 12953069, "cmc", "Latn", } m["rgu"] = { "Ringgou", 7334886, "poz-tim", } m["rhg"] = { "Rohingya", 3241177, "inc-bas", "Rohg, Arab, Mymr, Latn, Beng", ancestors = "inc-obn", translit = { Rohg = "Rohg-translit", }, } m["rhp"] = { "Yahang", 8046792, "paa-hya", "Latn", } m["ria"] = { "Reang", 12953063, "tbq-bdg", } m["rif"] = { "Tarifit", 34174, "ber", "Latn, Tfng, Arab", translit = { Tfng = "Tfng-translit" }, standard_chars = { Latn = "AaBbCcDdḌḍEeƐɛFfGgƔɣĞğHhḤḥIiJjKkLlMmNnPpQqRrŘřSsṢṣTtṬṭUuWwXxYyZzẒẓʷ", Tfng = "ⴰⴳⴷⴹⴼⵖⵉⴽⵍⵎⵏⵓⵔⵙⵛⵜⵡⵢⵣⵥⴱⵀⵅⵊⴳⵯⵕⵚⵟⵇⵃⵄⴻⴽⵯ", c.punc }, } m["ril"] = { "Riang", 2741615, "mkh-pal", } m["rim"] = { "Nyaturu", 7193418, "bnt-tkm", "Latn", } m["rin"] = { "Nungu", 3913350, "nic-nin", "Latn", } m["rir"] = { "Ribun", 7322443, "day", "Latn", } m["rit"] = { "Ritarungo", 7336730, "aus-yol", "Latn", } m["riu"] = { "Riung", 7336938, "poz-cet", "Latn", } m["rjg"] = { "Rajong", 7286370, "poz-cet", "Latn", } m["rji"] = { "Raji", 7286138, "sit-gma", } m["rjs"] = { "Rajbanshi", 12640969, "inc-krd", "Deva", } m["rka"] = { "Kraol", 3199593, "mkh-ban", "Khmr", -- also Latn? } m["rkb"] = { "Rikbaktsa", 2585357, "sai-mje", "Latn", } m["rkh"] = { "Rakahanga-Manihiki", 3119695, "poz-pep", "Latn", } m["rki"] = { "Rakhine", 3450749, "tbq-brm", "Mymr", ancestors = "obr", } m["rkm"] = { "Marka", 36030, "dmn-wmn", "Latn", } m["rkt"] = { "Kamta", 3241618, "inc-krd", "as-Beng, Latn", translit = "as-translit", } m["rkw"] = { "Arakwal", 34295800, "aus-pam", "Latn", } m["rma"] = { "Rama", 3444486, "cba", } m["rmb"] = { "Rembarunga", 7311553, "aus-gun", "Latn", } m["rmc"] = { "Carpathian Romani", 5045611, "inc-rom", "Latn", } m["rmd"] = { "Traveller Danish", 12640779, "qfa-mix", "Latn", ancestors = "rom, da", } m["rme"] = { "Angloromani", 541279, "qfa-mix", "Latn", ancestors = "rom, en", } m["rmf"] = { "Kalo Finnish Romani", 2093214, "inc-rom", "Latn", } m["rmg"] = { "Traveller Norwegian", 3177352, "qfa-mix", "Latn", ancestors = "rom, no", } m["rmh"] = { "Murkim", 4308074, "paa-lmu", "Latn", } m["rmi"] = { "Lomavren", 2495696, "qfa-mix", "Latn, Armn", ancestors = "pra-sau, hy", -- Armn translit in [[Module:scripts/data]] override_translit = true, } m["rmk"] = { "Romkun", 7363236, "paa-tam", "Latn", } m["rml"] = { "Baltic Romani", 513736, "inc-rom", "Latn", } m["rmm"] = { "Roma", 4414831, } m["rmn"] = { "Balkan Romani", 1256701, "inc-rom", "Latn", } m["rmo"] = { "Sinte Romani", 1793299, "inc-rom", "Latn", } m["rmp"] = { "Rempi", 7312214, "ngf-han", "Latn", } m["rmq"] = { "Caló", 35466, "qfa-mix", "Latn", ancestors = "rom, osp, roa-opt", } m["rms"] = { "Romanian Sign Language", 7362575, "sgn", } m["rmt"] = { "Domari", 35394, "inc-cen", "Latn, Arab, Hebr", -- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]] } m["rmu"] = { "Tavringer Romani", 27808413, "qfa-mix", "Latn", ancestors = "rom, sv", } m["rmv"] = { "Romanova", 1298715, "art", type = "appendix-constructed", } m["rmw"] = { "Romani Gales", --TLCHANGE 2097387, "inc-rom", "Latn", english_name = "Welsh Romani", --TLCHANGE spanish_name = "Romaní galés", --TLCHANGE } m["rmx"] = { "Romam", 22694600, "mkh", } m["rmy"] = { "Vlax Romani", 2669199, "inc-rom", "Latn", } m["rmz"] = { "Marma", 21403256, "tbq-brm", "Mymr", ancestors = "obr", } m["rnd"] = { "Ruwund", 7383564, "bnt-lun", } m["rng"] = { "Ronga", 2520717, "bnt-tsr", "Latn", } m["rnl"] = { "Ranglong", 7292878, } m["rnn"] = { "Roon", 7366335, "poz-hce", "Latn", } m["rnp"] = { "Rongpo", 7365672, "sit-whm", } m["rnw"] = { "Rungwa", 7379873, "bnt-mwi", "Latn", } m["rob"] = { "Tae'", 12473476, "poz-ssw", "Latn", } m["roc"] = { "Cacgia Roglai", 2932485, "cmc", "Latn", } m["rod"] = { "Rogo", 3914894, "nic-kmk", } m["roe"] = { "Ronji", 3441763, "poz-ocw", } m["rof"] = { "Rombo", 33330, "bnt-chg", "Latn", } m["rog"] = { "Northern Roglai", 3439680, "cmc", "Latn", } m["rol"] = { "Ini", --"Romblomanon", 13202, "phi", "Latn", is_official_kwf_name = "https://kwfwikaatkultura.ph/ini/", --TLCHANGE english_name = "Romblomanon", --TLCHANGE } m["rom"] = { "Romani", 13201, "inc-rom", "Latn, Cyrl", } m["roo"] = { "Rotokas", 13203, "paa-nbo", "Latn", } m["rop"] = { "Australian Kriol", 35671, "crp", "Latn", ancestors = "en", } m["ror"] = { "Rongga", 12473464, } m["rou"] = { "Runga", 56793, } m["row"] = { "Dela-Oenale", 5253046, "poz-tim", } m["rpn"] = { "Repanbitip", 7313900, "poz-vnc", "Latn", } m["rpt"] = { "Rapting", 7294362, "ngf-han", "Latn", } m["rri"] = { "Ririo", 2404190, "poz-ocw", } m["rrm"] = { "Moriori", 2741879, "poz-pep", "Latn", } m["rro"] = { "Roro", 34197, "poz-ocw", "Latn", } m["rrt"] = { "Arritinngithigh", 4796002, nil, "Latn", } m["rsb"] = { "Romano-Serbian", 1268244, "qfa-mix", "Latn", -- and Cyrl? ancestors = "rom, sh", } m["rsl"] = { "Russian Sign Language", 13210, "sgn", } m["rsk"] = { "Rusino Panoniko", --TLCHANGE 35660, "zlw", "Cyrl", ancestors = "zlw-osk", translit = "rsk-translit", sort_key = { Cyrl = { from = {"ґ", "є", "ї", "ь"}, to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "я" .. p[1]} } }, standard_chars = "АаБбВвГ㥴ДдЕеЄєЖжЗзИиІіЇїЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЬьЮюЯя" .. c.punc:gsub("'", ""), -- Exclude apostrophe. english_name = "Pannonian Rusyn", --TLCHANGE spanish_name = "Rusino panónico", --TLCHANGE } m["rsm"] = { "Miriwoong Sign Language", 24090240, "sgn", } m["rsn"] = { "Rwandan Sign Language", 25041935, "sgn", } m["rtc"] = { "Rungtu", 7379867, "tbq-kuk", } m["rth"] = { "Ratahan", 3420026, "phi", "Latn", } m["rtm"] = { "Rotuman", 36754, "poz-pcc", "Latn", } m["rtw"] = { "Rathawi", 12953854, "inc-bhi", } m["rub"] = { "Gungu", 11165235, "bnt-glb", "Latn", } m["ruc"] = { "Ruuli", 7383562, "bnt-nyg", } m["rue"] = { "Rusino Karpato", --TLCHANGE 26245, "zle", "Cyrl", ancestors = "zle-ort", translit = "rue-translit", strip_diacritics = {remove_diacritics = c.grave .. c.acute}, sort_key = "rue-sortkey", english_name = "Carpathian Rusyn", --TLCHANGE spanish_name = "Rusino cárpato", --TLCHANGE } m["ruf"] = { "Luguru", 3437661, "bnt-ruv", "Latn", } m["rug"] = { "Roviana", 3445546, "poz-ocw", "Latn", } m["ruh"] = { "Ruga", 7378127, } m["rui"] = { "Rufiji", 7377946, "bnt-mbi", } m["ruk"] = { "Che", 3915445, "nic-nin", "Latn", } m["ruo"] = { "Istro-Romanian", 33622, "roa-eas", "Latn", } m["rup"] = { "Arumano", --TLCHANGE 29316, "roa-eas", "Latn, Polyt", translit = { -- FIXME: formerly no translit specified for Polyt; unclear if the default [[Module:grc-translit]] is -- acceptable, so we disable it for now Polyt = false, }, sort_key = { Latn = { from = {"ã"}, to = {"a"..p[1]} }, }, -- Polyt display_text, strip_diacritics, sort_key in [[Module:scripts/data]] wikimedia_codes = "roa-rup", english_name = "Aromanian", --TLCHANGE spanish_name = "Arrumano", --TLCHANGE } m["ruq"] = { "Meglenorumano", --TLCHANGE 13358, "roa-eas", "Latn", english_name = "Megleno-Romanian", --TLCHANGE spanish_name = "Meglenorrumano", --TLCHANGE } m["rut"] = { "Rutul", 36757, "cau-wsm", "Cyrl, Latn", translit = "rut-translit", override_translit = true, display_text = { Cyrl = s["cau-Cyrl-displaytext"] }, strip_diacritics = { Cyrl = s["cau-Cyrl-stripdiacritics"], Latn = s["cau-Latn-stripdiacritics"], }, } m["ruu"] = { "Lanas Lobu", 12953676, } m["ruy"] = { "Mala (Nigeria)", 3913381, "nic-kau", } m["ruz"] = { "Ruma", 3913326, "nic-kau", } m["rwa"] = { "Rawo", 3504269, "paa-shi", "Latn", } m["rwk"] = { "Rwa", 7985624, "bnt-chg", } m["rwm"] = { "Amba", 788423, "bnt-kbi", "Latn", } m["rwo"] = { "Rawa", 11732598, "ngf-gmo", "Latn", } m["rxd"] = { "Ngardi", 7022063, } m["rxw"] = { "Karuwali", 6881575, } m["ryn"] = { "Northern Amami Ōshima", 2840988, "jpx-nry", "Jpan", translit = s["jpx-translit"], display_text = s["jpx-displaytext"], strip_diacritics = s["jpx-stripdiacritics"], sort_key = s["jpx-sortkey"], } m["rys"] = { "Yaeyama", 34203, "jpx-sry", "Jpan", translit = s["jpx-translit"], display_text = s["jpx-displaytext"], strip_diacritics = s["jpx-stripdiacritics"], sort_key = s["jpx-sortkey"], } m["ryu"] = { "Okinawense", --TLCHANGE 34233, "jpx-nry", "Jpan", translit = s["jpx-translit"], display_text = s["jpx-displaytext"], strip_diacritics = s["jpx-stripdiacritics"], sort_key = s["jpx-sortkey"], english_name = "Okinawan", --TLCHANGE spanish_name = "Okinawense", --TLCHANGE } m["rzh"] = { "Razihi", 16911222, "sem-osa", "Arab", ancestors = "sem-srb", } return require("Module:languages").finalizeData(m, "language") ecjcyce1xozkkndam926lpnv3c8exxs Module:form of/data/2 828 34009 177685 177509 2026-08-28T07:20:26Z Yivan000 4078 177685 Scribunto text/plain --[=[ This module lists the less common recognized inflection tags, in the same format as for [[Module:form of/data/1]] (which contains the more common tags). We split the tags this way to save memory, so we avoid loading the less common tags in the majority of cases. ]=] local m_form_of_data = require("Module:form of/data") local APPENDIX = m_form_of_data.APPENDIX local WP = m_form_of_data.WP local WIKT = m_form_of_data.WIKT local tags = {} local shortcuts = {} ----------------------- Person ----------------------- tags["ikaapat na panauhan"] = { --TLCHANGE "person", "wikt:fourth person", {"4", "fourth-person"}, --TLCHANGE 3348541, } tags["second-person-object form"] = { "person", APPENDIX, "2o", } ----------------------- Number ----------------------- tags["associative plural"] = { "number", WIKT, {"ass p", "ass pl", "assoc p", "assoc pl"}, } tags["palansak"] = { --TLCHANGE "number", "collective number", {"col", "collective"}, --TLCHANGE 694268, } tags["collective-possession"] = { "number", "collective number", {"cpos", "colpos"}, } -- same as "count form" below, but included for backwards-compatibility with uses of "count|form" tags["count"] = { "number", "count form", nil, 12273953, } tags["count form"] = { "number", WIKT, nil, 12273953, } tags["distributive paucal"] = { "number", WIKT, "dpau", } tags["paucal"] = { "number", WIKT, "pau", 489410, } tags["singulative"] = { "number", "singulative number", "sgl", 1450795, } tags["transnumeral"] = { "number", APPENDIX, "trn", 113631596, display = "singular or plural", } tags["trial"] = { "number", "trial number", "tri", 2142560, } ----------------------- Gender ----------------------- tags["natural feminine"] = { "gender", "gender", "natf", } tags["virile"] = { "gender", APPENDIX, "vr", } ----------------------- Animacy ----------------------- ----------------------- Tense/aspect ----------------------- tags["abtemporal"] = { "tense-aspect", WIKT, "abtemp", } tags["anterior"] = { "tense-aspect", "w:relative and absolute tense", "ant", } tags["cessative"] = { "tense-aspect", WP, "cess", 17027342, } -- Aspect in Tagalog; presumably similar to the perfect tense/aspect but not necessarily similar enough to use the same -- Wikidata ID tags["complete"] = { "tense-aspect", "w:Tagalog grammar#Aspect", "compl", } tags["concomitant"] = { "tense-aspect", WIKT, "concom", } tags["confirmative"] = { "tense-aspect", WIKT, "conf", } -- Aspect in Tagalog tags["kontemplatibo"] = { --TLCHANGE "tense-aspect", "w:Tagalog grammar#Aspect", {"contem", "contemplative"}, --TLCHANGE } tags["contemporal"] = { "tense-aspect", WIKT, "contemp", } tags["continuative"] = { "tense-aspect", WP, nil, 28130104, } tags["continuous"] = { "tense-aspect", "w:continuous aspect", "cont", 12721117, } tags["delimitative"] = { "tense-aspect", "w:delimitative aspect", "delim", 5316270, } tags["durative"] = { "tense-aspect", WP, "dur", } tags["futuritive"] = { "tense-aspect", WP, {"futv", "futrv"}, } tags["frequentative"] = { "tense-aspect", WP, "freq", 467562, } tags["habitual"] = { "tense-aspect", "w:habitual aspect", "hab", 5636904, } -- same as the habitual; used in Mongolian linguistics tags["habitive"] = { "tense-aspect", WP, "habv", } tags["immediative"] = { "tense-aspect", WIKT, {"imm", "immed"}, } tags["incidental"] = { "tense-aspect", WIKT, "incid", } tags["iterative"] = { "tense-aspect", "w:iterative aspect", "iter", 2866772, } tags["momentane"] = { "tense-aspect", WP, nil, 6897160, } tags["momentaneous"] = { "tense-aspect", WIKT, "mom", 115110791, } tags["posterior"] = { "tense-aspect", "w:relative and absolute tense", "post", } tags["preconditional"] = { "tense-aspect", WIKT, "precond", } -- Type of participle in Hindi; also called agentive or agentive-prospective tags["prospective"] = { "tense-aspect", "w:prospective aspect", "pros", } tags["purposive"] = { "tense-aspect", WIKT, "purp", } -- Aspect in Tagalog; presumably similar to the perfect tense/aspect but not necessarily similar enough to use the same -- Wikidata ID tags["katatapos"] = { --TLCHANGE "tense-aspect", "w:Tagalog grammar#Aspect", {"rcompl", "recently complete"}, --TLCHANGE } tags["resultative"] = { "tense-aspect", WP, "res", 7316356, } tags["semelfactive"] = { "tense-aspect", WP, "semf", 7449203, } tags["serial"] = { "tense-aspect", WIKT, "ser", } tags["successive"] = { "tense-aspect", WIKT, "succ", } -- be careful not to clash with terminative case tag tags["terminative aspect"] = { "tense-aspect", "w:cessative aspect", "term", display = "terminative", } ----------------------- Mood ----------------------- tags["benedictive"] = { "mood", WP, "bened", 4887358, } tags["cohortative"] = { "mood", "w:cohortative mood", {"coho", "cohort"}, } tags["concessive"] = { "mood", WIKT, "conc", } tags["contrafactual"] = { "mood", WIKT, "cfact", 110323459, } -- Same as the contrafactual, but terminology depends on language. tags["counterfactual"] = { "mood", WP, "counterf", 1783264, -- for "counterfactual conditional" } tags["desiderative"] = { "mood", WP, {"des", "desid"}, 1200631, } tags["dubitative"] = { "mood", "w:dubitative mood", "dub", 1263049, } tags["energetic"] = { "mood", "w:energetic mood", "ener", } tags["inferential"] = { "mood", "w:inferential mood", {"infer", "infr"}, -- Per [[w:inferential mood]], also called "renarrative mood" or (in Estonian) "oblique mood" (but -- "renarrative mood" may be different, see its entry). 3332616, } -- It's not clear that this is exactly a mood, but I'm not sure where -- else to group it tags["intensive"] = { "mood", WP, "inten", 10965321, -- for "intensive word form" } tags["intentional"] = { "mood", WIKT, "intent", } tags["pananong"] = { --TLCHANGE "mood", WP, {"interr", "interrog", "interrogative"}, --TLCHANGE 12021746, } tags["necessitative"] = { "mood", WIKT, "nec", } tags["permissive"] = { "mood", "w:permissive mood", "perm", 4351483, } tags["potential"] = { "mood", "w:potential mood", "potn", 2296856, } tags["precative"] = { "mood", WIKT, "prec", } tags["prescriptive"] = { "mood", WIKT, "prescr", } tags["presumptive"] = { "mood", "w:presumptive mood", "presump", 25463575, } -- Exists at least in Estonian tags["quotative"] = { "mood", "w:quotative evidential mood", "quot", -- 7272884, -- this is for "quotative" morphemes, not the same } tags["renarrative"] = { "mood", "w:renarrative mood", "renarr", -- Per [[w:inferential mood]], renarrative and inferential mood are the same; but per -- [[w:Bulgarian verbs#Evidentials]], they are different, and Bulgarian has both. 3332616, } tags["volitive"] = { "mood", "w:volitive mood", "voli", 10716592, } tags["voluntative"] = { "mood", WIKT, {"voln", "volun"}, } ----------------------- Voice/valence ----------------------- tags["antipassive"] = { "voice-valence", "w:antipassive voice", {"apass", "apasv", "apsv"}, 287232, } tags["applicative"] = { "voice-valence", "w:applicative voice", "appl", 621634, } tags["cooperative"] = { -- ("all together") used in Mongolian "voice-valence", "wikt:cooperative voice", "coop", 114033228, } tags["pluritative"] = { -- ("many together") used in Mongolian "voice-valence", "wikt:pluritative voice", "plur", 114033289, } tags["reciprocal"] = { "voice-valence", "w:reciprocal (grammar)", {"recp", "recip"}, 1964083, } -- Specific to Modern Irish, similar to impersonal tags["autonomous"] = { "voice-valence", WIKT, "auton", } ----------------------- Non-finite ----------------------- -- be careful not to clash with agentive case tag tags["agentive"] = { "non-finite", "w:agent noun", {"ag", "agent"}, } -- Latin etc. tags["gerundive"] = { "non-finite", WP, "gerv", 731298, -- Wikidata claims this is a grammatical mood, which is not really correct } -- Old Irish etc. tags["verbal of necessity"] = { "non-finite", "w:gerundive", "verbnec", 731298, -- gerundive } tags["l-participle"] = { "non-finite", "participle", {"l-ptcp", "lptcp"}, 814722, -- "participle" } -- Finnish agent participle tags["agent participle"] = { "non-finite", "w:Finnish grammar#Agent participle", "agentpart", } -- Hungarian participle tags["verbal participle"] = { "non-finite", WIKT, nil, 2361676, -- attributive verb, aka verbal participle } tags["converb"] = { "non-finite", WP, "conv", 149761, } tags["connegative"] = { "non-finite", APPENDIX, {"conn", "conneg"}, 5161718, } -- Occurs in Hindi as a type of participle used to conjoin two clauses; similarly occurs in Japanese as the "te-form" tags["conjunctive"] = { "non-finite", "w:serial verb construction", -- FIXME! No good link for "conjunctive"; another possibility is "converb" "conj", } tags["absolutive verb form"] = { "non-finite", "wikt:absolutive#Noun", "absvf", display = "absolutive", } -- FIXME! Should this be a mood? tags["debitive"] = { "non-finite", WP, "deb", 17119041, } ----------------------- Case ----------------------- tags["abessive"] = { "case", "w:abessive case", "abe", 319822, } tags["absolutive"] = { "case", "w:absolutive case", "absv", -- FIXME, find uses of "abs" = absolutive 332734, } tags["adessive"] = { "case", "w:adessive case", "ade", 281954, } -- be careful not to clash with adverbial grammar tag tags["adverbial case"] = { "case", WP, "advc", display = "adverbial", } -- be careful not to clash with agentive non-finite tag tags["agentive case"] = { "case", WP, "agc", display = "agentive", } tags["allative"] = { "case", "wikt:allative case", "all", 655020, } --No evidence of the existence of this case on the web, and the shortcuts are better used elsewhere. --tags["anterior"] = { -- "case", -- nil, -- {"ant"}, --} tags["associative"] = { "case", "w:associative case", {"ass", "assoc"}, 15948746, } tags["benefactive"] = { "case", "w:benefactive case", {"ben", "bene"}, 664905, } tags["causal"] = { "case", "w:causal case", {"cauc", "causc"}, 2943136, } tags["causal-final"] = { "case", "w:causal-final case", {"cfi", "cfin"}, 18012653, } tags["comitative"] = { "case", "w:comitative case", "com", 838581, } -- be careful not to clash with comparative degree tags["comparative case"] = { "case", WP, "comc", 5155633, display = "comparative", } tags["delative"] = { "case", "w:delative case", "del", 1183901, } tags["direct"] = { "case", "w:direct case", "dir", 1751855, } tags["directive"] = { "case", "wikt:directive case", "dirc", 56526905, } tags["distributive"] = { "case", "w:distributive case", {"dis", "dist", "distr"}, 492457, } tags["elative"] = { "case", "elative case", "ela", 394253, } tags["ergative"] = { "case", "ergative case", "erg", 324305, } -- be careful not to clash with equative degree tag tags["equative"] = { "case", "w:equative case", "equc", 3177653, } tags["essive-formal"] = { "case", "w:essive-formal case", {"esf", "efor"}, 3827688, } tags["essive-modal"] = { "case", "w:essive-modal case", {"esm", "emod"}, 3827703, } tags["essive"] = { "case", "w:essive case", "ess", 148465, } --No evidence of the existence of this case on the web, and the shortcuts are better used elsewhere. --tags["exclusive"] = { -- "case", -- nil, -- {"exc", "excl"}, --} tags["illative"] = { "case", "w:illative case", "ill", 474668, } tags["indirect"] = { "case", "w:direct case", "indir", 1233197, -- Same as oblique. } tags["inessive"] = { "case", "w:inessive case", "ine", 282031, } tags["instructive"] = { "case", "w:instructive case", "ist", 1665275, } tags["lative"] = { "case", "w:lative case", "lat", 260425, } tags["limitative"] = { "case", "w:list of grammatical cases", "lim", 35870079, } tags["locative-qualitative"] = { "case", "locative-qualitative case", {"lqu", "lqua"}, } tags["objective"] = { "case", "objective case", "objv", -- obj used for "object" 1233197, -- Same as oblique. } tags["oblique"] = { "case", "oblique case", "obl", 1233197, } tags["partitive"] = { "case", "w:partitive case", {"ptv", "par"}, 857325, } --certain languages use this term for the abessive tags["privative"] = { "case", "w:privative case", "priv", 319822, } tags["prolative"] = { "case", "w:prolative case", {"pro", "prol"}, 952933, } tags["sociative"] = { "case", "w:sociative case", "soc", 3773161, } tags["subjective"] = { "case", "w:subjective case", {"subjv", "sbjv"}, -- "sub" and "subj" used for subjunctive, "sbj" for "subject" 131105, -- Same as nominative. } tags["sublative"] = { "case", "w:sublative case", {"sbl", "subl"}, 2120615, } tags["superessive"] = { "case", "w:superessive case", {"spe", "supe"}, 222355, } tags["temporal"] = { "case", "w:temporal case", {"tem", "temp"}, 3235219, } -- be careful not to clash with terminative aspect tag tags["terminative case"] = { "case", "w:terminative case", "ter", 747019, display = "terminative", } tags["translative"] = { "case", "w:translative case", {"tra", "tran"}, 950170, } ----------------------- State ----------------------- tags["independent genitive"] = { "state", WIKT, "indgen", } tags["possessor"] = { "state", WIKT, {"posr", "possr"}, } tags["reflexive possessive"] = { "state", WIKT, {"reflposs", "refl poss"}, } tags["substantive"] = { "state", APPENDIX, {"subs", "subst"}, } ----------------------- Degrees of comparison ----------------------- tags["kaantasang pasukdol na absoluto"] = { --TLCHANGE "comparison", "pasukdol na absoluto", --TLCHANGE "wikt:absolute superlative", {"asupd", "absolute superlative", "absolute superlative degree"}, --TLCHANGE } tags["kaantasang pasukdol na relativo"] = { --TLCHANGE "comparison", "pasukdol na relatibo", --TLCHANGE "wikt:relative superlative", {"rsupd", "relative superlative", "relative superlative degree"}, --TLCHANGE } tags["kaantasang elativo"] = { --TLCHANGE "comparison", "elative", {"elad", "elative degree"}, -- Can't use "elative" as shortcut because that's already used for the elative case --TLCHANGE 1555419, } -- be careful not to clash with equative case tag tags["kaantasang pahambing na magkatulad"] = { --TLCHANGE "comparison", "w:equative", {"equd", "equative degree"}, --TLCHANGE 5384239, } tags["excessive degree"] = { "comparison", nil, "excd", } ----------------------- Register ----------------------- tags["familiar"] = { "register", "w:T–V distinction", "fam", } tags["magalang"] = { --TLCHANGE "register", "w:T–V distinction", {"pol", "polite"}, --TLCHANGE } tags["matalik"] = { --TLCHANGE "register", -- "intimate" is also a possible formality level in the sociolinguistic register sense. "w:T–V distinction", {"intim", "intimate"}, --TLCHANGE } tags["pormal"] = { --TLCHANGE "register", "w:register (sociolinguistics)", "formal", --TLCHANGE } tags["impormal"] = { --TLCHANGE "register", "w:register (sociolinguistics)", {"inform", "informal"}, --TLCHANGE } tags["kolokyal"] = { --TLCHANGE "register", "w:colloquialism", {"colloq", "colloquial"}, --TLCHANGE } tags["balbal"] = { --TLCHANGE "register", WP, {"slang", "islang"}, --TLCHANGE } tags["contemporary"] = { "register", WIKT, "conty", } tags["pampanitikan"] = { --TLCHANGE "register", "w:literary language", {"lit", "literary"}, --TLCHANGE } tags["dated"] = { "register", WIKT, } tags["archaic"] = { "register", "w:archaism", "arch", } tags["obsolete"] = { "register", WIKT, "obs", } tags["emphatic"] = { "register", WIKT, "emph", } ----------------------- Deixis ----------------------- tags["proximal"] = { "deixis", "w:deixis", {"prox", "prxl"}, } tags["medial"] = { "deixis", "w:deixis", "medl", } tags["distal"] = { "deixis", "w:deixis", "dstl", } ----------------------- Clusivity ----------------------- tags["inklusibo"] = { --TLCHANGE "clusivity", "w:clusivity", {"incl", "inclusive"}, --TLCHANGE } tags["eksklusibo"] = { --TLCHANGE "clusivity", "w:clusivity", {"excl", "exclusive"}, --TLCHANGE } tags["obviative"] = { "clusivity", "w:clusivity", "obv", } ----------------------- Inflectional class ----------------------- tags["absolute"] = { "grammar", WIKT, "abs", } tags["conjunct"] = { "grammar", WP, "conjt", } tags["deuterotonic"] = { "grammar", "w:dependent and independent verb forms", "deut", } tags["prototonic"] = { "grammar", "w:dependent and independent verb forms", "prot", } ----------------------- Attitude ----------------------- tags["endearing"] = { "attitude", -- FIXME! No good glossary entry for this; the entry for "hypocoristic" refers specifically to proper names. "w:hypocoristic", "end", 1130279, -- entry for "hypocorism" } tags["moderative"] = { "attitude", WIKT, "moder", } ----------------------- Sound changes ----------------------- tags["alliterative"] = { "sound change", "w:alliteration", nil, 484495, } tags["back"] = { "sound change", "w:back vowel", nil, 853589, } tags["front"] = { "sound change", "w:front vowel", nil, 5505949, } tags["rounded"] = { "sound change", "w:roundedness", "round", } tags["sigmatic"] = { "sound change", WIKT, "sigm", } tags["unrounded"] = { "sound change", "w:roundedness", "unround", } tags["vowel harmonic"] = { "sound change", "w:vowel harmony", "vharm", 147137, } ----------------------- Misc grammar ----------------------- tags["pamanggit"] = { --TLCHANGE "grammar", WIKT, {"rel", "relative"}, --TLCHANGE } tags["direct relative"] = { "grammar", "w:relative_clause#Celtic_languages", "dirrel", } tags["indirect relative"] = { "grammar", "w:relative_clause#Celtic_languages", "indrel", } tags["synthetic"] = { "grammar", WIKT, "synth", } tags["analytic"] = { "grammar", WIKT, {"anal", "analytical"}, } tags["periphrastic"] = { "grammar", WIKT, "peri", } tags["affirmative"] = { "grammar", "w:affirmation and negation", "aff", } tags["possessed"] = { "grammar", "w:possessive affix", {"possd", "possed"}, -- posd = positive degree 804020, -- for possessive affix } tags["non-possessed"] = { "grammar", "w:possessive affix", {"npossd", "npossed", "nonpossessed"}, } tags["possessive affix"] = { "grammar", WP, {"posaf", "possaf"}, 804020, } tags["possessive suffix"] = { "grammar", "w:possessive affix", "possuf", 804020, } tags["possessive prefix"] = { "grammar", "w:possessive affix", {"pospref", "posspref"}, 804020, } tags["unlapi"] = { --TLCHANGE "grammar", APPENDIX, {"pref", "prefix"}, -- pre = prepositional --TLCHANGE 134830, } tags["prefixal"] = { "grammar", WIKT, "prefl", -- pre = prepositional 134830, } tags["hulapi"] = { --TLCHANGE "grammar", APPENDIX, {"suf", "suff", "suffix"}, --TLCHANGE 102047, } tags["suffixal"] = { "grammar", WIKT, {"sufl", "suffl"}, 102047, } tags["panlapi"] = { --TLCHANGE "grammar", WP, {"af", "affix"}, -- aff = affirmative --TLCHANGE 62155, } tags["affixal"] = { "grammar", WIKT, "afl", -- aff = affirmative 62155, } tags["circumfix"] = { "grammar", WP, {"circ", "cirf", "circf"}, 124939, } tags["circumfixal"] = { "grammar", WIKT, {"circl", "cirfl", "circfl"}, 124939, } tags["gitlapi"] = { --TLCHANGE "grammar", WP, {"infx", "infix"}, --TLCHANGE 201322, } tags["infixal"] = { "grammar", WIKT, "infxl", 201322, } tags["nonfinite"] = { "grammar", APPENDIX, "nonfin", 1050494, -- entry for "non-finite verb" } tags["tenseless"] = { "grammar", WIKT, } tags["aspekto"] = { --TLCHANGE "grammar", APPENDIX, {"asp", "aspect"}, --TLCHANGE 208084, } tags["augmented"] = { "grammar", "augment", nil, 760437, } tags["unaugmented"] = { "grammar", "augment", nil, 760437, } ----------------------- Other tags ----------------------- tags["–"] = { -- Unicode en-dash "other", no_space_on_left = true, no_space_on_right = true, } tags["—"] = { -- Unicode em-dash "other", no_space_on_left = true, no_space_on_right = true, } ----------------------- Create the shortcuts list ----------------------- m_form_of_data.finalize(tags, shortcuts) return {tags = tags, shortcuts = shortcuts} 9ybf6f5lyr6f3xfjcymt8uu0g11dahn 177686 177685 2026-08-28T07:27:37Z Yivan000 4078 177686 Scribunto text/plain --[=[ This module lists the less common recognized inflection tags, in the same format as for [[Module:form of/data/1]] (which contains the more common tags). We split the tags this way to save memory, so we avoid loading the less common tags in the majority of cases. ]=] local m_form_of_data = require("Module:form of/data") local APPENDIX = m_form_of_data.APPENDIX local WP = m_form_of_data.WP local WIKT = m_form_of_data.WIKT local tags = {} local shortcuts = {} ----------------------- Person ----------------------- tags["ikaapat na panauhan"] = { --TLCHANGE "person", "wikt:fourth person", {"4", "fourth-person"}, --TLCHANGE 3348541, } tags["second-person-object form"] = { "person", APPENDIX, "2o", } ----------------------- Number ----------------------- tags["associative plural"] = { "number", WIKT, {"ass p", "ass pl", "assoc p", "assoc pl"}, } tags["palansak"] = { --TLCHANGE "number", "collective number", {"col", "collective"}, --TLCHANGE 694268, } tags["collective-possession"] = { "number", "collective number", {"cpos", "colpos"}, } -- same as "count form" below, but included for backwards-compatibility with uses of "count|form" tags["count"] = { "number", "count form", nil, 12273953, } tags["count form"] = { "number", WIKT, nil, 12273953, } tags["distributive paucal"] = { "number", WIKT, "dpau", } tags["paucal"] = { "number", WIKT, "pau", 489410, } tags["singulative"] = { "number", "singulative number", "sgl", 1450795, } tags["transnumeral"] = { "number", APPENDIX, "trn", 113631596, display = "singular or plural", } tags["trial"] = { "number", "trial number", "tri", 2142560, } ----------------------- Gender ----------------------- tags["natural feminine"] = { "gender", "gender", "natf", } tags["virile"] = { "gender", APPENDIX, "vr", } ----------------------- Animacy ----------------------- ----------------------- Tense/aspect ----------------------- tags["abtemporal"] = { "tense-aspect", WIKT, "abtemp", } tags["anterior"] = { "tense-aspect", "w:relative and absolute tense", "ant", } tags["cessative"] = { "tense-aspect", WP, "cess", 17027342, } -- Aspect in Tagalog; presumably similar to the perfect tense/aspect but not necessarily similar enough to use the same -- Wikidata ID tags["complete"] = { "tense-aspect", "w:Tagalog grammar#Aspect", "compl", } tags["concomitant"] = { "tense-aspect", WIKT, "concom", } tags["confirmative"] = { "tense-aspect", WIKT, "conf", } -- Aspect in Tagalog tags["kontemplatibo"] = { --TLCHANGE "tense-aspect", "w:Tagalog grammar#Aspect", {"contem", "contemplative"}, --TLCHANGE } tags["contemporal"] = { "tense-aspect", WIKT, "contemp", } tags["continuative"] = { "tense-aspect", WP, nil, 28130104, } tags["continuous"] = { "tense-aspect", "w:continuous aspect", "cont", 12721117, } tags["delimitative"] = { "tense-aspect", "w:delimitative aspect", "delim", 5316270, } tags["durative"] = { "tense-aspect", WP, "dur", } tags["futuritive"] = { "tense-aspect", WP, {"futv", "futrv"}, } tags["frequentative"] = { "tense-aspect", WP, "freq", 467562, } tags["habitual"] = { "tense-aspect", "w:habitual aspect", "hab", 5636904, } -- same as the habitual; used in Mongolian linguistics tags["habitive"] = { "tense-aspect", WP, "habv", } tags["immediative"] = { "tense-aspect", WIKT, {"imm", "immed"}, } tags["incidental"] = { "tense-aspect", WIKT, "incid", } tags["iterative"] = { "tense-aspect", "w:iterative aspect", "iter", 2866772, } tags["momentane"] = { "tense-aspect", WP, nil, 6897160, } tags["momentaneous"] = { "tense-aspect", WIKT, "mom", 115110791, } tags["posterior"] = { "tense-aspect", "w:relative and absolute tense", "post", } tags["preconditional"] = { "tense-aspect", WIKT, "precond", } -- Type of participle in Hindi; also called agentive or agentive-prospective tags["prospective"] = { "tense-aspect", "w:prospective aspect", "pros", } tags["purposive"] = { "tense-aspect", WIKT, "purp", } -- Aspect in Tagalog; presumably similar to the perfect tense/aspect but not necessarily similar enough to use the same -- Wikidata ID tags["katatapos"] = { --TLCHANGE "tense-aspect", "w:Tagalog grammar#Aspect", {"rcompl", "recently complete"}, --TLCHANGE } tags["resultative"] = { "tense-aspect", WP, "res", 7316356, } tags["semelfactive"] = { "tense-aspect", WP, "semf", 7449203, } tags["serial"] = { "tense-aspect", WIKT, "ser", } tags["successive"] = { "tense-aspect", WIKT, "succ", } -- be careful not to clash with terminative case tag tags["terminative aspect"] = { "tense-aspect", "w:cessative aspect", "term", display = "terminative", } ----------------------- Mood ----------------------- tags["benedictive"] = { "mood", WP, "bened", 4887358, } tags["cohortative"] = { "mood", "w:cohortative mood", {"coho", "cohort"}, } tags["concessive"] = { "mood", WIKT, "conc", } tags["contrafactual"] = { "mood", WIKT, "cfact", 110323459, } -- Same as the contrafactual, but terminology depends on language. tags["counterfactual"] = { "mood", WP, "counterf", 1783264, -- for "counterfactual conditional" } tags["desiderative"] = { "mood", WP, {"des", "desid"}, 1200631, } tags["dubitative"] = { "mood", "w:dubitative mood", "dub", 1263049, } tags["energetic"] = { "mood", "w:energetic mood", "ener", } tags["inferential"] = { "mood", "w:inferential mood", {"infer", "infr"}, -- Per [[w:inferential mood]], also called "renarrative mood" or (in Estonian) "oblique mood" (but -- "renarrative mood" may be different, see its entry). 3332616, } -- It's not clear that this is exactly a mood, but I'm not sure where -- else to group it tags["intensive"] = { "mood", WP, "inten", 10965321, -- for "intensive word form" } tags["intentional"] = { "mood", WIKT, "intent", } tags["pananong"] = { --TLCHANGE "mood", WP, {"interr", "interrog", "interrogative"}, --TLCHANGE 12021746, } tags["necessitative"] = { "mood", WIKT, "nec", } tags["permissive"] = { "mood", "w:permissive mood", "perm", 4351483, } tags["potential"] = { "mood", "w:potential mood", "potn", 2296856, } tags["precative"] = { "mood", WIKT, "prec", } tags["prescriptive"] = { "mood", WIKT, "prescr", } tags["presumptive"] = { "mood", "w:presumptive mood", "presump", 25463575, } -- Exists at least in Estonian tags["quotative"] = { "mood", "w:quotative evidential mood", "quot", -- 7272884, -- this is for "quotative" morphemes, not the same } tags["renarrative"] = { "mood", "w:renarrative mood", "renarr", -- Per [[w:inferential mood]], renarrative and inferential mood are the same; but per -- [[w:Bulgarian verbs#Evidentials]], they are different, and Bulgarian has both. 3332616, } tags["volitive"] = { "mood", "w:volitive mood", "voli", 10716592, } tags["voluntative"] = { "mood", WIKT, {"voln", "volun"}, } ----------------------- Voice/valence ----------------------- tags["antipassive"] = { "voice-valence", "w:antipassive voice", {"apass", "apasv", "apsv"}, 287232, } tags["applicative"] = { "voice-valence", "w:applicative voice", "appl", 621634, } tags["cooperative"] = { -- ("all together") used in Mongolian "voice-valence", "wikt:cooperative voice", "coop", 114033228, } tags["pluritative"] = { -- ("many together") used in Mongolian "voice-valence", "wikt:pluritative voice", "plur", 114033289, } tags["reciprocal"] = { "voice-valence", "w:reciprocal (grammar)", {"recp", "recip"}, 1964083, } -- Specific to Modern Irish, similar to impersonal tags["autonomous"] = { "voice-valence", WIKT, "auton", } ----------------------- Non-finite ----------------------- -- be careful not to clash with agentive case tag tags["agentive"] = { "non-finite", "w:agent noun", {"ag", "agent"}, } -- Latin etc. tags["gerundive"] = { "non-finite", WP, "gerv", 731298, -- Wikidata claims this is a grammatical mood, which is not really correct } -- Old Irish etc. tags["verbal of necessity"] = { "non-finite", "w:gerundive", "verbnec", 731298, -- gerundive } tags["l-participle"] = { "non-finite", "participle", {"l-ptcp", "lptcp"}, 814722, -- "participle" } -- Finnish agent participle tags["agent participle"] = { "non-finite", "w:Finnish grammar#Agent participle", "agentpart", } -- Hungarian participle tags["verbal participle"] = { "non-finite", WIKT, nil, 2361676, -- attributive verb, aka verbal participle } tags["converb"] = { "non-finite", WP, "conv", 149761, } tags["connegative"] = { "non-finite", APPENDIX, {"conn", "conneg"}, 5161718, } -- Occurs in Hindi as a type of participle used to conjoin two clauses; similarly occurs in Japanese as the "te-form" tags["conjunctive"] = { "non-finite", "w:serial verb construction", -- FIXME! No good link for "conjunctive"; another possibility is "converb" "conj", } tags["absolutive verb form"] = { "non-finite", "wikt:absolutive#Noun", "absvf", display = "absolutive", } -- FIXME! Should this be a mood? tags["debitive"] = { "non-finite", WP, "deb", 17119041, } ----------------------- Case ----------------------- tags["abessive"] = { "case", "w:abessive case", "abe", 319822, } tags["absolutive"] = { "case", "w:absolutive case", "absv", -- FIXME, find uses of "abs" = absolutive 332734, } tags["adessive"] = { "case", "w:adessive case", "ade", 281954, } -- be careful not to clash with adverbial grammar tag tags["adverbial case"] = { "case", WP, "advc", display = "adverbial", } -- be careful not to clash with agentive non-finite tag tags["agentive case"] = { "case", WP, "agc", display = "agentive", } tags["allative"] = { "case", "wikt:allative case", "all", 655020, } --No evidence of the existence of this case on the web, and the shortcuts are better used elsewhere. --tags["anterior"] = { -- "case", -- nil, -- {"ant"}, --} tags["associative"] = { "case", "w:associative case", {"ass", "assoc"}, 15948746, } tags["benefactive"] = { "case", "w:benefactive case", {"ben", "bene"}, 664905, } tags["causal"] = { "case", "w:causal case", {"cauc", "causc"}, 2943136, } tags["causal-final"] = { "case", "w:causal-final case", {"cfi", "cfin"}, 18012653, } tags["comitative"] = { "case", "w:comitative case", "com", 838581, } -- be careful not to clash with comparative degree tags["comparative case"] = { "case", WP, "comc", 5155633, display = "comparative", } tags["delative"] = { "case", "w:delative case", "del", 1183901, } tags["direct"] = { "case", "w:direct case", "dir", 1751855, } tags["directive"] = { "case", "wikt:directive case", "dirc", 56526905, } tags["distributive"] = { "case", "w:distributive case", {"dis", "dist", "distr"}, 492457, } tags["elative"] = { "case", "elative case", "ela", 394253, } tags["ergative"] = { "case", "ergative case", "erg", 324305, } -- be careful not to clash with equative degree tag tags["equative"] = { "case", "w:equative case", "equc", 3177653, } tags["essive-formal"] = { "case", "w:essive-formal case", {"esf", "efor"}, 3827688, } tags["essive-modal"] = { "case", "w:essive-modal case", {"esm", "emod"}, 3827703, } tags["essive"] = { "case", "w:essive case", "ess", 148465, } --No evidence of the existence of this case on the web, and the shortcuts are better used elsewhere. --tags["exclusive"] = { -- "case", -- nil, -- {"exc", "excl"}, --} tags["illative"] = { "case", "w:illative case", "ill", 474668, } tags["indirect"] = { "case", "w:direct case", "indir", 1233197, -- Same as oblique. } tags["inessive"] = { "case", "w:inessive case", "ine", 282031, } tags["instructive"] = { "case", "w:instructive case", "ist", 1665275, } tags["lative"] = { "case", "w:lative case", "lat", 260425, } tags["limitative"] = { "case", "w:list of grammatical cases", "lim", 35870079, } tags["locative-qualitative"] = { "case", "locative-qualitative case", {"lqu", "lqua"}, } tags["objective"] = { "case", "objective case", "objv", -- obj used for "object" 1233197, -- Same as oblique. } tags["oblikwo"] = { --TLCHANGE "case", "oblique case", {"obl", "oblique"}, --TLCHANGE 1233197, } tags["partitivo"] = { --TLCHANGE "case", "w:partitive case", {"ptv", "par", "partitive"}, --TLCHANGE 857325, } --certain languages use this term for the abessive tags["privative"] = { "case", "w:privative case", "priv", 319822, } tags["prolative"] = { "case", "w:prolative case", {"pro", "prol"}, 952933, } tags["sociative"] = { "case", "w:sociative case", "soc", 3773161, } tags["subjective"] = { "case", "w:subjective case", {"subjv", "sbjv"}, -- "sub" and "subj" used for subjunctive, "sbj" for "subject" 131105, -- Same as nominative. } tags["sublative"] = { "case", "w:sublative case", {"sbl", "subl"}, 2120615, } tags["superessive"] = { "case", "w:superessive case", {"spe", "supe"}, 222355, } tags["temporal"] = { "case", "w:temporal case", {"tem", "temp"}, 3235219, } -- be careful not to clash with terminative aspect tag tags["terminative case"] = { "case", "w:terminative case", "ter", 747019, display = "terminative", } tags["translative"] = { "case", "w:translative case", {"tra", "tran"}, 950170, } ----------------------- State ----------------------- tags["independent genitive"] = { "state", WIKT, "indgen", } tags["possessor"] = { "state", WIKT, {"posr", "possr"}, } tags["reflexive possessive"] = { "state", WIKT, {"reflposs", "refl poss"}, } tags["substantive"] = { "state", APPENDIX, {"subs", "subst"}, } ----------------------- Degrees of comparison ----------------------- tags["kaantasang pasukdol na absoluto"] = { --TLCHANGE "comparison", "pasukdol na absoluto", --TLCHANGE "wikt:absolute superlative", {"asupd", "absolute superlative", "absolute superlative degree"}, --TLCHANGE } tags["kaantasang pasukdol na relativo"] = { --TLCHANGE "comparison", "pasukdol na relatibo", --TLCHANGE "wikt:relative superlative", {"rsupd", "relative superlative", "relative superlative degree"}, --TLCHANGE } tags["kaantasang elativo"] = { --TLCHANGE "comparison", "elative", {"elad", "elative degree"}, -- Can't use "elative" as shortcut because that's already used for the elative case --TLCHANGE 1555419, } -- be careful not to clash with equative case tag tags["kaantasang pahambing na magkatulad"] = { --TLCHANGE "comparison", "w:equative", {"equd", "equative degree"}, --TLCHANGE 5384239, } tags["excessive degree"] = { "comparison", nil, "excd", } ----------------------- Register ----------------------- tags["familiar"] = { "register", "w:T–V distinction", "fam", } tags["magalang"] = { --TLCHANGE "register", "w:T–V distinction", {"pol", "polite"}, --TLCHANGE } tags["matalik"] = { --TLCHANGE "register", -- "intimate" is also a possible formality level in the sociolinguistic register sense. "w:T–V distinction", {"intim", "intimate"}, --TLCHANGE } tags["pormal"] = { --TLCHANGE "register", "w:register (sociolinguistics)", "formal", --TLCHANGE } tags["impormal"] = { --TLCHANGE "register", "w:register (sociolinguistics)", {"inform", "informal"}, --TLCHANGE } tags["kolokyal"] = { --TLCHANGE "register", "w:colloquialism", {"colloq", "colloquial"}, --TLCHANGE } tags["balbal"] = { --TLCHANGE "register", WP, {"slang", "islang"}, --TLCHANGE } tags["contemporary"] = { "register", WIKT, "conty", } tags["pampanitikan"] = { --TLCHANGE "register", "w:literary language", {"lit", "literary"}, --TLCHANGE } tags["dated"] = { "register", WIKT, } tags["archaic"] = { "register", "w:archaism", "arch", } tags["obsolete"] = { "register", WIKT, "obs", } tags["emphatic"] = { "register", WIKT, "emph", } ----------------------- Deixis ----------------------- tags["proximal"] = { "deixis", "w:deixis", {"prox", "prxl"}, } tags["medial"] = { "deixis", "w:deixis", "medl", } tags["distal"] = { "deixis", "w:deixis", "dstl", } ----------------------- Clusivity ----------------------- tags["inklusibo"] = { --TLCHANGE "clusivity", "w:clusivity", {"incl", "inclusive"}, --TLCHANGE } tags["eksklusibo"] = { --TLCHANGE "clusivity", "w:clusivity", {"excl", "exclusive"}, --TLCHANGE } tags["obviative"] = { "clusivity", "w:clusivity", "obv", } ----------------------- Inflectional class ----------------------- tags["absolute"] = { "grammar", WIKT, "abs", } tags["conjunct"] = { "grammar", WP, "conjt", } tags["deuterotonic"] = { "grammar", "w:dependent and independent verb forms", "deut", } tags["prototonic"] = { "grammar", "w:dependent and independent verb forms", "prot", } ----------------------- Attitude ----------------------- tags["endearing"] = { "attitude", -- FIXME! No good glossary entry for this; the entry for "hypocoristic" refers specifically to proper names. "w:hypocoristic", "end", 1130279, -- entry for "hypocorism" } tags["moderative"] = { "attitude", WIKT, "moder", } ----------------------- Sound changes ----------------------- tags["alliterative"] = { "sound change", "w:alliteration", nil, 484495, } tags["back"] = { "sound change", "w:back vowel", nil, 853589, } tags["front"] = { "sound change", "w:front vowel", nil, 5505949, } tags["rounded"] = { "sound change", "w:roundedness", "round", } tags["sigmatic"] = { "sound change", WIKT, "sigm", } tags["unrounded"] = { "sound change", "w:roundedness", "unround", } tags["vowel harmonic"] = { "sound change", "w:vowel harmony", "vharm", 147137, } ----------------------- Misc grammar ----------------------- tags["pamanggit"] = { --TLCHANGE "grammar", WIKT, {"rel", "relative"}, --TLCHANGE } tags["direct relative"] = { "grammar", "w:relative_clause#Celtic_languages", "dirrel", } tags["indirect relative"] = { "grammar", "w:relative_clause#Celtic_languages", "indrel", } tags["synthetic"] = { "grammar", WIKT, "synth", } tags["analytic"] = { "grammar", WIKT, {"anal", "analytical"}, } tags["periphrastic"] = { "grammar", WIKT, "peri", } tags["affirmative"] = { "grammar", "w:affirmation and negation", "aff", } tags["possessed"] = { "grammar", "w:possessive affix", {"possd", "possed"}, -- posd = positive degree 804020, -- for possessive affix } tags["non-possessed"] = { "grammar", "w:possessive affix", {"npossd", "npossed", "nonpossessed"}, } tags["possessive affix"] = { "grammar", WP, {"posaf", "possaf"}, 804020, } tags["possessive suffix"] = { "grammar", "w:possessive affix", "possuf", 804020, } tags["possessive prefix"] = { "grammar", "w:possessive affix", {"pospref", "posspref"}, 804020, } tags["unlapi"] = { --TLCHANGE "grammar", APPENDIX, {"pref", "prefix"}, -- pre = prepositional --TLCHANGE 134830, } tags["prefixal"] = { "grammar", WIKT, "prefl", -- pre = prepositional 134830, } tags["hulapi"] = { --TLCHANGE "grammar", APPENDIX, {"suf", "suff", "suffix"}, --TLCHANGE 102047, } tags["suffixal"] = { "grammar", WIKT, {"sufl", "suffl"}, 102047, } tags["panlapi"] = { --TLCHANGE "grammar", WP, {"af", "affix"}, -- aff = affirmative --TLCHANGE 62155, } tags["affixal"] = { "grammar", WIKT, "afl", -- aff = affirmative 62155, } tags["circumfix"] = { "grammar", WP, {"circ", "cirf", "circf"}, 124939, } tags["circumfixal"] = { "grammar", WIKT, {"circl", "cirfl", "circfl"}, 124939, } tags["gitlapi"] = { --TLCHANGE "grammar", WP, {"infx", "infix"}, --TLCHANGE 201322, } tags["infixal"] = { "grammar", WIKT, "infxl", 201322, } tags["nonfinite"] = { "grammar", APPENDIX, "nonfin", 1050494, -- entry for "non-finite verb" } tags["tenseless"] = { "grammar", WIKT, } tags["aspekto"] = { --TLCHANGE "grammar", APPENDIX, {"asp", "aspect"}, --TLCHANGE 208084, } tags["augmented"] = { "grammar", "augment", nil, 760437, } tags["unaugmented"] = { "grammar", "augment", nil, 760437, } ----------------------- Other tags ----------------------- tags["–"] = { -- Unicode en-dash "other", no_space_on_left = true, no_space_on_right = true, } tags["—"] = { -- Unicode em-dash "other", no_space_on_left = true, no_space_on_right = true, } ----------------------- Create the shortcuts list ----------------------- m_form_of_data.finalize(tags, shortcuts) return {tags = tags, shortcuts = shortcuts} nb5p5uu1zcfu4kqb906qd58gmqxc403 Module:category tree/pragmatic properties 828 34566 177534 177042 2026-08-27T12:51:19Z Yivan000 4078 "makaluma" is "archaic"; "may kalumaan" is "dated"; "lipas na" is "obsolete" (this is so hard to come up with translations omg) 177534 Scribunto text/plain local labels = {} local raw_categories = {} local string_utilities_module = "Module:string utilities" local ucfirst = require(string_utilities_module).ucfirst ----------------------------------------------------------------------------- -- -- -- LABELS -- -- -- ----------------------------------------------------------------------------- labels["na salita ayon sa paggamit"] = { --TLCHANGE: "terms by usage" description = "{{{langname}}} terms categorized by the manner and context in which they are used by speakers.", umbrella_parents = "Pangkalahatan", --TLCHANGE "Fundamental", parents = {{name = "{{{langcat}}}", raw = true}}, english_name = "terms by usage", --TLCHANGE } local function generate_category_with_senses(typ, desc, distinguish, other_types_in_group, english_name) --TLCHANGE add english_name param if distinguish then distinguish = "\n\n" .. distinguish else distinguish = "" end local function make_preceding(pos) if not other_types_in_group then return nil end local cats = {} for _, other_type in ipairs(other_types_in_group) do table.insert(cats, ("Category:{{{langname}}} " .. pos):format(other_type)) end return ("{{also|%s}}"):format(table.concat(cats, "|")) end local function make_umbrella_preceding(pos) if not other_types_in_group then return nil end local cats = {} for _, other_type in ipairs(other_types_in_group) do table.insert(cats, "Category:" .. ucfirst((pos .. " by language"):format(other_type))) end return ("{{also|%s}}"):format(table.concat(cats, "|")) end labels[("na salitang %s"):format(typ)] = { --TLCHANGE "%s terms" description = ("{{{langname}}} terms that %s."):format(desc), additional = ("To categorize into this category, use {{tl|tlb|{{{langcode}}}|%s}} (template '''tlb''', not '''lb'''), " .. "which should typically be placed next to the headword.\n\nIf the term is merely a variant (alternative form) of a term " .. "in general use, it should be categorized instead in {{cl|{{{langname}}} %s forms}} (using " .. "{{tl|%s form of|{{{langcode}}}|...}} or {{tl|%s spelling of|{{{langcode}}}|...}}). If only some senses of the term are %s, " .. "it should be categorized instead in {{cl|{{{langname}}} terms with %s senses}}, using {{tl|lb|{{{langcode}}}|%s}} " .. "(template '''lb''' instead of '''tlb'''), which should typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "terms")), parents = {"na salita ayon sa paggamit"}, --TLCHANGE "terms by usage" preceding = make_preceding("na salitang %s"), --TLCHANGE "%s terms" umbrella = { preceding = make_umbrella_preceding("na salitang %s"), --TLCHANGE "%s terms" additional = ("To categorize into this category, use <code><nowiki>{{</nowiki>tlb|<var>langcode</var>|%s}}</code> " .. "(template '''tlb''', not '''lb'''), which should typically be placed next to the headword. " .. "(<code><var>langcode</var></code> is the appropriate language code for the language in question; see [[Wiktionary:List of languages]].)\n\n" .. "If the term is merely a variant (alternative form) of a term in general use, it should be categorized instead in " .. "{{cl|<var>langname</var> %s forms}} (using <code><nowiki>{{</nowiki>%s form of|<var>langcode</var>|...}}</code> " .. "or <code><nowiki>{{</nowiki>%s spelling of|<var>langcode</var>|...}}</code>). " .. "If only some senses of the term are %s, it should be categorized instead in {{cl|<var>langname</var> terms with %s senses}}, " .. "using <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> (template '''lb''' instead of '''tlb'''), which should " .. "typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "terms")), }, english_name = ("%s terms"):format(english_name or typ), --TLCHANGE } labels[("terms with %s senses"):format(typ)] = { description = ("{{{langname}}} terms with individual senses that %s."):format(desc), additional = ("To categorize into this category, use {{tl|lb|{{{langcode}}}|%s}} (template '''lb''', not '''tlb'''), " .. "which should typically be placed next to the individual sense.\n\nIf the term itself, in all its senses, is %s, " .. "it should be placed in {{cl|{{{langname}}} %s terms}} instead, using {{tl|tlb|{{{langcode}}}|%s}} " .. "(template '''tlb''' instead of '''lb'''), which should typically be placed next to the headword. " .. "If the term is merely a variant (alternative form) of a term in general use, it should be categorized in " .. "{{cl|{{{langname}}} %s forms}} (using {{tl|%s form of|{{{langcode}}}|...}} or {{tl|%s spelling of|{{{langcode}}}|...}}).%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "senses")), parents = {{name = "terms by usage", sort = ("%s senses"):format(typ)}}, breadcrumb = ("with %s senses"):format(typ), preceding = make_preceding("terms with %s senses"), umbrella = { preceding = make_umbrella_preceding("terms with %s senses"), additional = ("To categorize into this category, use <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> " .. "(template '''lb''', not '''tlb'''), which should typically be placed next to the individual sense. " .. "(<code><var>langcode</var></code> is the appropriate language code for the language in question; see [[Wiktionary:List of languages]].)\n\n" .. "If the term itself, in all its senses, is %s, it should be placed in {{cl|<var>langname</var> %s terms}} instead, using " .. "<code><nowiki>{{</nowiki>tlb|<var>langcode</var>|%s}}</code> (template '''tlb''' instead of '''lb'''), which should " .. "typically be placed next to the headword. If the term is merely a variant (alternative form) of a term in general use, " .. "it should be categorized in {{cl|<var>langname</var> %s forms}} (using <code><nowiki>{{</nowiki>%s form of|<var>langcode</var>|...}}</code> " .. "or <code><nowiki>{{</nowiki>%s spelling of|<var>langcode</var>|...}}</code>.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "senses")), } } labels[("na anyong %s"):format(typ)] = { --TLCHANGE "%s forms" description = ("{{{langname}}} forms that %s; and serve as alternative forms of the same terms in general use."):format(desc), additional = ("To categorize into this category, use {{tl|%s form of|{{{langcode}}}|...}} or {{tl|%s spelling of|{{{langcode}}}|...}}.\n\n" .. "If the term is not merely a variant (alternative form) of a term in general use, it should be placed in {{cl|{{{langname}}} %s terms}} " .. "instead; to do this, use {{tl|tlb|{{{langcode}}}|%s}} (template '''tlb''', not '''lb'''), which should typically be placed next to the " .. "headword. If only some senses of the term are %s, it should be categorized instead in {{cl|{{{langname}}} terms with %s senses}}, " .. "using {{tl|lb|{{{langcode}}}|%s}} (template '''lb''' instead of '''tlb'''), which should typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "forms")), parents = {{name = ("%s terms"):format(typ), sort = "forms"}}, breadcrumb = "forms", preceding = make_preceding("%s forms"), umbrella = { preceding = make_umbrella_preceding("%s forms"), additional = ("To categorize into this category, use <code><nowiki>{{</nowiki>%s form of|<var>langcode</var>|...}}</code> " .. "or <code><nowiki>{{</nowiki>%s spelling of|<var>langcode</var>|...}}</code>. (<code><var>langcode</var></code> is the " .. "appropriate language code for the language in question; see [[Wiktionary:List of languages]].)\n\n" .. "If the term is not merely a variant (alternative form) of a term in general use, it should be placed in {{cl|<var>langname</var> %s terms}} " .. "instead; to do this, use <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> (template '''tlb''', not '''lb'''), " .. "which should typically be placed next to the headword. If only some senses of the term are %s, it should be categorized instead " .. "in {{cl|<var>langname</var> terms with %s senses}}, using <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> " .. "(template '''lb''' instead of '''tlb'''), which should typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "forms")), } } end local function generate_related_categories_with_senses(info) for typ, spec in pairs(info) do local other_types = {} for other_type, _ in pairs(info) do if other_type ~= typ then table.insert(other_types, other_type) end end table.sort(other_types) generate_category_with_senses(typ, spec.desc, spec.distinguish, other_types, spec.english_name) --TLCHANGE add spec.english_name end end generate_related_categories_with_senses { makaluma = { --TLCHANGE desc = "are no longer in general use but still encountered in older literature, sometimes still used for special effect, and typically recognized by native speakers", distinguish = "Archaic POS should be distinguished from dated POS, which are merely [[unfashionable]] and [[anachronistic]] but still sometimes used, especially by older speakers; and on the other hand from obsolete POS, which are no longer in use at all and are not usually recognized by native speakers.", english_name = "archaic", --TLCHANGE }, ["may kalumaan"] = { --TLCHANGE desc = "are no longer fashionable and thus are [[anachronistic]], but still sometimes in use, especially by older speakers", distinguish = "Dated POS should be distinguished from archaic POS, which are no longer in use (except occasionally for special effect) but are still sometimes encountered in older literature and are typically recognized by native speakers; and obsolete POS, which are no longer in use at all and are not usually recognized by native speakers.", english_name = "dated", --TLCHANGE }, ["lipas na"] = { --TLCHANGE desc = "are no longer in use and not usually recognized by native speakers, but still sometimes found in older literature", distinguish = "Obsolete POS should be distinguished from archaic POS, which, although no longer in general use, are still occasionally used for special effect and are typically recognized by native speakers; and dated POS, which are merely [[unfashionable]] and [[anachronistic]] but still sometimes used, especially by older speakers.", english_name = "obsolete", --TLCHANGE }, } generate_related_categories_with_senses { rare = { desc = "are rarely found in general use and may not be recognized by some native speakers", distinguish = "Rare POS should be distinguished from uncommon POS, which are not common but used enough to be generally recognized.", }, uncommon = { desc = "are in general use but not common", distinguish = "Uncommon POS should be distinguished from rare POS, which are infrequent enough that they are sometimes not recognized by native speakers.", }, } labels["2channel slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|2channel}}.", parents = {"internet slang"}, } labels["4chan slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|4chan}}.", parents = {"internet slang"}, } labels["4chan /lgbt/ slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the /lgbt/ board of the website {{w|4chan}}.", parents = {"4chan slang", "LGBTQ slang"}, } labels["angry register terms"] = { description = "{{{langname}}} terms belonging to an angry linguistic register, used only when the speaker is angry.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["anti-LGBTQ slurs"] = { description = "{{{langname}}} terms that are intended to offend [[LGBTQ]] people.", parents = {"offensive terms"}, } labels["autological terms"] = { description = "{{{langname}}} terms that possess the property they themselves describe.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["back slang"] = { description = "{{{langname}}} terms in which the written word is spoken phonemically backwards to form a coded language.", parents = {"cant"}, } labels["cant"] = { description = "{{{langname}}} terms used to form secret languages that are typically restricted to members of a specific group.", parents = {"slang"}, } labels["censored spellings"] = { description = "{{{langname}}} spellings where some characters have been changed in an effort to reduce the shock value of the original term.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["na salitang pambata"] = { --TLCHANGE description = "{{{langname}}} terms that are typically only used by, or to, children.", parents = {"na salita ayon sa paggamit", "na salitang impormal"}, --TLCHANGE {"terms by usage", "informal terms"}, english_name = "childish terms", --TLCHANGE } labels["na salitang kolokyal"] = { --TLCHANGE description = "{{{langname}}} terms that are likely to be used primarily in casual conversation rather than in more formal written works, speeches, and discourse.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "colloquialisms", --TLCHANGE } labels["corporate jargon"] = { description = "{{{langname}}} terms (typically for non-business-specific concepts) that are used especially in a [[business]] or [[corporate]] [[context]].", additional = "See also [[:Category:Businesses]], [[:Category:Business]] and language-specific categories thereof for terms related to business-specific concepts.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["criminal slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to criminals.", parents = {"slang"}, } labels["na salitang mapanlait"] = { --TLCHANGE description = "{{{langname}}} terms that are intended to [[disparage]], [[demean]], [[insult]] or [[offend]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "derogatory terms", --TLCHANGE } labels["dialectal terms"] = { description = "{{{langname}}} terms that are not used in standard language but only in dialects.", parents = {"terms by usage"}, } labels["dis legomena"] = { description = "{{{langname}}} terms that are attested only twice in the entire corpus.", parents = {"terms by usage"}, } labels["drag slang"] = { description = "{{{langname}}} [[slang]] terms used in the [[drag]] community.", parents = {"LGBTQ slang"}, } labels["ecclesiastical terms"] = { description = "{{{langname}}} terms used only by religious figures.", parents = {"terms by usage"}, } labels["eggcorns"] = { description = "{{{langname}}} [[eggcorn]]s, terms which are misconstructed.", parents = {"misconstructions"}, } labels["emoticons"] = { description = "{{{langname}}} characters, or sequences of characters, that imitate expressions and other objects by means of [[pareidolia]].", parents = {"internet slang", "text messaging slang"}, } labels["endearing terms"] = { description = "{{{langname}}} terms that are used to show affection or endearment to another person.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["ethnic slurs"] = { description = "{{{langname}}} terms that are intended to offend certain ethnic groups.", parents = {"offensive terms"}, } labels["expressive terms"] = { description = "{{{langname}}} terms with additional expressive content compared with the basic meaning of the term.", additional = "This term is common in Slavic lexicography and is found in most Czech, Slovak and Polish dictionaries, but there is no exact equivalent in English lexicography. The closest equivalents might be a combination of ''colloquial'' and either ''endearing'' or ''pejorative'', as the case may be.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["eye dialect"] = { description = "{{{langname}}} nonstandard spellings, which however do not change pronunciation, deliberately used by an author to indicate that the speaker uses a nonstandard or dialectal speech.", parents = {"nonstandard forms", "terms by orthographic property"}, } labels["familiar terms"] = { description = "{{{langname}}} terms whose use is typically to contexts of friendly intimacy.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["fandom slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to fans of one or more works of fiction.", parents = {"slang"}, } labels["filter-avoidance spellings"] = { description = "Deliberate misspellings of {{{langname}}} terms that are used to avoid [[w:Wordfilter|wordfilters]].", parents = {"deliberate misspellings"}, } labels["folk poetic terms"] = { description = "{{{langname}}} terms whose usage is typically restricted to works of oral or folk poetry.", parents = {"terms by usage", "poetic terms"}, } labels["na salitang pormal"] = { description = "{{{langname}}} terms whose use is typically restricted to polite, ceremonious, non-casual contexts.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "formal terms", --TLCHANGE } labels["gay slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to homosexual people.", parents = {"LGBTQ slang"}, } labels["gender-critical slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to gender-critical feminists.", parents = {"slang", "Category:{{{langcode}}}:Gender-critical feminism"}, } labels["gender-neutral terms"] = { description = "{{{langname}}} terms that are applicable to all people, independent of gender.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["graffiti slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to creators of [[graffiti#Noun|graffiti]].", parents = {"slang", "Category:{{{langcode}}}:Art"}, } labels["higher register terms"] = { description = "{{{langname}}} terms belonging to a higher linguistic register, such as literary terms; such terms are somewhat less common or known.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["historical terms"] = { description = "{{{langname}}} terms that refer to obsolete things or concepts.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["honorific terms"] = { description = "{{{langname}}} [[honorific]] terms, which are used to show deference and respect.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["polite terms"] = { description = "{{{langname}}} [[polite]] terms, which are used to show deference and respect.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["hapax legomena"] = { description = "{{{langname}}} terms that are attested only once in the entire corpus.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["humble terms"] = { description = "{{{langname}}} [[humble]] terms, which are used to show humility towards the addressee, indicating that the speaker has a lower social standing.", parents = {"honorific terms"}, } labels["hypercorrections"] = { description = "{{{langname}}} forms of other terms by misapplications of grammatical or orthographical rules.", parents = {"nonstandard terms", "nonstandard forms"}, } labels["hyperforeign terms"] = { description = "{{{langname}}} terms created by misapplying the perceived grammatical, orthographical or phonetical rules of another language.", parents = {"hypercorrections"}, } labels["incel slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to incels.", parents = {"slang", "Category:{{{langcode}}}:Incel community"}, } labels["imperfective forms"] = { description = "{{{langname}}} verbs that serve as imperfective variants of perfective verbs, sharing the same base set of meanings.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["informal forms"] = { description = "{{{langname}}} terms that can be used in casual, non-ceremonious conversations as alternative forms of other terms.", additional = "Informal non-lemma form variants also belong here.", parents = {"informal terms"}, } labels["na salitang impormal"] = { --TLCHANGE description = "{{{langname}}} terms whose use is typically restricted to casual, non‐ceremonious conversations.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "informal terms", --TLCHANGE } labels["deliberate misspellings"] = { description = "Deliberate misspellings of {{{langname}}} terms.", parents = {"misspellings"}, } labels["internet laughter slang"] = { description = "{{{langname}}} [[slang]] terms that are used as substitutes for laughter in internet-related contexts.", additional = "::''Note: The majority of items that <u>could</u> be here do not meet Wiktionary's [[WT:CFI|criteria for inclusion]].''", parents = {"internet slang"}, } labels["internet slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to internet users.", parents = {"slang"}, } labels["humorous terms"] = { description = "{{{langname}}} terms that are humorous, amusing or joking.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["journalistic terms"] = { description = "{{{langname}}} terms that are used especially in [[journalistic]] language, i.e. in newspapers and magazines.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["kennings"] = { description = "{{{langname}}} metaphorical compounds or phrases describing basic objects in an allusive fashion, used especially in Germanic poetry.", parents = {"poetic terms"}, } labels["leetspeak"] = { description = "{{{langname}}} which are used in [[leetspeak]], a variety of internet slang that focuses on substitution of letters by other characters which are similar in appearance.", parents = {"internet slang"}, } labels["LGBTQ slang"] = { description = "{{{langname}}} [[slang]] terms which are used predominantly among [[LGBTQ]] people.", parents = {"slang", "Category:{{{langcode}}}:LGBTQ"}, } labels["na salitang pampanitikan"] = { --TLCHANGE description = "{{{langname}}} terms whose usage is typically restricted to works of literature.", parents = {"higher register terms"}, english_name = "literary terms", --TLCHANGE } labels["medical slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to medical doctors, such as physicians and surgeons.", parents = {"slang"}, } labels["military slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to military personnel.", parents = {"slang"}, } labels["misconstructions"] = { description = "Terms wrongly built due to a misunderstanding of their parts.", parents = {"nonstandard forms"}, } labels["misromanizations"] = { description = "Common misromanizations of {{{langname}}} terms.", parents = {"nonstandard forms"}, } labels["misspellings"] = { description = "Common accidental misspellings of {{{langname}}} terms and some terms which are deliberate misspellings.", parents = {"nonstandard forms"}, } labels["multiplicity slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to the {{l|en|multiplicity|id=multiple personalities}} [[community]].", parents = {"slang", "Category:{{{langcode}}}:Multiplicity (psychology)"}, } labels["naval slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to naval personnel.", parents = {"military slang"}, } labels["na anyong di-pamantayan"] = { --TLCHANGE description = "{{{langname}}} forms of standard terms that are considered improper, incorrect or commonly misused.", parents = {"na salitang di-pamantayan"}, --TLCHANGE {"nonstandard terms"}, english_name = "nonstandard forms", --TLCHANGE } labels["na salitang di-pamantayan"] = { --TLCHANGE description = "{{{langname}}} terms that are considered improper, incorrect or commonly misused.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "nonstandard terms", --TLCHANGE } labels["numismatic slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to numismatists.", parents = {"slang", "Category:{{{langcode}}}:Currency"}, } labels["offensive terms"] = { description = "{{{langname}}} terms that are typically considered to offend people.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["officialese terms"] = { description = "{{{langname}}} terms that are chiefly used by official sources, and are often bureaucratic-sounding.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["OpenStreetMap jargon"] = { description = "{{{langname}}} terms that are used in [[w:OpenStreetMap|OpenStreetMap]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["oxymorons"] = { description = "{{{langname}}} terms that are juxtapositions of opposing ideas.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["perfective forms"] = { description = "{{{langname}}} verbs that serve as perfective variants of imperfective verbs, sharing the same base set of meanings.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["placeholder terms"] = { description = "{{{langname}}} terms used to refer to items for which one does not know or cannot recall the name, or is unable to or does not care to specify precisely.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["poetic forms"] = { description = "{{{langname}}} terms that can be used in works of poetry as poetic alternative forms of other terms.", additional = "Poetic non-lemma form variants also belong here.", parents = {"poetic terms"}, } labels["poetic terms"] = { description = "{{{langname}}} terms whose usage is typically restricted to works of poetry.", parents = {"terms by usage", "literary terms"}, } labels["post-nominal letters"] = { description = "{{{langname}}} Post-nominal letters - also called post-nominal initials, post-nominal titles or designatory letters are letters placed after the name of a person to indicate that the individual holds a position, educational degree, accreditation, office, military decoration, or honour, or is a member of a religious institute or fraternity.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["prison slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to detainees in correctional institutions.", parents = {"slang"}, } labels["proscribed terms"] = { description = "{{{langname}}} terms whose usage is proscribed; thus, they are considered wrong according to prescriptive sources.", parents = {"terms by usage", "nonstandard terms"}, } labels["puristic terms"] = { description = "{{{langname}}} terms adopted for [[w:Linguistic purism|linguistic purism]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["radio slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to radio communication.", parents = {"slang"}, } labels["Reddit slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|Reddit}}.", parents = {"internet slang"}, } labels["religious slurs"] = { description = "{{{langname}}} terms that are intended to offend members of certain religions.", parents = {"offensive terms"}, } labels["reverential terms"] = { description = "{{{langname}}} [[reverential]] terms, which are used to exalt the addressee, indicating that they have a higher social standing than the speaker.", parents = {"honorific terms"}, } labels["royal terms"] = { description = "{{{langname}}} terms used only by royalty.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["rustic terms"] = { description = "{{{langname}}} terms whose use is typically restricted rural speech.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["school slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to schools and school pupils.", parents = {"slang"}, } labels["self-deprecatory terms"] = { description = "{{{langname}}} [[self-deprecatory]] terms.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["short forms"] = { description = "{{{langname}}} terms that are [[short form]]s of other terms, often used informally.", parents = {"terms by usage", "shortenings"}, } labels["na salitang balbal"] = { --TLCHANGE description = "{{{langname}}} [[colloquial]] terms that are typically used to mark membership in a cultural subgroup.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "slang", --TLCHANGE } labels["solemn terms"] = { description = "{{{langname}}} terms that are used to instill a sense of somberness.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["student slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to colleges, universities, and their students.", parents = {"slang"}, } labels["na anyong pinalitang pagbaybay"] = { --TLCHANGE description = "{{{langname}}} forms that have been superseded by other forms due to changes in spelling conventions.", parents = {"na salita ayon sa paggamit", "na salita ayon sa katangiang ortograpiko"}, --TLCHANGE {"terms by usage", "terms by orthographic property"}, english_name = "superseded forms", --TLCHANGE } labels["na salitang mura"] = { --TLCHANGE description = "{{{langname}}} terms that are used to swear, such as to express strong anger or frustration.", parents = {"vulgarities"}, english_name = "swear words", --TLCHANGE } labels["technical terms"] = { description = "{{{langname}}} terms that are usually or exclusively used in technical/scientific writing.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms of address"] = { description = "{{{langname}}} terms used to refer to another person.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms used in hendiadys"] = { description = "{{{langname}}} words or senses which are used only in {{w|hendiadys}}.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms with historical senses"] = { description = "{{{langname}}} terms with senses that refer to things or concepts mainly known for their historical value.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms with transferred senses"] = { description = "{{{langname}}} terms with [[Appendix:Glossary#transferred senses|transferred senses]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms with uncertain meaning"] = { description = "{{{langname}}} terms whose meaning is unknown or disputed.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["text messaging slang"] = { description = "{{{langname}}} terms used for [[text messaging]] on mobile phones or similar devices, usually consisting of heavily abbreviated forms.", parents = {"slang"}, } labels["tone indicators"] = { description = "{{{langname}}} symbols used to denote or clarify the intent of a preceeding or occasionally following message.", parents = {"internet slang"}, } labels["trademarks"] = { description = "{{{langname}}} terms that identify legal entities, their products and services, by means of legal protection — to some extent, in a number of jurisdictions — against unauthorized use of the terms.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["transgender slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to transgender people.", parents = {"LGBTQ slang", "Category:{{{langcode}}}:Transgender"}, } labels["TV Tropes slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|TV Tropes}}.", parents = {"internet slang"}, } labels["umlautless spellings"] = { description = "{{{langname}}} terms that are the result of the original terms' [[umlaut]]s being substituted.", parents = {"nonstandard forms", "terms by orthographic property"}, } labels["Usenet slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of {{w|Usenet}}.", parents = {"internet slang"}, } labels["men's speech terms"] = { description = "{{{langname}}} terms and forms used in [[Appendix:Glossary#men's speech|men's speech]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["women's speech terms"] = { description = "{{{langname}}} terms and forms used in [[Appendix:Glossary#women's speech|women's speech]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["na salitang bulgar"] = { --TLCHANGE description = "{{{langname}}} terms whose tone (rather than the meaning) is offensive to polite company.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "vulgarities", --TLCHANGE } -- Add 'umbrella_parents' key if not already present. for key, data in pairs(labels) do if not data.umbrella_parents then data.umbrella_parents = "Subkategoryang pansalita ayon sa paggamit ayon sa wika" --TLCHANGE "Terms by usage subcategories by language" end end ----------------------------------------------------------------------------- -- -- -- RAW CATEGORIES -- -- -- ----------------------------------------------------------------------------- raw_categories["Subkategoryang pansalita ayon sa paggamit ayon sa wika"] = { --TLCHANGE description = "Umbrella categories covering topics related to terms categorized by their usage, such as slang, obsolete or archaic forms and vulgarities.", additional = "{{{umbrella_meta_msg}}}", parents = { "Kataas-taasang kategorya", --TLCHANGE "Umbrella metacategories" {name = "na salita ayon sa paggamit", is_label = true, sort = " "}, --TLCHANGE "terms by usage" }, english_name = "Terms by usage subcategories by language", --TLCHANGE } return {LABELS = labels, RAW_CATEGORIES = raw_categories} 36x38d659lctcd0nznk8mf4b95yrimu 177538 177534 2026-08-27T12:57:27Z Yivan000 4078 177538 Scribunto text/plain local labels = {} local raw_categories = {} local string_utilities_module = "Module:string utilities" local ucfirst = require(string_utilities_module).ucfirst ----------------------------------------------------------------------------- -- -- -- LABELS -- -- -- ----------------------------------------------------------------------------- labels["na salita ayon sa paggamit"] = { --TLCHANGE: "terms by usage" description = "{{{langname}}} terms categorized by the manner and context in which they are used by speakers.", umbrella_parents = "Pangkalahatan", --TLCHANGE "Fundamental", parents = {{name = "{{{langcat}}}", raw = true}}, english_name = "terms by usage", --TLCHANGE } local function generate_category_with_senses(typ, desc, distinguish, other_types_in_group, english_name) --TLCHANGE add english_name param if distinguish then distinguish = "\n\n" .. distinguish else distinguish = "" end local function make_preceding(pos) if not other_types_in_group then return nil end local cats = {} for _, other_type in ipairs(other_types_in_group) do table.insert(cats, ("Category:{{{langname}}} " .. pos):format(other_type)) end return ("{{also|%s}}"):format(table.concat(cats, "|")) end local function make_umbrella_preceding(pos) if not other_types_in_group then return nil end local cats = {} for _, other_type in ipairs(other_types_in_group) do table.insert(cats, "Category:" .. ucfirst((pos .. " ayon sa wika"):format(other_type))) --TLCHANGE " by language" end return ("{{also|%s}}"):format(table.concat(cats, "|")) end labels[("na salitang %s"):format(typ)] = { --TLCHANGE "%s terms" description = ("{{{langname}}} terms that %s."):format(desc), additional = ("To categorize into this category, use {{tl|tlb|{{{langcode}}}|%s}} (template '''tlb''', not '''lb'''), " .. "which should typically be placed next to the headword.\n\nIf the term is merely a variant (alternative form) of a term " .. "in general use, it should be categorized instead in {{cl|{{{langname}}} %s forms}} (using " .. "{{tl|%s form of|{{{langcode}}}|...}} or {{tl|%s spelling of|{{{langcode}}}|...}}). If only some senses of the term are %s, " .. "it should be categorized instead in {{cl|{{{langname}}} terms with %s senses}}, using {{tl|lb|{{{langcode}}}|%s}} " .. "(template '''lb''' instead of '''tlb'''), which should typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "terms")), parents = {"na salita ayon sa paggamit"}, --TLCHANGE "terms by usage" preceding = make_preceding("na salitang %s"), --TLCHANGE "%s terms" umbrella = { preceding = make_umbrella_preceding("salitang %s"), --TLCHANGE "%s terms" additional = ("To categorize into this category, use <code><nowiki>{{</nowiki>tlb|<var>langcode</var>|%s}}</code> " .. "(template '''tlb''', not '''lb'''), which should typically be placed next to the headword. " .. "(<code><var>langcode</var></code> is the appropriate language code for the language in question; see [[Wiktionary:List of languages]].)\n\n" .. "If the term is merely a variant (alternative form) of a term in general use, it should be categorized instead in " .. "{{cl|<var>langname</var> %s forms}} (using <code><nowiki>{{</nowiki>%s form of|<var>langcode</var>|...}}</code> " .. "or <code><nowiki>{{</nowiki>%s spelling of|<var>langcode</var>|...}}</code>). " .. "If only some senses of the term are %s, it should be categorized instead in {{cl|<var>langname</var> terms with %s senses}}, " .. "using <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> (template '''lb''' instead of '''tlb'''), which should " .. "typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "terms")), }, english_name = ("%s terms"):format(english_name or typ), --TLCHANGE } labels[("terms with %s senses"):format(typ)] = { description = ("{{{langname}}} terms with individual senses that %s."):format(desc), additional = ("To categorize into this category, use {{tl|lb|{{{langcode}}}|%s}} (template '''lb''', not '''tlb'''), " .. "which should typically be placed next to the individual sense.\n\nIf the term itself, in all its senses, is %s, " .. "it should be placed in {{cl|{{{langname}}} %s terms}} instead, using {{tl|tlb|{{{langcode}}}|%s}} " .. "(template '''tlb''' instead of '''lb'''), which should typically be placed next to the headword. " .. "If the term is merely a variant (alternative form) of a term in general use, it should be categorized in " .. "{{cl|{{{langname}}} %s forms}} (using {{tl|%s form of|{{{langcode}}}|...}} or {{tl|%s spelling of|{{{langcode}}}|...}}).%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "senses")), parents = {{name = "terms by usage", sort = ("%s senses"):format(typ)}}, breadcrumb = ("with %s senses"):format(typ), preceding = make_preceding("terms with %s senses"), umbrella = { preceding = make_umbrella_preceding("terms with %s senses"), additional = ("To categorize into this category, use <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> " .. "(template '''lb''', not '''tlb'''), which should typically be placed next to the individual sense. " .. "(<code><var>langcode</var></code> is the appropriate language code for the language in question; see [[Wiktionary:List of languages]].)\n\n" .. "If the term itself, in all its senses, is %s, it should be placed in {{cl|<var>langname</var> %s terms}} instead, using " .. "<code><nowiki>{{</nowiki>tlb|<var>langcode</var>|%s}}</code> (template '''tlb''' instead of '''lb'''), which should " .. "typically be placed next to the headword. If the term is merely a variant (alternative form) of a term in general use, " .. "it should be categorized in {{cl|<var>langname</var> %s forms}} (using <code><nowiki>{{</nowiki>%s form of|<var>langcode</var>|...}}</code> " .. "or <code><nowiki>{{</nowiki>%s spelling of|<var>langcode</var>|...}}</code>.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "senses")), } } labels[("na anyong %s"):format(typ)] = { --TLCHANGE "%s forms" description = ("{{{langname}}} forms that %s; and serve as alternative forms of the same terms in general use."):format(desc), additional = ("To categorize into this category, use {{tl|%s form of|{{{langcode}}}|...}} or {{tl|%s spelling of|{{{langcode}}}|...}}.\n\n" .. "If the term is not merely a variant (alternative form) of a term in general use, it should be placed in {{cl|{{{langname}}} %s terms}} " .. "instead; to do this, use {{tl|tlb|{{{langcode}}}|%s}} (template '''tlb''', not '''lb'''), which should typically be placed next to the " .. "headword. If only some senses of the term are %s, it should be categorized instead in {{cl|{{{langname}}} terms with %s senses}}, " .. "using {{tl|lb|{{{langcode}}}|%s}} (template '''lb''' instead of '''tlb'''), which should typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "forms")), parents = {{name = ("%s terms"):format(typ), sort = "forms"}}, breadcrumb = "forms", preceding = make_preceding("%s forms"), umbrella = { preceding = make_umbrella_preceding("%s forms"), additional = ("To categorize into this category, use <code><nowiki>{{</nowiki>%s form of|<var>langcode</var>|...}}</code> " .. "or <code><nowiki>{{</nowiki>%s spelling of|<var>langcode</var>|...}}</code>. (<code><var>langcode</var></code> is the " .. "appropriate language code for the language in question; see [[Wiktionary:List of languages]].)\n\n" .. "If the term is not merely a variant (alternative form) of a term in general use, it should be placed in {{cl|<var>langname</var> %s terms}} " .. "instead; to do this, use <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> (template '''tlb''', not '''lb'''), " .. "which should typically be placed next to the headword. If only some senses of the term are %s, it should be categorized instead " .. "in {{cl|<var>langname</var> terms with %s senses}}, using <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> " .. "(template '''lb''' instead of '''tlb'''), which should typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "forms")), } } end local function generate_related_categories_with_senses(info) for typ, spec in pairs(info) do local other_types = {} for other_type, _ in pairs(info) do if other_type ~= typ then table.insert(other_types, other_type) end end table.sort(other_types) generate_category_with_senses(typ, spec.desc, spec.distinguish, other_types, spec.english_name) --TLCHANGE add spec.english_name end end generate_related_categories_with_senses { makaluma = { --TLCHANGE desc = "are no longer in general use but still encountered in older literature, sometimes still used for special effect, and typically recognized by native speakers", distinguish = "Archaic POS should be distinguished from dated POS, which are merely [[unfashionable]] and [[anachronistic]] but still sometimes used, especially by older speakers; and on the other hand from obsolete POS, which are no longer in use at all and are not usually recognized by native speakers.", english_name = "archaic", --TLCHANGE }, ["may kalumaan"] = { --TLCHANGE desc = "are no longer fashionable and thus are [[anachronistic]], but still sometimes in use, especially by older speakers", distinguish = "Dated POS should be distinguished from archaic POS, which are no longer in use (except occasionally for special effect) but are still sometimes encountered in older literature and are typically recognized by native speakers; and obsolete POS, which are no longer in use at all and are not usually recognized by native speakers.", english_name = "dated", --TLCHANGE }, ["lipas na"] = { --TLCHANGE desc = "are no longer in use and not usually recognized by native speakers, but still sometimes found in older literature", distinguish = "Obsolete POS should be distinguished from archaic POS, which, although no longer in general use, are still occasionally used for special effect and are typically recognized by native speakers; and dated POS, which are merely [[unfashionable]] and [[anachronistic]] but still sometimes used, especially by older speakers.", english_name = "obsolete", --TLCHANGE }, } generate_related_categories_with_senses { rare = { desc = "are rarely found in general use and may not be recognized by some native speakers", distinguish = "Rare POS should be distinguished from uncommon POS, which are not common but used enough to be generally recognized.", }, uncommon = { desc = "are in general use but not common", distinguish = "Uncommon POS should be distinguished from rare POS, which are infrequent enough that they are sometimes not recognized by native speakers.", }, } labels["2channel slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|2channel}}.", parents = {"internet slang"}, } labels["4chan slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|4chan}}.", parents = {"internet slang"}, } labels["4chan /lgbt/ slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the /lgbt/ board of the website {{w|4chan}}.", parents = {"4chan slang", "LGBTQ slang"}, } labels["angry register terms"] = { description = "{{{langname}}} terms belonging to an angry linguistic register, used only when the speaker is angry.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["anti-LGBTQ slurs"] = { description = "{{{langname}}} terms that are intended to offend [[LGBTQ]] people.", parents = {"offensive terms"}, } labels["autological terms"] = { description = "{{{langname}}} terms that possess the property they themselves describe.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["back slang"] = { description = "{{{langname}}} terms in which the written word is spoken phonemically backwards to form a coded language.", parents = {"cant"}, } labels["cant"] = { description = "{{{langname}}} terms used to form secret languages that are typically restricted to members of a specific group.", parents = {"slang"}, } labels["censored spellings"] = { description = "{{{langname}}} spellings where some characters have been changed in an effort to reduce the shock value of the original term.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["na salitang pambata"] = { --TLCHANGE description = "{{{langname}}} terms that are typically only used by, or to, children.", parents = {"na salita ayon sa paggamit", "na salitang impormal"}, --TLCHANGE {"terms by usage", "informal terms"}, english_name = "childish terms", --TLCHANGE } labels["na salitang kolokyal"] = { --TLCHANGE description = "{{{langname}}} terms that are likely to be used primarily in casual conversation rather than in more formal written works, speeches, and discourse.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "colloquialisms", --TLCHANGE } labels["corporate jargon"] = { description = "{{{langname}}} terms (typically for non-business-specific concepts) that are used especially in a [[business]] or [[corporate]] [[context]].", additional = "See also [[:Category:Businesses]], [[:Category:Business]] and language-specific categories thereof for terms related to business-specific concepts.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["criminal slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to criminals.", parents = {"slang"}, } labels["na salitang mapanlait"] = { --TLCHANGE description = "{{{langname}}} terms that are intended to [[disparage]], [[demean]], [[insult]] or [[offend]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "derogatory terms", --TLCHANGE } labels["dialectal terms"] = { description = "{{{langname}}} terms that are not used in standard language but only in dialects.", parents = {"terms by usage"}, } labels["dis legomena"] = { description = "{{{langname}}} terms that are attested only twice in the entire corpus.", parents = {"terms by usage"}, } labels["drag slang"] = { description = "{{{langname}}} [[slang]] terms used in the [[drag]] community.", parents = {"LGBTQ slang"}, } labels["ecclesiastical terms"] = { description = "{{{langname}}} terms used only by religious figures.", parents = {"terms by usage"}, } labels["eggcorns"] = { description = "{{{langname}}} [[eggcorn]]s, terms which are misconstructed.", parents = {"misconstructions"}, } labels["emoticons"] = { description = "{{{langname}}} characters, or sequences of characters, that imitate expressions and other objects by means of [[pareidolia]].", parents = {"internet slang", "text messaging slang"}, } labels["endearing terms"] = { description = "{{{langname}}} terms that are used to show affection or endearment to another person.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["ethnic slurs"] = { description = "{{{langname}}} terms that are intended to offend certain ethnic groups.", parents = {"offensive terms"}, } labels["expressive terms"] = { description = "{{{langname}}} terms with additional expressive content compared with the basic meaning of the term.", additional = "This term is common in Slavic lexicography and is found in most Czech, Slovak and Polish dictionaries, but there is no exact equivalent in English lexicography. The closest equivalents might be a combination of ''colloquial'' and either ''endearing'' or ''pejorative'', as the case may be.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["eye dialect"] = { description = "{{{langname}}} nonstandard spellings, which however do not change pronunciation, deliberately used by an author to indicate that the speaker uses a nonstandard or dialectal speech.", parents = {"nonstandard forms", "terms by orthographic property"}, } labels["familiar terms"] = { description = "{{{langname}}} terms whose use is typically to contexts of friendly intimacy.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["fandom slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to fans of one or more works of fiction.", parents = {"slang"}, } labels["filter-avoidance spellings"] = { description = "Deliberate misspellings of {{{langname}}} terms that are used to avoid [[w:Wordfilter|wordfilters]].", parents = {"deliberate misspellings"}, } labels["folk poetic terms"] = { description = "{{{langname}}} terms whose usage is typically restricted to works of oral or folk poetry.", parents = {"terms by usage", "poetic terms"}, } labels["na salitang pormal"] = { description = "{{{langname}}} terms whose use is typically restricted to polite, ceremonious, non-casual contexts.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "formal terms", --TLCHANGE } labels["gay slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to homosexual people.", parents = {"LGBTQ slang"}, } labels["gender-critical slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to gender-critical feminists.", parents = {"slang", "Category:{{{langcode}}}:Gender-critical feminism"}, } labels["gender-neutral terms"] = { description = "{{{langname}}} terms that are applicable to all people, independent of gender.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["graffiti slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to creators of [[graffiti#Noun|graffiti]].", parents = {"slang", "Category:{{{langcode}}}:Art"}, } labels["higher register terms"] = { description = "{{{langname}}} terms belonging to a higher linguistic register, such as literary terms; such terms are somewhat less common or known.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["historical terms"] = { description = "{{{langname}}} terms that refer to obsolete things or concepts.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["honorific terms"] = { description = "{{{langname}}} [[honorific]] terms, which are used to show deference and respect.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["polite terms"] = { description = "{{{langname}}} [[polite]] terms, which are used to show deference and respect.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["hapax legomena"] = { description = "{{{langname}}} terms that are attested only once in the entire corpus.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["humble terms"] = { description = "{{{langname}}} [[humble]] terms, which are used to show humility towards the addressee, indicating that the speaker has a lower social standing.", parents = {"honorific terms"}, } labels["hypercorrections"] = { description = "{{{langname}}} forms of other terms by misapplications of grammatical or orthographical rules.", parents = {"nonstandard terms", "nonstandard forms"}, } labels["hyperforeign terms"] = { description = "{{{langname}}} terms created by misapplying the perceived grammatical, orthographical or phonetical rules of another language.", parents = {"hypercorrections"}, } labels["incel slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to incels.", parents = {"slang", "Category:{{{langcode}}}:Incel community"}, } labels["imperfective forms"] = { description = "{{{langname}}} verbs that serve as imperfective variants of perfective verbs, sharing the same base set of meanings.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["informal forms"] = { description = "{{{langname}}} terms that can be used in casual, non-ceremonious conversations as alternative forms of other terms.", additional = "Informal non-lemma form variants also belong here.", parents = {"informal terms"}, } labels["na salitang impormal"] = { --TLCHANGE description = "{{{langname}}} terms whose use is typically restricted to casual, non‐ceremonious conversations.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "informal terms", --TLCHANGE } labels["deliberate misspellings"] = { description = "Deliberate misspellings of {{{langname}}} terms.", parents = {"misspellings"}, } labels["internet laughter slang"] = { description = "{{{langname}}} [[slang]] terms that are used as substitutes for laughter in internet-related contexts.", additional = "::''Note: The majority of items that <u>could</u> be here do not meet Wiktionary's [[WT:CFI|criteria for inclusion]].''", parents = {"internet slang"}, } labels["internet slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to internet users.", parents = {"slang"}, } labels["humorous terms"] = { description = "{{{langname}}} terms that are humorous, amusing or joking.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["journalistic terms"] = { description = "{{{langname}}} terms that are used especially in [[journalistic]] language, i.e. in newspapers and magazines.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["kennings"] = { description = "{{{langname}}} metaphorical compounds or phrases describing basic objects in an allusive fashion, used especially in Germanic poetry.", parents = {"poetic terms"}, } labels["leetspeak"] = { description = "{{{langname}}} which are used in [[leetspeak]], a variety of internet slang that focuses on substitution of letters by other characters which are similar in appearance.", parents = {"internet slang"}, } labels["LGBTQ slang"] = { description = "{{{langname}}} [[slang]] terms which are used predominantly among [[LGBTQ]] people.", parents = {"slang", "Category:{{{langcode}}}:LGBTQ"}, } labels["na salitang pampanitikan"] = { --TLCHANGE description = "{{{langname}}} terms whose usage is typically restricted to works of literature.", parents = {"higher register terms"}, english_name = "literary terms", --TLCHANGE } labels["medical slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to medical doctors, such as physicians and surgeons.", parents = {"slang"}, } labels["military slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to military personnel.", parents = {"slang"}, } labels["misconstructions"] = { description = "Terms wrongly built due to a misunderstanding of their parts.", parents = {"nonstandard forms"}, } labels["misromanizations"] = { description = "Common misromanizations of {{{langname}}} terms.", parents = {"nonstandard forms"}, } labels["misspellings"] = { description = "Common accidental misspellings of {{{langname}}} terms and some terms which are deliberate misspellings.", parents = {"nonstandard forms"}, } labels["multiplicity slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to the {{l|en|multiplicity|id=multiple personalities}} [[community]].", parents = {"slang", "Category:{{{langcode}}}:Multiplicity (psychology)"}, } labels["naval slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to naval personnel.", parents = {"military slang"}, } labels["na anyong di-pamantayan"] = { --TLCHANGE description = "{{{langname}}} forms of standard terms that are considered improper, incorrect or commonly misused.", parents = {"na salitang di-pamantayan"}, --TLCHANGE {"nonstandard terms"}, english_name = "nonstandard forms", --TLCHANGE } labels["na salitang di-pamantayan"] = { --TLCHANGE description = "{{{langname}}} terms that are considered improper, incorrect or commonly misused.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "nonstandard terms", --TLCHANGE } labels["numismatic slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to numismatists.", parents = {"slang", "Category:{{{langcode}}}:Currency"}, } labels["offensive terms"] = { description = "{{{langname}}} terms that are typically considered to offend people.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["officialese terms"] = { description = "{{{langname}}} terms that are chiefly used by official sources, and are often bureaucratic-sounding.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["OpenStreetMap jargon"] = { description = "{{{langname}}} terms that are used in [[w:OpenStreetMap|OpenStreetMap]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["oxymorons"] = { description = "{{{langname}}} terms that are juxtapositions of opposing ideas.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["perfective forms"] = { description = "{{{langname}}} verbs that serve as perfective variants of imperfective verbs, sharing the same base set of meanings.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["placeholder terms"] = { description = "{{{langname}}} terms used to refer to items for which one does not know or cannot recall the name, or is unable to or does not care to specify precisely.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["poetic forms"] = { description = "{{{langname}}} terms that can be used in works of poetry as poetic alternative forms of other terms.", additional = "Poetic non-lemma form variants also belong here.", parents = {"poetic terms"}, } labels["poetic terms"] = { description = "{{{langname}}} terms whose usage is typically restricted to works of poetry.", parents = {"terms by usage", "literary terms"}, } labels["post-nominal letters"] = { description = "{{{langname}}} Post-nominal letters - also called post-nominal initials, post-nominal titles or designatory letters are letters placed after the name of a person to indicate that the individual holds a position, educational degree, accreditation, office, military decoration, or honour, or is a member of a religious institute or fraternity.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["prison slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to detainees in correctional institutions.", parents = {"slang"}, } labels["proscribed terms"] = { description = "{{{langname}}} terms whose usage is proscribed; thus, they are considered wrong according to prescriptive sources.", parents = {"terms by usage", "nonstandard terms"}, } labels["puristic terms"] = { description = "{{{langname}}} terms adopted for [[w:Linguistic purism|linguistic purism]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["radio slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to radio communication.", parents = {"slang"}, } labels["Reddit slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|Reddit}}.", parents = {"internet slang"}, } labels["religious slurs"] = { description = "{{{langname}}} terms that are intended to offend members of certain religions.", parents = {"offensive terms"}, } labels["reverential terms"] = { description = "{{{langname}}} [[reverential]] terms, which are used to exalt the addressee, indicating that they have a higher social standing than the speaker.", parents = {"honorific terms"}, } labels["royal terms"] = { description = "{{{langname}}} terms used only by royalty.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["rustic terms"] = { description = "{{{langname}}} terms whose use is typically restricted rural speech.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["school slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to schools and school pupils.", parents = {"slang"}, } labels["self-deprecatory terms"] = { description = "{{{langname}}} [[self-deprecatory]] terms.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["short forms"] = { description = "{{{langname}}} terms that are [[short form]]s of other terms, often used informally.", parents = {"terms by usage", "shortenings"}, } labels["na salitang balbal"] = { --TLCHANGE description = "{{{langname}}} [[colloquial]] terms that are typically used to mark membership in a cultural subgroup.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "slang", --TLCHANGE } labels["solemn terms"] = { description = "{{{langname}}} terms that are used to instill a sense of somberness.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["student slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to colleges, universities, and their students.", parents = {"slang"}, } labels["na anyong pinalitang pagbaybay"] = { --TLCHANGE description = "{{{langname}}} forms that have been superseded by other forms due to changes in spelling conventions.", parents = {"na salita ayon sa paggamit", "na salita ayon sa katangiang ortograpiko"}, --TLCHANGE {"terms by usage", "terms by orthographic property"}, english_name = "superseded forms", --TLCHANGE } labels["na salitang mura"] = { --TLCHANGE description = "{{{langname}}} terms that are used to swear, such as to express strong anger or frustration.", parents = {"vulgarities"}, english_name = "swear words", --TLCHANGE } labels["technical terms"] = { description = "{{{langname}}} terms that are usually or exclusively used in technical/scientific writing.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms of address"] = { description = "{{{langname}}} terms used to refer to another person.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms used in hendiadys"] = { description = "{{{langname}}} words or senses which are used only in {{w|hendiadys}}.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms with historical senses"] = { description = "{{{langname}}} terms with senses that refer to things or concepts mainly known for their historical value.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms with transferred senses"] = { description = "{{{langname}}} terms with [[Appendix:Glossary#transferred senses|transferred senses]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms with uncertain meaning"] = { description = "{{{langname}}} terms whose meaning is unknown or disputed.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["text messaging slang"] = { description = "{{{langname}}} terms used for [[text messaging]] on mobile phones or similar devices, usually consisting of heavily abbreviated forms.", parents = {"slang"}, } labels["tone indicators"] = { description = "{{{langname}}} symbols used to denote or clarify the intent of a preceeding or occasionally following message.", parents = {"internet slang"}, } labels["trademarks"] = { description = "{{{langname}}} terms that identify legal entities, their products and services, by means of legal protection — to some extent, in a number of jurisdictions — against unauthorized use of the terms.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["transgender slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to transgender people.", parents = {"LGBTQ slang", "Category:{{{langcode}}}:Transgender"}, } labels["TV Tropes slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|TV Tropes}}.", parents = {"internet slang"}, } labels["umlautless spellings"] = { description = "{{{langname}}} terms that are the result of the original terms' [[umlaut]]s being substituted.", parents = {"nonstandard forms", "terms by orthographic property"}, } labels["Usenet slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of {{w|Usenet}}.", parents = {"internet slang"}, } labels["men's speech terms"] = { description = "{{{langname}}} terms and forms used in [[Appendix:Glossary#men's speech|men's speech]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["women's speech terms"] = { description = "{{{langname}}} terms and forms used in [[Appendix:Glossary#women's speech|women's speech]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["na salitang bulgar"] = { --TLCHANGE description = "{{{langname}}} terms whose tone (rather than the meaning) is offensive to polite company.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "vulgarities", --TLCHANGE } -- Add 'umbrella_parents' key if not already present. for key, data in pairs(labels) do if not data.umbrella_parents then data.umbrella_parents = "Subkategoryang pansalita ayon sa paggamit ayon sa wika" --TLCHANGE "Terms by usage subcategories by language" end end ----------------------------------------------------------------------------- -- -- -- RAW CATEGORIES -- -- -- ----------------------------------------------------------------------------- raw_categories["Subkategoryang pansalita ayon sa paggamit ayon sa wika"] = { --TLCHANGE description = "Umbrella categories covering topics related to terms categorized by their usage, such as slang, obsolete or archaic forms and vulgarities.", additional = "{{{umbrella_meta_msg}}}", parents = { "Kataas-taasang kategorya", --TLCHANGE "Umbrella metacategories" {name = "na salita ayon sa paggamit", is_label = true, sort = " "}, --TLCHANGE "terms by usage" }, english_name = "Terms by usage subcategories by language", --TLCHANGE } return {LABELS = labels, RAW_CATEGORIES = raw_categories} 0a39aexce3o7tpl1nbiuwvezd398nm4 177543 177538 2026-08-27T13:19:32Z Yivan000 4078 177543 Scribunto text/plain local labels = {} local raw_categories = {} local string_utilities_module = "Module:string utilities" local ucfirst = require(string_utilities_module).ucfirst ----------------------------------------------------------------------------- -- -- -- LABELS -- -- -- ----------------------------------------------------------------------------- labels["na salita ayon sa paggamit"] = { --TLCHANGE: "terms by usage" description = "{{{langname}}} terms categorized by the manner and context in which they are used by speakers.", umbrella_parents = "Pangkalahatan", --TLCHANGE "Fundamental", parents = {{name = "{{{langcat}}}", raw = true}}, english_name = "terms by usage", --TLCHANGE } local function generate_category_with_senses(typ, desc, distinguish, other_types_in_group, english_name) --TLCHANGE add english_name param if distinguish then distinguish = "\n\n" .. distinguish else distinguish = "" end local function make_preceding(pos) if not other_types_in_group then return nil end local cats = {} for _, other_type in ipairs(other_types_in_group) do table.insert(cats, ("Category:{{{langname}}} " .. pos):format(other_type)) end return ("{{also|%s}}"):format(table.concat(cats, "|")) end local function make_umbrella_preceding(pos) if not other_types_in_group then return nil end local cats = {} for _, other_type in ipairs(other_types_in_group) do table.insert(cats, "Category:" .. ucfirst((pos .. " ayon sa wika"):format(other_type))) --TLCHANGE " by language" end return ("{{also|%s}}"):format(table.concat(cats, "|")) end labels[("na salitang %s"):format(typ)] = { --TLCHANGE "%s terms" description = ("{{{langname}}} terms that %s."):format(desc), additional = ("To categorize into this category, use {{tl|tlb|{{{langcode}}}|%s}} (template '''tlb''', not '''lb'''), " .. "which should typically be placed next to the headword.\n\nIf the term is merely a variant (alternative form) of a term " .. "in general use, it should be categorized instead in {{cl|{{{langname}}} %s forms}} (using " .. "{{tl|%s form of|{{{langcode}}}|...}} or {{tl|%s spelling of|{{{langcode}}}|...}}). If only some senses of the term are %s, " .. "it should be categorized instead in {{cl|{{{langname}}} terms with %s senses}}, using {{tl|lb|{{{langcode}}}|%s}} " .. "(template '''lb''' instead of '''tlb'''), which should typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "terms")), parents = {"na salita ayon sa paggamit"}, --TLCHANGE "terms by usage" preceding = make_preceding("na salitang %s"), --TLCHANGE "%s terms" umbrella = { preceding = make_umbrella_preceding("salitang %s"), --TLCHANGE "%s terms" additional = ("To categorize into this category, use <code><nowiki>{{</nowiki>tlb|<var>langcode</var>|%s}}</code> " .. "(template '''tlb''', not '''lb'''), which should typically be placed next to the headword. " .. "(<code><var>langcode</var></code> is the appropriate language code for the language in question; see [[Wiktionary:List of languages]].)\n\n" .. "If the term is merely a variant (alternative form) of a term in general use, it should be categorized instead in " .. "{{cl|<var>langname</var> %s forms}} (using <code><nowiki>{{</nowiki>%s form of|<var>langcode</var>|...}}</code> " .. "or <code><nowiki>{{</nowiki>%s spelling of|<var>langcode</var>|...}}</code>). " .. "If only some senses of the term are %s, it should be categorized instead in {{cl|<var>langname</var> terms with %s senses}}, " .. "using <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> (template '''lb''' instead of '''tlb'''), which should " .. "typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "terms")), }, english_name = ("%s terms"):format(english_name or typ), --TLCHANGE } labels[("terms with %s senses"):format(typ)] = { description = ("{{{langname}}} terms with individual senses that %s."):format(desc), additional = ("To categorize into this category, use {{tl|lb|{{{langcode}}}|%s}} (template '''lb''', not '''tlb'''), " .. "which should typically be placed next to the individual sense.\n\nIf the term itself, in all its senses, is %s, " .. "it should be placed in {{cl|{{{langname}}} %s terms}} instead, using {{tl|tlb|{{{langcode}}}|%s}} " .. "(template '''tlb''' instead of '''lb'''), which should typically be placed next to the headword. " .. "If the term is merely a variant (alternative form) of a term in general use, it should be categorized in " .. "{{cl|{{{langname}}} %s forms}} (using {{tl|%s form of|{{{langcode}}}|...}} or {{tl|%s spelling of|{{{langcode}}}|...}}).%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "senses")), parents = {{name = "terms by usage", sort = ("%s senses"):format(typ)}}, breadcrumb = ("with %s senses"):format(typ), preceding = make_preceding("terms with %s senses"), umbrella = { preceding = make_umbrella_preceding("terms with %s senses"), additional = ("To categorize into this category, use <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> " .. "(template '''lb''', not '''tlb'''), which should typically be placed next to the individual sense. " .. "(<code><var>langcode</var></code> is the appropriate language code for the language in question; see [[Wiktionary:List of languages]].)\n\n" .. "If the term itself, in all its senses, is %s, it should be placed in {{cl|<var>langname</var> %s terms}} instead, using " .. "<code><nowiki>{{</nowiki>tlb|<var>langcode</var>|%s}}</code> (template '''tlb''' instead of '''lb'''), which should " .. "typically be placed next to the headword. If the term is merely a variant (alternative form) of a term in general use, " .. "it should be categorized in {{cl|<var>langname</var> %s forms}} (using <code><nowiki>{{</nowiki>%s form of|<var>langcode</var>|...}}</code> " .. "or <code><nowiki>{{</nowiki>%s spelling of|<var>langcode</var>|...}}</code>.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "senses")), } } labels[("na anyong %s"):format(typ)] = { --TLCHANGE "%s forms" description = ("{{{langname}}} forms that %s; and serve as alternative forms of the same terms in general use."):format(desc), additional = ("To categorize into this category, use {{tl|%s form of|{{{langcode}}}|...}} or {{tl|%s spelling of|{{{langcode}}}|...}}.\n\n" .. "If the term is not merely a variant (alternative form) of a term in general use, it should be placed in {{cl|{{{langname}}} %s terms}} " .. "instead; to do this, use {{tl|tlb|{{{langcode}}}|%s}} (template '''tlb''', not '''lb'''), which should typically be placed next to the " .. "headword. If only some senses of the term are %s, it should be categorized instead in {{cl|{{{langname}}} terms with %s senses}}, " .. "using {{tl|lb|{{{langcode}}}|%s}} (template '''lb''' instead of '''tlb'''), which should typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "forms")), parents = {{name = ("%s terms"):format(typ), sort = "forms"}}, breadcrumb = "forms", preceding = make_preceding("%s forms"), umbrella = { preceding = make_umbrella_preceding("%s forms"), additional = ("To categorize into this category, use <code><nowiki>{{</nowiki>%s form of|<var>langcode</var>|...}}</code> " .. "or <code><nowiki>{{</nowiki>%s spelling of|<var>langcode</var>|...}}</code>. (<code><var>langcode</var></code> is the " .. "appropriate language code for the language in question; see [[Wiktionary:List of languages]].)\n\n" .. "If the term is not merely a variant (alternative form) of a term in general use, it should be placed in {{cl|<var>langname</var> %s terms}} " .. "instead; to do this, use <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> (template '''tlb''', not '''lb'''), " .. "which should typically be placed next to the headword. If only some senses of the term are %s, it should be categorized instead " .. "in {{cl|<var>langname</var> terms with %s senses}}, using <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> " .. "(template '''lb''' instead of '''tlb'''), which should typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "forms")), } } end local function generate_related_categories_with_senses(info) for typ, spec in pairs(info) do local other_types = {} for other_type, _ in pairs(info) do if other_type ~= typ then table.insert(other_types, other_type) end end table.sort(other_types) generate_category_with_senses(typ, spec.desc, spec.distinguish, other_types, spec.english_name) --TLCHANGE add spec.english_name end end generate_related_categories_with_senses { makaluma = { --TLCHANGE desc = "are no longer in general use but still encountered in older literature, sometimes still used for special effect, and typically recognized by native speakers", distinguish = "Archaic POS should be distinguished from dated POS, which are merely [[unfashionable]] and [[anachronistic]] but still sometimes used, especially by older speakers; and on the other hand from obsolete POS, which are no longer in use at all and are not usually recognized by native speakers.", english_name = "archaic", --TLCHANGE }, ["may kalumaan"] = { --TLCHANGE desc = "are no longer fashionable and thus are [[anachronistic]], but still sometimes in use, especially by older speakers", distinguish = "Dated POS should be distinguished from archaic POS, which are no longer in use (except occasionally for special effect) but are still sometimes encountered in older literature and are typically recognized by native speakers; and obsolete POS, which are no longer in use at all and are not usually recognized by native speakers.", english_name = "dated", --TLCHANGE }, ["lipas na"] = { --TLCHANGE desc = "are no longer in use and not usually recognized by native speakers, but still sometimes found in older literature", distinguish = "Obsolete POS should be distinguished from archaic POS, which, although no longer in general use, are still occasionally used for special effect and are typically recognized by native speakers; and dated POS, which are merely [[unfashionable]] and [[anachronistic]] but still sometimes used, especially by older speakers.", english_name = "obsolete", --TLCHANGE }, } generate_related_categories_with_senses { rare = { desc = "are rarely found in general use and may not be recognized by some native speakers", distinguish = "Rare POS should be distinguished from uncommon POS, which are not common but used enough to be generally recognized.", }, uncommon = { desc = "are in general use but not common", distinguish = "Uncommon POS should be distinguished from rare POS, which are infrequent enough that they are sometimes not recognized by native speakers.", }, } labels["2channel slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|2channel}}.", parents = {"internet slang"}, } labels["4chan slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|4chan}}.", parents = {"internet slang"}, } labels["4chan /lgbt/ slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the /lgbt/ board of the website {{w|4chan}}.", parents = {"4chan slang", "LGBTQ slang"}, } labels["na salitang nasa rehistrong galit"] = { --TLCHANGE description = "{{{langname}}} terms belonging to an angry linguistic register, used only when the speaker is angry.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "angry register terms", --TLCHANGE } labels["anti-LGBTQ slurs"] = { description = "{{{langname}}} terms that are intended to offend [[LGBTQ]] people.", parents = {"offensive terms"}, } labels["autological terms"] = { description = "{{{langname}}} terms that possess the property they themselves describe.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["back slang"] = { description = "{{{langname}}} terms in which the written word is spoken phonemically backwards to form a coded language.", parents = {"cant"}, } labels["cant"] = { description = "{{{langname}}} terms used to form secret languages that are typically restricted to members of a specific group.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["censored spellings"] = { description = "{{{langname}}} spellings where some characters have been changed in an effort to reduce the shock value of the original term.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["na salitang pambata"] = { --TLCHANGE description = "{{{langname}}} terms that are typically only used by, or to, children.", parents = {"na salita ayon sa paggamit", "na salitang impormal"}, --TLCHANGE {"terms by usage", "informal terms"}, english_name = "childish terms", --TLCHANGE } labels["na salitang kolokyal"] = { --TLCHANGE description = "{{{langname}}} terms that are likely to be used primarily in casual conversation rather than in more formal written works, speeches, and discourse.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "colloquialisms", --TLCHANGE } labels["corporate jargon"] = { description = "{{{langname}}} terms (typically for non-business-specific concepts) that are used especially in a [[business]] or [[corporate]] [[context]].", additional = "See also [[:Category:Businesses]], [[:Category:Business]] and language-specific categories thereof for terms related to business-specific concepts.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["criminal slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to criminals.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["na salitang mapanlait"] = { --TLCHANGE description = "{{{langname}}} terms that are intended to [[disparage]], [[demean]], [[insult]] or [[offend]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "derogatory terms", --TLCHANGE } labels["dialectal terms"] = { description = "{{{langname}}} terms that are not used in standard language but only in dialects.", parents = {"terms by usage"}, } labels["dis legomena"] = { description = "{{{langname}}} terms that are attested only twice in the entire corpus.", parents = {"terms by usage"}, } labels["drag slang"] = { description = "{{{langname}}} [[slang]] terms used in the [[drag]] community.", parents = {"LGBTQ slang"}, } labels["ecclesiastical terms"] = { description = "{{{langname}}} terms used only by religious figures.", parents = {"terms by usage"}, } labels["eggcorns"] = { description = "{{{langname}}} [[eggcorn]]s, terms which are misconstructed.", parents = {"misconstructions"}, } labels["emoticons"] = { description = "{{{langname}}} characters, or sequences of characters, that imitate expressions and other objects by means of [[pareidolia]].", parents = {"internet slang", "text messaging slang"}, } labels["endearing terms"] = { description = "{{{langname}}} terms that are used to show affection or endearment to another person.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["ethnic slurs"] = { description = "{{{langname}}} terms that are intended to offend certain ethnic groups.", parents = {"offensive terms"}, } labels["expressive terms"] = { description = "{{{langname}}} terms with additional expressive content compared with the basic meaning of the term.", additional = "This term is common in Slavic lexicography and is found in most Czech, Slovak and Polish dictionaries, but there is no exact equivalent in English lexicography. The closest equivalents might be a combination of ''colloquial'' and either ''endearing'' or ''pejorative'', as the case may be.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["eye dialect"] = { description = "{{{langname}}} nonstandard spellings, which however do not change pronunciation, deliberately used by an author to indicate that the speaker uses a nonstandard or dialectal speech.", parents = {"nonstandard forms", "terms by orthographic property"}, } labels["familiar terms"] = { description = "{{{langname}}} terms whose use is typically to contexts of friendly intimacy.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["fandom slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to fans of one or more works of fiction.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["filter-avoidance spellings"] = { description = "Deliberate misspellings of {{{langname}}} terms that are used to avoid [[w:Wordfilter|wordfilters]].", parents = {"deliberate misspellings"}, } labels["folk poetic terms"] = { description = "{{{langname}}} terms whose usage is typically restricted to works of oral or folk poetry.", parents = {"terms by usage", "poetic terms"}, } labels["na salitang pormal"] = { description = "{{{langname}}} terms whose use is typically restricted to polite, ceremonious, non-casual contexts.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "formal terms", --TLCHANGE } labels["gay slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to homosexual people.", parents = {"LGBTQ slang"}, } labels["gender-critical slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to gender-critical feminists.", parents = {"slang", "Category:{{{langcode}}}:Gender-critical feminism"}, } labels["gender-neutral terms"] = { description = "{{{langname}}} terms that are applicable to all people, independent of gender.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["graffiti slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to creators of [[graffiti#Noun|graffiti]].", parents = {"slang", "Category:{{{langcode}}}:Art"}, } labels["na salitang nasa rehistrong mas mataas"] = { --TLCHANGE description = "{{{langname}}} terms belonging to a higher linguistic register, such as literary terms; such terms are somewhat less common or known.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "higher register terms", --TLCHANGE } labels["historical terms"] = { description = "{{{langname}}} terms that refer to obsolete things or concepts.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["honorific terms"] = { description = "{{{langname}}} [[honorific]] terms, which are used to show deference and respect.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["polite terms"] = { description = "{{{langname}}} [[polite]] terms, which are used to show deference and respect.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["hapax legomena"] = { description = "{{{langname}}} terms that are attested only once in the entire corpus.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["humble terms"] = { description = "{{{langname}}} [[humble]] terms, which are used to show humility towards the addressee, indicating that the speaker has a lower social standing.", parents = {"honorific terms"}, } labels["hypercorrections"] = { description = "{{{langname}}} forms of other terms by misapplications of grammatical or orthographical rules.", parents = {"nonstandard terms", "nonstandard forms"}, } labels["hyperforeign terms"] = { description = "{{{langname}}} terms created by misapplying the perceived grammatical, orthographical or phonetical rules of another language.", parents = {"hypercorrections"}, } labels["incel slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to incels.", parents = {"slang", "Category:{{{langcode}}}:Incel community"}, } labels["imperfective forms"] = { description = "{{{langname}}} verbs that serve as imperfective variants of perfective verbs, sharing the same base set of meanings.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["informal forms"] = { description = "{{{langname}}} terms that can be used in casual, non-ceremonious conversations as alternative forms of other terms.", additional = "Informal non-lemma form variants also belong here.", parents = {"informal terms"}, } labels["na salitang impormal"] = { --TLCHANGE description = "{{{langname}}} terms whose use is typically restricted to casual, non‐ceremonious conversations.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "informal terms", --TLCHANGE } labels["deliberate misspellings"] = { description = "Deliberate misspellings of {{{langname}}} terms.", parents = {"misspellings"}, } labels["internet laughter slang"] = { description = "{{{langname}}} [[slang]] terms that are used as substitutes for laughter in internet-related contexts.", additional = "::''Note: The majority of items that <u>could</u> be here do not meet Wiktionary's [[WT:CFI|criteria for inclusion]].''", parents = {"internet slang"}, } labels["internet slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to internet users.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["humorous terms"] = { description = "{{{langname}}} terms that are humorous, amusing or joking.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["journalistic terms"] = { description = "{{{langname}}} terms that are used especially in [[journalistic]] language, i.e. in newspapers and magazines.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["kennings"] = { description = "{{{langname}}} metaphorical compounds or phrases describing basic objects in an allusive fashion, used especially in Germanic poetry.", parents = {"poetic terms"}, } labels["leetspeak"] = { description = "{{{langname}}} which are used in [[leetspeak]], a variety of internet slang that focuses on substitution of letters by other characters which are similar in appearance.", parents = {"internet slang"}, } labels["LGBTQ slang"] = { description = "{{{langname}}} [[slang]] terms which are used predominantly among [[LGBTQ]] people.", parents = {"slang", "Category:{{{langcode}}}:LGBTQ"}, } labels["na salitang pampanitikan"] = { --TLCHANGE description = "{{{langname}}} terms whose usage is typically restricted to works of literature.", parents = {"na salitang nasa rehistrong mas mataas"}, --TLCHANGE {"higher register terms"}, english_name = "literary terms", --TLCHANGE } labels["medical slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to medical doctors, such as physicians and surgeons.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["military slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to military personnel.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["misconstructions"] = { description = "Terms wrongly built due to a misunderstanding of their parts.", parents = {"nonstandard forms"}, } labels["misromanizations"] = { description = "Common misromanizations of {{{langname}}} terms.", parents = {"nonstandard forms"}, } labels["misspellings"] = { description = "Common accidental misspellings of {{{langname}}} terms and some terms which are deliberate misspellings.", parents = {"nonstandard forms"}, } labels["multiplicity slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to the {{l|en|multiplicity|id=multiple personalities}} [[community]].", parents = {"slang", "Category:{{{langcode}}}:Multiplicity (psychology)"}, } labels["naval slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to naval personnel.", parents = {"military slang"}, } labels["na anyong di-pamantayan"] = { --TLCHANGE description = "{{{langname}}} forms of standard terms that are considered improper, incorrect or commonly misused.", parents = {"na salitang di-pamantayan"}, --TLCHANGE {"nonstandard terms"}, english_name = "nonstandard forms", --TLCHANGE } labels["na salitang di-pamantayan"] = { --TLCHANGE description = "{{{langname}}} terms that are considered improper, incorrect or commonly misused.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "nonstandard terms", --TLCHANGE } labels["numismatic slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to numismatists.", parents = {"slang", "Category:{{{langcode}}}:Currency"}, } labels["offensive terms"] = { description = "{{{langname}}} terms that are typically considered to offend people.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["officialese terms"] = { description = "{{{langname}}} terms that are chiefly used by official sources, and are often bureaucratic-sounding.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["OpenStreetMap jargon"] = { description = "{{{langname}}} terms that are used in [[w:OpenStreetMap|OpenStreetMap]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["oxymorons"] = { description = "{{{langname}}} terms that are juxtapositions of opposing ideas.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["perfective forms"] = { description = "{{{langname}}} verbs that serve as perfective variants of imperfective verbs, sharing the same base set of meanings.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["placeholder terms"] = { description = "{{{langname}}} terms used to refer to items for which one does not know or cannot recall the name, or is unable to or does not care to specify precisely.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["poetic forms"] = { description = "{{{langname}}} terms that can be used in works of poetry as poetic alternative forms of other terms.", additional = "Poetic non-lemma form variants also belong here.", parents = {"poetic terms"}, } labels["poetic terms"] = { description = "{{{langname}}} terms whose usage is typically restricted to works of poetry.", parents = {"terms by usage", "literary terms"}, } labels["post-nominal letters"] = { description = "{{{langname}}} Post-nominal letters - also called post-nominal initials, post-nominal titles or designatory letters are letters placed after the name of a person to indicate that the individual holds a position, educational degree, accreditation, office, military decoration, or honour, or is a member of a religious institute or fraternity.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["prison slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to detainees in correctional institutions.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["proscribed terms"] = { description = "{{{langname}}} terms whose usage is proscribed; thus, they are considered wrong according to prescriptive sources.", parents = {"terms by usage", "nonstandard terms"}, } labels["puristic terms"] = { description = "{{{langname}}} terms adopted for [[w:Linguistic purism|linguistic purism]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["radio slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to radio communication.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["Reddit slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|Reddit}}.", parents = {"internet slang"}, } labels["religious slurs"] = { description = "{{{langname}}} terms that are intended to offend members of certain religions.", parents = {"offensive terms"}, } labels["reverential terms"] = { description = "{{{langname}}} [[reverential]] terms, which are used to exalt the addressee, indicating that they have a higher social standing than the speaker.", parents = {"honorific terms"}, } labels["royal terms"] = { description = "{{{langname}}} terms used only by royalty.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["rustic terms"] = { description = "{{{langname}}} terms whose use is typically restricted rural speech.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["school slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to schools and school pupils.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["self-deprecatory terms"] = { description = "{{{langname}}} [[self-deprecatory]] terms.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["short forms"] = { description = "{{{langname}}} terms that are [[short form]]s of other terms, often used informally.", parents = {"terms by usage", "shortenings"}, } labels["na salitang balbal"] = { --TLCHANGE description = "{{{langname}}} [[colloquial]] terms that are typically used to mark membership in a cultural subgroup.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "slang", --TLCHANGE } labels["solemn terms"] = { description = "{{{langname}}} terms that are used to instill a sense of somberness.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["student slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to colleges, universities, and their students.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["na anyong pinalitang pagbaybay"] = { --TLCHANGE description = "{{{langname}}} forms that have been superseded by other forms due to changes in spelling conventions.", parents = {"na salita ayon sa paggamit", "na salita ayon sa katangiang ortograpiko"}, --TLCHANGE {"terms by usage", "terms by orthographic property"}, english_name = "superseded forms", --TLCHANGE } labels["na salitang mura"] = { --TLCHANGE description = "{{{langname}}} terms that are used to swear, such as to express strong anger or frustration.", parents = {"vulgarities"}, english_name = "swear words", --TLCHANGE } labels["technical terms"] = { description = "{{{langname}}} terms that are usually or exclusively used in technical/scientific writing.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms of address"] = { description = "{{{langname}}} terms used to refer to another person.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms used in hendiadys"] = { description = "{{{langname}}} words or senses which are used only in {{w|hendiadys}}.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms with historical senses"] = { description = "{{{langname}}} terms with senses that refer to things or concepts mainly known for their historical value.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms with transferred senses"] = { description = "{{{langname}}} terms with [[Appendix:Glossary#transferred senses|transferred senses]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms with uncertain meaning"] = { description = "{{{langname}}} terms whose meaning is unknown or disputed.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["text messaging slang"] = { description = "{{{langname}}} terms used for [[text messaging]] on mobile phones or similar devices, usually consisting of heavily abbreviated forms.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["tone indicators"] = { description = "{{{langname}}} symbols used to denote or clarify the intent of a preceeding or occasionally following message.", parents = {"internet slang"}, } labels["trademarks"] = { description = "{{{langname}}} terms that identify legal entities, their products and services, by means of legal protection — to some extent, in a number of jurisdictions — against unauthorized use of the terms.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["transgender slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to transgender people.", parents = {"LGBTQ slang", "Category:{{{langcode}}}:Transgender"}, } labels["TV Tropes slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|TV Tropes}}.", parents = {"internet slang"}, } labels["umlautless spellings"] = { description = "{{{langname}}} terms that are the result of the original terms' [[umlaut]]s being substituted.", parents = {"nonstandard forms", "terms by orthographic property"}, } labels["Usenet slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of {{w|Usenet}}.", parents = {"internet slang"}, } labels["men's speech terms"] = { description = "{{{langname}}} terms and forms used in [[Appendix:Glossary#men's speech|men's speech]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["women's speech terms"] = { description = "{{{langname}}} terms and forms used in [[Appendix:Glossary#women's speech|women's speech]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["na salitang bulgar"] = { --TLCHANGE description = "{{{langname}}} terms whose tone (rather than the meaning) is offensive to polite company.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "vulgarities", --TLCHANGE } -- Add 'umbrella_parents' key if not already present. for key, data in pairs(labels) do if not data.umbrella_parents then data.umbrella_parents = "Subkategoryang pansalita ayon sa paggamit ayon sa wika" --TLCHANGE "Terms by usage subcategories by language" end end ----------------------------------------------------------------------------- -- -- -- RAW CATEGORIES -- -- -- ----------------------------------------------------------------------------- raw_categories["Subkategoryang pansalita ayon sa paggamit ayon sa wika"] = { --TLCHANGE description = "Umbrella categories covering topics related to terms categorized by their usage, such as slang, obsolete or archaic forms and vulgarities.", additional = "{{{umbrella_meta_msg}}}", parents = { "Kataas-taasang kategorya", --TLCHANGE "Umbrella metacategories" {name = "na salita ayon sa paggamit", is_label = true, sort = " "}, --TLCHANGE "terms by usage" }, english_name = "Terms by usage subcategories by language", --TLCHANGE } return {LABELS = labels, RAW_CATEGORIES = raw_categories} i1ip9pg5lx22jabtdsmpfaq9elz7yap 177568 177543 2026-08-27T14:01:32Z Yivan000 4078 177568 Scribunto text/plain local labels = {} local raw_categories = {} local string_utilities_module = "Module:string utilities" local ucfirst = require(string_utilities_module).ucfirst ----------------------------------------------------------------------------- -- -- -- LABELS -- -- -- ----------------------------------------------------------------------------- labels["na salita ayon sa paggamit"] = { --TLCHANGE: "terms by usage" description = "{{{langname}}} terms categorized by the manner and context in which they are used by speakers.", umbrella_parents = "Pangkalahatan", --TLCHANGE "Fundamental", parents = {{name = "{{{langcat}}}", raw = true}}, english_name = "terms by usage", --TLCHANGE } local function generate_category_with_senses(typ, desc, distinguish, other_types_in_group, english_name) --TLCHANGE add english_name param if distinguish then distinguish = "\n\n" .. distinguish else distinguish = "" end local function make_preceding(pos) if not other_types_in_group then return nil end local cats = {} for _, other_type in ipairs(other_types_in_group) do table.insert(cats, ("Category:{{{langname}}} " .. pos):format(other_type)) end return ("{{also|%s}}"):format(table.concat(cats, "|")) end local function make_umbrella_preceding(pos) if not other_types_in_group then return nil end local cats = {} for _, other_type in ipairs(other_types_in_group) do table.insert(cats, "Category:" .. ucfirst((pos .. " ayon sa wika"):format(other_type))) --TLCHANGE " by language" end return ("{{also|%s}}"):format(table.concat(cats, "|")) end labels[("na salitang %s"):format(typ)] = { --TLCHANGE "%s terms" description = ("{{{langname}}} terms that %s."):format(desc), additional = ("To categorize into this category, use {{tl|tlb|{{{langcode}}}|%s}} (template '''tlb''', not '''lb'''), " .. "which should typically be placed next to the headword.\n\nIf the term is merely a variant (alternative form) of a term " .. "in general use, it should be categorized instead in {{cl|{{{langname}}} %s forms}} (using " .. "{{tl|%s form of|{{{langcode}}}|...}} or {{tl|%s spelling of|{{{langcode}}}|...}}). If only some senses of the term are %s, " .. "it should be categorized instead in {{cl|{{{langname}}} terms with %s senses}}, using {{tl|lb|{{{langcode}}}|%s}} " .. "(template '''lb''' instead of '''tlb'''), which should typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "terms")), parents = {"na salita ayon sa paggamit"}, --TLCHANGE "terms by usage" preceding = make_preceding("na salitang %s"), --TLCHANGE "%s terms" umbrella = { preceding = make_umbrella_preceding("salitang %s"), --TLCHANGE "%s terms" additional = ("To categorize into this category, use <code><nowiki>{{</nowiki>tlb|<var>langcode</var>|%s}}</code> " .. "(template '''tlb''', not '''lb'''), which should typically be placed next to the headword. " .. "(<code><var>langcode</var></code> is the appropriate language code for the language in question; see [[Wiktionary:List of languages]].)\n\n" .. "If the term is merely a variant (alternative form) of a term in general use, it should be categorized instead in " .. "{{cl|<var>langname</var> %s forms}} (using <code><nowiki>{{</nowiki>%s form of|<var>langcode</var>|...}}</code> " .. "or <code><nowiki>{{</nowiki>%s spelling of|<var>langcode</var>|...}}</code>). " .. "If only some senses of the term are %s, it should be categorized instead in {{cl|<var>langname</var> terms with %s senses}}, " .. "using <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> (template '''lb''' instead of '''tlb'''), which should " .. "typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "terms")), }, english_name = ("%s terms"):format(english_name or typ), --TLCHANGE } labels[("na salitang may kahulugang %s"):format(typ)] = { --TLCHANGE "terms with %s senses" description = ("{{{langname}}} terms with individual senses that %s."):format(desc), additional = ("To categorize into this category, use {{tl|lb|{{{langcode}}}|%s}} (template '''lb''', not '''tlb'''), " .. "which should typically be placed next to the individual sense.\n\nIf the term itself, in all its senses, is %s, " .. "it should be placed in {{cl|{{{langname}}} %s terms}} instead, using {{tl|tlb|{{{langcode}}}|%s}} " .. "(template '''tlb''' instead of '''lb'''), which should typically be placed next to the headword. " .. "If the term is merely a variant (alternative form) of a term in general use, it should be categorized in " .. "{{cl|{{{langname}}} %s forms}} (using {{tl|%s form of|{{{langcode}}}|...}} or {{tl|%s spelling of|{{{langcode}}}|...}}).%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "senses")), parents = {{name = "na salita ayon sa paggamit", sort = ("kahulugang %s"):format(typ)}}, --TLCHANGE {{name = "terms by usage", sort = ("%s senses"):format(typ)}}, breadcrumb = ("may kahulugang %s"):format(typ), --TLCHANGE "with %s senses" preceding = make_preceding("na salitang may kahulugang %s"), --TLCHANGE "terms with %s senses" umbrella = { preceding = make_umbrella_preceding("salitang may kahulugang %s"), --tLCHANGE "terms with %s senses" additional = ("To categorize into this category, use <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> " .. "(template '''lb''', not '''tlb'''), which should typically be placed next to the individual sense. " .. "(<code><var>langcode</var></code> is the appropriate language code for the language in question; see [[Wiktionary:List of languages]].)\n\n" .. "If the term itself, in all its senses, is %s, it should be placed in {{cl|<var>langname</var> %s terms}} instead, using " .. "<code><nowiki>{{</nowiki>tlb|<var>langcode</var>|%s}}</code> (template '''tlb''' instead of '''lb'''), which should " .. "typically be placed next to the headword. If the term is merely a variant (alternative form) of a term in general use, " .. "it should be categorized in {{cl|<var>langname</var> %s forms}} (using <code><nowiki>{{</nowiki>%s form of|<var>langcode</var>|...}}</code> " .. "or <code><nowiki>{{</nowiki>%s spelling of|<var>langcode</var>|...}}</code>.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "senses")), }, english_name = ("terms with %s senses"):format(english_name or typ), --TLCHANGE } labels[("na anyong %s"):format(typ)] = { --TLCHANGE "%s forms" description = ("{{{langname}}} forms that %s; and serve as alternative forms of the same terms in general use."):format(desc), additional = ("To categorize into this category, use {{tl|%s form of|{{{langcode}}}|...}} or {{tl|%s spelling of|{{{langcode}}}|...}}.\n\n" .. "If the term is not merely a variant (alternative form) of a term in general use, it should be placed in {{cl|{{{langname}}} %s terms}} " .. "instead; to do this, use {{tl|tlb|{{{langcode}}}|%s}} (template '''tlb''', not '''lb'''), which should typically be placed next to the " .. "headword. If only some senses of the term are %s, it should be categorized instead in {{cl|{{{langname}}} terms with %s senses}}, " .. "using {{tl|lb|{{{langcode}}}|%s}} (template '''lb''' instead of '''tlb'''), which should typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "forms")), parents = {{name = ("%s terms"):format(typ), sort = "forms"}}, breadcrumb = "forms", preceding = make_preceding("%s forms"), umbrella = { preceding = make_umbrella_preceding("%s forms"), additional = ("To categorize into this category, use <code><nowiki>{{</nowiki>%s form of|<var>langcode</var>|...}}</code> " .. "or <code><nowiki>{{</nowiki>%s spelling of|<var>langcode</var>|...}}</code>. (<code><var>langcode</var></code> is the " .. "appropriate language code for the language in question; see [[Wiktionary:List of languages]].)\n\n" .. "If the term is not merely a variant (alternative form) of a term in general use, it should be placed in {{cl|<var>langname</var> %s terms}} " .. "instead; to do this, use <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> (template '''tlb''', not '''lb'''), " .. "which should typically be placed next to the headword. If only some senses of the term are %s, it should be categorized instead " .. "in {{cl|<var>langname</var> terms with %s senses}}, using <code><nowiki>{{</nowiki>lb|<var>langcode</var>|%s}}</code> " .. "(template '''lb''' instead of '''tlb'''), which should typically be placed next to the individual sense.%s"):format( typ, typ, typ, typ, typ, typ, typ, distinguish:gsub("POS", "forms")), } } end local function generate_related_categories_with_senses(info) for typ, spec in pairs(info) do local other_types = {} for other_type, _ in pairs(info) do if other_type ~= typ then table.insert(other_types, other_type) end end table.sort(other_types) generate_category_with_senses(typ, spec.desc, spec.distinguish, other_types, spec.english_name) --TLCHANGE add spec.english_name end end generate_related_categories_with_senses { makaluma = { --TLCHANGE desc = "are no longer in general use but still encountered in older literature, sometimes still used for special effect, and typically recognized by native speakers", distinguish = "Archaic POS should be distinguished from dated POS, which are merely [[unfashionable]] and [[anachronistic]] but still sometimes used, especially by older speakers; and on the other hand from obsolete POS, which are no longer in use at all and are not usually recognized by native speakers.", english_name = "archaic", --TLCHANGE }, ["may kalumaan"] = { --TLCHANGE desc = "are no longer fashionable and thus are [[anachronistic]], but still sometimes in use, especially by older speakers", distinguish = "Dated POS should be distinguished from archaic POS, which are no longer in use (except occasionally for special effect) but are still sometimes encountered in older literature and are typically recognized by native speakers; and obsolete POS, which are no longer in use at all and are not usually recognized by native speakers.", english_name = "dated", --TLCHANGE }, ["lipas na"] = { --TLCHANGE desc = "are no longer in use and not usually recognized by native speakers, but still sometimes found in older literature", distinguish = "Obsolete POS should be distinguished from archaic POS, which, although no longer in general use, are still occasionally used for special effect and are typically recognized by native speakers; and dated POS, which are merely [[unfashionable]] and [[anachronistic]] but still sometimes used, especially by older speakers.", english_name = "obsolete", --TLCHANGE }, } generate_related_categories_with_senses { rare = { desc = "are rarely found in general use and may not be recognized by some native speakers", distinguish = "Rare POS should be distinguished from uncommon POS, which are not common but used enough to be generally recognized.", }, uncommon = { desc = "are in general use but not common", distinguish = "Uncommon POS should be distinguished from rare POS, which are infrequent enough that they are sometimes not recognized by native speakers.", }, } labels["2channel slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|2channel}}.", parents = {"internet slang"}, } labels["4chan slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|4chan}}.", parents = {"internet slang"}, } labels["4chan /lgbt/ slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the /lgbt/ board of the website {{w|4chan}}.", parents = {"4chan slang", "LGBTQ slang"}, } labels["na salitang nasa rehistrong galit"] = { --TLCHANGE description = "{{{langname}}} terms belonging to an angry linguistic register, used only when the speaker is angry.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "angry register terms", --TLCHANGE } labels["anti-LGBTQ slurs"] = { description = "{{{langname}}} terms that are intended to offend [[LGBTQ]] people.", parents = {"offensive terms"}, } labels["autological terms"] = { description = "{{{langname}}} terms that possess the property they themselves describe.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["back slang"] = { description = "{{{langname}}} terms in which the written word is spoken phonemically backwards to form a coded language.", parents = {"cant"}, } labels["cant"] = { description = "{{{langname}}} terms used to form secret languages that are typically restricted to members of a specific group.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["censored spellings"] = { description = "{{{langname}}} spellings where some characters have been changed in an effort to reduce the shock value of the original term.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["na salitang pambata"] = { --TLCHANGE description = "{{{langname}}} terms that are typically only used by, or to, children.", parents = {"na salita ayon sa paggamit", "na salitang impormal"}, --TLCHANGE {"terms by usage", "informal terms"}, english_name = "childish terms", --TLCHANGE } labels["na salitang kolokyal"] = { --TLCHANGE description = "{{{langname}}} terms that are likely to be used primarily in casual conversation rather than in more formal written works, speeches, and discourse.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "colloquialisms", --TLCHANGE } labels["corporate jargon"] = { description = "{{{langname}}} terms (typically for non-business-specific concepts) that are used especially in a [[business]] or [[corporate]] [[context]].", additional = "See also [[:Category:Businesses]], [[:Category:Business]] and language-specific categories thereof for terms related to business-specific concepts.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["criminal slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to criminals.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["na salitang mapanlait"] = { --TLCHANGE description = "{{{langname}}} terms that are intended to [[disparage]], [[demean]], [[insult]] or [[offend]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "derogatory terms", --TLCHANGE } labels["dialectal terms"] = { description = "{{{langname}}} terms that are not used in standard language but only in dialects.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["dis legomena"] = { description = "{{{langname}}} terms that are attested only twice in the entire corpus.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["drag slang"] = { description = "{{{langname}}} [[slang]] terms used in the [[drag]] community.", parents = {"LGBTQ slang"}, } labels["ecclesiastical terms"] = { description = "{{{langname}}} terms used only by religious figures.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["eggcorns"] = { description = "{{{langname}}} [[eggcorn]]s, terms which are misconstructed.", parents = {"misconstructions"}, } labels["emoticons"] = { description = "{{{langname}}} characters, or sequences of characters, that imitate expressions and other objects by means of [[pareidolia]].", parents = {"internet slang", "text messaging slang"}, } labels["endearing terms"] = { description = "{{{langname}}} terms that are used to show affection or endearment to another person.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["ethnic slurs"] = { description = "{{{langname}}} terms that are intended to offend certain ethnic groups.", parents = {"offensive terms"}, } labels["expressive terms"] = { description = "{{{langname}}} terms with additional expressive content compared with the basic meaning of the term.", additional = "This term is common in Slavic lexicography and is found in most Czech, Slovak and Polish dictionaries, but there is no exact equivalent in English lexicography. The closest equivalents might be a combination of ''colloquial'' and either ''endearing'' or ''pejorative'', as the case may be.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["eye dialect"] = { description = "{{{langname}}} nonstandard spellings, which however do not change pronunciation, deliberately used by an author to indicate that the speaker uses a nonstandard or dialectal speech.", parents = {"nonstandard forms", "terms by orthographic property"}, } labels["familiar terms"] = { description = "{{{langname}}} terms whose use is typically to contexts of friendly intimacy.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["fandom slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to fans of one or more works of fiction.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["filter-avoidance spellings"] = { description = "Deliberate misspellings of {{{langname}}} terms that are used to avoid [[w:Wordfilter|wordfilters]].", parents = {"deliberate misspellings"}, } labels["folk poetic terms"] = { description = "{{{langname}}} terms whose usage is typically restricted to works of oral or folk poetry.", parents = {"terms by usage", "poetic terms"}, } labels["na salitang pormal"] = { description = "{{{langname}}} terms whose use is typically restricted to polite, ceremonious, non-casual contexts.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "formal terms", --TLCHANGE } labels["gay slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to homosexual people.", parents = {"LGBTQ slang"}, } labels["gender-critical slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to gender-critical feminists.", parents = {"slang", "Category:{{{langcode}}}:Gender-critical feminism"}, } labels["gender-neutral terms"] = { description = "{{{langname}}} terms that are applicable to all people, independent of gender.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["graffiti slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to creators of [[graffiti#Noun|graffiti]].", parents = {"slang", "Category:{{{langcode}}}:Art"}, } labels["na salitang nasa rehistrong mas mataas"] = { --TLCHANGE description = "{{{langname}}} terms belonging to a higher linguistic register, such as literary terms; such terms are somewhat less common or known.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "higher register terms", --TLCHANGE } labels["historical terms"] = { description = "{{{langname}}} terms that refer to obsolete things or concepts.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["honorific terms"] = { description = "{{{langname}}} [[honorific]] terms, which are used to show deference and respect.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["polite terms"] = { description = "{{{langname}}} [[polite]] terms, which are used to show deference and respect.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["hapax legomena"] = { description = "{{{langname}}} terms that are attested only once in the entire corpus.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["humble terms"] = { description = "{{{langname}}} [[humble]] terms, which are used to show humility towards the addressee, indicating that the speaker has a lower social standing.", parents = {"honorific terms"}, } labels["hypercorrections"] = { description = "{{{langname}}} forms of other terms by misapplications of grammatical or orthographical rules.", parents = {"nonstandard terms", "nonstandard forms"}, } labels["hyperforeign terms"] = { description = "{{{langname}}} terms created by misapplying the perceived grammatical, orthographical or phonetical rules of another language.", parents = {"hypercorrections"}, } labels["incel slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to incels.", parents = {"slang", "Category:{{{langcode}}}:Incel community"}, } labels["imperfective forms"] = { description = "{{{langname}}} verbs that serve as imperfective variants of perfective verbs, sharing the same base set of meanings.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["informal forms"] = { description = "{{{langname}}} terms that can be used in casual, non-ceremonious conversations as alternative forms of other terms.", additional = "Informal non-lemma form variants also belong here.", parents = {"informal terms"}, } labels["na salitang impormal"] = { --TLCHANGE description = "{{{langname}}} terms whose use is typically restricted to casual, non‐ceremonious conversations.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "informal terms", --TLCHANGE } labels["deliberate misspellings"] = { description = "Deliberate misspellings of {{{langname}}} terms.", parents = {"misspellings"}, } labels["internet laughter slang"] = { description = "{{{langname}}} [[slang]] terms that are used as substitutes for laughter in internet-related contexts.", additional = "::''Note: The majority of items that <u>could</u> be here do not meet Wiktionary's [[WT:CFI|criteria for inclusion]].''", parents = {"internet slang"}, } labels["internet slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to internet users.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["humorous terms"] = { description = "{{{langname}}} terms that are humorous, amusing or joking.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["journalistic terms"] = { description = "{{{langname}}} terms that are used especially in [[journalistic]] language, i.e. in newspapers and magazines.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["kennings"] = { description = "{{{langname}}} metaphorical compounds or phrases describing basic objects in an allusive fashion, used especially in Germanic poetry.", parents = {"poetic terms"}, } labels["leetspeak"] = { description = "{{{langname}}} which are used in [[leetspeak]], a variety of internet slang that focuses on substitution of letters by other characters which are similar in appearance.", parents = {"internet slang"}, } labels["LGBTQ slang"] = { description = "{{{langname}}} [[slang]] terms which are used predominantly among [[LGBTQ]] people.", parents = {"slang", "Category:{{{langcode}}}:LGBTQ"}, } labels["na salitang pampanitikan"] = { --TLCHANGE description = "{{{langname}}} terms whose usage is typically restricted to works of literature.", parents = {"na salitang nasa rehistrong mas mataas"}, --TLCHANGE {"higher register terms"}, english_name = "literary terms", --TLCHANGE } labels["medical slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to medical doctors, such as physicians and surgeons.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["military slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to military personnel.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["misconstructions"] = { description = "Terms wrongly built due to a misunderstanding of their parts.", parents = {"nonstandard forms"}, } labels["misromanizations"] = { description = "Common misromanizations of {{{langname}}} terms.", parents = {"nonstandard forms"}, } labels["misspellings"] = { description = "Common accidental misspellings of {{{langname}}} terms and some terms which are deliberate misspellings.", parents = {"nonstandard forms"}, } labels["multiplicity slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to the {{l|en|multiplicity|id=multiple personalities}} [[community]].", parents = {"slang", "Category:{{{langcode}}}:Multiplicity (psychology)"}, } labels["naval slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to naval personnel.", parents = {"military slang"}, } labels["na anyong di-pamantayan"] = { --TLCHANGE description = "{{{langname}}} forms of standard terms that are considered improper, incorrect or commonly misused.", parents = {"na salitang di-pamantayan"}, --TLCHANGE {"nonstandard terms"}, english_name = "nonstandard forms", --TLCHANGE } labels["na salitang di-pamantayan"] = { --TLCHANGE description = "{{{langname}}} terms that are considered improper, incorrect or commonly misused.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "nonstandard terms", --TLCHANGE } labels["numismatic slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to numismatists.", parents = {"slang", "Category:{{{langcode}}}:Currency"}, } labels["offensive terms"] = { description = "{{{langname}}} terms that are typically considered to offend people.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["officialese terms"] = { description = "{{{langname}}} terms that are chiefly used by official sources, and are often bureaucratic-sounding.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["OpenStreetMap jargon"] = { description = "{{{langname}}} terms that are used in [[w:OpenStreetMap|OpenStreetMap]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["oxymorons"] = { description = "{{{langname}}} terms that are juxtapositions of opposing ideas.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["perfective forms"] = { description = "{{{langname}}} verbs that serve as perfective variants of imperfective verbs, sharing the same base set of meanings.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["placeholder terms"] = { description = "{{{langname}}} terms used to refer to items for which one does not know or cannot recall the name, or is unable to or does not care to specify precisely.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["poetic forms"] = { description = "{{{langname}}} terms that can be used in works of poetry as poetic alternative forms of other terms.", additional = "Poetic non-lemma form variants also belong here.", parents = {"poetic terms"}, } labels["poetic terms"] = { description = "{{{langname}}} terms whose usage is typically restricted to works of poetry.", parents = {"terms by usage", "literary terms"}, } labels["post-nominal letters"] = { description = "{{{langname}}} Post-nominal letters - also called post-nominal initials, post-nominal titles or designatory letters are letters placed after the name of a person to indicate that the individual holds a position, educational degree, accreditation, office, military decoration, or honour, or is a member of a religious institute or fraternity.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["prison slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to detainees in correctional institutions.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["proscribed terms"] = { description = "{{{langname}}} terms whose usage is proscribed; thus, they are considered wrong according to prescriptive sources.", parents = {"terms by usage", "nonstandard terms"}, } labels["puristic terms"] = { description = "{{{langname}}} terms adopted for [[w:Linguistic purism|linguistic purism]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["radio slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to radio communication.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["Reddit slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|Reddit}}.", parents = {"internet slang"}, } labels["religious slurs"] = { description = "{{{langname}}} terms that are intended to offend members of certain religions.", parents = {"offensive terms"}, } labels["reverential terms"] = { description = "{{{langname}}} [[reverential]] terms, which are used to exalt the addressee, indicating that they have a higher social standing than the speaker.", parents = {"honorific terms"}, } labels["royal terms"] = { description = "{{{langname}}} terms used only by royalty.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["rustic terms"] = { description = "{{{langname}}} terms whose use is typically restricted rural speech.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["school slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to schools and school pupils.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["self-deprecatory terms"] = { description = "{{{langname}}} [[self-deprecatory]] terms.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["short forms"] = { description = "{{{langname}}} terms that are [[short form]]s of other terms, often used informally.", parents = {"terms by usage", "shortenings"}, } labels["na salitang balbal"] = { --TLCHANGE description = "{{{langname}}} [[colloquial]] terms that are typically used to mark membership in a cultural subgroup.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "slang", --TLCHANGE } labels["solemn terms"] = { description = "{{{langname}}} terms that are used to instill a sense of somberness.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["student slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to colleges, universities, and their students.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["na anyong pinalitang pagbaybay"] = { --TLCHANGE description = "{{{langname}}} forms that have been superseded by other forms due to changes in spelling conventions.", parents = {"na salita ayon sa paggamit", "na salita ayon sa katangiang ortograpiko"}, --TLCHANGE {"terms by usage", "terms by orthographic property"}, english_name = "superseded forms", --TLCHANGE } labels["na salitang mura"] = { --TLCHANGE description = "{{{langname}}} terms that are used to swear, such as to express strong anger or frustration.", parents = {"vulgarities"}, english_name = "swear words", --TLCHANGE } labels["technical terms"] = { description = "{{{langname}}} terms that are usually or exclusively used in technical/scientific writing.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms of address"] = { description = "{{{langname}}} terms used to refer to another person.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms used in hendiadys"] = { description = "{{{langname}}} words or senses which are used only in {{w|hendiadys}}.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms with historical senses"] = { description = "{{{langname}}} terms with senses that refer to things or concepts mainly known for their historical value.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms with transferred senses"] = { description = "{{{langname}}} terms with [[Appendix:Glossary#transferred senses|transferred senses]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["terms with uncertain meaning"] = { description = "{{{langname}}} terms whose meaning is unknown or disputed.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["text messaging slang"] = { description = "{{{langname}}} terms used for [[text messaging]] on mobile phones or similar devices, usually consisting of heavily abbreviated forms.", parents = {"na salitang balbal"}, --TLCHANGE {"slang"}, } labels["tone indicators"] = { description = "{{{langname}}} symbols used to denote or clarify the intent of a preceeding or occasionally following message.", parents = {"internet slang"}, } labels["trademarks"] = { description = "{{{langname}}} terms that identify legal entities, their products and services, by means of legal protection — to some extent, in a number of jurisdictions — against unauthorized use of the terms.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["transgender slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to transgender people.", parents = {"LGBTQ slang", "Category:{{{langcode}}}:Transgender"}, } labels["TV Tropes slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of the website {{w|TV Tropes}}.", parents = {"internet slang"}, } labels["umlautless spellings"] = { description = "{{{langname}}} terms that are the result of the original terms' [[umlaut]]s being substituted.", parents = {"nonstandard forms", "terms by orthographic property"}, } labels["Usenet slang"] = { description = "{{{langname}}} [[slang]] terms whose usage is typically restricted to users of {{w|Usenet}}.", parents = {"internet slang"}, } labels["men's speech terms"] = { description = "{{{langname}}} terms and forms used in [[Appendix:Glossary#men's speech|men's speech]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["women's speech terms"] = { description = "{{{langname}}} terms and forms used in [[Appendix:Glossary#women's speech|women's speech]].", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, } labels["na salitang bulgar"] = { --TLCHANGE description = "{{{langname}}} terms whose tone (rather than the meaning) is offensive to polite company.", parents = {"na salita ayon sa paggamit"}, --TLCHANGE {"terms by usage"}, english_name = "vulgarities", --TLCHANGE } -- Add 'umbrella_parents' key if not already present. for key, data in pairs(labels) do if not data.umbrella_parents then data.umbrella_parents = "Subkategoryang pansalita ayon sa paggamit ayon sa wika" --TLCHANGE "Terms by usage subcategories by language" end end ----------------------------------------------------------------------------- -- -- -- RAW CATEGORIES -- -- -- ----------------------------------------------------------------------------- raw_categories["Subkategoryang pansalita ayon sa paggamit ayon sa wika"] = { --TLCHANGE description = "Umbrella categories covering topics related to terms categorized by their usage, such as slang, obsolete or archaic forms and vulgarities.", additional = "{{{umbrella_meta_msg}}}", parents = { "Kataas-taasang kategorya", --TLCHANGE "Umbrella metacategories" {name = "na salita ayon sa paggamit", is_label = true, sort = " "}, --TLCHANGE "terms by usage" }, english_name = "Terms by usage subcategories by language", --TLCHANGE } return {LABELS = labels, RAW_CATEGORIES = raw_categories} 58bd6os7mmrcd796a0rmne3cz36xj0r Module:minitoc 828 36640 177620 171486 2026-08-28T03:28:43Z Yivan000 4078 177620 Scribunto text/plain local export = {} local headword_data_module = "Module:headword/data" local parameters_module = "Module:parameters" local utilities_module = "Module:utilities" local concat = table.concat local insert = table.insert local require = require --[==[ Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==] local function format_categories(...) format_categories = require(utilities_module).format_categories return format_categories(...) end local function process_params(...) process_params = require(parameters_module).process return process_params(...) end --[==[ Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==] local L2_list local function get_L2_list() L2_list, get_L2_list = mw.loadData(headword_data_module).page.L2_list, nil return L2_list end function export.main(frame) process_params(frame:getParent().args, {}) local L2s_len, main, pre = (L2_list or get_L2_list()).n for i = 1, L2s_len do local L2, t = L2_list[i] if L2 == "Maramihang wika" or L2 == "Tagalog" then --TLCHANGE L2 == "Translingual" or L2 == "English" pre = pre or {} t = pre else main = main or {} t = main end insert(t, "[[#" .. L2 .. "|" .. L2 .. "]]") end --TLCHANGE return frame:extensionTag("templatestyles", nil, {src="Module:minitoc/styles.css"}) .. "<div class=\"minitoc NavFrame\" data-toggle-category=\"table of contents\" data-minitoc-length=\"" .. L2s_len .. "\"><div class=\"NavHead\">Languages (" .. L2s_len .. ")</div><div class=\"NavContent\">" .. (pre and concat(pre, " •&nbsp;") .. (main and "<hr>" or "") or "") .. (main and concat(main, " •&nbsp;") or "") .. "<hr>[[#catlinks|Page categories]]</div></div><div data-toc-length=\"" .. L2s_len .. "\">__TOC__</div>" .. format_categories("Pages calling Template:minitoc", nil, nil, nil, true) return frame:extensionTag("templatestyles", nil, {src="Module:minitoc/styles.css"}) .. "<div class=\"minitoc NavFrame\" data-toggle-category=\"table of contents\" data-minitoc-length=\"" .. L2s_len .. "\"><div class=\"NavHead\">Mga wika (" .. L2s_len .. ")</div><div class=\"NavContent\">" .. (pre and concat(pre, " •&nbsp;") .. (main and "<hr>" or "") or "") .. (main and concat(main, " •&nbsp;") or "") .. "<hr>[[#catlinks|Mga kategorya ng pahina]]</div></div><div data-toc-length=\"" .. L2s_len .. "\">__TOC__</div>" .. format_categories("Pages calling Template:minitoc", nil, nil, nil, true) end return export cwez56ewtgv79blwqa34wz6oqffz1yn Padron:ka-IPA 10 38520 177529 2026-08-27T11:59:35Z Hiyuune 5522 Nilikha ang pahina na may '<includeonly></includeonly>{{#invoke:ka-IPA|show}}</includeonly><!-- --><noinclude>{{documentation}}</noinclude>' 177529 wikitext text/x-wiki <includeonly></includeonly>{{#invoke:ka-IPA|show}}</includeonly><!-- --><noinclude>{{documentation}}</noinclude> dqh2kenhvg3akx7sarjg8gqfudgwzol 177530 177529 2026-08-27T12:00:06Z Hiyuune 5522 177530 wikitext text/x-wiki <includeonly>{{#invoke:ka-IPA|show}}</includeonly><!-- --><noinclude>{{documentation}}</noinclude> 17t1v1q2c3rxkt5o0nigux53bx1ua3t Kategorya:Tagalog na salitang makaluma 14 38521 177532 2026-08-27T12:22:46Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177532 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Tagalog na salita ayon sa paggamit 14 38522 177535 2026-08-27T12:52:18Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177535 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Tagalog na salitang may kalumaan 14 38523 177536 2026-08-27T12:53:58Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177536 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may kalumaan ayon sa wika 14 38524 177537 2026-08-27T12:54:48Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177537 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Padron:cl 10 38525 177539 2026-08-27T12:57:57Z Yivan000 4078 Ikinakarga sa [[Padron:category]] 177539 wikitext text/x-wiki #REDIRECT [[Template:category]] 5ch8gxpxu5qifj630250r6lph6vkuma Padron:kategorya 10 38526 177541 2026-08-27T12:58:35Z Yivan000 4078 Nilipat ni Yivan000 ang pahinang [[Padron:kategorya]] sa [[Padron:category]] mula sa redirect 177541 wikitext text/x-wiki #REDIRECT [[Padron:category]] 5j6ic55etb8dg61ztvf3j18r8u6ghk0 Kategorya:Tagalog na salitang pampanitikan 14 38527 177542 2026-08-27T12:59:40Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177542 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang pampanitikan ayon sa wika 14 38528 177544 2026-08-27T13:20:03Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177544 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Tagalog na salitang nasa rehistrong mas mataas 14 38529 177545 2026-08-27T13:20:14Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177545 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang nasa rehistrong mas mataas ayon sa wika 14 38530 177546 2026-08-27T13:20:38Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177546 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Tagalog na salitang hinango mula sa Lumang Espanyol 14 38531 177547 2026-08-27T13:23:10Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177547 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang hinango mula sa Lumang Espanyol ayon sa wika 14 38532 177548 2026-08-27T13:23:34Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177548 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Lumang Franses na panghalip 14 38533 177549 2026-08-27T13:28:00Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177549 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Gales na pangngalang panlalaki 14 38534 177550 2026-08-27T13:35:56Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177550 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Gales na pangngalan ayon sa kasarian 14 38535 177551 2026-08-27T13:36:13Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177551 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Gales na pangngalang pambabae 14 38536 177552 2026-08-27T13:36:52Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177552 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Gitnang Nerlandes na pang-abay 14 38537 177553 2026-08-27T13:38:27Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177553 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Italyano na artikulo 14 38538 177554 2026-08-27T13:38:29Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177554 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Italyano na pantukoy 14 38539 177555 2026-08-27T13:38:52Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177555 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Gitnang Nerlandes na lema 14 38540 177556 2026-08-27T13:38:56Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177556 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Artikulo ayon sa wika 14 38541 177557 2026-08-27T13:39:15Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177557 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Katalan na artikulo 14 38542 177558 2026-08-27T13:40:49Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177558 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Leton na pangngalang panlalaki 14 38543 177559 2026-08-27T13:41:26Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177559 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Katalan na pantukoy 14 38544 177560 2026-08-27T13:41:33Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177560 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Leton na pangngalan ayon sa kasarian 14 38545 177561 2026-08-27T13:42:09Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177561 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Espanyol na salitang may pagbigkas na awdiyo 14 38546 177562 2026-08-27T13:43:11Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177562 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Ingles na salitang impormal 14 38547 177563 2026-08-27T13:44:34Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177563 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang impormal ayon sa wika 14 38548 177564 2026-08-27T13:44:57Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177564 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Italyano na salitang may kahulugang lipas na 14 38549 177569 2026-08-27T14:02:57Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177569 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Italyano na salita ayon sa paggamit 14 38550 177570 2026-08-27T14:03:21Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177570 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Nerlandes na salitang may kahulugang makaluma 14 38551 177571 2026-08-27T14:04:16Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177571 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Nerlandes na salita ayon sa paggamit 14 38552 177572 2026-08-27T14:04:33Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177572 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may kahulugang makaluma ayon sa wika 14 38553 177573 2026-08-27T14:05:24Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177573 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Lumang Franses na lema 14 38554 177574 2026-08-27T14:08:12Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177574 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Wikang Lumang Franses 14 38555 177575 2026-08-27T14:10:29Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat|Fransiya|Reyno Unido|extinct=1|also=Wikang Franses,Wikang Gitnang Franses}}' 177575 wikitext text/x-wiki {{auto cat|Fransiya|Reyno Unido|extinct=1|also=Wikang Franses,Wikang Gitnang Franses}} kzpaf55nt4w5hrwd3bhlb1qam5j76v4 Kategorya:Lumang Franses na kontraksiyon 14 38556 177576 2026-08-27T14:12:26Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177576 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Lumang Franses na salitang pinaikli 14 38557 177577 2026-08-27T14:12:35Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177577 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Kontraksiyon ayon sa wika 14 38558 177578 2026-08-27T14:12:37Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177578 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Lumang Ingles na pangngalang panlalaki 14 38559 177579 2026-08-27T14:13:53Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177579 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Module:category tree/lang/ang 828 38560 177580 2026-08-27T14:14:20Z Yivan000 4078 Nilikha ang pahina na may 'local labels = {} local handlers = {} labels["consonant stem nouns"] = { description = "Old English consonant stem nouns.", additional = "Note that the stem class is named from the perspective of Proto-Germanic, and the stem suffix may no longer be visible synchronically.", parents = {{name = "nouns by inflection type", sort = "consonant stem"}}, breadcrumb = "consonant stem", } labels["masculine a-stem nouns"] = { displaytitle = "Old English masculine ''a...' 177580 Scribunto text/plain local labels = {} local handlers = {} labels["consonant stem nouns"] = { description = "Old English consonant stem nouns.", additional = "Note that the stem class is named from the perspective of Proto-Germanic, and the stem suffix may no longer be visible synchronically.", parents = {{name = "nouns by inflection type", sort = "consonant stem"}}, breadcrumb = "consonant stem", } labels["masculine a-stem nouns"] = { displaytitle = "Old English masculine ''a''-stem nouns", description = "Old English masculine ''a''-stem nouns. These nouns have a genitive singular in ''-es'' and a nominative plural in ''-as''.", parents = {{name = "a-stem nouns", sort = "masculine"}}, breadcrumb = "masculine", } labels["neuter a-stem nouns"] = { displaytitle = "Old English neuter ''a''-stem nouns", description = "Old English neuter ''a''-stem nouns. These nouns have a genitive singular in ''-es'' and a nominative plural that is either endingless (if the stem is heavy) or ending in ''-u'' (if the stem is light).", parents = {{name = "a-stem nouns", sort = "neuter"}}, breadcrumb = "neuter", } for _, pos in ipairs({"nouns"}) do local sgpos = pos:gsub("s$", "") for _, decl in ipairs { "a", "i", "īn", "n", "nd", "ō", "u", "z", "ja"} do labels[decl .. "-stem " .. pos] = { displaytitle = "Old English ''" .. decl .. "''-stem " .. pos, description = "Old English ''" .. decl .. "''-stem " .. pos .. ".", additional = "Note that the stem class is named from the perspective of Proto-Germanic, and the stem suffix may no longer be visible synchronically.", breadcrumb = {name = "''" .. decl .. "''-stem", nocap = true}, parents = {{ name = pos .. " by inflection type", sort = decl, }}, } end end for _, decl in ipairs({"n", "ja"}) do for _, gender in ipairs { "masculine", "feminine", "neuter" } do labels[gender .. " " .. decl .. "-stem nouns"] = { displaytitle = "Old English " .. gender .. " ''" .. decl .. "''-stem nouns", description = "Old English " .. gender .. " ''" .. decl .. "''-stem nouns.", breadcrumb = {name = gender}, parents = {{ name = decl .. "-stem nouns", sort = gender, }}, } end end for i = 1, 7 do labels["class " .. i .. " strong contracted verbs"] = { description = "{{{langname}}} class " .. i .. " strong verbs originally with a stem ending in {{ic|/h/}}, which was dropped between vowels, resulting in contracting to a long vowel or diphthong.", additional = "Such verbs have an infinitive in ''-īon'' > ''-ēon'' in class 1; ''-ēon'' in classes 2 and 5; " .. "''-ēan'' in class 6; and ''-ōn'' in class 7. The deleted ''h'' reappears in many forms of the present " .. "tense, in the first/third singular past and in the singular imperative. {{w|Verner's Law}} applies, " .. "leading to ''g'' (sometimes ''ng'') in the plural and second singular past and in the past participle.", breadcrumb_and_first_sort_key = "contracted", parents = "class " .. i .. " strong verbs", } end return {LABELS = labels, HANDLERS = handlers} eznpx5algas046zume6zbc7yggntpsb Kategorya:Lumang Ingles na modyul 14 38561 177581 2026-08-27T14:14:40Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177581 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Lumang Ingles na pangngalan ayon sa kasarian 14 38562 177582 2026-08-27T14:15:25Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177582 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Lumang Ingles na pangngalan 14 38563 177583 2026-08-27T14:15:54Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177583 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Italyano na salitang may kahulugang makaluma 14 38564 177584 2026-08-27T14:16:41Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177584 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Tagalog na salitang lipas na 14 38565 177586 2026-08-27T14:18:29Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177586 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang lipas na ayon sa wika 14 38566 177587 2026-08-27T14:19:01Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177587 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Koreano na salitang may kahulugang makaluma 14 38567 177588 2026-08-27T14:22:58Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177588 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Koreano na salita ayon sa paggamit 14 38568 177589 2026-08-27T14:23:33Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177589 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Tsino na salitang may kahulugang lipas na 14 38569 177590 2026-08-27T14:24:13Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177590 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may kahulugang lipas na ayon sa wika 14 38570 177591 2026-08-27T14:25:07Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177591 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Kiñarwanda-Kirundi na salitang may kalumaan 14 38571 177592 2026-08-27T14:26:01Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177592 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Kiñarwanda-Kirundi na salita ayon sa paggamit 14 38572 177593 2026-08-27T14:26:19Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177593 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Hapones na salitang may kahulugang makaluma 14 38573 177594 2026-08-27T14:27:16Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177594 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Hapones na salita ayon sa paggamit 14 38574 177595 2026-08-27T14:27:36Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177595 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang makaluma ayon sa wika 14 38575 177596 2026-08-27T14:28:36Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177596 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Espanyol na artikulo 14 38576 177597 2026-08-27T14:37:26Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177597 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Padron:ja-acc-table 10 38577 177598 2026-08-27T14:40:21Z Yivan000 4078 Nilikha ang pahina na may '<includeonly>{{#invoke:ja-acc-table|show}}</includeonly><noinclude>{{documentation}}</noinclude>' 177598 wikitext text/x-wiki <includeonly>{{#invoke:ja-acc-table|show}}</includeonly><noinclude>{{documentation}}</noinclude> arwjmklhmrclxnm4lwtkeb2y20xieji Module:ja-acc-table 828 38578 177600 2026-08-27T14:41:07Z Yivan000 4078 Nilikha ang pahina na may '-- This module implements the template {{ja-acc-table}}. -- Author: [[User:Shlyst]] -- To-do: Counter suffixes, 個, 匹, 枚, etc. local export = {} local match = mw.ustring.match local m_str_utils = require("Module:string utilities") local find = m_str_utils.find local usub = m_str_utils.sub local ulen = m_str_utils.len local gmatch = m_str_utils.gmatch local gsub = m_str_utils.gsub local gsplit = m_str_utils.gsplit local m_ja_pron = require("Module:ja-pron...' 177600 Scribunto text/plain -- This module implements the template {{ja-acc-table}}. -- Author: [[User:Shlyst]] -- To-do: Counter suffixes, 個, 匹, 枚, etc. local export = {} local match = mw.ustring.match local m_str_utils = require("Module:string utilities") local find = m_str_utils.find local usub = m_str_utils.sub local ulen = m_str_utils.len local gmatch = m_str_utils.gmatch local gsub = m_str_utils.gsub local gsplit = m_str_utils.gsplit local m_ja_pron = require("Module:ja-pron") local range = mw.loadData("Module:ja/data/range") local a_kana = range.vowels.a local i_kana = range.vowels.i local u_kana = range.vowels.u local e_kana = range.vowels.e local o_kana = range.vowels.o local n_kana = range.vowels.n local submoraic_kana = range.submoraic_kana local morae_negative_pattern = "[" .. submoraic_kana .. "%. ]" local function count_morae(kana) return ulen(kana) - select(2, gsub(kana, morae_negative_pattern, "")) end local inflection_types = { { id = "verb-godan", style = {verb=true, godan=true}, doc = "Godan verbs." }, { id = "verb-ichidan", style = {verb=true, ichidan=true}, doc = "Ichidan verbs." }, { id = "verb-aru", style = {verb=true, godan=true, aru=true}, doc = "The verb {{m|ja|ある|t=to exist}}, and any derivatives that end in it." }, { id = "verb-iku", style = {verb=true, godan=true, iku=true}, doc = "The verb {{m|ja|いく|t=to go}}, and any derivatives that end in it. It has an irregular {{m|ja||て}}-form." }, { id = "verb-honorific", style = {verb=true, godan=true, honorific=true}, doc = "Honorific-type verbs, such as {{m|ja|いらっしゃる}}, {{m|ja|くださる}}, which are godan verbs whose continuative forms don't end in the stem consonant, but rather directly append {{m|ja||い}} (e.g. {{m|ja|ございます}} as opposed to {{m|ja|ござります}})." }, { id = "verb-koute-toute", style = {verb=true, godan=true, koute_toute=true}, doc = "The verbs {{m|ja|乞う}}, {{m|ja|問う}}, and any derivatives, whose {{m|ja||て}}-forms exhibit a long {{m|ja||う}} ''onbin'', as opposed to {{m|ja||っ}} (''sokuon'') ''onbin'' (namely, as {{m|ja||こうて}}, {{m|ja||とうて}} as opposed to {{m|ja||こって}}, {{m|ja||とって}})." }, { id = "verb-kureru", style = {verb=true, ichidan=true, kureru=true}, doc = "The verb {{m|ja|くれる}}." }, { id = "verb-suru", style = {verb=true, suru=true}, doc = "The verb {{m|ja|する}}." }, { id = "verb-suru-zuru", style = {verb=true, suru_zuru=true}, doc = "Verbs with a partially-lexicalized {{m|ja|する}} or {{m|ja|ずる}}, such as {{m|ja|値する}}, some of whose forms behave differently to usual {{m|ja||する}} verbs, e.g. {{m|ja||あたいさない}} also being possible in addition to {{m|ja||あたいしない}}." }, { id = "verb-kuru", style = {verb=true, kuru=true}, doc = "The verb {{m|ja|来る}} and its derivatives." }, { id = "adj-i", style = {adjective = true}, doc = "い-adjectives." }, { id = "adj-yoku", style = {adjective = true, yoku=true}, doc = "The adjective いい, or adjectives ending in it, which use the stem よ instead of い (e.g. よく instead of いく)." } } local function get_inflection_type(type_id) for _, inflection_type in ipairs(inflection_types) do if type_id == inflection_type.id then return inflection_type end end end function export.document_inflection_types(frame) local wikitext = {} for i, inflection_type in ipairs(inflection_types) do table.insert(wikitext, "; ") table.insert(wikitext, inflection_type.id) table.insert(wikitext, "\n: ") table.insert(wikitext, inflection_type.doc) if i ~= #inflection_types then table.insert(wikitext, "\n") end end return frame:preprocess(table.concat(wikitext)) end local function inflect(lemma, kana, style, accs, te_form_accs) local kanji = lemma local lemma_kana = kana kana = gsub(kana, "[%. ]+$", "") local kana_morae_str = gsub(kana, "[%. ]", "") local kana_morae_str_without_submoraic = gsub(kana_morae_str, morae_negative_pattern, "") local n_morae = count_morae(kana) for _, acc in ipairs(accs) do if acc > n_morae then error("Accent is larger than kana") end end if style.verb or style.adjective then kana = usub(kana, 1, ulen(kana) - 1) .. "." .. usub(kana, ulen(kana), ulen(kana) + 1) if usub(lemma, ulen(lemma), ulen(lemma) + 1) ~= usub(kana_morae_str, ulen(kana_morae_str), ulen(kana_morae_str) + 1) then error("Lemma and kana do not have the same ending: " .. lemma .. " " .. lemma_kana) end if n_morae < 2 then error("Kana must have at least 2 morae") end for _, acc in ipairs(accs) do if acc == n_morae then error("Accent cannot be Odaka") end end local function add_infl(infl_table, kanji, kana, acc) for _, infl in ipairs(infl_table) do if infl.kanji == kanji and infl.kana == kana and infl.acc == acc then return end end table.insert(infl_table, {kanji=kanji, kana=kana, acc=acc}) end local penultimate_jiritsuhaku_pos local consecutive_penultimate_jiritsuhaku if n_morae > 2 then penultimate_jiritsuhaku_pos = 1 consecutive_penultimate_jiritsuhaku = 0 for i = 2, ulen(kana_morae_str_without_submoraic) - 1 do local mora = usub(kana_morae_str_without_submoraic, i, i) local mora_is_jiritsuhaku = not find(mora, "^[あいうえおをゑゐアイウエオヲヱヰんっンッー]$") if mora_is_jiritsuhaku then penultimate_jiritsuhaku_pos = i consecutive_penultimate_jiritsuhaku = 0 else consecutive_penultimate_jiritsuhaku = consecutive_penultimate_jiritsuhaku + 1 end end end local function acc_is_deep(acc) return penultimate_jiritsuhaku_pos and acc > 0 and (acc < penultimate_jiritsuhaku_pos or (acc == penultimate_jiritsuhaku_pos and consecutive_penultimate_jiritsuhaku >= 2)) end if style.verb then local plain = {} local te = {} local nai = {} local ba = {} local imperative = {} local volitional = {} local desiderative = {} local masu = {} local renyokei = {} local zu = {} local passive = {} local causative = {} local potential = {} local function add_infl_te_forms(te_form_kanji, te_form_kana) for _, te_form_acc in ipairs(te_form_accs) do add_infl(te, te_form_kanji, te_form_kana, te_form_acc) end end local function add_infl_func(infl_table, kanji, kana, func) for _, acc in ipairs(accs) do if acc_is_deep(acc) then add_infl(infl_table, kanji, kana, acc) else add_infl(infl_table, kanji, kana, func(acc)) end end end local function add_infl_func_heibangata_ifelse(infl_table, kanji, kana, true_func, false_func) for _, acc in ipairs(accs) do if acc == 0 then add_infl(infl_table, kanji, kana, true_func(acc)) elseif acc_is_deep(acc) then add_infl(infl_table, kanji, kana, acc) else add_infl(infl_table, kanji, kana, false_func(acc)) end end end local function add_infl_func_heibangata_ifelse_te(infl_table, kanji, kana, func) for _, acc in ipairs(accs) do if acc == 0 then add_infl(infl_table, kanji, kana, func(acc)) elseif acc_is_deep(acc) then add_infl(infl_table, kanji, kana, acc) else for _, te_form_acc in ipairs(te_form_accs) do if te_form_acc == 0 then add_infl(infl_table, kanji, kana, func(0)) else add_infl(infl_table, kanji, kana, te_form_acc) end end end end end if style.godan then local kanji_prefix = usub(kanji, 1, ulen(kanji) - 1) local kana_prefix = usub(kana, 1, ulen(kana) - 1) local aru_is_kanji local aru_kanji_prefix local aru_kana_prefix if style.aru then if find(kanji, "あ[ ]*る$") then aru_kanji_prefix = gsub(kanji, "あ[ ]*る$", "") elseif find(kanji, "有[ ]*る$") then aru_kanji_prefix = gsub(kanji, "有[ ]*る$", "") aru_is_kanji = true elseif find(kanji, "在[ ]*る$") then aru_kanji_prefix = gsub(kanji, "在[ ]*る$", "") aru_is_kanji = true else error("Invalid ある verb lemma " .. kanji) end if not find(kana, "あ[%. ]*る$") then error("Invalid ある verb kana " .. lemma_kana) end aru_kana_prefix = gsub(kana, "あ[%. ]*る$", "") kana_prefix = aru_kana_prefix .. ".あ." end local te_form_kanji local te_form_kana local xi, xa, xe, xo local last_char = usub(kana, ulen(kana), ulen(kana) + 1) if last_char == "う" then if style.koute_toute then te_form_kanji = kanji_prefix .. "うて" te_form_kana = gsub(kana_prefix, "%.*$", "") .. "うて" else te_form_kanji = kanji_prefix .. "って" te_form_kana = kana_prefix .. "って" end xi = "い" xa ="わ" xe = "え" xo = "お" elseif last_char == "く" then if style.iku then te_form_kanji = kanji_prefix .. "って" te_form_kana = kana_prefix .. "って" else te_form_kanji = kanji_prefix .. "いて" te_form_kana = kana_prefix .. "いて" end xi = "き" xa ="か" xe = "け" xo = "こ" elseif last_char == "ぐ" then te_form_kanji = kanji_prefix .. "いで" te_form_kana = kana_prefix .. "いで" xi = "ぎ" xa ="が" xe = "げ" xo = "ご" elseif last_char == "す" then te_form_kanji = kanji_prefix .. "して" te_form_kana = kana_prefix .. "して" xi = "し" xa ="さ" xe = "せ" xo = "そ" elseif last_char == "つ" then te_form_kanji = kanji_prefix .. "って" te_form_kana = kana_prefix .. "って" xi = "ち" xa ="た" xe = "て" xo = "と" elseif last_char == "ぬ" then te_form_kanji = kanji_prefix .. "んで" te_form_kana = kana_prefix .. "んで" xi = "に" xa ="な" xe = "ね" xo = "の" elseif last_char == "ぶ" then te_form_kanji = kanji_prefix .. "んで" te_form_kana = kana_prefix .. "んで" xi = "び" xa ="ば" xe = "べ" xo = "ぼ" elseif last_char == "む" then te_form_kanji = kanji_prefix .. "んで" te_form_kana = kana_prefix .. "んで" xi = "み" xa ="ま" xe = "め" xo = "も" elseif last_char == "る" then te_form_kanji = kanji_prefix .. "って" te_form_kana = kana_prefix .. "って" xi = "り" xa ="ら" xe = "れ" xo = "ろ" else error("Unknown godan verb ending " .. kanji) end add_infl_te_forms(te_form_kanji, te_form_kana) add_infl_func(plain, kanji_prefix .. last_char, kana_prefix .. last_char, function(acc) return acc end) add_infl_func_heibangata_ifelse(ba, kanji_prefix .. xe .. "ば", kana_prefix .. xe .. "ば", function(acc) return n_morae end, function(acc) return acc end) add_infl_func(volitional, kanji_prefix .. xo .. "う", kana_prefix .. xo .. "う", function(acc) return n_morae end) add_infl_func_heibangata_ifelse(desiderative, kanji_prefix .. xi .. "たい", kana_prefix .. xi .. "たい", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func(renyokei, kanji_prefix .. xi, kana_prefix .. xi, function(acc) return acc end) add_infl_func_heibangata_ifelse(passive, kanji_prefix .. xa .. "れる", kana_prefix .. xa .. "れる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. xa .. "せる", kana_prefix .. xa .. "せる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. xa .. "す", kana_prefix .. xa .. "す", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func_heibangata_ifelse(potential, kanji_prefix .. xe .. "る", kana_prefix .. xe .. "る", function(acc) return 0 end, function(acc) return n_morae end) if style.aru then if aru_is_kanji then add_infl_func(nai, aru_kanji_prefix .. "無い", aru_kana_prefix .. "ない", function(acc) return acc end) else add_infl_func(nai, aru_kanji_prefix .. "ない", aru_kana_prefix .. "ない", function(acc) return acc end) end else add_infl_func_heibangata_ifelse(nai, kanji_prefix .. xa .. "ない", kana_prefix .. xa .. "ない", function(acc) return 0 end, function(acc) return n_morae end) end if style.honorific then add_infl_func(imperative, kanji_prefix .. "い", kana_prefix .. "い", function(acc) return acc end) add_infl_func(masu, kanji_prefix .. "います", kana_prefix .. "います", function(acc) return n_morae + 1 end) else add_infl_func(imperative, kanji_prefix .. xe, kana_prefix .. xe, function(acc) return acc end) add_infl_func(masu, kanji_prefix .. xi .. "ます", kana_prefix .. xi .. "ます", function(acc) return n_morae + 1 end) end if style.koute_toute then add_infl_func_heibangata_ifelse(zu, kanji_prefix .. xa .. "ず", kana_prefix .. xa .. "ず", function(acc) return 0 end, function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(zu, kanji_prefix .. xa .. "ず", kana_prefix .. xa .. "ず", function(acc) return 0 end, function(acc) return n_morae end) else add_infl_func_heibangata_ifelse(zu, kanji_prefix .. xa .. "ず", kana_prefix .. xa .. "ず", function(acc) return 0 end, function(acc) return n_morae end) end elseif style.ichidan then if not find(kana, "[" .. e_kana .. i_kana .. "][%. ]*る$") then error("Invalid ichidan verb kana " .. lemma_kana) end local kana_prefix = gsub(kana, "([" .. e_kana .. i_kana .. "])[%. ]*る$", ".%1.") local kanji_prefix = usub(kanji, 1, ulen(kanji) - 1) local te_form_kanji = kanji_prefix .. "て" local te_form_kana = kana_prefix .. "て" add_infl_te_forms(te_form_kanji, te_form_kana) add_infl_func(plain, kanji_prefix .. "る", kana_prefix .. "る", function(acc) return acc end) add_infl_func_heibangata_ifelse(nai, kanji_prefix .. "ない", kana_prefix .. "ない", function(acc) return 0 end, function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(ba, kanji_prefix .. "れば", kana_prefix .. "れば", function(acc) return n_morae end, function(acc) return acc end) add_infl_func(volitional, kanji_prefix .. "よう", kana_prefix .. "よう", function(acc) return n_morae end) add_infl_func_heibangata_ifelse(desiderative, kanji_prefix .. "たい", kana_prefix .. "たい", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func(masu, kanji_prefix .. "ます", kana_prefix .. "ます", function(acc) return n_morae end) add_infl_func_heibangata_ifelse_te(renyokei, kanji_prefix, kana_prefix, function(acc) return 0 end) add_infl_func_heibangata_ifelse(zu, kanji_prefix .. "ず", kana_prefix .. "ず", function(acc) return 0 end, function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(passive, kanji_prefix .. "られる", kana_prefix .. "られる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. "させる", kana_prefix .. "させる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. "さす", kana_prefix .. "さす", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func_heibangata_ifelse(potential, kanji_prefix .. "られる", kana_prefix .. "られる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(potential, kanji_prefix .. "れる", kana_prefix .. "れる", function(acc) return 0 end, function(acc) return n_morae end) if style.kureru then add_infl_func(imperative, kanji_prefix, kana_prefix, function(acc) return acc end) else add_infl_func(imperative, kanji_prefix .. "ろ", kana_prefix .. "ろ", function(acc) return acc end) end add_infl_func_heibangata_ifelse(imperative, kanji_prefix .. "よ", kana_prefix .. "よ", function(acc) return n_morae - 1 end, function(acc) return acc end) elseif style.suru then local kanji_prefix local kana_prefix local su_kanji if find(kanji, "す[ ]*る$") then kanji_prefix = gsub(kanji, "す[ ]*る$", "") elseif find(kanji, "為[ ]*る$") then kanji_prefix = gsub(kanji, "為[ ]*る$", "") su_kanji = "為" else error("Invalid suru verb lemma " .. kanji) end if not find(kana, "す[%. ]*る$") then error("Invalid suru verb kana " .. lemma_kana) end kana_prefix = gsub(kana, "す[%. ]*る$", "") .. "." add_infl_te_forms(kanji_prefix .. (su_kanji or "し") .. "て", kana_prefix .. "して") add_infl_func(plain, kanji_prefix .. (su_kanji or "す") .. "る", kana_prefix .. "する", function(acc) return acc end) add_infl_func_heibangata_ifelse(nai, kanji_prefix .. (su_kanji or "し") .. "ない", kana_prefix .. "しない", function(acc) return 0 end, function (acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(ba, kanji_prefix .. (su_kanji or "す") .. "れば", kana_prefix .. "すれば", function(acc) return n_morae end, function (acc) return acc end) add_infl_func(imperative, kanji_prefix .. (su_kanji or "し") .. "ろ", kana_prefix .. "しろ", function (acc) return acc end) add_infl_func(imperative, kanji_prefix .. (su_kanji or "せ") .. "よ", kana_prefix .. "せよ", function (acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(volitional, kanji_prefix .. (su_kanji or "し") .. "よう", kana_prefix .. "しよう", function(acc) return n_morae end, function (acc) return n_morae end) add_infl_func_heibangata_ifelse(desiderative, kanji_prefix .. (su_kanji or "し") .. "たい", kana_prefix .. "したい", function(acc) return 0 end, function (acc) return n_morae end) add_infl_func(masu, kanji_prefix .. (su_kanji or "し") .. "ます", kana_prefix .. "します", function(acc) return n_morae end) add_infl_func_heibangata_ifelse_te(renyokei, kanji_prefix .. (su_kanji or "し"), kana_prefix .. "し", function (acc) return 0 end) add_infl_func(zu, kanji_prefix .. (su_kanji or "せ") .. "ず", kana_prefix .. "せず", function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(passive, kanji_prefix .. (su_kanji or "さ") .. "れる", kana_prefix .. "される", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. (su_kanji or "さ") .. "せる", kana_prefix .. "させる", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. (su_kanji or "さ") .. "す", kana_prefix .. "さす", function(acc) return 0 end, function(acc) return n_morae - 1 end) add_infl_func(potential, kanji_prefix .. (su_kanji and "出来" or "でき") .. "る", kana_prefix .. "できる", function(acc) return n_morae end) elseif style.suru_zuru then if find(kana, "っ[%. ]*す[%. ]*る$") then local kana_prefix = gsub(kana, "っ[%. ]*す[%. ]*る$", "") .. "." if not find(kanji, "す[ ]*る$") then error("Invalid する verb lemma " .. lemma) end local kanji_prefix = gsub(kanji, "す[ ]*る$", "") add_infl_te_forms(kanji_prefix .. "して", kana_prefix .. "っして") add_infl_func(plain, kanji_prefix .. "する", kana_prefix .. "っする", function(acc) return acc end) add_infl_func_heibangata_ifelse(nai, kanji_prefix .. "しない", kana_prefix .. "っしない", function(acc) return 0 end, function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(ba, kanji_prefix .. "すれば", kana_prefix .. "っすれば", function(acc) return n_morae end, function(acc) return acc end) add_infl_func(imperative, kanji_prefix .. "しろ", kana_prefix .. "っしろ", function(acc) return acc end) add_infl_func(imperative, kanji_prefix .. "せよ", kana_prefix .. "っせよ", function(acc) return n_morae - 1 end) add_infl_func(volitional, kanji_prefix .. "しよう", kana_prefix .. "っしよう", function(acc) return n_morae end) add_infl_func_heibangata_ifelse(desiderative, kanji_prefix .. "したい", kana_prefix .. "っしたい", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func(masu, kanji_prefix .. "します", kana_prefix .. "っします", function(acc) return n_morae end) add_infl_func_heibangata_ifelse_te(renyokei, kanji_prefix .. "し", kana_prefix .. "っし", function(acc) return 0 end) add_infl_func(zu, kanji_prefix .. "せず", kana_prefix .. "っせず", function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(passive, kanji_prefix .. "せられる", kana_prefix .. "っせられる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(passive, kanji_prefix .. "しられる", kana_prefix .. "っしられる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. "しさせる", kana_prefix .. "っしさせる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. "しさす", kana_prefix .. "っしさす", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func_heibangata_ifelse(potential, kanji_prefix .. "せられる", kana_prefix .. "っせられる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(potential, kanji_prefix .. "しられる", kana_prefix .. "っしられる", function(acc) return 0 end, function(acc) return n_morae + 1 end) elseif find(kanji, "す[ ]*る$") then local kanji_prefix = gsub(kanji, "す[ ]*る$", "") if not find(kana, "す[%. ]*る$") then error("Invalid する verb kana " .. lemma_kana) end local kana_prefix = gsub(kana, "す[%. ]*る$", "") .. "." add_infl_te_forms(kanji_prefix .. "して", kana_prefix .. "して") add_infl_func(plain, kanji_prefix .. "する", kana_prefix .. "する", function(acc) return acc end) add_infl_func_heibangata_ifelse(nai, kanji_prefix .. "さない", kana_prefix .. "さない", function(acc) return 0 end, function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(nai, kanji_prefix .. "しない", kana_prefix .. "しない", function(acc) return 0 end, function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(ba, kanji_prefix .. "すれば", kana_prefix .. "すれば", function(acc) return n_morae end, function(acc) return acc end) add_infl_func_heibangata_ifelse_te(ba, kanji_prefix .. "せば", kana_prefix .. "せば", function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse_te(imperative, kanji_prefix .. "せ", kana_prefix .. "せ", function(acc) return acc end) add_infl_func(imperative, kanji_prefix .. "しろ", kana_prefix .. "しろ", function(acc) return acc end) add_infl_func_heibangata_ifelse_te(imperative, kanji_prefix .. "せよ", kana_prefix .. "せよ", function(acc) return n_morae - 1 end) add_infl_func(volitional, kanji_prefix .. "そう", kana_prefix .. "そう", function(acc) return n_morae - 1 end) add_infl_func(volitional, kanji_prefix .. "しよう", kana_prefix .. "しよう", function(acc) return n_morae end) add_infl_func_heibangata_ifelse(desiderative, kanji_prefix .. "したい", kana_prefix .. "したい", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func(masu, kanji_prefix .. "します", kana_prefix .. "します", function(acc) return n_morae end) add_infl_func_heibangata_ifelse_te(renyokei, kanji_prefix .. "し", kana_prefix .. "し", function(acc) return acc end) add_infl_func_heibangata_ifelse(zu, kanji_prefix .. "さず", kana_prefix .. "さず", function(acc) return 0 end, function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(passive, kanji_prefix .. "される", kana_prefix .. "される", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. "させる", kana_prefix .. "させる", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. "さす", kana_prefix .. "さす", function(acc) return 0 end, function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(potential, kanji_prefix .. "せる", kana_prefix .. "せる", function(acc) return 0 end, function(acc) return n_morae - 1 end) elseif find(kanji, "ず[ ]*る$") then local kanji_prefix = gsub(kanji, "ず[ ]*る$", "") if not find(kana, "ず[%. ]*る$") then error("Invalid ずる verb kana " .. lemma_kana) end local kana_prefix = gsub(kana, "ず[%. ]*る$", "") .. "." add_infl_te_forms(kanji_prefix .. "じて", kana_prefix .. "じて") add_infl_func(plain, kanji_prefix .. "ずる", kana_prefix .. "ずる", function(acc) return acc end) add_infl_func_heibangata_ifelse(nai, kanji_prefix .. "じない", kana_prefix .. "じない", function(acc) return 0 end, function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(ba, kanji_prefix .. "ずれば", kana_prefix .. "ずれば", function(acc) return n_morae end, function(acc) return acc end) add_infl_func(imperative, kanji_prefix .. "じろ", kana_prefix .. "じろ", function(acc) return acc end) add_infl_func(imperative, kanji_prefix .. "ぜよ", kana_prefix .. "ぜよ", function(acc) return n_morae - 1 end) add_infl_func(volitional, kanji_prefix .. "じよう", kana_prefix .. "じよう", function(acc) return n_morae end) add_infl_func_heibangata_ifelse(desiderative, kanji_prefix .. "じたい", kana_prefix .. "じたい", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func(masu, kanji_prefix .. "じます", kana_prefix .. "じます", function(acc) return n_morae end) add_infl_func_heibangata_ifelse_te(renyokei, kanji_prefix .. "じ", kana_prefix .. "じ", function(acc) return acc end) add_infl_func(zu, kanji_prefix .. "ぜず", kana_prefix .. "ぜず", function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(passive, kanji_prefix .. "じられる", kana_prefix .. "じられる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(passive, kanji_prefix .. "ぜられる", kana_prefix .. "ぜられる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. "じさせる", kana_prefix .. "じさせる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. "じさす", kana_prefix .. "じさす", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func_heibangata_ifelse(potential, kanji_prefix .. "じられる", kana_prefix .. "じられる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(potential, kanji_prefix .. "ぜられる", kana_prefix .. "ぜられる", function(acc) return 0 end, function(acc) return n_morae + 1 end) else error("Invalid する or ずる verb kana " .. lemma_kana) end elseif style.kuru then local kanji_prefix local kana_prefix local ku_kanji if find(kanji, "く[ ]*る$") then kanji_prefix = gsub(kanji, "く[ ]*る$", "") elseif find(kanji, "来[ ]*る$") then kanji_prefix = gsub(kanji, "来[ ]*る$", "") ku_kanji = "来" else error("Invalid kuru verb lemma " .. kanji) end if not find(kana, "く[%. ]*る$") then error("Invalid kuru verb kana " .. lemma_kana) end kana_prefix = gsub(kana, "く[%. ]*る$", "") .. "." add_infl_te_forms(kanji_prefix .. (ku_kanji or "き") .. "て", kana_prefix .. "きて") add_infl_func(plain, kanji_prefix .. (ku_kanji or "く") .. "る", kana_prefix .. "くる", function(acc) return acc end) add_infl_func_heibangata_ifelse(nai, kanji_prefix .. (ku_kanji or "こ") .. "ない", kana_prefix .. "こない", function(acc) return 0 end, function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(ba, kanji_prefix .. (ku_kanji or "く") .. "れば", kana_prefix .. "くれば", function(acc) return n_morae end, function(acc) return acc end) add_infl_func(imperative, kanji_prefix .. (ku_kanji or "こ") .. "い", kana_prefix .. "こい", function(acc) return acc end) add_infl_func(volitional, kanji_prefix .. (ku_kanji or "こ") .. "よう", kana_prefix .. "こよう", function(acc) return n_morae end) add_infl_func_heibangata_ifelse(desiderative, kanji_prefix .. (ku_kanji or "き") .. "たい", kana_prefix .. "きたい", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func(masu, kanji_prefix .. (ku_kanji or "き") .. "ます", kana_prefix .. "きます", function(acc) return n_morae end) add_infl_func_heibangata_ifelse_te(renyokei, kanji_prefix .. (ku_kanji or "き"), kana_prefix .. "き", function(acc) return acc end) add_infl_func_heibangata_ifelse(zu, kanji_prefix .. (ku_kanji or "こ") .. "ず", kana_prefix .. "こず", function(acc) return acc end, function(acc) return n_morae - 1 end) add_infl_func_heibangata_ifelse(passive, kanji_prefix .. (ku_kanji or "こ") .. "られる", kana_prefix .. "こられる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. (ku_kanji or "こ") .. "させる", kana_prefix .. "こさせる", function(acc) return 0 end, function(acc) return n_morae + 1 end) add_infl_func_heibangata_ifelse(causative, kanji_prefix .. (ku_kanji or "こ") .. "さす", kana_prefix .. "こさす", function(acc) return 0 end, function(acc) return n_morae end) add_infl_func_heibangata_ifelse(potential, kanji_prefix .. (ku_kanji or "こ") .. "られる", kana_prefix .. "こられる", function(acc) return 0 end, function(acc) return n_morae + 1 end) end for _, infl in ipairs(te) do local te_form_acc = infl.acc local te_form_n_morae = count_morae(infl.kana) if te_form_acc == te_form_n_morae then error("て-form accent cannot be Odaka") end if te_form_acc > te_form_n_morae then error("て-form accent is larger than kana") end end local ta = {} for _, infl in ipairs(te) do if usub(infl.kanji, ulen(infl.kanji), ulen(infl.kanji) + 1) == "で" then for _, infl in ipairs(te) do add_infl(ta, usub(infl.kanji, 1, ulen(infl.kanji) - 1) .. "だ", usub(infl.kana, 1, ulen(infl.kana) - 1) .. "だ", infl.acc) end else for _, infl in ipairs(te) do add_infl(ta, usub(infl.kanji, 1, ulen(infl.kanji) - 1) .. "た", usub(infl.kana, 1, ulen(infl.kana) - 1) .. "た", infl.acc) end end end local nakatta = {} for _, infl in ipairs(nai) do local nakatta_kanji = usub(infl.kanji, 1, ulen(infl.kanji) - 1) .. "かった" local nakatta_kana = usub(infl.kana, 1, ulen(infl.kana) - 1) .. "かった" local nakatta_acc if infl.acc == 0 then nakatta_acc = count_morae(nakatta_kana) - 3 else nakatta_acc = infl.acc end add_infl(nakatta, nakatta_kanji, nakatta_kana, nakatta_acc) end local tara = {} for _, infl in ipairs(ta) do local tara_acc if infl.acc == 0 then tara_acc = count_morae(infl.kana) else tara_acc = infl.acc end add_infl(tara, infl.kanji .. "ら", infl.kana .. "ら", tara_acc) end local masen = {} local mashou = {} local mashita = {} for _, infl in ipairs(masu) do add_infl(mashita, usub(infl.kanji, 1, ulen(infl.kanji) - 1) .. "した", usub(infl.kana, 1, ulen(infl.kana) - 1) .. "した", infl.acc) local masen_mashou_acc if acc_is_deep(infl.acc) then masen_mashou_acc = infl.acc else masen_mashou_acc = infl.acc + 1 end add_infl(masen, usub(infl.kanji, 1, ulen(infl.kanji) - 1) .. "せん", usub(infl.kana, 1, ulen(infl.kana) - 1) .. "せん", masen_mashou_acc) add_infl(mashou, usub(infl.kanji, 1, ulen(infl.kanji) - 1) .. "しょう", usub(infl.kana, 1, ulen(infl.kana) - 1) .. "しょう", masen_mashou_acc) end local continuative = {} for _, infl in ipairs(renyokei) do add_infl(continuative, infl.kanji, infl.kana, infl.acc) end for _, infl in ipairs(renyokei) do add_infl(continuative, infl.kanji .. "に", infl.kana .. " に", infl.acc) end local negative_continuative = {} for _, infl in ipairs(zu) do add_infl(negative_continuative, infl.kanji, infl.kana, infl.acc) end for _, infl in ipairs(zu) do add_infl(negative_continuative, infl.kanji .. "に", infl.kana .. " に", infl.acc) end return { plain = plain, te = te, ta = ta, nai = nai, nakatta = nakatta, ba = ba, tara = tara, imperative = imperative, volitional = volitional, desiderative = desiderative, masu = masu, masen = masen, mashou = mashou, mashita = mashita, continuative = continuative, negative_continuative = negative_continuative, passive = passive, causative = causative, potential = potential } elseif style.adjective then local kute_form_accs = te_form_accs do local contained = {} for _, acc in ipairs(accs) do contained[acc] = true end local buf = { [1] = {} } for i = 1, #kute_form_accs do if contained[kute_form_accs[i]] and (not ((i > 1) and (kute_form_accs[i] > kute_form_accs[i - 1]) and (not contained[kute_form_accs[i - 1]]))) then local last_buf = buf[#buf] if last_buf then local any_contained = false for _, b_acc in ipairs(last_buf) do if contained[b_acc] then any_contained = true end end if any_contained then table.insert(buf, {}) end else table.insert(buf, {}) end end table.insert(buf[#buf], kute_form_accs[i]) end local reordered_kute_form_accs = {} for _, b in ipairs(buf) do for _, b_acc in ipairs(b) do if contained[b_acc] then table.insert(reordered_kute_form_accs, b_acc) end end for _, b_acc in ipairs(b) do if not contained[b_acc] then table.insert(reordered_kute_form_accs, b_acc) end end end kute_form_accs = reordered_kute_form_accs end local plain = {} local terminal = {} local kute = {} local ku = {} local kunai = {} local katta = {} local kunakatta = {} local kereba = {} local desu = {} local function add_infl_kute_forms(kute_form_kanji, kute_form_kana) for _, kute_form_acc in ipairs(kute_form_accs) do add_infl(kute, kute_form_kanji, kute_form_kana, kute_form_acc) end end local function add_infl_func(infl_table, kanji, kana, func) for _, acc in ipairs(accs) do if acc_is_deep(acc) then add_infl(infl_table, kanji, kana, acc) else add_infl(infl_table, kanji, kana, func(acc)) end end end local function add_infl_func_heibangata_ifelse(infl_table, kanji, kana, true_func, false_func) for _, acc in ipairs(accs) do if acc == 0 then add_infl(infl_table, kanji, kana, true_func(acc)) elseif acc_is_deep(acc) then add_infl(infl_table, kanji, kana, acc) else add_infl(infl_table, kanji, kana, false_func(acc)) end end end local function add_infl_func_heibangata_ifelse_kute(infl_table, kanji, kana, func) for _, acc in ipairs(accs) do if acc == 0 then add_infl(infl_table, kanji, kana, func(acc)) elseif acc_is_deep(acc) then add_infl(infl_table, kanji, kana, acc) else for _, kute_form_acc in ipairs(kute_form_accs) do if kute_form_acc == 0 then add_infl(infl_table, kanji, kana, func(0)) else add_infl(infl_table, kanji, kana, kute_form_acc) end end end end end if not find(kana, "い$") then error("Invalid い-adjective kana " .. lemma_kana) end local kanji_prefix = usub(kanji, 1, ulen(kanji) - 1) local kana_prefix = usub(kana, 1, ulen(kana) - 1) local kanji_ku_prefix local kana_ku_prefix if style.yoku then if find(kanji, "い[ ]*い$") then kanji_ku_prefix = gsub(kanji, "い[ ]*い$", "よ") elseif find(kanji, "[良好善佳吉宜][ ]*い$") then kanji_ku_prefix = kanji_prefix else error("Invalid いい adjective lemma " .. kanji) end if not find(kana, "い[%. ]*い$") then error("Invalid いい adjective kana " .. lemma_kana) end kana_ku_prefix = gsub(kana, "い[%. ]*い$", "") .. "よ" else kanji_ku_prefix = kanji_prefix kana_ku_prefix = kana_prefix end add_infl_kute_forms(kanji_ku_prefix .. "くて", kana_ku_prefix .. "くて") add_infl_func(plain, kanji_prefix .. "い", kana_prefix .. "い", function(acc) return acc end) add_infl_func(terminal, kanji_prefix .. "い", kana_prefix .. "い", function(acc) return acc end) add_infl_func_heibangata_ifelse(terminal, kanji_prefix .. "い", kana_prefix .. "い", function(acc) return n_morae - 1 end, function(acc) return acc end) add_infl_func_heibangata_ifelse_kute(ku, kanji_ku_prefix .. "く", kana_ku_prefix .. "く", function(acc) return acc end) add_infl_func_heibangata_ifelse(desu, kanji_prefix .. "いです", kana_prefix .. "い です", function(acc) return n_morae - 1 end, function(acc) return acc end) for _, infl in ipairs(kute) do local kute_form_acc = infl.acc local kute_form_n_morae = count_morae(infl.kana) if kute_form_acc == 0 then error("くて-form accent cannot be Heiban") end if kute_form_acc == kute_form_n_morae then error("くて-form accent cannot be Odaka") end if kute_form_acc == kute_form_n_morae - 1 then error("くて-form accent cannot have accent at く") end if kute_form_acc > kute_form_n_morae then error("くて-form accent is larger than kana") end add_infl(katta, kanji_ku_prefix .. "かった", kana_ku_prefix .. "かった", kute_form_acc) add_infl(kereba, kanji_ku_prefix .. "ければ", kana_ku_prefix .. "ければ", kute_form_acc) end for _, infl in ipairs(ku) do if infl.acc == 0 then add_infl(kunai, kanji_ku_prefix .. "くない", kana_ku_prefix .. "く ない", n_morae + 1) add_infl(kunakatta, kanji_ku_prefix .. "くなかった", kana_ku_prefix .. "く なかった", n_morae + 1) else add_infl(kunai, kanji_ku_prefix .. "くない", kana_ku_prefix .. "く ない", kana_ku_prefix .. "く+ない" .. infl.acc .. "+1") add_infl(kunakatta, kanji_ku_prefix .. "くなかった", kana_ku_prefix .. "く なかった", kana_ku_prefix .. "く+なかった" .. infl.acc .. "+1") end end return { plain = plain, kute = kute, ku = ku, kunai = kunai, katta = katta, kunakatta = kunakatta, kereba = kereba, terminal = terminal, desu = desu } end end end local function inflections_to_wikitext(output_table, lemma, is_verb) local wikitext_stringbuffer = {} table.insert(wikitext_stringbuffer, '<div class="vsSwitcher" data-toggle-category="accent">\n<div style="display: inline-block;">\n* Tokyo pitch accent of ') if is_verb then table.insert(wikitext_stringbuffer, "conjugated") else table.insert(wikitext_stringbuffer, "inflected") end table.insert(wikitext_stringbuffer, ' forms of <span lang="ja" class="Jpan">') table.insert(wikitext_stringbuffer, lemma) table.insert(wikitext_stringbuffer, '</span><span class="vsToggleElement" style="margin-left: 1em;"></span></div>\n<div class="vsHide">\n{| class="wikitable" style="white-space: nowrap;"\n') for _, v in ipairs(output_table) do local label = v[1] local infl_table = v[2] table.insert(wikitext_stringbuffer, '! ') table.insert(wikitext_stringbuffer, label) table.insert(wikitext_stringbuffer, '\n| ') local kanji = {} local ja_pron_accs = {} local ja_pron_romajis = {} local kanji_duplicate = {} local kana_acc_duplicate = {} for _, infl in ipairs(infl_table) do if not kanji_duplicate[infl.kanji] then table.insert(kanji, infl.kanji) kanji_duplicate[infl.kanji] = true end local kana_acc_duplicate_key = infl.kana .. " " .. infl.acc if not kana_acc_duplicate[kana_acc_duplicate_key] then local ja_pron_acc, ja_pron_romaji = match(m_ja_pron.accent(infl.kana, infl.acc), '(<span lang="ja" class="Jpan">.-) (<span class="Latn"><samp>.-</samp></span>)') table.insert(ja_pron_accs, ja_pron_acc) table.insert(ja_pron_romajis, ja_pron_romaji) kana_acc_duplicate[kana_acc_duplicate_key] = true end end if #kanji == 0 then table.insert(wikitext_stringbuffer, '-') else for i, k in ipairs(kanji) do table.insert(wikitext_stringbuffer, '<span class="Jpan" lang="ja">') table.insert(wikitext_stringbuffer, k) table.insert(wikitext_stringbuffer, '</span>') if i ~= #kanji then table.insert(wikitext_stringbuffer, '<br>') end end end table.insert(wikitext_stringbuffer, '\n| ') if #ja_pron_accs == 0 then table.insert(wikitext_stringbuffer, '-') else for i, ja_pron_acc in ipairs(ja_pron_accs) do table.insert(wikitext_stringbuffer, ja_pron_acc) if i ~= #ja_pron_accs then table.insert(wikitext_stringbuffer, '<br>') end end end table.insert(wikitext_stringbuffer, '\n| ') if #ja_pron_romajis == 0 then table.insert(wikitext_stringbuffer, '-') else for i, ja_pron_romaji in ipairs(ja_pron_romajis) do table.insert(wikitext_stringbuffer, ja_pron_romaji) if i ~= #ja_pron_romajis then table.insert(wikitext_stringbuffer, '<br>') end end end table.insert(wikitext_stringbuffer, '\n|-\n') end table.insert(wikitext_stringbuffer, '|}</div></div>') return table.concat(wikitext_stringbuffer) end local function sub_complex_acc(output_table, format_str) local complex_sub_kana, complex_sub_accs = match(format_str, "^%s*(.-)%s*=%s*(.-)%s*$") if (not (complex_sub_kana and complex_sub_accs)) or (not match(complex_sub_kana, "kana")) or (match(complex_sub_kana, "acc")) then error("Format") end local new_table = {} for complex_sub_acc in gsplit(complex_sub_accs, ",") do complex_sub_acc = gsub(complex_sub_acc, "^%s*(.-)%s*$", "%1") if (not match(complex_sub_acc, "kana")) or (not match(complex_sub_acc, "acc")) then error("Format") end for key, infl_table in pairs(output_table) do local new_infl_table = new_table[key] or {} for _, infl in ipairs(infl_table) do local new_kana = gsub(complex_sub_kana, "kana", infl.kana) local new_acc if match(infl.acc, "+") then local kana_part, acc_part = match(infl.acc, "^([^A-Za-z0-9]+)(.+)$") if not (kana_part and acc_part) then error("Format") end new_acc = gsub(gsub(complex_sub_acc, "kana", kana_part), "acc", acc_part) else new_acc = gsub(gsub(complex_sub_acc, "kana", infl.kana), "acc", infl.acc) end table.insert(new_infl_table, {kanji = infl.kanji, kana = new_kana, acc = new_acc}) end new_table[key] = new_infl_table end end return new_table end function export.verb_conjugations_to_wikitext(verb_conjugations) return inflections_to_wikitext({ {"Plain", verb_conjugations.plain}, {"Conjunctive", verb_conjugations.te}, {"Perfective", verb_conjugations.ta}, {"Negative", verb_conjugations.nai}, {"Negative perfective", verb_conjugations.nakatta}, {"Hypothetical conditional", verb_conjugations.ba}, {"Past conditional", verb_conjugations.tara}, {"Imperative", verb_conjugations.imperative}, {"Volitional", verb_conjugations.volitional}, {"Desiderative", verb_conjugations.desiderative}, {"Formal", verb_conjugations.masu}, {"Formal negative", verb_conjugations.masen}, {"Formal volitional", verb_conjugations.mashou}, {"Formal perfective", verb_conjugations.mashita}, {"Continuative", verb_conjugations.continuative}, {"Negative continuative", verb_conjugations.negative_continuative}, {"Passive", verb_conjugations.passive}, {"Causative", verb_conjugations.causative}, {"Potential", verb_conjugations.potential} }, verb_conjugations.plain[1].kanji, true) end function export.adjective_inflections_to_wikitext(adjective_inflections) return inflections_to_wikitext({ {"Plain", adjective_inflections.plain}, {"Conjunctive", adjective_inflections.kute}, {"Continuative", adjective_inflections.ku}, {"Negative", adjective_inflections.kunai}, {"Past", adjective_inflections.katta}, {"Negative past", adjective_inflections.kunakatta}, {"Conditional", adjective_inflections.kereba}, {"Terminal", adjective_inflections.terminal}, {"Formal", adjective_inflections.desu} }, adjective_inflections.plain[1].kanji, false) end function export.conjugate_verb(lemma, kana, conjugation_type_id, accs, te_form_accs) local inflection_type = get_inflection_type(conjugation_type_id) if not inflection_type or not inflection_type.style.verb then error("Unknown verb type " .. conjugation_type_id) end return inflect(lemma, kana, inflection_type.style, accs, te_form_accs) end function export.inflect_adjective(lemma, kana, inflection_type_id, accs, kute_form_accs) local inflection_type = get_inflection_type(inflection_type_id) if not inflection_type or not inflection_type.style.adjective then error("Unknown adjective type " .. inflection_type_id) end return inflect(lemma, kana, inflection_type.style, accs, kute_form_accs) end local function string_to_positive_integer(str) if not string.match(str, "^%d+$") then error("String \"" .. str .. "\" is not a positive integer") end return tonumber(str) end local function string_list_to_positive_integer_list(str_list) local result = {} for _, str in ipairs(str_list) do local i = string_to_positive_integer(str) table.insert(result, i) end return result end function export.show(frame) local args = frame:getParent().args local type_id = args[1] if not type_id then error("Parameter 1 is required") end type_id = gsub(type_id, "^%s*(.-)%s*$", "%1") local inflection_type = get_inflection_type(type_id) if not inflection_type then error("Unknown type " .. type_id) end if inflection_type.style.verb then local params = { [1] = {required=true}, [2] = {required=true}, ["acc"] = {sublist=true, required=true}, ["て-form-acc"] = {sublist=true, required=true}, ["lemma"] = {}, ["complex"] = {} } local pargs = require("Module:parameters").process(args, params) local verb_conjugations = export.conjugate_verb( pargs["lemma"] or mw.loadData("Module:headword/data").pagename, pargs[2], pargs[1], string_list_to_positive_integer_list(pargs["acc"]), string_list_to_positive_integer_list(pargs["て-form-acc"])) if pargs["complex"] then verb_conjugations = sub_complex_acc(verb_conjugations, pargs["complex"]) end return export.verb_conjugations_to_wikitext(verb_conjugations) elseif inflection_type.style.adjective then local params = { [1] = {required=true}, [2] = {required=true}, ["acc"] = {sublist=true, required=true}, ["くて-form-acc"] = {sublist=true, required=true}, ["lemma"] = {}, ["complex"] = {} } local pargs = require("Module:parameters").process(args, params) local adjective_inflections = export.inflect_adjective( pargs["lemma"] or mw.loadData("Module:headword/data").pagename, pargs[2], pargs[1], string_list_to_positive_integer_list(pargs["acc"]), string_list_to_positive_integer_list(pargs["くて-form-acc"])) if pargs["complex"] then adjective_inflections = sub_complex_acc(adjective_inflections, pargs["complex"]) end return export.adjective_inflections_to_wikitext(adjective_inflections) end end function export.acc_counter_table(frame) local params = { [1] = { required=true, allow_empty=true, list=true }, ["lemma"] = { }, ["kana"] = { } } local args = require("Module:parameters").process(frame.args, params) local counter_lemma = args["lemma"] local counter_kana = args["kana"] local content = args[1] local c_table = require("Module:ja-counter-table").acc_counter_table(counter_lemma, counter_kana, content) return '<div class="vsSwitcher" data-toggle-category="accent">\n<div style="display: inline-block;">\n* Tokyo pitch accent of forms of <span lang="ja" class="Jpan">' .. counter_lemma .. '</span><span class="vsToggleElement" style="margin-left: 1em;"></span></div>\n<div class="vsHide">' .. c_table .. '</div></div>' end return export s9852t6hhh2lh60yugjesyjtdof6h0t Kategorya:Hapones na salitang may pagbigkas na IPA na mayroong asento tonal 14 38579 177601 2026-08-27T14:41:56Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177601 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Hapones na asento tonal 14 38580 177602 2026-08-27T14:42:26Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177602 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Asento tonal ayon sa wika 14 38581 177603 2026-08-27T14:42:58Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177603 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Padron:=rup= 10 38582 177606 2026-08-27T16:15:42Z Hiyuune 5522 Nilikha ang pahina na may '{{#invoke:languages/templates|getByCode|rup|getCanonicalName}}<noinclude>{{#invoke:documentation|show|hr=above|from=Template:=aa=/documentation|rup}}</noinclude>' 177606 wikitext text/x-wiki {{#invoke:languages/templates|getByCode|rup|getCanonicalName}}<noinclude>{{#invoke:documentation|show|hr=above|from=Template:=aa=/documentation|rup}}</noinclude> lr5w8m7pabmlibm0zrvnu8ftlqlxu8s malamã 0 38583 177607 2026-08-27T16:16:14Z Hiyuune 5522 Nilikha ang pahina na may '=={{=rup=}}== ===Etimolohiya=== Hiniram mula sa {{bor|rup|el|μάλαμα}}. ===Pangngalan=== {{head|rup|noun|g=f}} # [[ginto]]' 177607 wikitext text/x-wiki =={{=rup=}}== ===Etimolohiya=== Hiniram mula sa {{bor|rup|el|μάλαμα}}. ===Pangngalan=== {{head|rup|noun|g=f}} # [[ginto]] pyc03djcgwzr7pdvv0kezrmetzj61nz 177608 177607 2026-08-27T16:24:09Z Hiyuune 5522 /* {{=rup=}} */ 177608 wikitext text/x-wiki =={{=rup=}}== ===Etimolohiya=== Hiniram mula sa {{bor|rup|el|μάλαμα}}. ===Pangngalan=== {{head|rup|noun|g=f}} # [[ginto]], [[bulawan]] bbzhxb0kdlav7ycup38waadhivz2wrb Kategorya:Salitang may salin sa Franses 14 38584 177611 2026-08-28T03:13:40Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177611 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Module:category tree/lang/nn 828 38585 177612 2026-08-28T03:16:26Z Yivan000 4078 Nilikha ang pahina na may 'local labels = {} local handlers = {} local unpack = unpack or table.unpack -- Lua 5.2 compatibility --------------------------------- Nouns/Pronouns/Numerals -------------------------------- local gender_decls = { {"m", "consonant"}, {"m", "a"}, {"m", "an"}, {"m", "i"}, {"f", "consonant"}, {"f", "ō"}, {"f", "ōn"}, {"f", "ijō"}, {"n", "a"}, {"n", "an"}, } local gender_code_to_gender = { m = "masculine", f = "feminine", n = "neuter", } local...' 177612 Scribunto text/plain local labels = {} local handlers = {} local unpack = unpack or table.unpack -- Lua 5.2 compatibility --------------------------------- Nouns/Pronouns/Numerals -------------------------------- local gender_decls = { {"m", "consonant"}, {"m", "a"}, {"m", "an"}, {"m", "i"}, {"f", "consonant"}, {"f", "ō"}, {"f", "ōn"}, {"f", "ijō"}, {"n", "a"}, {"n", "an"}, } local gender_code_to_gender = { m = "masculine", f = "feminine", n = "neuter", } local seen_decls = {} for _, pos in ipairs({"nouns"}) do for _, gender_decl in ipairs(gender_decls) do local gender, decl = unpack(gender_decl) if not seen_decls[decl] then labels[decl .. "-stem " .. pos] = { description = "Norwegian Nynorsk ''" .. decl .. "''-stem " .. pos .. ".", additional = "Note that the stem class is named from the perspective of Proto-Germanic, and the stem suffix may no longer be visible synchronically.", breadcrumb = {name = decl .. "-stem", nocap = decl ~= "consonant"}, parents = {{ name = pos .. " by inflection type", sort = decl, }}, } seen_decls[decl] = true end gender = gender_code_to_gender[gender] labels[gender .. " " .. decl .. "-stem " .. pos] = { description = "Norwegian Nynorsk " .. gender .. " ''" .. decl .. "''-stem " .. pos .. ".", additional = "Note that the stem class is named from the perspective of Proto-Germanic, and the stem suffix may no longer be visible synchronically.", breadcrumb = gender .. " " .. decl .. "-stem", parents = {{ name = pos .. " by inflection type", sort = decl, }, { name = decl .. "-stem " .. pos, sort = gender, }}, } end end --------------------------------- Miscellaneous -------------------------------- local known_reform_years = require("Module:table").listToSet { "1901", "1917", "1938", "1959", "2012" } table.insert(handlers, function(data) local year = data.label:match("^pre%-([0-9]+) forms$") if year then return { description = "{{{langname}}} forms that become nonstandard after " .. ( known_reform_years[year] and ( "the [[Wiktionary:Norwegian Nynorsk spelling reforms#%s|spelling reform of %s]]." ):format(year, year) or ( "[[Wiktionary:Norwegian Nynorsk spelling reforms|spelling decisions]] made in %s." ):format(year) ), breadcrumb = year, parents = {{name = "superseded forms", sort = year}}, } end end) return {LABELS = labels, HANDLERS = handlers} 4zlg5zl9yyqnb7470gp7e31dx436g9y Kategorya:Norwego Nynorsk na anyong pandiwa 14 38586 177613 2026-08-28T03:17:12Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177613 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Norwego Nynorsk na pangngalang pambalaki 14 38587 177614 2026-08-28T03:18:40Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177614 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Norwego Nynorsk na pangngalan ayon sa kasarian 14 38588 177615 2026-08-28T03:19:01Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177615 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Norwego Nynorsk na pangngalan 14 38589 177616 2026-08-28T03:19:19Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177616 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Norwego Nynorsk na lema 14 38590 177617 2026-08-28T03:19:39Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177617 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Norwego Nynorsk na pangngalang panlalaki 14 38591 177618 2026-08-28T03:20:16Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177618 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Wikang Norwego Nynorsk 14 38592 177619 2026-08-28T03:21:51Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat|Norwega|also=Wikang Norwego,Wikang Norwego Bokmål}} [[Category:Varayti ng Norwego]]' 177619 wikitext text/x-wiki {{auto cat|Norwega|also=Wikang Norwego,Wikang Norwego Bokmål}} [[Category:Varayti ng Norwego]] dvs17u5a13o6cak40mamzkbvrxufixh Kategorya:Malgatse na salitang may pagbigkas na IPA 14 38593 177621 2026-08-28T03:29:28Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177621 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Espanyol na salitang hinango mula sa Lumang Espanyol 14 38594 177622 2026-08-28T03:34:41Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177622 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Espanyol na salitang hinango mula sa mga wikang Kastila 14 38595 177623 2026-08-28T03:35:02Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177623 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Korniko na salitang hinango mula sa Sinaunang Griyego 14 38596 177624 2026-08-28T03:40:05Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177624 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang hinango mula sa Sinaunang Griyego ayon sa wika 14 38597 177625 2026-08-28T03:40:22Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177625 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Padron:ro-personal pronouns 10 38598 177626 2026-08-28T03:44:18Z Yivan000 4078 Nilikha ang pahina na may '{{inflection-table-top|palette=yellow|title=Romanian personal pronouns|tall=yes}} ! colspan="2" | ! singular ! plural |- ! colspan="2" | 1st person | {{l-self|ro|eu}} | {{l-self|ro|noi}} |- ! rowspan="3" | 2nd person ! class="secondary" | plain | {{l-self|ro|tu}} | {{l-self|ro|voi}} |- ! class="secondary" | semi-polite | {{l-self|ro|dumneata}} | rowspan="2" | {{l-self|ro|dumneavoastră}} |- ! class="secondary" | polite | {{l-self|ro|dumneavoastră}} |- ! rowspan=...' 177626 wikitext text/x-wiki {{inflection-table-top|palette=yellow|title=Romanian personal pronouns|tall=yes}} ! colspan="2" | ! singular ! plural |- ! colspan="2" | 1st person | {{l-self|ro|eu}} | {{l-self|ro|noi}} |- ! rowspan="3" | 2nd person ! class="secondary" | plain | {{l-self|ro|tu}} | {{l-self|ro|voi}} |- ! class="secondary" | semi-polite | {{l-self|ro|dumneata}} | rowspan="2" | {{l-self|ro|dumneavoastră}} |- ! class="secondary" | polite | {{l-self|ro|dumneavoastră}} |- ! rowspan="4" | 3rd person ! class="secondary" | familiar {{g|m}} | {{l-self|ro|el}} | {{l-self|ro|ei}} |- ! class="secondary" | familiar {{g|f}} | {{l-self|ro|ea}} | {{l-self|ro|ele}} |- ! class="secondary" | polite {{g|m}} | {{l-self|ro|dumnealui}} | rowspan="2" | {{l-self|ro|dumnealor}} |- ! class="secondary" | polite {{g|f}} | {{l-self|ro|dumneaei}} {{inflection-table-bottom}}<noinclude>{{tcat}}</noinclude> nhck1qi67j8jw8oaicb287a0llbyar0 Kategorya:Rumano na panghalip na panao 14 38599 177628 2026-08-28T03:47:11Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177628 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Rumano na panghalip 14 38600 177629 2026-08-28T03:47:28Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177629 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Norwego Nynorsk na anyong di-lema 14 38601 177630 2026-08-28T03:48:26Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177630 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Norwego Nynorsk na pandiwa 14 38602 177631 2026-08-28T03:48:56Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177631 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Asturyano 14 38603 177632 2026-08-28T03:50:26Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177632 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Bulgaro 14 38604 177633 2026-08-28T03:50:33Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177633 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Asturyano na entradang pinapanatili 14 38605 177634 2026-08-28T03:50:48Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177634 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Bulgaro na entradang pinapanatili 14 38606 177635 2026-08-28T03:50:54Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177635 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Koreano 14 38607 177636 2026-08-28T03:51:07Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177636 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Portuges 14 38608 177637 2026-08-28T03:51:44Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177637 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Oksitano 14 38609 177638 2026-08-28T03:51:47Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177638 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Tailandes 14 38610 177639 2026-08-28T03:52:00Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177639 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Oksitano na entradang pinapanatili 14 38611 177640 2026-08-28T03:52:10Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177640 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Portuges na entradang pinapanatili 14 38612 177641 2026-08-28T03:52:12Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177641 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Tailandes na entradang pinapanatili 14 38613 177642 2026-08-28T03:52:33Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177642 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Indonesyo 14 38614 177643 2026-08-28T03:53:10Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177643 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Galyego 14 38615 177644 2026-08-28T03:53:13Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177644 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Galyego na entradang pinapanatili 14 38616 177645 2026-08-28T03:53:38Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177645 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Viyetnamita 14 38617 177646 2026-08-28T03:53:48Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177646 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Fines 14 38618 177647 2026-08-28T03:54:19Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177647 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Esperanto 14 38619 177648 2026-08-28T03:54:22Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177648 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Nerlandes 14 38620 177649 2026-08-28T03:54:51Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177649 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Griyego 14 38621 177650 2026-08-28T03:54:53Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177650 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Benggali 14 38622 177651 2026-08-28T03:54:55Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177651 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Benggali na entradang pinapanatili 14 38623 177652 2026-08-28T03:55:17Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177652 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Griyego na entradang pinapanatili 14 38624 177653 2026-08-28T03:55:19Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177653 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Ruso 14 38625 177654 2026-08-28T03:55:50Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177654 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Italyano 14 38626 177655 2026-08-28T03:55:52Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177655 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Hapones 14 38627 177656 2026-08-28T03:55:55Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177656 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Italyano na entradang pinapanatili 14 38628 177657 2026-08-28T03:56:17Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177657 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Arabe 14 38629 177658 2026-08-28T03:58:27Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177658 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Katalan 14 38630 177659 2026-08-28T03:58:29Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177659 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Hawayano 14 38631 177660 2026-08-28T03:58:32Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177660 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Irlandes 14 38632 177661 2026-08-28T03:58:35Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177661 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Polako 14 38633 177662 2026-08-28T03:58:37Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177662 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Persa 14 38634 177663 2026-08-28T03:58:40Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177663 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang may salin sa Gales 14 38635 177664 2026-08-28T03:58:42Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177664 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Arabe na entradang pinapanatili 14 38636 177665 2026-08-28T03:59:28Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177665 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Katalan na entradang pinapanatili 14 38637 177666 2026-08-28T03:59:30Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177666 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Hawayano na entradang pinapanatili 14 38638 177667 2026-08-28T03:59:33Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177667 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Irlandes na entradang pinapanatili 14 38639 177668 2026-08-28T03:59:35Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177668 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Polako na entradang pinapanatili 14 38640 177669 2026-08-28T03:59:38Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177669 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Persa na entradang pinapanatili 14 38641 177670 2026-08-28T03:59:40Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177670 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Gales na entradang pinapanatili 14 38642 177671 2026-08-28T03:59:43Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177671 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Wikang Hawayano 14 38643 177672 2026-08-28T04:01:43Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat|Haway|Estados Unidos}}' 177672 wikitext text/x-wiki {{auto cat|Haway|Estados Unidos}} gdfrbiytgaxlt490hfuec2s0lrdgax2 Kategorya:Unggaro na pandiwang katawanin 14 38644 177673 2026-08-28T04:10:39Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177673 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:ja:Pangingisda 14 38645 177676 2026-08-28T04:25:13Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177676 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Pangingisda 14 38646 177677 2026-08-28T04:26:01Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177677 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Gawain ng tao 14 38647 177678 2026-08-28T04:26:31Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177678 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Pag-uugali ng tao 14 38648 177679 2026-08-28T04:26:59Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177679 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:ja:Pag-uugali ng tao 14 38649 177680 2026-08-28T04:30:31Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177680 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:ja:Gawain ng tao 14 38650 177681 2026-08-28T04:30:33Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177681 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:ja:Tao 14 38651 177682 2026-08-28T04:30:36Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177682 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Hapones na salitang balbal 14 38652 177683 2026-08-28T04:33:41Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177683 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx