text:
Jangil

Noun

 * 1) A member of an extinct Andamanese people who once inhabited Rutland Island.

Proper noun

 * 1) The extinct and unknown language presumed to have been spoken by the Jangil.

title: Jangil


text: Toben

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Toben


text:
-rrhée

Etymology
.

Suffix

 * 1) -rrhea

title: -rrhée


text: Citations:Peimen

title: Citations:Peimen


text:
Citations:USAmerican

 * Quick identification:; TBD: fill in the quotations

title: Citations:USAmerican


text: Category:French terms prefixed with logo-


text: Category:French terms suffixed with -rrhée


text: Schießen

title: Schießen


text: Category:Tagalog two-letter abbreviations


text: Category:Tagalog character counts

title: Category:Tagalog character counts


text: Schiessen

title: Schiessen


text: Totschiessen

title: Totschiessen


text:
Scrumban

Etymology
.

Noun

 * 1) A hybrid of Scrum and kanban.

title: Scrumban


text:
Rockwell City

Proper noun

 * , named after the founders, John M. Rockwell and his wife.

title: Rockwell City


text:
dacryorrhée

Etymology
From.

Noun

 * 1) dacryorrhea

title: dacryorrhée


text: Category:French terms prefixed with dacryo-


text: Citations:Hsinying

title: Citations:Hsinying


text: Schiesspulver

title: Schiesspulver


text: Schiessbefehl

title: Schiessbefehl


text: schiesswütig

title: schiesswütig


text:
Citations:US-American

 * Adjective
 * Quick identification:,,
 * 2004, Urs Eggli & Leonard E. Newton, Etymological dictionary of succulent plant names,
 * Lewisia For Meriwether Lewis (1774-1809), US-American army officer, explorer and plant collector in the US-American Northwest (p 137)
 * Lewisiana For Berkeley R. Lewis (fl. 1955), Colonel of the US-American Army (p 137)
 * macbridei For James F. Macbride (1892-1976), US-American botanist working esp. on the flora of Peru. (p 143)
 * 2009, Werner Hüllen, Networks and Knowledge in Roget's Thesaurus, page 82
 * the [thesaurus] was introduced to US-American speakers of English at the beginning of the 20th century

title: Citations:US-American


text: Category:pl:Climate change

title: Category:pl:Climate change


text: Ts and Cs

title: Ts and Cs


text:
åberopa

Etymology
From. The second element is equivalent to.

Verb

 * 1)  to refer to (in support of something), to invoke

title: åberopa


text: Citations:Houpi

title: Citations:Houpi


text: CSGT

title: CSGT


text: Querschießen

title: Querschießen


text: Citations:Paiho

title: Citations:Paiho


text: Abschiessen

title: Abschiessen


text: Citations:Tungshan

title: Citations:Tungshan


text: Danebenschiessen

title: Danebenschiessen


text: Verschiessen

title: Verschiessen


text: Gibraltars

title: Gibraltars


text: Querschiessen

title: Querschiessen


text: Erschiessen

title: Erschiessen


text: Internationals

title: Internationals


text: telluric currents

title: telluric currents


text: Citations:Chiangchun

title: Citations:Chiangchun


text: aufschiessen

title: aufschiessen


text: OCPDs

title: OCPDs


text: Aufschiessen

title: Aufschiessen


text: no-marking

title: no-marking


text: no-marked

title: no-marked


text: NMed

title: NMed


text: NMs

title: NMs


text: NMing

title: NMing


text: Aufschießen

title: Aufschießen


text: Citations:Chiali

title: Citations:Chiali


text: RDOs

title: RDOs


text: SCs

title: SCs


text:
下生世人

Noun

 * 1)  the next life; another lifetime

title: 下生世人


text: MNs

title: MNs


text: Labradors

title: Labradors


text: Citations:Hsiaying

title: Citations:Hsiaying


text: abgeschossen

title: abgeschossen


text: aufschießend

title: aufschießend


text: aufgeschossen

title: aufgeschossen


text:
lagenlig

Etymology
From. See.

Adjective

 * 1) in accordance with some law; lawful, legal, legitimate

title: lagenlig


text: Citations:Kuantien

title: Citations:Kuantien


text: Citations:Tanei

title: Citations:Tanei


text: parly

title: parly


text: Citations:Yuching

title: Citations:Yuching


text:
Category:Ancient Greek terms suffixed with -αρός

Also see Category:Ancient Greek terms suffixed with -ρός


text: Citations:Nanhua

title: Citations:Nanhua


text: mukaiset

title: mukaiset


text: Citations:Shanshang

title: Citations:Shanshang


text:
Parly

Proper noun

 * , the local parliament

Translations

 * French:

title: Parly


text: Citations:Shanhua

title: Citations:Shanhua


text: Citations:Anting

title: Citations:Anting


text:
w kontakcie

Etymology
lit. 'in contact'. .

Adverb

 * 1)  in touch

title: w kontakcie


text:
Yungkang

Etymology
Borrowed from   romanization: Yung³-kʻang¹.

title: Yungkang


text:
Webster City

Proper noun

 * , named after . Former name:.

title: Webster City


text:
Category:Ancient Greek terms suffixed with -ηρός

Also see Category:Ancient Greek terms suffixed with -ρός


text:
Category:Ancient Greek terms suffixed with -ερός

Also see Category:Ancient Greek terms suffixed with -ρός


text: droë

title: droë


text:
mistula

Adjective

 * 1) real; pure; true
 * 2) identical; exactly the same; very much alike; very similar
 * 1) identical; exactly the same; very much alike; very similar

title: mistula


text:
định hướng

Etymology
.

Noun

 * 1) position; orientation; stance

Verb

 * 1) to determine the direction; to set course; to orient

title: định hướng


text:
тавтологічний

Etymology
From. Compare 🇨🇬 and, 🇨🇬, 🇨🇬.

Adjective

 * 1) tautological

title: тавтологічний


text: methyl mercuries

title: methyl mercuries


text:
Category:Ancient Greek terms suffixed with -υρός

Also see Category:Ancient Greek terms suffixed with -ρός


text:
Eldora

Proper noun

 * , located in.
 * , located in.

title: Eldora


text:
bọsikọrọ

Etymology
From 🇰🇲, from the phrase "bọ́ sí kọ̀rọ̀, kó o yẹ̀ ẹ́ wò" (go to the corner to try it on)

Noun

 * 1) bend-down select; Okrika; secondhand thrifted clothes, often inexpensive and sold in roadside markets

title: bọsikọrọ


text: だいふごう

title: だいふごう


text:
skötsam

Adjective

 * 1) well-behaved, conscientious

title: skötsam


text: skötsamme

title: skötsamme


text: まちあいしつ

title: まちあいしつ


text: skötsamma

title: skötsamma


text: skötsamt

title: skötsamt


text: skötsammare

title: skötsammare


text:
läsesalslån

Etymology
🇰🇲

Noun

 * 1) reading room loan the right to borrow a book under the condition that it is not taken outside the library

title: läsesalslån


text:
Cresco

Etymology
From

title: Cresco


text: 爆軚

title: 爆軚


text:
ผวน

Etymology
Likely a. Compare 🇨🇬, 🇨🇬, 🇨🇬.

Verb

 * 1)  to return; to reverse
 * 2)  to switch rimes between syllables

title: ผวน


text:
爆呔

Verb

 * 1)  to get a flat tyre
 * 2)  to tear apart unexpectedly

title: 爆呔


text:
неправильний

Etymology
From. Compare 🇨🇬, 🇨🇬.

Adjective

 * 1) incorrect, wrong
 * 2) irregular
 * 1) irregular

title: неправильний


text: Plt.

title: Plt.


text: Plt

title: Plt


text: χαλαρή

title: χαλαρή


text: Category:Primitive Irish terms suffixed with -ᚐᚌᚅᚔ


text: Category:Primitive Irish terms by suffix


text: Category:Primitive Irish suffixes

title: Category:Primitive Irish suffixes


text: Category:Primitive Irish morphemes

title: Category:Primitive Irish morphemes


text: Category:Primitive Irish noun-forming suffixes


text: Category:Primitive Irish masculine suffixes


text: Category:Primitive Irish derivational suffixes


text: Category:Primitive Irish suffixes by gender


text: LLNL

title: LLNL


text: χαλαρό

title: χαλαρό


text:
esterrossar

Etymology
From.

Verb

 * 1)  to break up
 * 2)  to scarify, to dethatch

title: esterrossar


text:
بیت اللحم

Etymology
, ultimately from, from +.

Etymology
From, ultimately from.

title: بیت اللحم


text:
χαλαρά

Adverb

 * 1) loosely

title: χαλαρά


text:
kärleksäpple

Etymology
, ultimate origin disputed. Compare origin of 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬.

Noun

 * 1)  tomato

title: kärleksäpple


text:
надреден знак

Noun

 * 1)  grave, grave accent,

title: надреден знак


text:
三色豺

Noun

 * 1) African wild dog

title: 三色豺


text: Thorncreek

title: Thorncreek


text:
shapu

Etymology
From.

Noun

 * 1) woman's hat

title: shapu


text: χαλαρωτική

title: χαλαρωτική


text: χαλαρωτικοί

title: χαλαρωτικοί


text: χαλαροί

title: χαλαροί


text: χαλαρωτικό

title: χαλαρωτικό


text:
egzaminator

Etymology
From.

Noun

 * 1)  examiner
 * 2)  examiner

title: egzaminator


text: χαλβά

title: χαλβά


text: χαλβάδες

title: χαλβάδες


text: χαλβάδων

title: χαλβάδων


text:
hippopotomonstrosesquipédaliophobie

Noun

 * 1) hippopotomonstrosesquipedaliophobia fear of long words

title: hippopotomonstrosesquipédaliophobie


text: χαλιού

title: χαλιού


text: χαλιών

title: χαλιών


text:
χαλιά

Pronunciation

 * - compare to

title: χαλιά


text: Tircul

title: Tircul


text:
baby gamma

Noun

 * 1) The pre-1989 IPA character for the close-mid back unrounded vowel, the unrounded counterpart of IPA [o].

title: baby gamma


text:
відьма

Etymology
From, from. Cognate with 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬.

Noun

 * 1) witch, a woman with special knowledge allowing control of supernatural powers

title: відьма


text:
cyfreithiwr cyffredinol

Noun

 * 1) solicitor general

title: cyfreithiwr cyffredinol


text: baguá

title: baguá


text:
Winterset

Etymology
In Iowa, orignally to be named "Summerset", but as it was platted during a cool summer spell, it was decided to change the name to "Winterset".

title: Winterset


text:
twrnai cyffredinol

Noun

 * 1) attorney general

title: twrnai cyffredinol


text:
twrnai

Etymology
From aphetic variant of, from.

Noun

 * 1) attorney, solicitor

title: twrnai


text:
راجشاہی

Etymology
.

title: راجشاہی


text: atwrnai

title: atwrnai


text:
pŵer atwrnai

Noun

 * 1)  power of attorney legal document

title: pŵer atwrnai


text:
Reconstruction:Proto-Yoruboid/ó-mĩ

Etymology
The root is ultimately proposed to be from the root  by Westerman. hypothesizes that the common root is found across Africa and may derive from Niger-Congo ma- class-prefix for liquids. Cognate with 🇨🇬, 🇨🇬 and Proto-Edoid descendant languages, (🇨🇬, 🇨🇬), 🇨🇬, 🇨🇬, Proto-Ukaan, 🇨🇬 (Proto-Ebiroid), Proto-Ukaan , 🇨🇬. Also see 🇨🇬, 🇨🇬, Gur languages 🇨🇬, 🇨🇬, Savannas languages 🇨🇬, 🇨🇬, and some Plateau languages, 🇨🇬, 🇨🇬 (Shakara), and 🇨🇬.
 * Likely also related to 🇨🇬 and 🇨🇬, as the Niger River was likely the main body of water of which Proto-Yoruboid speakers were familiar with.

Noun

 * 1) water; body of river
 * 2) rain
 * 1) rain

title: Reconstruction:Proto-Yoruboid/ó-mĩ


text:
atwrneiaeth

Noun

 * 1)  power of attorney authorisation

title: atwrneiaeth


text: Sabbeln

title: Sabbeln


text:
بریشال

Etymology
.

title: بریشال


text: Sabbern

title: Sabbern


text:
легітимізувати

Etymology
From. Compare 🇨🇬, 🇨🇬.

Verb

 * 1) to legitimize, to legitimate

title: легітимізувати


text:
fantastis

Etymology
, from, from , from.

Adjective

 * 1) fantastic:
 * 2) fanciful: existing in or constructed from fantasy; of or relating to fantasy.
 * 3) wonderful; marvelous; excellent; extraordinarily good or great
 * 1) wonderful; marvelous; excellent; extraordinarily good or great

title: fantastis


text: Sabotieren

title: Sabotieren


text:
Marshalltown

Etymology
From.

Proper noun

 * 1) . Originally named, after Marshall, Michigan.
 * , probably named after landowner Henry Brown Marshall.
 * 1)  Victoria, Australia
 * , probably named after landowner Henry Brown Marshall.
 * 1)  Victoria, Australia

title: Marshalltown


text: Sächseln

title: Sächseln


text: NARAC

title: NARAC


text: だかつ

title: だかつ


text: Wiktionary:Word of the day/2022/October 26


text: だいがえ

title: だいがえ


text:
винищувати

Etymology
From. Compare 🇨🇬, 🇨🇬.

Verb

 * 1) to annihilate, to destroy, to eradicate, to exterminate to reduce to nothing

title: винищувати


text: 代替え

title: 代替え


text: daigae

title: daigae


text:
យូកុង

Etymology
From.

Proper noun

 * 1) (ដែនដី~)

title: យូកុង


text:
ដែនដី

Etymology
🇰🇲

Noun

 * 1) land, territory

title: ដែនដី


text: Category:km:Territories of Canada

title: Category:km:Territories of Canada


text: きぞく

title: きぞく


text:
sarkastis

Etymology
.

Adjective

 * 1) sarcastic

title: sarkastis


text: kizoku

title: kizoku


text:
винищити

Etymology
From. Compare 🇨🇬, 🇨🇬.

Verb

 * 1) to annihilate, to destroy, to eradicate, to exterminate to reduce to nothing

title: винищити


text:
jämförpris

Etymology
🇰🇲

Noun

 * 1)  unit price

title: jämförpris


text: jämförpriset

title: jämförpriset


text: jämförpriser

title: jämförpriser


text: jämförpriserna

title: jämförpriserna


text: jämförprisets

title: jämförprisets


text: jämförprisers

title: jämförprisers


text: jämförprisernas

title: jämförprisernas


