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 " ") ..
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 " ") ..
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, ' ') .. '</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, ' ') .. '</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, " • ") .. (main and "<hr>" or "") or "") .. (main and concat(main, " • ") 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, " • ") .. (main and "<hr>" or "") or "") .. (main and concat(main, " • ") 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