text:
ដែនដីភាគពាយ័ព្យ

Etymology
🇰🇲

title: ដែនដីភាគពាយ័ព្យ


text:
pervalicious

Etymology
From.

Adjective

 * 1)  Perverted in a delicious or appealing way.

title: pervalicious


text:
នូណាវូត

Etymology
Borrowed from, from.

Proper noun

 * 1) (ដែនដី~)

title: នូណាវូត


text:
jämmerdal

Etymology
, from. . Cognate of 🇨🇬.

Noun

 * 1) vale of tears

title: jämmerdal


text: jämmerdalen

title: jämmerdalen


text: jämmerdalens

title: jämmerdalens


text: jämmerdals

title: jämmerdals


text:
Maulidan-Nabi

Etymology
From. Compare 🇨🇬 or.

Proper noun

 * 1)  Mawlid, a celebration of the birth of Muhammad

title: Maulidan-Nabi


text: реєстрований

title: реєстрований


text: Category:Khmer terms derived from Inuktitut


text: jämliken

title: jämliken


text: jämlikarna

title: jämlikarna


text: jämlikes

title: jämlikes


text: jämlikens

title: jämlikens


text: Category:Khmer terms derived from Inuit languages


text: jämlikars

title: jämlikars


text: jämlikarnas

title: jämlikarnas


text: Category:Khmer terms derived from Eskimo languages


text: Category:Khmer terms derived from Eskimo-Aleut languages


text:
Albia

Proper noun

 * , named after the home of an early settler from New York.

title: Albia


text:
balla ur

Verb

 * 1)  to move away from the normal or usual, to turn crazy, to go off the rails (of a situation or the like)
 * 2)  to go mad (turn insane or flip out)
 * 1)  to go mad (turn insane or flip out)
 * 1)  to go mad (turn insane or flip out)

title: balla ur


text:
តូរ៉ុនតូ

Etymology
From.

title: តូរ៉ុនតូ


text:
знищення

Etymology
From. Compare 🇨🇬, 🇨🇬.

Noun

 * : destruction, annihilation, obliteration

title: знищення


text: Category:km:Provincial capitals of Canada


text:
alvászavar

Etymology
From.

Noun

 * 1)  sleep disorder medical disorder of sleep patterns

title: alvászavar


text:
jämfota

Etymology
. Regarding final "-a", compare.

Adverb

 * 1) with both feet side-by-side

title: jämfota


text:
jämfotahopp

Etymology
🇰🇲

Noun

 * 1) jump with one's feet close together

title: jämfotahopp


text:
objektivitas

Etymology
From with Latinate  ending. Equivalent to. Replaced.

Noun

 * 1) objectivity

title: objektivitas


text:
termál

Etymology
.

Adjective

 * 1) thermal relating to springwater of warm temperature; mostly used in compound words

Noun

 * 1) spa, thermal bath short for

title: termál


text:
វែនឃូវើ

Etymology
From.

title: វែនឃូវើ


text:
touch assist

Noun

 * 1)  The pseudoscientific practice of touching a person who is injured or ill for the purpose of healing.

title: touch assist


text: touch assists

title: touch assists


text:
çirağ

Etymology
Inherited from, from.

Noun

 * 1) wick, candlewick
 * 2) oil lamp, candle
 * 1) oil lamp, candle

title: çirağ


text: mandatària

title: mandatària


title: Template:R:fr:DiMedMasson5ed


text:
cáu bẳn

Etymology
🇰🇲.

The alternative form is due to the conflation with the homophonous, which further gave way to the contamination of.

Adjective

 * 1) grumpy; cranky; grouchy

title: cáu bẳn


text: guwai

title: guwai


text: Category:Medical reference templates

title: Category:Medical reference templates


text:
brass balls

Noun

 * 1)  Shamelessness, cheek, brazenness.

title: brass balls


text:
វិចតូរីយ៉ា

Etymology
From.

Proper noun

 * 1) (រដ្ឋ~)
 * 2) (ទីក្រុង~)

title: វិចតូរីយ៉ា


text: Quevauvilliers

title: Quevauvilliers


text: Category:km:Places in British Columbia

title: Category:km:Places in British Columbia


text: Category:km:British Columbia

title: Category:km:British Columbia


text: Category:km:Cities in British Columbia

title: Category:km:Cities in British Columbia


text: Category:km:States of Australia

title: Category:km:States of Australia


text: Category:km:Political subdivisions of Australia


text:
floppa

Etymology
From an Instagram photograph entitled "Big Floppa".

Noun

 * 1)  A caracal, especially one kept as an exotic pet.

Etymology
From. Attested since 1971.

Verb

 * 1) to flop (fail, of a movie, album, etc.)

title: floppa


text:
límit de mandat

Noun

 * 1) term limit

title: límit de mandat


text:
міномет

Etymology
From, combining form of.

Noun

 * 1)   mortar, trench mortar lightweight, often portable artillery piece which transmits recoil to a base plate
 * 2)  rocket launcher Katyusha and similar World War II-era systems

Usage notes

 * Ukrainian has historically distinguished between and ; in English, both types of weapons are referred to as mortars. The term  has become increasingly obsolete, mainly denoting siege-artillery of the XVth-XIXth centuries.

title: міномет


text:
option-select

Etymology
Originated in fighting games.

Noun

 * 1) An action (or series of actions) that, when performed, automatically selects a preferred outcome of several possible outcomes, depending on the actions of other actors.

title: option-select


text: Red Oak

title: Red Oak


text:
límit de velocitat

Noun

 * 1) speed limit

title: límit de velocitat


text: Category:kl:Post

title: Category:kl:Post


text: Category:kl:Containers

title: Category:kl:Containers


text:
lössiksi

Etymology 1
Variant of, perhaps contaminated by.

Adverb

 * 1) lyödä lössiksi, heittää lössiksi: to give up, to stop trying

title: lössiksi


text:
cyfyngiad cyflymder

Noun

 * 1) speed limit

title: cyfyngiad cyflymder


text:
dacryorrhea

Etymology
.

Noun

 * 1) excessive lacrimal secretion

Translations

 * Chinese:
 * Mandarin: 流淚證
 * French: dacryorrhée

title: dacryorrhea


text:
spåra ur

Verb

 * 1) to derail (of a train or the like)
 * 2) to go off the rails (out of control), to get out of hand
 * 1) to go off the rails (out of control), to get out of hand

title: spåra ur


text:
límit forestal

Noun

 * 1) tree line

title: límit forestal


text: urballad

title: urballad


text:
កាលីហ្វ័រញ៉ា

Etymology
From.

title: កាលីហ្វ័រញ៉ា


text:
urspårad

Adjective

 * 1) derailed
 * 2)  off-track

title: urspårad


text: mozzy

title: mozzy


text:
εὐκταῖος

Adjective

 * 1) prayed for, desired

title: εὐκταῖος


text:
límit arbori

Noun

 * 1) tree line

title: límit arbori


text:
Mac Carthaigh

Etymology
Literally,.

title: Mac Carthaigh


text: Category:eo:Copyright

title: Category:eo:Copyright


text: Category:eo:Intellectual property

title: Category:eo:Intellectual property


text:
삼림한계선

Etymology
🇰🇲

Noun

 * 1) tree line

title: 삼림한계선


text:
артилерист

Noun

 * 1)   artilleryman, gunner
 * 2)  cannoneer
 * 1)  cannoneer

title: артилерист


text:
ហាវ៉ៃ

Etymology
From, from.

title: ហាវ៉ៃ


text: Category:Khmer terms derived from Hawaiian


text: kersplodes

title: kersplodes


text: kersploding

title: kersploding


text: kersploded

title: kersploded


text: អាឡាស្កា

title: អាឡាស្កា


text:
常餐

Noun

 * 1) regular meal; meal that is served throughout the day

title: 常餐


text:
Carthach

Etymology
From, from.

title: Carthach


text:
삼림밭쥐

Etymology
🇰🇲

title: 삼림밭쥐


text: Carthaigh

title: Carthaigh


text:
出冊

Etymology
See for etymology of.

Verb

 * 1)  to be discharged from prison

title: 出冊


text: 出册

title: 出册


text: អូរីហ្គិន

title: អូរីហ្គិន


text:
set-in

Etymology
.

Noun

 * 1)  A sleeve that is made separately and inset into a garment.

Adjective

 * 1)  Made separately and inset into a garment.

title: set-in


text: set-ins

title: set-ins


text: South Fulton

title: South Fulton


text:
名詞類別

Noun

 * 1)  noun class

title: 名詞類別


text: 名词类别

title: 名词类别


text:
niran

Etymology
From, chiefly used in Southeast Yoruba dialects, it is largely being replaced by

Verb

 * 1) to have a mental or supernatural vision
 * 2)  to remember
 * 3)  to remind someone
 * 1)  to remind someone
 * 1)  to remind someone
 * 1)  to remind someone

title: niran


text: Category:km:Cities in Quebec

title: Category:km:Cities in Quebec


text: Category:km:Places in Quebec

title: Category:km:Places in Quebec


text: Category:km:Quebec

title: Category:km:Quebec


text:
set against

Verb

 * 1)  To cause (a person) to be in conflict or opposition with someone or something.
 * 2)  To have a strong feeling of not desiring to do something.
 * 1)  To have a strong feeling of not desiring to do something.

title: set against


text: azoaras

title: azoaras


text: azoaram

title: azoaram


text: azoarae

title: azoarae


text:
futu-i

Etymology
From, uniting with  by removing the "î" replacing it with a "-" and uniting them together.

Interjection

 * 1)  fuck!

Usage notes
Used only for expressing dismay, disappointment and anger, however it is commonly confused with which has a different meaning due to the same pronunciation.

title: futu-i


text: azoaris

title: azoaris


text: azoararum

title: azoararum


text:
ahọlu

Alternative forms

 * (Benin)

Etymology
Cognates include 🇨🇬, 🇨🇬

Noun

 * 1) king

title: ahọlu


text:
bottenlån

Etymology
🇰🇲

Noun

 * 1) first mortgage loan loan that has priority over all other claims on a property in the event of default

title: bottenlån


text: bottenlånet

title: bottenlånet


text: bottenlånets

title: bottenlånets


text: bottenlånen

title: bottenlånen


text: bottenlånens

title: bottenlånens


text: bottenlåns

title: bottenlåns


text:
övervåning

Noun

 * 1) the upper floor (upstairs) of a two-story house

title: övervåning


text:
combination skin

Noun

 * 1) A facial skin type categorized by a combination of dry and oily skin, especially when the T-zone produces more sebum than the rest of the face.

title: combination skin


text:
set ahead

Verb

 * 1)  To move forward, often in reference to the time setting on a clock.

title: set ahead


text: setting ahead

title: setting ahead


text: sets ahead

title: sets ahead


text: sets against

title: sets against


text: setting against

title: setting against


text: 飞禽走兽

title: 飞禽走兽


text:
飛禽走獸

Idiom

 * 1) the birds and the beasts

title: 飛禽走獸


text:
gingq

Etymology 1
From.

Noun

 * 1) glass
 * 2) mirror
 * 3) glasses; spectacles

Etymology 2
From.

Verb

 * 1) to respect
 * 2) to offer a toast

Verb

 * 1) to wipe (after defecating)

title: gingq


text:
გვაკორენ

Etymology
From.

Verb

 * 1) to hug, to wrap around

title: გვაკორენ


text:
ឡុងប៊ិច

Etymology
From.

title: ឡុងប៊ិច


text: Category:km:Cities in California, USA

title: Category:km:Cities in California, USA


text: Category:km:California, USA

title: Category:km:California, USA


text: Category:km:Places in California, USA

title: Category:km:Places in California, USA


text:
гущавина

Etymology
Derived from a form of Proto-Slavic, related to. Cognate with 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬.

Noun

 * 1) thicket, copse, dense forest

title: гущавина


text: Brambati

title: Brambati


text: Occhiena

title: Occhiena


text:
idiotka

Etymology
From.

title: idiotka


text:
flippa ur

Etymology
. Attested since 1975.

Verb

 * 1)  to flip out (lose control or become very angry or upset), to get out of control (of a situation or the like)

title: flippa ur


text:
тезисный

Adjective

 * 1)  thesis
 * 2) brief, summary, abstract, broad, concise, succinct

title: тезисный


text: Citations:Yungkang

title: Citations:Yungkang


text:
să-mi fut una

Etymology
lit. 'fuck myself one'.

Interjection

 * 1)  holy shit, fucking hell

title: să-mi fut una


text:
понавыдумывать

Verb

 * 1) to make up or invent in large quantities

title: понавыдумывать


text:
Talk:el

Romanian
Superseded orthography elŭ. Manfariel (talk) 19:40, 18 October 2022 (UTC)

title: Talk:el


text: Citations:Jente

title: Citations:Jente


text: läsesalslånet

title: läsesalslånet


text: läsesalslånets

title: läsesalslånets


text: läsesalslånen

title: läsesalslånen


text: läsesalslånens

title: läsesalslånens


text: läsesalslåns

title: läsesalslåns


text: obligationslånet

title: obligationslånet


text: obligationslånets

title: obligationslånets


text: obligationslånen

title: obligationslånen


text: obligationslånens

title: obligationslånens


text: obligationslåns

title: obligationslåns


text:
переплюнуть

Verb

 * 1) to spit past or over something
 * 2)  to spit further than someone; to outspit
 * 3)  to outdo, to surpass, to top, to one-up

title: переплюнуть


text:
kapucynka

Etymology
From.

Noun

 * 1)  capuchin monkey

title: kapucynka


text: förlagslånet

title: förlagslånet


text: förlagslånets

title: förlagslånets


text: förlagslånen

title: förlagslånen


text: förlagslånens

title: förlagslånens


text: förlagslåns

title: förlagslåns


text: hypotekslånet

title: hypotekslånet


text: hypotekslånets

title: hypotekslånets


text: hypotekslånen

title: hypotekslånen


text: hypotekslånens

title: hypotekslånens


text: hypotekslåns

title: hypotekslåns


text: abominable snow monsters

title: abominable snow monsters


text:
оттеночный

Adjective

 * 1)  relating to shade, tint, hue etc., containing a shade, tint, hue etc.

title: оттеночный


text: Citations:Kuanmiao

title: Citations:Kuanmiao


text: abhumans

title: abhumans


text: account days

title: account days


text:
nutrien

Etymology
, from, present participle of.

Noun

 * 1) nutrient: A source of nourishment, such as food, that can be metabolized by an organism to give energy and build tissue.

Alternative forms

 * nutrien /nutriən/

title: nutrien


text: acacia tits

title: acacia tits


title: AC50s


text: Citations:Lungchi

title: Citations:Lungchi


text: flippa ut

title: flippa ut


text: acaridologists

title: acaridologists


text: utflippad

title: utflippad


text: urflippad

title: urflippad


text:
Salamonie

Etymology
From a Miami Indian word, osahmonee, yellow paint, made from bloodroot plants on the riverbanks.

Proper noun

 * 1) The,.
 * , named after the river.

title: Salamonie


text:
garniak

Etymology
+.

Noun

 * 1)  suit, lounge suit, business suit

title: garniak


text:
halshogga

Etymology
From.

Verb

 * 1) To behead, decapitate.

title: halshogga


text: Citations:Annan

title: Citations:Annan


text:
djísus

Etymology
Pronunciation spelling of.

Interjection

 * 1)  Jesus! exclamation used to show exasperation

title: djísus


text:
User talk:46.205.128.14

Created entries
Hi! Thanks for making some of the requested entries. The biggest thing is you HAVE to use a headword template like for it to categorize correctly. Thanks! Vininn126 (talk) 20:01, 18 October 2022 (UTC)

title: User talk:46.205.128.14


text: zoo-keeper

title: zoo-keeper


text: zoo-keepers

title: zoo-keepers


text: Citations:Shanlin

title: Citations:Shanlin


text:
User talk:Lunatone3000

98.170.164.88 20:03, 18 October 2022 (UTC)

Note on recent creations
Hello. Thank you for your contributions. I have some comments on your recent entries. 98.170.164.88 20:03, 18 October 2022 (UTC)
 * — You defined this as "An hourglass, sand timer", presumably based on the image of the Cherokee Wikipedia article ᎢᏳᏩᎪᏗ. However, the word actually simply means "time". See the "Consortium Word List", or page 134 of Durbin Feeling's Cherokee-English Dictionary, which also gives some usage examples (the dictionary entry is transcribed here).
 * — I can't find this in cherokeedictionary.net. The Cherokee words they give for "translation" are and ; but of course it's possible other words have the same meaning. Searching on Google, I can see it's used in a handful of web pages. I don't know the first thing about Cherokee grammar, so I can't tell whether this is an inflected form or something. I'd like to see a source that says this word actually means "translation".
 * Old English Ƿikipǣdia — First of all, we don't use wynns and macrons in page titles for Old English, per . So the proper page title would be (but you could include the macron in the page itself; the wynn is entirely excluded). Much more importantly though, we only include Old English words that are actually attested in the period when Old English was spoken (the early Middle Ages), per . "Neo-Old English" using modern coinages is not really what we intend to cover. Given that Wikipedia wasn't around 1000 years ago, we won't have an entry for it.

Thanks for letting me know, I have changed the first entry. As for the second entry, that is attested [here], in which case I'm pretty sure that it's an inflected form of your examples above, as they look similar.

Sorry for adding that Old English term, I'm a new-ish user and I didn't see any rules regarding the use of Wynn, also I'm sure that Wynn has been attested in written Old English.

Anyway, thanks for letting me know:) Lunatone3000 (talk) 07:23, 19 October 2022 (UTC)

ass
Why do you insist moving the "stupid person" sense to Etymology 2? It doesn't make sense. Jberkel 22:23, 4 April 2024 (UTC)

 * It does
 * https://www.oed.com/dictionary/ass_n2 Lunatone3000 (talk) 22:26, 4 April 2024 (UTC)
 * It's derived from ass (donkey), by extension from the animal, and not from "buttocks". Maybe there's some overlap now, but in any case it shouldn't be moved. See Talk:ass. Looks like more people are confused. Jberkel 22:40, 4 April 2024 (UTC)

title: User talk:Lunatone3000


text: Citations:Meinung

title: Citations:Meinung


text:
modalitas

Etymology
, affixed.

Noun

 * 1) modality:
 * 2)  mood: The inflection of a verb that shows how its action is conceived by the speaker.
 * 3)  A method of diagnosis or therapy.

title: modalitas


text: round-trip ticket

title: round-trip ticket


text: round-trip tickets

title: round-trip tickets


text:
User:Yavor filipov

Yavor filipov

title: User:Yavor filipov


text: sets the cat among the pigeons

title: sets the cat among the pigeons


text: setting the cat among the pigeons

title: setting the cat among the pigeons


text: putting the cat among the pigeons

title: putting the cat among the pigeons


text: puts the cat among the pigeons

title: puts the cat among the pigeons


text: setting straight

title: setting straight


text: sets straight

title: sets straight


text:
összekuszál

Verb

 * 1)  to tangle
 * 2)  to tousle, ruffle, dishevel to disarrange or loosen (hair)
 * 3)  to mix up, muddle up, confuse, mess up
 * 1)  to mix up, muddle up, confuse, mess up

title: összekuszál


text: Sacken

title: Sacken


text:
straight-six

Noun

 * 1)  An internal combustion engine, with six cylinders mounted in a straight line along the crankcase with all the pistons driving a common crankshaft.

title: straight-six


text: straight-sixes

title: straight-sixes


text: Säen

title: Säen


text:
straight, no chaser

Phrase

 * 1)  An alcoholic drink served in its pure form, without anything mixed in, and not followed by a non-alcoholic drink.

title: straight, no chaser


text: Saften

title: Saften


text:
pissmyra

Etymology
From. Attested since 1734. Compare Middle English, English.

Noun

 * 1)  a stinging ant, especially a red ant (ant of the genus )

title: pissmyra


text: Sahnen

title: Sahnen


text: អាឡាបាម៉ា

title: អាឡាបាម៉ា


text: អារីហ្សូណា

title: អារីហ្សូណា


text:
adiera

Etymology
From.

Noun

 * 1) meaning
 * 2)  knowledge, comprehension
 * 3)  attention

title: adiera


text:
adierazi

Etymology
From.

Verb

 * 1) to explain, to express
 * 2) to mean, to represent

Noun

 * 1)  signified

title: adierazi


text: Category:Basque terms suffixed with -erazi


text:
ha tomtar på loftet

Etymology
, approx. "Have gnomes in the loft."

Verb

 * 1)  to be crazy

title: ha tomtar på loftet


text:
lletimó

Etymology
Probably via metathesis (and influence from ) from earlier, an alteration of , from.

Noun

 * 1) gas plant

title: lletimó


text: straight eight

title: straight eight


text: straight eights

title: straight eights


text:
adierabakar

Etymology
From.

Adjective

 * 1) univocal

title: adierabakar


text: inline engine

title: inline engine


text: អាកានសាស

title: អាកានសាស


text: inline engines

title: inline engines


text:
heptarchia

Etymology
, from +.

Noun

 * 1)  heptarchy

title: heptarchia


text: កូឡូរ៉ាដូ

title: កូឡូរ៉ាដូ


text:
ha en skruv lös

Verb

 * 1)  to have a screw loose

title: ha en skruv lös


text: ខុននិចធីខិត

title: ខុននិចធីខិត


text: ដេឡាវែរ

title: ដេឡាវែរ


text: ផ្លរីដា

title: ផ្លរីដា


text:
cabrafiguera

Etymology
From.

Noun

 * 1) caprifig tree

title: cabrafiguera


text: きゅうけいしつ

title: きゅうけいしつ


text:
noli-me-tangere

Etymology
. The $⟨g⟩$ was pronounced with due to Spanish-influenced pronunciation. The disease became the source of in his novel, .

Noun

 * 1) noli me tangere; basal cell carcinoma

title: noli-me-tangere


text: ចចា

title: ចចា


text:
cabrafiga

Etymology
From.

Noun

 * 1) caprifig

title: cabrafiga


text:
Webster Springs

Proper noun

 * 1) . Synonym:.

title: Webster Springs


text: De Ewrop

title: De Ewrop


text:
маєток

Etymology
Cognate with 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬. Based on the Proto-Slavic root, linked to.

Noun

 * 1) estate, holdings, manor, land holding of a landlord, usually including a manor and house

title: маєток


text: Gogledd Ewrop

title: Gogledd Ewrop


text: Dwyrain Ewrop

title: Dwyrain Ewrop


text:
Гермес

Etymology
From.

Proper noun

 * 1)  Hermes
 * 2)  (family of modularly designed guided missiles produced in Russia)

title: Гермес


text: Europa del Sud

title: Europa del Sud


text: 辣瓣兒醬

title: 辣瓣兒醬


text:
User:Asocos/sandbox

Delete this, I made a typo while trying to make my own sandbox

title: User:Asocos/sandbox


text: អៃដាហូ

title: អៃដាហូ


text: អ៊ីលីណយ

title: អ៊ីលីណយ


text: អ៊ីនឌីយ៉ាណា

title: អ៊ីនឌីយ៉ាណា


text: noli me tangeres

title: noli me tangeres


text: អាយអូវ៉ា

title: អាយអូវ៉ា


text: កាន់សាស់

title: កាន់សាស់


text: Template:R:xpq:Speck

title: Template:R:xpq:Speck


text:
Пан

Etymology
From.

Proper noun

 * 1)  Pan

title: Пан


text: Category:ca:Administrative divisions

title: Category:ca:Administrative divisions


text: Wiktionary:Foreign Word of the Day/2022/October 19


text: កេនតាក់គី

title: កេនតាក់គី


text:
Category:en:Greek

English terms related to the Greek language.

title: Category:en:Greek


text: ល្វីហ្ស៊ីណា

title: ល្វីហ្ស៊ីណា


text:
спів

Etymology
.

Noun

 * 1) song, singing, chanting

title: спів


text:
Àustria-Hongria

Etymology
From 🇰🇲.

title: Àustria-Hongria


text:
hemkörning

Noun

 * 1) home delivery, food delivery

Usage notes
Mostly used of food.

title: hemkörning


text: មេន

title: មេន


text:
austrohongarès

Etymology
From.

Adjective

 * 1) Austro-Hungarian

title: austrohongarès


text: ម៉ារីលែន

title: ម៉ារីលែន


text: Wiktionary:Foreign Word of the Day/2022/October 23


text: ម៉ាសាឈូសេត

title: ម៉ាសាឈូសេត


text: មីឈីហ្គេន

title: មីឈីហ្គេន


text:
User:Asocos/Sandbox

Sandbox

title: User:Asocos/Sandbox


text: មីនីសូតា

title: មីនីសូតា


text:
körning

Noun

 * 1)  driving (of a vehicle)
 * 2) a run (of a (long-running non-interactive) computer program)

title: körning


text: មីស៊ីស៊ីបពី

title: មីស៊ីស៊ីបពី


text: ម៉ុនតាណា

title: ម៉ុនតាណា


text: ណេប្រាស្កា

title: ណេប្រាស្កា


text: មីស៊ូរី

title: មីស៊ូរី


text:
alamara

Etymology
Possibly from. Compare 🇨🇬, 🇨🇬.

Noun

 * 1) frog fastener

title: alamara


text: ណេវ៉ាដា

title: ណេវ៉ាដា


text:
utkörning

Noun

 * 1) delivery (by vehicle, for example mail delivery or food delivery)

title: utkörning


text: ញូវហាំសៀ

title: ញូវហាំសៀ


text:
hemleverans

Noun

 * 1) home delivery

title: hemleverans


text: ញូវជឺស៊ី

title: ញូវជឺស៊ី


text: ញូវម៉ិកស៊ីកូ

title: ញូវម៉ិកស៊ីកូ


text:
Grantsville

Etymology
From.

Proper noun

 * , both named after.
 * , named after Mormon leader Col. George D. Grant.
 * , named after Ulysses S. Grant.
 * , named after Mormon leader Col. George D. Grant.
 * , named after Ulysses S. Grant.

title: Grantsville


text: ការ៉ូលីណាខាងជើង

title: ការ៉ូលីណាខាងជើង


text: ដាកូតាខាងជើង

title: ដាកូតាខាងជើង


text: អូហៃយ៉ូ

title: អូហៃយ៉ូ


text: អូក្លាហូម៉ា

title: អូក្លាហូម៉ា


text:
Sírmia

Etymology
, from, an ancient city located on the site of present day.

title: Sírmia


text: locker-room talk

title: locker-room talk


text: potty talk

title: potty talk


text: toilet humor

title: toilet humor


text: ផេនស៊ីលវ៉ានៀ

title: ផេនស៊ីលវ៉ានៀ


text: rock glasses

title: rock glasses


text:
Mèsia

Etymology
.

title: Mèsia


text: រ៉ូដអៃឡិន្ដ

title: រ៉ូដអៃឡិន្ដ


text: rock-glasses

title: rock-glasses


text: សៅការ៉ូលីណា

title: សៅការ៉ូលីណា


text: rockglasses

title: rockglasses


text: សៅដាកូតា

title: សៅដាកូតា


text: Saffir

title: Saffir


text: តេណេសស៊ី

title: តេណេសស៊ី


text: តិចសាស

title: តិចសាស


text: យូតា

title: យូតា


text: វឺម៉ុន

title: វឺម៉ុន


text: វឺជីញ៉ា

title: វឺជីញ៉ា


text: lingister

title: lingister


text: linkister

title: linkister


text: វេសវឺជីញ៉ា

title: វេសវឺជីញ៉ា


text: lingster

title: lingster


text: វីស្កុនស៊ីន

title: វីស្កុនស៊ីន


text: Мальдіви

title: Мальдіви


text: Category:uk:Maldives

title: Category:uk:Maldives


text: New Cumberland

title: New Cumberland


text: វីយ៉ូមីង

title: វីយ៉ូមីង


text:
il·liri

Etymology
.

Adjective

 * 1) Illyrian

Noun

 * 1) Illyrian

Noun

 * 1) Illyrian language

title: il·liri


text:
작업대

Etymology
.

Noun

 * 1) workbench

title: 작업대


text:
仕事台

Noun

 * 1) workbench

title: 仕事台


text:
워크벤치

Etymology
.

Noun

 * 1) workbench

title: 워크벤치


text:
作業台

Noun

 * 1) workbench

title: 作業台


text: rych

title: rych


text:
ワークベンチ

Etymology
.

Noun

 * 1) workbench

title: ワークベンチ


text: ryche

title: ryche


text:
មេតាន

Etymology
From.

Noun

 * 1)  methane the compound CH4

title: មេតាន


text:
мальдівський

Etymology
From. Compare 🇨🇬.

Adjective

 * 1)  Maldives, Maldivian

title: мальдівський


text:
ប្រូផេន

Noun

 * 1)  propane the compound C3H8

title: ប្រូផេន


text: Charles Town

title: Charles Town


text:
soptunna

Noun

 * 1) a larger trash can or garbage can (for household waste)

title: soptunna


text: utdelad

title: utdelad


text:
Moundsville

Etymology
In West Virginia, from.

title: Moundsville


text: spökande

title: spökande


text:
видавати

Etymology
, from, from. .

Verb

 * 1) to give out
 * 2) to extradite, to hand over
 * 3) to give away, to marry off
 * 4) to emit, to let out, to produce
 * 5) to issue, to publish
 * 6) to betray, to give away
 * 7) to pass off
 * 8) to give out, to issue
 * 1) to betray, to give away
 * 2) to pass off
 * 3) to give out, to issue
 * 1) to give out, to issue
 * 1) to give out, to issue

title: видавати


text:
Talk:চাল

The etymology is quite debatable. All the probabilities should be considered.

Actually etymologies are often uncertain. And when fundamental theories like Aryan Invasion Theory are themselves disputed, then there remains no visible way to be sure about etymologies. Many words actually may be back-formed.

I am not an expert, but I have seen some experts making blunders.

Etymology
The etymology is quite debatable. All probabilities should be considered.

Actually etymologies are often uncertain. Especially when fundamentals like Aryan Invasion Theory are themselves disputed, then , I think , many etymologies become questionable. Many words may, in reality , be back-formed.

Alternative etymologies should be included.

I am not an expert — but I have seen some experts making blunders. 2400:C600:3411:496D:1:0:1F95:C1E8 23:57, 18 October 2022 (UTC)

Pronunciation
@Meghmollar2017

The pronunciation for Etymologies 1 & 2 is different from that for Etymology 3. How should we clarify it on the wiki-page ? 2400:C600:3411:496D:1:0:1F95:C1E8 00:37, 19 October 2022 (UTC)

title: Talk:চাল


text:
ліга

Noun

 * 1) league, association, society

title: ліга


text:
Module:mn-noun

local export = {}

local m_table = require( "Module:table" ) local m_links = require( "Module:links" ) local m_str_utils = require("Module:string utilities") local lang = require( "Module:languages" ).getByCode( "mn" ) local com = require( "Module:mn-common" ) local iut = require( "Module:inflection utilities" ) local put = require("Module:parse utilities") local m_para = require( "Module:parameters" ) local data = { overrides = {}, forms = {} }

local find = m_str_utils.find local format = m_str_utils.format local len = m_str_utils.len local match = m_str_utils.match local sub = m_str_utils.sub local gsub = m_str_utils.gsub local lower = m_str_utils.lower local u = m_str_utils.char

local FVS = "[" .. com.FVS1 .. com.FVS2 .. com.FVS3 .. com.FVS4 .. "]"

local n = u( 0xFFF0 ) local g = u( 0xFFF1 ) local bor = u( 0xFFF2 ) local Russian = u( 0xFFF3 ) local proper = u( 0xFFF4 ) local nar = u( 0xFFF5 ) local nuud = u( 0xFFF6 ) local chuud = u( 0xFFF7 ) local d = u( 0xFFF8 ) local s = u( 0xFFF9 )

local output_noun_slots = { attr = "attr|form", nom_sg = "nom|s", gen_sg = "gen|s", acc_sg = "acc|s", dat_loc_sg = "dat|-|loc|s", gen_dat_sg = "gen|-|dat|s", abl_sg = "abl|s", dat_abl_sg = "dat|-|abl|s", ins_sg = "ins|s", com_sg = "com|s", priv_sg = "priv|s", dirc_sg = "dirc|s", nom_pl = "nom|p", gen_pl = "gen|p", acc_pl = "acc|p", dat_loc_pl = "dat|-|loc|p", gen_dat_pl = "gen|-|dat|p", abl_pl = "abl|p", dat_abl_pl = "dat|-|abl|p", ins_pl = "ins|p", com_pl = "com|p", priv_pl = "priv|p", dirc_pl = "dirc|p", spos_indgen_sg = "spos|indgen|s", cpos_indgen_sg = "cpos|indgen|s", spos_indgen_pl = "spos|indgen|p", cpos_indgen_pl = "cpos|indgen|p", spos_indloc_sg = "spos|indloc|s", cpos_indloc_sg = "cpos|indloc|s", spos_indloc_pl = "spos|indloc|p", cpos_indloc_pl = "cpos|indloc|p", nom_sg_refl = "refl poss|form|of the|nom|s", gen_sg_refl = "refl poss|form|of the|gen|s", acc_sg_refl = "refl poss|form|of the|acc|s", dat_loc_sg_refl = "refl poss|form|of the|dat|-|loc|s", gen_dat_sg_refl = "refl poss|form|of the|gen|-|dat|s", abl_sg_refl = "refl poss|form|of the|abl|s", dat_abl_sg_refl = "refl poss|form|of the|dat|-|abl|s", ins_sg_refl = "refl poss|form|of the|ins|s", com_sg_refl = "refl poss|form|of the|com|s", priv_sg_refl = "refl poss|form|of the|priv|s", dirc_sg_refl = "refl poss|form|of the|dirc|s", nom_pl_refl = "refl poss|form|of the|nom|p", gen_pl_refl = "refl poss|form|of the|gen|p", acc_pl_refl = "refl poss|form|of the|acc|p", dat_loc_pl_refl = "refl poss|form|of the|dat|-|loc|p", gen_dat_pl_refl = "refl poss|form|of the|gen|-|dat|p", abl_pl_refl = "refl poss|form|of the|abl|p", dat_abl_pl_refl = "refl poss|form|of the|dat|-|abl|p", ins_pl_refl = "refl poss|form|of the|ins|p", com_pl_refl = "refl poss|form|of the|com|p", priv_pl_refl = "refl poss|form|of the|priv|p", dirc_pl_refl = "refl poss|form|of the|dirc|p", nom = "nom", gen = "gen", acc = "acc", dat_loc = "dat|loc", abl = "abl", ins = "ins", com = "com", priv = "priv", dirc = "dirc", nom_refl = "refl poss|form|of the|nom", gen_refl = "refl poss|form|of the|gen", acc_refl = "refl poss|form|of the|acc", dat_loc_refl = "refl poss|form|of the|dat|-|loc", abl_refl = "refl poss|form|of the|abl", ins_refl = "refl poss|form|of the|ins", com_refl = "refl poss|form|of the|com", priv_refl = "refl poss|form|of the|priv", dirc_refl = "refl poss|form|of the|dirc", }

local output_noun_slots_with_linked = m_table.shallowcopy( output_noun_slots ) output_noun_slots_with_linked["nom_sg_linked"] = "nom|s" output_noun_slots_with_linked["nom_pl_linked"] = "nom|p"

local input_params_to_slots_both = { [1] = "attr", [2] = "nom_sg", [3] = "gen_sg", [4] = "acc_sg", [5] = "dat_loc_sg", [6] = "gen_dat_sg", [7] = "abl_sg", [8] = "dat_abl_sg", [9] = "ins_sg", [10] = "com_sg", [11] = "priv_sg", [12] = "dirc_sg", [13] = "nom_pl", [14] = "gen_pl", [15] = "acc_pl", [16] = "dat_loc_pl", [17] = "gen_dat_pl", [18] = "abl_pl", [19] = "dat_abl_pl", [20] = "ins_pl", [21] = "com_pl", [22] = "priv_pl", [23] = "dirc_pl", [24] = "spos_indgen_sg", [25] = "cpos_indgen_sg", [26] = "spos_indgen_pl", [27] = "cpos_indgen_pl", [28] = "spos_indloc_sg", [29] = "cpos_indloc_sg", [30] = "spos_indloc_pl", [31] = "cpos_indloc_pl", [32] = "nom_sg_refl", [33] = "gen_sg_refl", [34] = "acc_sg_refl", [35] = "dat_loc_sg_refl", [36] = "gen_dat_sg_refl", [37] = "abl_sg_refl", [38] = "dat_abl_sg_refl", [39] = "ins_sg_refl", [40] = "com_sg_refl", [41] = "priv_sg_refl", [42] = "dirc_sg_refl", [43] = "nom_pl_refl", [44] = "gen_pl_refl", [45] = "acc_pl_refl", [46] = "dat_loc_pl_refl", [47] = "gen_dat_pl_refl", [48] = "abl_pl_refl", [49] = "dat_abl_pl_refl", [50] = "ins_pl_refl", [51] = "com_pl_refl", [52] = "priv_pl_refl", [53] = "dirc_pl_refl", }

local input_params_to_slots_sg = { [1] = "attr", [2] = "nom_sg", [3] = "gen_sg", [4] = "acc_sg", [5] = "dat_loc_sg", [6] = "gen_dat_sg", [7] = "abl_sg", [8] = "dat_abl_sg", [9] = "ins_sg", [10] = "com_sg", [11] = "priv_sg", [12] = "dirc_sg", [13] = "spos_indgen_sg", [14] = "cpos_indgen_sg", [15] = "spos_indloc_sg", [16] = "cpos_indloc_sg", [17] = "nom_sg_refl", [18] = "gen_sg_refl", [19] = "acc_sg_refl", [20] = "dat_loc_sg_refl", [21] = "gen_dat_sg_refl", [22] = "abl_sg_refl", [23] = "dat_abl_sg_refl", [24] = "ins_sg_refl", [25] = "com_sg_refl", [26] = "priv_sg_refl", [27] = "dirc_sg_refl", }

local input_params_to_slots_pl = { [1] = "attr", [2] = "nom_pl", [3] = "gen_pl", [4] = "acc_pl", [5] = "dat_loc_pl", [6] = "gen_dat_pl", [7] = "abl_pl", [8] = "dat_abl_pl", [9] = "ins_pl", [10] = "com_pl", [11] = "priv_pl", [12] = "dirc_pl", [13] = "spos_indgen_pl", [14] = "cpos_indgen_pl", [15] = "spos_indloc_pl", [16] = "cpos_indloc_pl", [17] = "nom_pl_refl", [18] = "gen_pl_refl", [19] = "acc_pl_refl", [20] = "dat_loc_pl_refl", [21] = "gen_dat_pl_refl", [22] = "abl_pl_refl", [23] = "dat_abl_pl_refl", [24] = "ins_pl_refl", [25] = "com_pl_refl", [26] = "priv_pl_refl", [27] = "dirc_pl_refl", }

local input_params_to_slots_poss = { [1] = "nom", [2] = "gen", [3] = "acc", [4] = "dat_loc", [5] = "abl", [6] = "ins", [7] = "com", [8] = "priv", [9] = "dirc", [10] = "nom_refl", [11] = "gen_refl", [12] = "acc_refl", [13] = "dat_loc_refl", [14] = "abl_refl", [15] = "ins_refl", [16] = "com_refl", [17] = "priv_refl", [18] = "dirc_refl", }

local cases = { attr = true, nom = true, gen = true, dat_loc = true, gen_dat = true, acc = true, abl = true, dat_abl = true, ins = true, com = true, priv = true, dirc = true, }

local accented_cases = { ["áttr"] = "attr", ["nóm"] = "nom", ["gén"] = "gen", ["dátloc"] = "dat_loc", ["géndat"] = "gen_dat", ["ácc"] = "acc", ["ábl"] = "abl", ["dátabl"] = "dat_abl", ["íns"] = "ins", ["cóm"] = "com", ["prív"] = "priv", ["dírc"] = "dirc", }

local function skip_slot( number, slot ) return number == "sg" and find( slot, "_p$" ) or		number == "pl" and find( slot, "_s$" ) end

local function add( data, slot, stem_and_ending, footnotes ) local stem local ending if not stem_and_ending then return end if skip_slot( data.number, slot ) then return end if type( stem_and_ending ) == "string" then stem = stem_and_ending ending = "" else stem = stem_and_ending[1] ending = stem_and_ending[2] end iut.add_forms( data.forms, slot, stem, ending, com.combine_stem_ending, lang ) end

local function process_slot_overrides( data, do_slot ) for slot, overrides in pairs( data.overrides ) do		if skip_slot( data.number, slot ) then error( "Override specified for invalid slot '" .. slot .. "' due to '" .. data.number .. "' number restriction" ) end if do_slot( slot ) then data.forms[slot] = nil local slot_is_plural = find( slot, "_p$" ) for _, override in ipairs( overrides ) do				for _, value in ipairs( override.values ) do					local form = value.form local combined_notes = iut.combine_footnotes( data.footnotes, value.footnotes ) end end end end end

local function preprocess_inflection( infl ) local params = {} if match( infl, n ) then params.n = true elseif match( infl, g ) then params.g = true end if match( infl, Russian ) then params.bor = "Russian" elseif match( infl, bor ) then params.bor = true end if match( infl, proper ) then params.proper = true end if match( infl, nar ) then params.nar = true elseif match( infl, nuud ) then params.nuud = true elseif match( infl, chuud ) then params.chuud = true elseif match( infl, d ) then params.d = true elseif match( infl, s ) then params.s = true	end infl = gsub( infl, "[" .. n .. g .. bor .. Russian .. proper .. nar .. nuud .. chuud .. d .. s .. "]", "" ) local infl_orig = gsub( infl, com.stem_barrier, "" ) return infl, params, infl_orig end

local function vowelharmony( infl, data ) return com.vowelharmony( infl, data )[#com.vowelharmony( infl, data )] end

local function propernoun( infl ) if sub( infl, 1, 1 ) ~= lower( sub( infl, 1, 1 ) ) then return true else return false end end

local function insert_stem_barrier( data ) local syllables = com.syllables( data.lemma ) if #syllables > 1 and data.bor then syllables[#syllables] = syllables[#syllables] .. com.stem_barrier syllables[#syllables] = gsub(syllables[#syllables], "([иь])" .. com.stem_barrier, com.stem_barrier .. "%1") else if #syllables > 1 then syllables[#syllables-1] = syllables[#syllables-1] .. com.stem_barrier end end return table.concat( syllables ) end

local function hidden_n( infl, params, vh ) infl = gsub( infl, n, "" ) local vh = vh or vowelharmony( infl, params ) local infl_no_stress = gsub( (lang:makeEntryName( infl )), com.stem_barrier, "" ) local matches = { { { match( infl_no_stress, "[аеёийоөуүыэюя]$" ) }, "н" },		{ { match( infl_no_stress, "[жчшщь]$" ) }, "ин" },		{ { match( infl_no_stress, "[бвгдзклмнпрстфхц]$" ) }, vh.Cyrl.a .. "н" },		{ { match( infl_no_stress, "[ᠠ-ᠧᠶ]" .. FVS .. "?$" ) }, "ᠨ" },		{ { match( infl_no_stress, "[ᠨ-ᠵᠷ-ᡂᡸ]" .. FVS .. "?$" ) }, vh.Mong.u .. "ᠨ" }	}	for s,t in ipairs( matches ) do		for _,m in pairs( t[1] ) do			if m then infl = gsub( infl, com.MVS, "" ) if match( infl_no_stress, "ь$" ) then return sub( infl, 1, len( infl ) - 1 ) .. t[2], {} else return infl .. t[2], {} end end end end end

local function hidden_g( infl ) infl = gsub( infl, g, "" ) return infl .. "г" end

local function attributive( infl, vh ) local infl, params = preprocess_inflection( infl ) if params.n then infl = hidden_n( infl, params, vh ) end return com.remove_penultimate_short_vowel( infl, params ) end

local function plural( infl, vh ) local infl, params, infl_orig = preprocess_inflection( infl ) if (params.n or params.nuud) and not (params.chuud or params.d or params.s) then infl = hidden_n( infl, params, vh ) elseif params.g then infl = hidden_g( infl ) end local vh = vh or vowelharmony( infl, params ) local infl_no_fv, no_fv = com.remove_final_short_vowel( infl, params ) local infl_no_stress = gsub( (lang:makeEntryName( infl )), com.stem_barrier, "" ) local infl_no_fv_no_stress = gsub( (lang:makeEntryName( infl_no_fv )), com.stem_barrier, "" ) local matches = { { { params.nar and not match( infl_no_stress, "[ᠠ-ᡂᡸ]" .. FVS .. "?$" ) }, " [[нар"		},		{ { params.chuud and not match( infl_no_stress, "[ᠠ-ᡂᡸ]" .. FVS .. "?$" ) },			"ч" .. vh.Cyrl.uu .. "д"		},		{ {			params.s and match( infl_no_stress, "[аеёийоөуүыэюя]$" ),			params.s and match( infl_no_stress, "[влмнр]ь?$" ),			params.s and match( infl_no_stress, "[аеёийоөуүэюяы][бгкпф]ь?$" )			},			"с"		},		{ {			params.s and match( infl_no_stress, "[жчшщ]$" ),			params.s and match( infl, "[джзстхцчшщ]ь$" )			},			"ис"		},		{ { params.s and match( infl_no_stress, "[бгдзкпстфхц]$" ) },			vh.Cyrl.a .. "с"		},		{ {			params.d,			match( infl_no_stress, "ч.н$" ),			match( infl_no_stress, "ён$" )			},			"д"		},		{ { match( infl_no_stress, "[йы]$" ) },			"н" .. vh.Cyrl.uu .. "д"		},		{ {			match( infl_no_stress, "[аеёийоөуүэюя][аоөуүэ]$" ),			match( infl_no_fv_no_stress, "[бвгджзклмнпрстфхцчшщ][аоөуүэ]$" ), -- C[уү], and also loanwords with a word-final long vowel written as a single vowel			match( infl_no_stress, "[еёюя]$" ) and params.bor			},			"г" .. vh.Cyrl.uu .. "д"		},		{ { match( infl_no_stress, "[иь]$" ) },			"и" .. vh.Cyrl.u .. "д"		},		{ { match( infl_no_stress, "[еёюя]$" ) },			vh.Cyrl.u .. "д"		},		{ { match( infl_no_stress, "[бвгджзклмнпрстфхцчшщ][аоөэ]?$" ) },			vh.Cyrl.uu .. "д"		},		{ { params.nar and match( infl_no_stress, "[ᠠ-ᡂᡸ]" .. FVS .. "?$" ) },			" [[ᠨᠠᠷ"		},		{ { params.chuud and match( infl_no_stress, "[ᠠ-ᡂᡸ]" .. FVS .. "?$" ) },			"ᠴ" .. vh.Mong.u .. "ᠳ"		},		{ {			params.d,			match( infl_orig, "^ᠠᠮᠢᠲᠠᠨ$" ),			match( infl_orig, "^ᠬᠠᠭᠠᠨ$" ),			match( infl_orig, "^ᠬᠥᠪᠡᠭᠦᠨ$" ),			match( infl_orig, "[ᠴᠶ][ᠠᠡᠢᠣᠤᠥᠦᠧᠶ]ᠨ$" )			},			"ᠳ"		},		{ { params.s and match( infl_no_stress, "[ᠠ-ᠧᠶ]" .. FVS .. "?$" ) },			"ᠰ"		},		{ { params.s and match( infl_no_stress, "[ᠨ-ᠵᠷ-ᡂᡸ]" .. FVS .. "?$" ) },			vh.Mong.u .. "ᠰ"		},		{ { match( infl_no_stress, "[ᠠ-ᠨᠶ]" .. FVS .. "?$" ) },			com.NNBSP .. "ᠨ" .. vh.Mong.u .. "ᠭ" .. vh.Mong.u .. "ᠳ"		},		{ { match( infl_no_stress, "[ᠩ-ᠵᠷ-ᡂᡸ]" .. FVS .. "?$" ) },			com.NNBSP .. vh.Mong.u .. "ᠳ"		}	}	for s,t in ipairs( matches ) do		for _,m in pairs( t[1] ) do			if match( infl_no_stress, "^хүн$" ) or match( infl_no_stress, "^хүмүүн$" ) then				if data.plural and data.plural[1] == "unknown" then					data.plural = {"irreg"}				end				return "хүмүүс"			elseif match( infl_no_stress, "^ᠬᠦᠮᠦᠨ$") then				if data.plural and data.plural[1] == "unknown" then					data.plural = {"irreg"}				end				return "ᠬᠦᠮᠦᠰ"			elseif t[2] == "д" or t[2] == "ᠳ" then				if data.plural and data.plural[1] == "unknown" then					data.plural = {"d"}				end				return sub( infl, 1, len( infl ) - 1 ) .. t[2]			elseif t[2] == "ᠰ" then				infl = gsub( infl, com.MVS, "" )				return infl .. t[2]			elseif t[2]:find("^ ") then				return infl .. t[2]			else				if data.plural and data.plural[1] == "unknown" then					data.plural = {"uud"}				end				if m and no_fv then					return infl_no_fv .. t[2]				elseif m then					return com.remove_penultimate_short_vowel( infl .. t[2], params )				end			end		end	end end

local function genitive( infl, vh ) local infl, params = preprocess_inflection( infl ) if params.n then infl, params = hidden_n( infl, params, vh ) elseif params.g then infl = hidden_g( infl ) end local vh = vh or vowelharmony( infl, params ) local infl_no_fv, no_fv = com.remove_final_short_vowel( infl, params ) local infl_no_stress = gsub( (lang:makeEntryName( infl )), com.stem_barrier, "" ) local infl_no_fv_no_stress = gsub( (lang:makeEntryName( infl_no_fv )), com.stem_barrier, "" ) local matches = { { { match( infl_no_stress, "н$" ) }, vh.Cyrl.ii		}, { {			match( infl_no_stress, "[йы]$" ), match( infl_no_fv_no_stress, "и$" ) },			"н" },		{ {			match( infl_no_stress, "[аеёийоөуүэюя][аоөуүэ]$" ), match( infl_no_fv_no_stress, "[бвгджзклмнпрстфхцчшщ][аоөуүэ]$" ), -- C[уү], and also loanwords with a word-final long vowel written as a single vowel match( infl_no_stress, "[еёюя]$" ) and params.bor },			"гийн" },		{ { match( infl_no_stress, "[гжикчшщь]$" ) }, "ийн" },		{ {			match( infl_no_stress, "[бвдзлмпрстфхц]$" ), match( infl_no_stress, "[еёюя]$" ), match( infl_no_stress, "[бвгджзклмнпрстфхцчшщ][аоөэ]$" ) -- not C[уү] },			vh.Cyrl.ii .. "н" },		{ { match( infl_no_stress, "[ᠠ-ᠧᠶ]" .. FVS .. "?$" ) }, com.NNBSP .. "ᠶᠢᠨ" },		{ { match( infl_no_stress, "ᠨ" .. FVS .. "?$" ) }, com.NNBSP .. vh.Mong.u		}, { { match( infl_no_stress, "[ᠩ-ᠵᠷ-ᡂᡸ]" .. FVS .. "?$" ) }, com.NNBSP .. vh.Mong.u .. "ᠨ" }	}	for s,t in ipairs( matches ) do		for _,m in pairs( t[1] ) do			if m and no_fv then return infl_no_fv .. t[2] elseif m then return com.remove_penultimate_short_vowel( infl .. t[2], params ) end end end end

local function accusative( infl, vh ) local infl, params = preprocess_inflection( infl ) if params.n then infl = gsub( infl, n, "" ) elseif params.g then return infl .. "г" end local vh = vh or vowelharmony( infl, params ) local infl_no_fv, no_fv = com.remove_final_short_vowel( infl, params ) local infl_no_stress = gsub( (lang:makeEntryName( infl )), com.stem_barrier, "" ) local infl_no_fv_no_stress = gsub( (lang:makeEntryName( infl_no_fv )), com.stem_barrier, "" ) local matches = { { {			match( infl_no_stress, "[йы]$" ), match( infl_no_stress, "[аеёийоөуүэюя][аоөуүэ]$" ), match( infl_no_fv_no_stress, "[бвгджзклмнпрстфхцчшщ][аоөуүэ]$" ), -- C[уү], and also loanwords with a word-final long vowel written as a single vowel match( infl_no_fv_no_stress, "и$" ), match( infl_no_stress, "[еёюя]$" ) and params.bor },			"г" },		{ { match( infl_no_stress, "[гжикчшщь]$" ) }, "ийг" },		{ {			match( infl_no_stress, "[бвдзлмнпрстфхц]$" ), match( infl_no_stress, "[еёюя]$" ), match( infl_no_stress, "[бвгджзклмнпрстфхцчшщ][аоөэ]$" ) -- not C[уү] },			vh.Cyrl.ii .. "г" },		{ { match( infl_no_stress, "[ᠠ-ᠧᠶ]" .. FVS .. "?$" ) }, com.NNBSP .. "ᠶᠢ" },		{ { match( infl_no_stress, "[ᠨ-ᠵᠷ-ᡂᡸ]" .. FVS .. "?$" ) }, com.NNBSP .. "ᠢ" }	}	for s,t in ipairs( matches ) do		for _,m in pairs( t[1] ) do			if m and no_fv then return infl_no_fv .. t[2] elseif m then return com.remove_penultimate_short_vowel( infl .. t[2], params ) end end end end

local function dative_locative( infl, vh ) local infl, params = preprocess_inflection( infl ) if params.n then infl = hidden_n( infl, params, vh ) end local vh = vh or vowelharmony( infl, params ) local syllable_count = #com.syllables( infl ) local infl_no_fv = com.remove_final_short_vowel( infl, params ) local infl_no_stress = gsub( (lang:makeEntryName( infl )), com.stem_barrier, "" ) local infl_no_fv_no_stress = gsub( (lang:makeEntryName( infl_no_fv )), com.stem_barrier, "" ) local vowel = "[аеёийоөуүэюяы]" local consonant = "[бвгджзклмнпрстфхцчшщ]" local matches = { { {			match( infl_no_stress, "^гэр$" ), match( infl_no_stress, "[гкф]$" ) or match( infl_no_stress, "[^бвгклмнф]п$" ), ( match( infl_no_stress, "в$" ) or match( infl_no_stress, "[^вгклмнпф]б$" ) ) and ( syllable_count ~= 1 or match( infl_no_stress, "^" .. consonant .. consonant ) ), match( infl_no_stress, vowel .. vowel .. "[рс]$" ) or match( infl_no_stress, consonant .. "р$" ), ( match( infl_no_stress, "р$" ) or match( infl_no_stress, vowel .. "с$" ) ) and ( syllable_count ~= 1 or params.proper ), syllable_count > 1 and match( infl_no_stress, "[уүю]" .. "[бгкпсф]ь?с$" ) and not match( infl_no_stress, "[уүю][уүю]" .. "[бгкпсф]ь?с$" ), match( infl_no_stress, "[аеёийоөэяы]" .. "[бгкпсф]ь?с$" ), match( infl_no_stress, vowel .. "сь?с$" ), match( infl_no_stress, "[влмнр]ьс$" ), match( infl_no_stress, "и[влмнр]с$" ), },			"т" },		{ {			match( infl_no_stress, vowel .. "$" ), match( infl_no_stress, "[^вгклмнпф]б$" ), match( infl_no_stress, "[влмнр]$" ), match( infl_no_stress, "[бвгклмнпрф]ь$" ), },			"д" },		{ {			match( infl_no_stress, "[жчшщ]ь?$" ), match( infl_no_stress, "[дзстфхц]ь$" ) },			"ид" },		{ { match( infl_no_stress, "[ᠪ-ᠭᠰ-ᠵᠷ-ᡂᡸ]" .. FVS .. "?$" ) }, com.NNBSP .. "ᠲ" .. vh.Mong.u		}, { { match( infl_no_stress, "[ᠠ-ᠩᠮᠯᠶ]" .. FVS .. "?$" ) }, com.NNBSP .. "ᠳ" .. vh.Mong.u		}, { { match( infl_no_stress, ".$" ) }, vh.Cyrl.a .. "д" }	}	for s,t in ipairs( matches ) do		for _,m in pairs( t[1] ) do			if m then if match( infl_no_stress, "[джзстхцчшщ]ь$" ) then return infl_no_fv .. t[2] else return com.remove_penultimate_short_vowel( infl .. t[2], params ) end end end end end

local function aa( infl, params ) local vh = vh or vowelharmony( infl, params ) local infl_no_fv, no_fv = com.remove_final_short_vowel( infl, params ) local infl_no_stress = gsub( (lang:makeEntryName( infl )), com.stem_barrier, "" ) local infl_no_fv_no_stress = gsub( (lang:makeEntryName( infl_no_fv )), com.stem_barrier, "" ) local matches = { { {			match( infl_no_stress, "[йы]$" ), match( infl_no_stress, "[аеёийоөуүэюя][аоөуүэ]$" ), match( infl_no_fv_no_stress, "[бвгджзклмнпрстфхцчшщ][аоөуүэ]$" ), -- C[уү], and also loanwords with a word-final long vowel written as a single vowel match( infl_no_fv_no_stress, "и$" ), match( infl_no_stress, "[еёюя]$" ) and params.bor },			"г" .. vh.Cyrl.aa		}, { { match( infl_no_stress, "[еёюя]$" ) }, vh.Cyrl.a		}, { { match( infl_no_stress, "[иь]$" ) }, "и" .. vh.Cyrl.a		}, { {			match( infl_no_stress, "[бвгджзклмнпрстфхцчшщ]$" ), match( infl_no_stress, "[бвгджзклмнпрстфхцчшщ][аоөэ]$" ) -- not C[уү] },			vh.Cyrl.aa		} }	for s,t in ipairs( matches ) do		for _,m in pairs( t[1] ) do			if m and no_fv then return infl_no_fv .. t[2] elseif m then return infl .. t[2] end end end end

local function ablative( infl, vh ) local infl, params = preprocess_inflection( infl ) if params.n then infl, params = hidden_n( infl, params, vh ) elseif params.g then infl = hidden_g( infl ) end local vh = vh or vowelharmony( infl, params ) if match( infl, com.NNBSP .. "[ᠲᠳ]" .. vh.Mong.u .. "$" ) then return sub( infl, 1, len( infl ) - 1 ) .. vh.Mong.a .. "ᠴ" .. vh.Mong.a	elseif match( infl, "[ᠠ-ᡂᡸ]" .. FVS .. "?$" ) then return infl .. com.NNBSP .. vh.Mong.a .. "ᠴ" .. vh.Mong.a	else return com.remove_penultimate_short_vowel( aa( infl, params ) .. "с", params ) end end

local function instrumental( infl, vh ) local infl, params = preprocess_inflection( infl ) if params.g then infl = hidden_g( infl ) end if match( infl, "[ᠠ-ᡂᡸ]" .. FVS .. "?$" ) then local matches = { { { match( infl, "[ᠠ-ᠧᠶ]" .. FVS .. "?$" ) }, com.NNBSP .. "ᠪ" .. vh.Mong.a .. "ᠷ" },			{ { match( infl, "[ᠨ-ᠵᠷ-ᡂᡸ]" .. FVS .. "?$" ) }, com.NNBSP .. "ᠢᠶ" .. vh.Mong.a .. "ᠷ" }		}		for s,t in ipairs( matches ) do			for _,m in pairs( t[1] ) do if m then return infl .. t[2] end end end else return com.remove_penultimate_short_vowel( aa( infl, params ) .. "р", params ) end end

local function reflexive( infl, vh ) local infl, params = preprocess_inflection( infl ) if params.g then infl = hidden_g( infl ) end if match( infl, "[ᠠ-ᡂᡸ]" .. FVS .. "?$" ) then local matches = { { { match( infl, com.NNBSP .. "ᠶ?ᠢ$" ) }, "ᠶ" .. vh.Mong.u .. "ᠭ" .. vh.Mong.a .. "ᠨ" },			{ { match( infl, com.NNBSP .. "[ᠲᠳ]" .. vh.Mong.u .. "$" ) }, vh.Mong.a .. "ᠭ" .. vh.Mong.a .. "ᠨ" },			{ { match( infl, com.NNBSP .. vh.Mong.a .. "ᠴ" .. vh.Mong.a .. "$" ) }, "ᠭ" .. vh.Mong.a .. "ᠨ" },			{ { match( infl, com.NNBSP .. "ᠲ" .. vh.Mong.a .. "ᠢ$" ) }, "ᠶᠢᠭ" .. vh.Mong.a .. "ᠨ" },			{ { match( infl, "[ᠠ-ᠧᠶ]" .. FVS .. "?$" ) }, com.NNBSP .. "ᠪ" .. vh.Mong.a .. "ᠨ" },			{ { match( infl, "[ᠨ-ᠵᠷ-ᡂᡸ]" .. FVS .. "?$" ) }, com.NNBSP .. "ᠢᠶ" .. vh.Mong.a .. "ᠨ" }		}		for s,t in ipairs( matches ) do			for _,m in pairs( t[1] ) do				if m then if match( infl, com.NNBSP .. "ᠶᠢ$" ) then return sub( infl, 1, len( infl ) - 2 ) .. t[2] elseif match( infl, com.NNBSP .. "ᠢ$" ) or match( infl, com.NNBSP .. "[ᠲᠳ]" .. vh.Mong.u .. "$" ) or match( infl, com.NNBSP .. "ᠲ" .. vh.Mong.a .. "ᠢ$" ) then return sub( infl, 1, len( infl ) - 1 ) .. t[2] else return infl .. t[2] end end end end else return com.remove_penultimate_short_vowel( aa( infl, params ), params ) .. n -- unstable nasal end end

local function comitative( infl, vh ) local infl, params = preprocess_inflection( infl ) local vh = vh or vowelharmony( infl, params ) if match( infl, "[ᠠ-ᡂᡸ]" .. FVS .. "?$" ) then return infl .. com.NNBSP .. "ᠲ" .. vh.Mong.a .. "ᠢ" elseif match( infl, "[джзстхцчшщ]ь$" ) then return sub( infl, 1, len( infl ) - 1 ) .. "ит" .. vh.Cyrl.ai	else return com.remove_penultimate_short_vowel( infl .. "т" .. vh.Cyrl.ai, params ) end end

local function privative( infl ) local infl = preprocess_inflection( infl ) if match( infl, "[ᠠ-ᡂᡸ]" .. FVS .. "?$" ) then return infl .. com.NNBSP .. "ᠦᠭᠡᠢ" else return infl .. "гүй" end end

local function directive( infl, vh ) local infl, params = preprocess_inflection( infl ) local vh = vh or vowelharmony( infl, params ) local _, brcount1 = gsub( infl, " %[%[", "") local __, brcount2 = gsub( infl, " %]%]", "") if brcount1 > brcount2 then infl = infl .. "]]" end if match( infl, "[ᠠ-ᡂᡸ]" .. FVS .. "?$" ) then return infl .. com.NNBSP .. "ᠤᠷᠤᠭᠤ" elseif match( infl, "рь?" .. com.stem_barrier .. "?$" ) then return infl .. " [[л" .. vh.Cyrl.uu	else		return infl .. " [[р" .. vh.Cyrl.uu	end end

local function equative( infl ) end

local function singular_independent_genitive( infl ) local infl = preprocess_inflection( infl ) if match( infl, "[ᠠ-ᡂᡸ]" .. FVS .. "?$" ) then return infl .. com.NNBSP .. "ᠬᠢ" else return infl .. "х" end end

local function collective_independent_genitive( infl, vh ) local infl, params = preprocess_inflection( infl ) local vh = vh or vowelharmony( infl, params ) if match( infl, "[ᠠ-ᡂᡸ]" .. FVS .. "?$" ) then return infl .. com.NNBSP .. "ᠬᠢᠨ" else return infl .. "х" .. vh.Cyrl.a .. "н" end end

local function handle_derived_slots_and_overrides( data ) local orig_lemma = data.lemma data.lemma = insert_stem_barrier( data ) if data.decl == "n" then data.lemma = data.lemma .. n end if data.decl == "g" then data.lemma = data.lemma .. g end if data.bor == "Russian" then data.lemma = data.lemma .. Russian elseif data.bor then data.lemma = data.lemma .. bor end if data.proper then data.lemma = data.lemma .. proper end if data.number ~= "spos" and data.number ~= "cpos" then add( data, "attr", attributive( data.lemma ) ) add( data, "nom_sg", data.lemma ) add( data, "gen_sg", genitive( data.lemma ) ) add( data, "acc_sg", accusative( data.lemma ) ) add( data, "dat_loc_sg", dative_locative( data.lemma ) ) add( data, "abl_sg", ablative( data.lemma ) ) add( data, "ins_sg", instrumental( data.lemma ) ) add( data, "com_sg", comitative( data.lemma ) ) add( data, "priv_sg", privative( data.lemma ) ) add( data, "dirc_sg", directive( data.lemma ) ) if not data.plural then data.plural = {"unknown"} end for i, pl in ipairs(data.plural) do			local modified_lemma if pl == "nar" then modified_lemma = data.lemma .. nar elseif pl == "nuud" then modified_lemma = data.lemma .. nuud elseif pl == "chuud" then modified_lemma = data.lemma .. chuud elseif pl == "d" then modified_lemma = data.lemma .. d			elseif pl == "s" then modified_lemma = data.lemma .. s			elseif pl == "uud" or "irreg" or "unknown" then modified_lemma = data.lemma end add( data, "nom_pl", plural( modified_lemma ) ) add( data, "gen_pl", genitive( data.forms["nom_pl"][i].form ) ) add( data, "acc_pl", accusative( data.forms["nom_pl"][i].form ) ) add( data, "dat_loc_pl", dative_locative( data.forms["nom_pl"][i].form ) ) add( data, "abl_pl", ablative( data.forms["nom_pl"][i].form ) ) add( data, "ins_pl", instrumental( data.forms["nom_pl"][i].form ) ) add( data, "com_pl", comitative( data.forms["nom_pl"][i].form ) ) add( data, "priv_pl", privative( data.forms["nom_pl"][i].form ) ) add( data, "dirc_pl", directive( data.forms["nom_pl"][i].form ) ) end add( data, "spos_indgen_sg", singular_independent_genitive( data.forms["gen_sg"][1].form ) ) add( data, "cpos_indgen_sg", collective_independent_genitive( data.forms["gen_sg"][1].form ) ) for i, pl in ipairs(data.plural) do			add( data, "spos_indgen_pl", singular_independent_genitive( data.forms["gen_pl"][i].form ) ) add( data, "cpos_indgen_pl", collective_independent_genitive( data.forms["gen_pl"][i].form ) ) end --"spos_indloc_sg", --"cpos_indloc_sg", --for i, pl in ipairs(data.plural) do			--"spos_indloc_pl", --"cpos_indloc_pl", --end add( data, "nom_sg_refl", reflexive( data.forms["nom_sg"][1].form ) ) add( data, "gen_sg_refl", reflexive( data.forms["spos_indgen_sg"][1].form ) ) add( data, "acc_sg_refl", reflexive( data.forms["acc_sg"][1].form ) ) add( data, "dat_loc_sg_refl", reflexive( data.forms["dat_loc_sg"][1].form ) ) add( data, "abl_sg_refl", reflexive( data.forms["abl_sg"][1].form ) ) add( data, "ins_sg_refl", reflexive( data.forms["ins_sg"][1].form ) ) add( data, "com_sg_refl", reflexive( data.forms["com_sg"][1].form ) ) add( data, "priv_sg_refl", reflexive( data.forms["priv_sg"][1].form ) ) add( data, "dirc_sg_refl", reflexive( data.forms["dirc_sg"][1].form ) ) for i, pl in ipairs(data.plural) do			add( data, "nom_pl_refl", reflexive( data.forms["nom_pl"][i].form ) ) add( data, "gen_pl_refl", reflexive( data.forms["spos_indgen_pl"][i].form ) ) add( data, "acc_pl_refl", reflexive( data.forms["acc_pl"][i].form ) ) add( data, "dat_loc_pl_refl", reflexive( data.forms["dat_loc_pl"][i].form ) ) add( data, "abl_pl_refl", reflexive( data.forms["abl_pl"][i].form ) ) add( data, "ins_pl_refl", reflexive( data.forms["ins_pl"][i].form ) ) add( data, "com_pl_refl", reflexive( data.forms["com_pl"][i].form ) ) add( data, "priv_pl_refl", reflexive( data.forms["priv_pl"][i].form ) ) add( data, "dirc_pl_refl", reflexive( data.forms["dirc_pl"][i].form ) ) end if data.gen_dat then add( data, "gen_dat_sg", dative_locative( data.forms["gen_sg"][1].form ) ) add( data, "gen_dat_sg_refl", reflexive( data.forms["gen_dat_sg"][1].form ) ) for i, pl in ipairs(data.plural) do				add( data, "gen_dat_pl", dative_locative( data.forms["gen_pl"][i].form ) ) add( data, "gen_dat_pl_refl", reflexive( data.forms["gen_dat_pl"][i].form ) ) end end if data.dat_abl then add( data, "dat_abl_sg", ablative( data.forms["dat_loc_sg"][1].form ) ) add( data, "dat_abl_sg_refl", reflexive( data.forms["dat_abl_sg"][1].form ) ) end else add( data, "nom", data.lemma ) if data.number == "cpos" then add( data, "gen", genitive( data.lemma ) ) end add( data, "acc", accusative( data.lemma ) ) add( data, "dat_loc", dative_locative( data.lemma ) ) add( data, "abl", ablative( data.lemma ) ) add( data, "ins", instrumental( data.lemma ) ) add( data, "com", comitative( data.lemma ) ) add( data, "priv", privative( data.lemma ) ) add( data, "dirc", directive( data.lemma ) ) add( data, "nom_refl", reflexive( data.forms["nom"][1].form ) ) if data.number == "cpos" then add( data, "gen_refl", reflexive( data.forms["gen"][1].form ) ) end add( data, "acc_refl", reflexive( data.forms["acc"][1].form ) ) add( data, "dat_loc_refl", reflexive( data.forms["dat_loc"][1].form ) ) add( data, "abl_refl", reflexive( data.forms["abl"][1].form ) ) add( data, "ins_refl", reflexive( data.forms["ins"][1].form ) ) add( data, "com_refl", reflexive( data.forms["com"][1].form ) ) add( data, "priv_refl", reflexive( data.forms["priv"][1].form ) ) add( data, "dirc_refl", reflexive( data.forms["dirc"][1].form ) ) end for _,form in pairs( data.forms ) do		for _,variant in ipairs( form ) do variant.form = gsub( variant.form, "[" .. n .. g .. bor .. Russian .. proper .. nar .. nuud .. chuud .. d .. s .. com.stem_barrier .. "]", "" ) if match( gsub( variant.form, data.orig_lemma, "" ), " " ) then variant.form = variant.form .. "]]" end end end

-- Compute linked versions of potential lemma slots, for use in. -- We substitute the original lemma (before removing links) for forms that -- are the same as the lemma, if the original lemma has links. for _, slot in ipairs( { "nom_sg", "nom_pl" } ) do iut.insert_forms( data.forms, slot .. "_linked", iut.map_forms( data.forms[slot], function( form ) if form == data.orig_lemma_no_links and find( data.orig_lemma, "%[%[" ) then return data.orig_lemma else return form end end ) ) end end

local function fetch_footnotes( separated_group ) local footnotes for j = 2, #separated_group - 1, 2 do		if separated_group[j + 1] ~= "" then error( "Extraneous text after bracketed footnotes: '" .. table.concat( separated_group ) .. "'" ) end if not footnotes then footnotes = {} end table.insert( footnotes, separated_group[j] ) end return footnotes end

local function parse_override( segments, case ) local retval = { values = {} } local part = segments[1] if cases[case] then -- ok	elseif accented_cases[case] then case = accented_cases[case] retval.stemstressed = true else error("Internal error: unrecognized case in override: '" .. table.concat(segments) .. "'") end local rest = sub( part, len(case)+1, len(case)+3 ) local slot if find( rest, "^pl" ) then rest = gsub( rest, "^pl", "" ) slot = case .. "_pl" else slot = case .. "_sl" end if find( rest, "^:" ) then retval.full = true rest = gsub( rest, "^:", "" ) end segments[1] = rest local colon_separated_groups = put.split_alternating_runs( segments, ":" ) for i, colon_separated_group in ipairs( colon_separated_groups ) do		local value = {} local form = colon_separated_group[1] if form == "" then error( "Use - to indicate an empty ending for slot '" .. slot .. "': '" .. table.concat( segments .. "'" ) )		elseif form == "-" then value.form = "" else value.form = form end value.footnotes = fetch_footnotes( colon_separated_group ) table.insert( retval.values, value ) end return slot, retval end

local function parse_indicator_spec( angle_bracket_spec ) local inside = match( angle_bracket_spec, "^<(.*)>$" ) if inside ~= "" then local segments = put.parse_balanced_segment_run( inside, "[", "]" ) local dot_separated_groups = put.split_alternating_runs( segments, "%." ) for i, dot_separated_group in ipairs( dot_separated_groups ) do			local part = dot_separated_group[1] local case_prefix for case,_ in pairs( cases ) do if match( part, "^" .. case .. "[:$]" ) then case_prefix = match( part, "^" .. case ) local slot, override = parse_override( dot_separated_group, case_prefix ) if data.overrides[slot] then table.insert( data.overrides[slot], override ) else data.overrides[slot] = { override } end end end if case_prefix ~= nil then elseif part == "" then if #dot_separated_group == 1 then error( "Blank indicator: '" .. inside .. "'" ) end data.footnotes = fetch_footnotes( dot_separated_group ) elseif part == "r" or part == "n" or part == "g" then if data.decl then error( "Can't specify declension twice: '" .. inside .. "'" ) end data.decl = part elseif part == "sg" or part == "pl" or part == "spos" or part == "cpos" then if data.number then error( "Can't specify number twice: '" .. inside .. "'" ) end data.number = part elseif part == "uud" or part == "nar" or part == "nuud" or part == "chuud" or part == "d" or part == "s" then if not data.plural then data.plural = {} end table.insert(data.plural, part) elseif part == "gen_dat" then if data.gen_dat then error( "Can't specify genitive-dative twice: '" .. inside .. "'" ) end data.gen_dat = true elseif part == "dat_abl" then if data.dat_abl then error( "Can't specify dative-ablative twice: '" .. inside .. "'" ) end data.dat_abl = true elseif part == "а" or part == "о" or part == "ө" or part == "э" then if data.vh_override then error( "Can't specify vowel harmony twice: '" .. inside .. "'" ) end data.vh_override = part elseif part == "bor" or part == "Russian" then if data.bor then error( "Can't specify borrowing twice: '" .. inside .. "'" ) end data.bor = part elseif part == "proper" then if data.proper then error( "Can't specify proper noun twice: '" .. inside .. "'" ) end data.proper = true else error( "Unrecognized indicator '" .. part .. "': '" .. inside .. "'" ) end end else error( "Blank indicator: '" .. inside .. "'" ) end return data end

local function set_defaults_and_check_bad_indicators( data ) -- Set default values. if not data.adj then if data.proper then data.number = data.number or "sg" else data.number = data.number or "both" end end end

local function check_indicators_match_lemma( data ) -- Check for indicators that don't make sense given the context. if data.decl == "n" and match( data.lemma, "н$" ) then error( "Hidden-n declension cannot be specified with a lemma ending in н" ) end if data.decl == "g" and not match( data.lemma, "н$" ) then error( "Hidden-g declension can only be specified with a lemma ending in н" ) end end

local function detect_indicator_spec( data ) if propernoun( data.lemma ) then data.proper = true end set_defaults_and_check_bad_indicators( data ) check_indicators_match_lemma( data ) end

local function detect_all_indicator_specs( alternant_multiword_spec ) local is_multiword = #alternant_multiword_spec.alternant_or_word_specs > 1 iut.map_word_specs( alternant_multiword_spec, function( data )		detect_indicator_spec( data )		data.multiword = is_multiword	end ) end

local propagate_multiword_properties

local function propagate_alternant_properties( alternant_spec, property, mixed_value, nouns_only ) local seen_property for _, multiword_spec in ipairs( alternant_spec.alternants ) do		propagate_multiword_properties( multiword_spec, property, mixed_value, nouns_only ) if seen_property == nil then seen_property = multiword_spec[property] elseif multiword_spec[property] and seen_property ~= multiword_spec[property] then seen_property = mixed_value end end alternant_spec[property] = seen_property end

propagate_multiword_properties = function( multiword_spec, property, mixed_value, nouns_only ) local seen_property = nil local last_seen_nounal_pos = 0 local word_specs = multiword_spec.alternant_or_word_specs or multiword_spec.word_specs for i = 1, #word_specs do		local is_nounal if word_specs[i].alternants then propagate_alternant_properties( word_specs[i], property, mixed_value ) is_nounal = not not word_specs[i][property] elseif nouns_only then is_nounal = not word_specs[i].adj else is_nounal = not not word_specs[i][property] end if is_nounal then if not word_specs[i][property] then error( "Internal error: noun-type word spec without " .. property .. " set" ) end for j = last_seen_nounal_pos + 1, i - 1 do				word_specs[j][property] = word_specs[j][property] or word_specs[i][property] end last_seen_nounal_pos = i			if seen_property == nil then seen_property = word_specs[i][property] elseif seen_property ~= word_specs[i][property] then seen_property = mixed_value end end end if last_seen_nounal_pos > 0 then for i = last_seen_nounal_pos + 1, #word_specs do			word_specs[i][property] = word_specs[i][property] or word_specs[last_seen_nounal_pos][property] end end multiword_spec[property] = seen_property end

local function propagate_properties_downward( alternant_multiword_spec, property, default_propval ) local propval1 = alternant_multiword_spec[property] or default_propval for _, alternant_or_word_spec in ipairs( alternant_multiword_spec.alternant_or_word_specs ) do		local propval2 = alternant_or_word_spec[property] or propval1 if alternant_or_word_spec.alternants then for _, multiword_spec in ipairs( alternant_or_word_spec.alternants ) do				local propval3 = multiword_spec[property] or propval2 for _, word_spec in ipairs( multiword_spec.word_specs ) do					local propval4 = word_spec[property] or propval3 if propval4 == "mixed" then error( "Attempt to assign mixed " .. property .. " to word" ) end word_spec[property] = propval4 end end else if propval2 == "mixed" then error( "Attempt to assign mixed " .. property .. " to word" ) end alternant_or_word_spec[property] = propval2 end end end

local function propagate_properties( alternant_multiword_spec, property, default_propval, mixed_value ) propagate_multiword_properties( alternant_multiword_spec, property, mixed_value, "nouns only" ) propagate_multiword_properties( alternant_multiword_spec, property, mixed_value, false ) propagate_properties_downward( alternant_multiword_spec, property, default_propval ) end

local function normalize_all_lemmas( alternant_multiword_spec ) iut.map_word_specs( alternant_multiword_spec, function( data )		data.orig_lemma = data.lemma		data.orig_lemma_no_links = m_links.remove_links( data.lemma )		data.lemma = data.orig_lemma_no_links	end ) end

local function compute_categories_and_annotation( alternant_multiword_spec ) local cats = {} local function insert( cattype ) m_table.insertIfNot( cats, "Mongolian " .. cattype ) end if alternant_multiword_spec.pos == "noun" then if alternant_multiword_spec.number == "sg" then insert( "uncountable nouns" ) elseif alternant_multiword_spec.number == "pl" then insert( "pluralia tantum" ) end end local annotation if alternant_multiword_spec.manual then alternant_multiword_spec.annotation = alternant_multiword_spec.number == "sg" and "sg-only" or			alternant_multiword_spec.number == "pl" and "pl-only" or			alternant_multiword_spec.number == "spos" and "sg poss" or			alternant_multiword_spec.number == "cpos" and "col poss" or			"" else local annparts = {} local bor = nil local decl = {} local irregs = {} local stems = {} local reducible = nil local vh = {} local function do_word_spec( data ) m_table.insertIfNot( vh, vowelharmony( data.lemma, data ).Cyrl.a ) insert( vowelharmony( data.lemma, data ).Cyrl.a .. "-harmonic nouns" ) if data.decl == "r" then m_table.insertIfNot( decl, "regular" ) insert( "regular declension nouns" ) elseif data.decl == "n" then m_table.insertIfNot( decl, "hidden-n" ) insert( "hidden-n declension nouns" ) elseif data.decl == "g" then m_table.insertIfNot( decl, "hidden-g" ) insert( "hidden-g declension nouns" ) end if data.bor then bor = true end --if voweldeletion( data.lemma, data ) ~= data.lemma then reducible = true end pl = {} if data.number == "pl" or data.number == "both" then for i, plural in ipairs(data.plural) do					if plural == "uud" then table.insert(pl, vowelharmony( data.lemma, data ).Cyrl.uu .. "д-pl") elseif plural == "nar" then table.insert(pl, "нар-pl") elseif plural == "nuud" then table.insert(pl, "н" .. vowelharmony( data.lemma, data ).Cyrl.uu .. "д-pl") elseif plural == "chuud" then table.insert(pl, "ч" .. vowelharmony( data.lemma, data ).Cyrl.uu .. "д-pl") elseif plural == "d" then table.insert(pl, "д-pl") elseif plural == "s" then table.insert(pl, "с-pl") elseif plural == "irreg" then table.insert(pl, "irreg pl") end end end end local key_entry = alternant_multiword_spec.first_noun or 1 if #alternant_multiword_spec.alternant_or_word_specs >= key_entry then local alternant_or_word_spec = alternant_multiword_spec.alternant_or_word_specs[key_entry] if alternant_or_word_spec.alternants then for _, multiword_spec in ipairs( alternant_or_word_spec.alternants ) do					key_entry = multiword_spec.first_noun or 1 if #multiword_spec.word_specs >= key_entry then do_word_spec( multiword_spec.word_specs[key_entry] ) end end else do_word_spec( alternant_or_word_spec ) end end if alternant_multiword_spec.pos == "proper noun" then table.insert( annparts, "proper" ) elseif alternant_multiword_spec.number == "sg" then table.insert( annparts, "sg-only" ) elseif alternant_multiword_spec.number == "pl" then table.insert( annparts, "pl-only" ) elseif alternant_multiword_spec.number == "spos" then table.insert( annparts, "sg poss" ) elseif alternant_multiword_spec.number == "cpos" then table.insert( annparts, "col poss" ) end if #vh > 0 then table.insert( annparts, table.concat( vh, "/" ) .. "-harmonic" ) end if #decl > 0 then table.insert( annparts, table.concat( decl, "/" ) ) end if bor then table.insert( annparts, "borr" ) end if reducible then table.insert( annparts, "reduc" ) end if pl then for i, plural in ipairs(pl) do				table.insert(irregs, plural) end end if #irregs > 0 then table.insert( annparts, table.concat( irregs, " // " ) ) end alternant_multiword_spec.annotation = table.concat( annparts, " " ) if #stems > 1 then insert( "nouns with multiple stems" ) end end alternant_multiword_spec.categories = cats end

local function combine_stem_ending( stem, ending ) return stem .. ending end

local function show_forms( alternant_multiword_spec ) local lemmas = {} if alternant_multiword_spec.forms.nom_sg then for _, nom_sg in ipairs( alternant_multiword_spec.forms.nom_sg ) do			table.insert( lemmas, nom_sg.form ) end elseif alternant_multiword_spec.forms.nom_pl then for _, nom_pl in ipairs( alternant_multiword_spec.forms.nom_pl ) do			table.insert( lemmas, nom_pl.form ) end end local props = { lemmas = lemmas, slot_table = output_noun_slots_with_linked, lang = lang, canonicalize = function( form ) return form end, include_translit = true, footnotes = alternant_multiword_spec.footnotes, allow_footnote_symbols = not not alternant_multiword_spec.footnotes, }	iut.show_forms( alternant_multiword_spec.forms, props ) end

local function make_table( alternant_multiword_spec )

local forms = alternant_multiword_spec.forms local function header( min_width ) min_width = min_width or "70" return gsub( [===[ {title}{annotation} {\op}| style="background:#f9f9f9;text-align:center;min-width:MINWIDTHem;width:100%" class="inflection-table" ]===], "MINWIDTH", min_width ) end local function reflexive( min_width, color ) min_width = min_width or "70" color = color or "d9ebff" return gsub( gsub( [===[|- Reflexive possessive forms {\op}| style="background:#f9f9f9;text-align:center;min-width:MINWIDTHem;width:100%" class="inflection-table" ]===], "MINWIDTH", min_width ), "COLOR", color ) end local function add_case( case, name, sg, pl, refl ) if forms[case .. "_sg"] ~= "—" or forms[case .. "_pl"] ~= "—" then local output = gsub( [===[|- ! style="background:#eff7ff" | NAME ]===], "NAME", name ) if sg then if refl then output = output .. gsub( [===[ ]===], "CASE", case ) else output = output .. gsub( [===[ ]===], "CASE", case ) end end if pl then if refl then output = output .. gsub( [===[ ]===], "CASE", case ) else output = output .. gsub( [===[ ]===], "CASE", case ) end end return output else return "" end end local function template_footer return [===[|- |{\cl}{notes_clause} ]===] end local table_spec_both = header( "45" ) .. [===[ ! style="background:#d9ebff" | attributive ! style="background:#d9ebff;width:10em" | ! style="background:#d9ebff;width:17.5em" | singular / indefinite ! style="background:#d9ebff;width:17.5em" | definite plural ! style="background:#eff7ff" | nominative ! style="background:#eff7ff" | genitive ! style="background:#eff7ff" | accusative ! style="background:#eff7ff" | dative-locative ]===] .. add_case( "gen_dat", "genitive-dative", true, true ) .. [===[ ! style="background:#eff7ff" | ablative ]===] .. add_case( "dat_abl", "dative-ablative", true, true ) .. [===[ ! style="background:#eff7ff" | instrumental ! style="background:#eff7ff" | comitative ! style="background:#eff7ff" | privative ! style="background:#eff7ff" | directive ]===] .. reflexive( "45" ) .. [===[ ! style="background:#d9ebff;width:10em" | ! style="background:#d9ebff;width:17.5em" | singular / indefinite ! style="background:#d9ebff;width:17.5em" | definite plural ! style="background:#eff7ff" | nominative ! style="background:#eff7ff" | genitive ! style="background:#eff7ff" | accusative ! style="background:#eff7ff" | dative-locative ]===] .. add_case( "gen_dat", "genitive-dative", true, true, true ) .. [===[ ! style="background:#eff7ff" | ablative ]===] .. add_case( "dat_abl", "dative-ablative", true, true, true ) .. [===[ ! style="background:#eff7ff" | instrumental ! style="background:#eff7ff" | comitative ! style="background:#eff7ff" | privative ! style="background:#eff7ff" | directive {\op}| style="background:#f9f9f9;text-align:center;min-width:45em;width:100%" class="inflection-table" ! style="background:#d9ebff;width:10em" | independent genitive ! style="background:#d9ebff;width:17.5em" | singular / indefinite ! style="background:#d9ebff;width:17.5em" | definite plural ! style="background:#eff7ff" | singular possession ! style="background:#eff7ff" | collective possession ]===] .. template_footer local function table_spec_one( num, number ) return gsub( gsub( header( "30" ) .. [===[ ! style="background:#d9ebff" | attributive ! style="background:#d9ebff;width:10em" | ! style="background:#d9ebff;width:20em" | NUMBER ! style="background:#eff7ff" | nominative ! style="background:#eff7ff" | genitive ! style="background:#eff7ff" | accusative ! style="background:#eff7ff" | dative-locative ]===] .. add_case( "gen_dat", "genitive-dative", true ) .. [===[ ! style="background:#eff7ff" | ablative ]===] .. add_case( "dat_abl", "dative-ablative", true ) .. [===[ ! style="background:#eff7ff" | instrumental ! style="background:#eff7ff" | comitative ! style="background:#eff7ff" | privative ! style="background:#eff7ff" | directive ]===] .. reflexive( "30" ) .. [===[ ! style="background:#d9ebff;width:10em" | ! style="background:#d9ebff;width:20em" | NUMBER ! style="background:#eff7ff" | nominative ! style="background:#eff7ff" | genitive ! style="background:#eff7ff" | accusative ! style="background:#eff7ff" | dative-locative ]===] .. add_case( "gen_dat", "genitive-dative", true, nil, true ) .. [===[ ! style="background:#eff7ff" | ablative ]===] .. add_case( "dat_abl", "dative-ablative", true, nil, true ) .. [===[ ! style="background:#eff7ff" | instrumental ! style="background:#eff7ff" | comitative ! style="background:#eff7ff" | privative ! style="background:#eff7ff" | directive {\op}| style="background:#f9f9f9;text-align:center;min-width:30em;width:100%" class="inflection-table" ! style="background:#d9ebff;width:10em" | independent genitive ! style="background:#d9ebff;width:20em" | NUMBER ! style="background:#eff7ff" | singular possession ! style="background:#eff7ff" | collective possession ]===] .. template_footer, "NUMBER", number ), "NUM", num ) end local function table_spec_poss return header( "30" ) .. [===[ ! style="background:#eff7ff;width:10em" | nominative ! style="background:#eff7ff" | genitive ! style="background:#eff7ff" | accusative ! style="background:#eff7ff" | dative-locative ! style="background:#eff7ff" | ablative ! style="background:#eff7ff" | instrumental ! style="background:#eff7ff" | comitative ! style="background:#eff7ff" | privative ! style="background:#eff7ff" | directive ]===] .. reflexive( "30" ) .. [===[ ! style="background:#eff7ff;width:10em" | nominative ! style="background:#eff7ff" | genitive ! style="background:#eff7ff" | accusative ! style="background:#eff7ff" | dative-locative ! style="background:#eff7ff" | ablative ! style="background:#eff7ff" | instrumental ! style="background:#eff7ff" | comitative ! style="background:#eff7ff" | privative ! style="background:#eff7ff" | directive ]===] .. template_footer end local notes_template = [===[ {footnote} ]===]	if alternant_multiword_spec.title then forms.title = alternant_multiword_spec.title else forms.title = "Declension of " .. forms.lemma .. "" end local annotation = alternant_multiword_spec.annotation or "" if annotation == "" then forms.annotation = "" else forms.annotation = " (" .. annotation .. " )" end local table_spec = alternant_multiword_spec.number == "sg" and table_spec_one( "sg", "singular / indefinite" ) or		alternant_multiword_spec.number == "pl" and table_spec_one( "pl", "definite plural" ) or		alternant_multiword_spec.number == "spos" and table_spec_poss or		alternant_multiword_spec.number == "cpos" and table_spec_poss or		table_spec_both forms.notes_clause = forms.footnote ~= "" and format( notes_template, forms ) or "" return format( table_spec, forms ) end
 * {\cl}
 * {CASE_sg_refl}
 * {CASE_sg}
 * {CASE_pl_refl}
 * {CASE_pl}
 * colspan=2 | {attr}
 * {nom_sg}
 * {nom_pl}
 * {gen_sg}
 * {gen_pl}
 * {acc_sg}
 * {acc_pl}
 * {dat_loc_sg}
 * {dat_loc_pl}
 * {abl_sg}
 * {abl_pl}
 * {ins_sg}
 * {ins_pl}
 * {com_sg}
 * {com_pl}
 * {priv_sg}
 * {priv_pl}
 * {dirc_sg}
 * {dirc_pl}
 * {nom_sg_refl}
 * {nom_pl_refl}
 * {gen_sg_refl}
 * {gen_pl_refl}
 * {acc_sg_refl}
 * {acc_pl_refl}
 * {dat_loc_sg_refl}
 * {dat_loc_pl_refl}
 * {abl_sg_refl}
 * {abl_pl_refl}
 * {ins_sg_refl}
 * {ins_pl_refl}
 * {com_sg_refl}
 * {com_pl_refl}
 * {priv_sg_refl}
 * {priv_pl_refl}
 * {dirc_sg_refl}
 * {dirc_pl_refl}
 * {\cl}
 * {spos_indgen_sg}
 * {spos_indgen_pl}
 * {cpos_indgen_sg}
 * {cpos_indgen_pl}
 * {attr}
 * {nom_NUM}
 * {gen_NUM}
 * {acc_NUM}
 * {dat_loc_NUM}
 * {abl_NUM}
 * {ins_NUM}
 * {com_NUM}
 * {priv_NUM}
 * {dirc_NUM}
 * {nom_NUM_refl}
 * {gen_NUM_refl}
 * {acc_NUM_refl}
 * {dat_loc_NUM_refl}
 * {abl_NUM_refl}
 * {ins_NUM_refl}
 * {com_NUM_refl}
 * {priv_NUM_refl}
 * {dirc_NUM_refl}
 * {\cl}
 * {spos_indgen_NUM}
 * {cpos_indgen_NUM}
 * style="width:20em" | {nom}
 * {gen}
 * {acc}
 * {dat_loc}
 * {abl}
 * {ins}
 * {com}
 * {priv}
 * {dirc}
 * style="width:20em" | {nom_refl}
 * {gen_refl}
 * {acc_refl}
 * {dat_loc_refl}
 * {abl_refl}
 * {ins_refl}
 * {com_refl}
 * {priv_refl}
 * {dirc_refl}

function export.do_generate_forms( parent_args, pos, from_headword, def )

local params = { [1] = { required = true, default = "хаан" }, footnote = { list = true }, title = {}, pos = { default = "noun" } }

local args = m_para.process( parent_args, params ) if not match( args[1], "<.*>" ) then error( "Please specify declension" ) end local parse_props = { parse_indicator_spec = parse_indicator_spec }	local alternant_multiword_spec = iut.parse_inflected_text( args[1], parse_props ) alternant_multiword_spec.title = args.title alternant_multiword_spec.pos = pos or args.pos alternant_multiword_spec.footnotes = args.footnote alternant_multiword_spec.args = args normalize_all_lemmas( alternant_multiword_spec ) detect_all_indicator_specs( alternant_multiword_spec ) propagate_properties( alternant_multiword_spec, "number", "both", "both" ) local inflect_props = { skip_slot = function( slot ) return skip_slot( alternant_multiword_spec.number, slot ) end, slot_table = output_noun_slots_with_linked, get_variants = get_variants, inflect_word_spec = handle_derived_slots_and_overrides, lang = lang }	iut.inflect_multiword_or_alternant_multiword_spec( alternant_multiword_spec, inflect_props ) compute_categories_and_annotation( alternant_multiword_spec ) return alternant_multiword_spec end

function export.show( frame ) local parent_args = frame:getParent.args or frame.args local pos = propernoun( parent_args[1] or "хаан" ) and "proper noun" or "noun" local alternant_multiword_spec = export.do_generate_forms( parent_args, pos ) show_forms( alternant_multiword_spec ) return make_table( alternant_multiword_spec ) .. require( "Module:utilities" ).format_categories( alternant_multiword_spec.categories, lang ) end

local function generate_inflection(form, inflection, vh) if match( inflection, "attr" ) then form = attributive( form, vh ) end if match( inflection, "|p$" ) then form = plural( form, vh ) vh = vowelharmony( form ) end if match( inflection, "gen" ) then form = genitive( form, vh ) end if match( inflection, "spos|indgen" ) or match( inflection, "refl poss|form|of the|gen|p" ) then form = singular_independent_genitive( form, vh ) end if match( inflection, "cpos|indgen" ) then form = collective_independent_genitive( form, vh ) end if match( inflection, "acc" ) then form = accusative( form, vh ) end if match( inflection, "dat" ) then form = dative_locative( form, vh ) end if match( inflection, "abl" ) then form = ablative( form, vh ) end if match( inflection, "ins" ) then form = instrumental( form, vh ) end if match( inflection, "com" ) then form = comitative( form, vh ) end if match( inflection, "priv" ) then form = privative( form, vh ) vh = vowelharmony( form ) end if match( inflection, "dirc" ) then form = directive( form, vh ) vh = vowelharmony( form ) end if match( inflection, "refl" ) then form = reflexive( form, vh ) end form = gsub(form, n, "") return form end

function export.inflect_traditional_form( trad_form, cyrl_orig, cyrl_form, cyrl_form_args, inflection ) local parse_props = { parse_indicator_spec = parse_indicator_spec }	local alternant_multiword_spec = iut.parse_inflected_text( cyrl_form_args, parse_props ) local vh = vowelharmony( cyrl_orig ) if alternant_multiword_spec.alternant_or_word_specs[1].decl == "n" then trad_form = trad_form .. n cyrl_orig = cyrl_orig .. n	elseif alternant_multiword_spec.alternant_or_word_specs[1].decl == "g" then cyrl_orig = cyrl_orig .. g	end if alternant_multiword_spec.alternant_or_word_specs[1].plural then for i, pl in ipairs(alternant_multiword_spec.alternant_or_word_specs[1].plural) do			local modifier if pl == "nuud" then modifier = nuud elseif pl == "chuud" then modifier = chuud elseif pl == "d" then modifier = d			elseif pl == "s" then modifier = s			end if modifier then local check = generate_inflection(cyrl_orig .. modifier, inflection, vh) if check == cyrl_form then trad_form = trad_form .. modifier break end end end end trad_form = generate_inflection(trad_form, inflection, vh) trad_form = gsub(trad_form, "([ᠠᠡᠣᠤᠧ])(ᠢ[ᠠ-ᡂᡸ])", "%1ᠶ%2") return trad_form end

return export

title: Module:mn-noun


text:
mjäkig

Etymology
.

Adjective

 * 1) soft and submissive, namby-pamby

title: mjäkig


text: ឡូវែល

title: ឡូវែល


text: ស្តុកតុន

title: ស្តុកតុន


text: ឡូសអេនជឺលេស

title: ឡូសអេនជឺលេស


text: ម៉ូដេស្តូ

title: ម៉ូដេស្តូ


text: ភីឡាដេលផ្យា

title: ភីឡាដេលផ្យា


text: Category:Mongolian о-harmonic nouns

title: Category:Mongolian о-harmonic nouns


text: Category:Mongolian nouns by vowel harmony


text: Category:Nouns by vowel harmony by language


text: សាន់ឌីអេហ្គោ

title: សាន់ឌីអេហ្គោ


text:
sopkorg

Noun

 * 1) a (small) trash can

title: sopkorg


text: សេនហ្វ្រេនស៊ីស្កូ

title: សេនហ្វ្រេនស៊ីស្កូ


text:
耶穌會士

Noun

 * 1) Jesuit

title: 耶穌會士


text: 耶稣会士

title: 耶稣会士


text:
會士

Noun

 * 1) member of a religious order, frater

title: 會士


text: 会士

title: 会士


text:
イエズス会士

Noun

 * 1) Jesuit

title: イエズス会士


text:
hard at work

Prepositional phrase

 * 1) Labouring with great effort and diligence; working hard.

title: hard at work


text:
hard at it

Prepositional phrase

 * 1) Energetically engaged in or working on something; going at it.

title: hard at it


text:
сільрада

Etymology
Shortening of.

Noun

 * 1) Rural council, village Soviet, village council rural administrative division of the UkSSR and of contemporary Ukraine
 * 2) Rural council, village council, village soviet rural administrative body of the UkSSR and of contemporary Ukraine
 * 3) the building in which this institution is housed
 * 1) the building in which this institution is housed

title: сільрада


text:
자동화하다

Etymology
.

Verb

 * 1) to automate

title: 자동화하다


text:
furternity leave

Etymology
or.

title: furternity leave


text: furternity leaves

title: furternity leaves


text: Parlagreco

title: Parlagreco


text:
qədir

Etymology
From.

Noun

 * 1) value

title: qədir


text:
ហ៊្វុនស៊ិនប៉ិច

Etymology
From.

Proper noun

 * 1)  FUNCINPEC, a Cambodian political party

title: ហ៊្វុនស៊ិនប៉ិច


text: Панъ

title: Панъ


text: FUNCINPEC

title: FUNCINPEC


text:
bachelorx party

Noun

 * 1)  A party held for a couple about to be married; a bachelorette party or bachelor party open to all guests, rather than those of a specific gender.

title: bachelorx party


text: bachelorx parties

title: bachelorx parties


text:
bachelorx

Etymology
.

Noun

 * 1)  Someone who has not yet married; a bachelor or bachelorette of any gender identity, especially one identifying as non-binary.
 * 2)  A bachelorx party.
 * 1)  A bachelorx party.
 * 1)  A bachelorx party.

title: bachelorx


text: bachelorxes

title: bachelorxes


text:
ܐܛܘܡܘܠܘܓܝܐ

Etymology
Ultimately from.

Noun

 * 1) etymology study of word origins

title: ܐܛܘܡܘܠܘܓܝܐ


text:
fakepreneur

Etymology
.

Noun

 * 1)  Someone falsely claiming to be an entrepreneur.

title: fakepreneur


text: fakepreneurs

title: fakepreneurs


text: Category:Mongolian а-harmonic nouns

title: Category:Mongolian а-harmonic nouns


text:
ܡܒܗܘܬ ܡܠܐ

Etymology
Coined by Bailis Yamlikha Shamun and first published in a 2020 dictionary. From the construct form of

Noun

 * 1) etymology account of the origin and historical development of a word

title: ܡܒܗܘܬ ܡܠܐ