text:
Module:Swadesh/data/gu

local m = {} m['nativename'] = "ગુજરાતી" m[1] = m[2] = {{notes = "informal", term = "તું"}, {notes = "formal", term = "તમે"}} m[3] = m[4] = m[5] = {{notes = "casual", term = "તમે"}, {notes = "polite", term = "આપ"}} m[6] = m[7] = m[8] = m[9] = m[10] = m[11] = m[12] = m[13] = m[14] = m[15] = {{term = "કેવી રીતે"}, {term = "કેમ"}} m[16] = {{term = "ન"}, {term = "નહીં"}} m[17] = {{term = "બધું"}, {term = "તમામ"}, {term = "સર્વ"}} m[18] = {{term = "બહુ"}, {term = "ઘણું"}} m[19] = {{term = "અમુક"}, {term = "થોડું"}} m[20] = m[21] = {{term = "બીજું"}, {term = "અન્ય"}} m[22] = m[23] = m[24] = m[25] = m[26] = m[27] = m[28] = m[29] = m[30] = {{term = "જાડું"}, {term = "ઘટ્ટ"}} m[31] = m[32] = m[33] = m[34] = m[35] = m[36] = m[37] = m[38] = m[39] = {{term = "બાળક"}, {term = "છોકરું"}} m[40] = m[41] = m[42] = m[43] = m[44] = m[45] = m[46] = {{term = "પંખી"}, {term = "પક્ષી"}} m[47] = m[48] = m[49] = m[50] = m[51] = {{term = "ઝાડ"}, {term = "વૃક્ષ"}} m[52] = {{term = "જંગલ"}, {term = "વન"}} m[53] = m[54] = m[55] = m[56] = m[57] = m[58] = m[59] = m[60] = m[61] = m[62] = m[63] = m[64] = m[65] = m[66] = m[67] = m[68] = m[69] = m[70] = m[71] = m[72] = m[73] = m[74] = m[75] = m[76] = {{term = "મોં"}, {term = "મુખ"}} m[77] = m[78] = m[79] = m[80] = m[81] = m[82] = m[83] = m[84] = m[85] = m[86] = m[87] = m[88] = m[89] = m[90] = m[91] = {{term = "યકૃત"}, {term = "કાળજું"}} m[92] = m[93] = m[94] = m[95] = m[96] = m[97] = m[98] = m[99] = {{term = "શ્વાસ લેવો"}, {term = "શ્વસવું"}} m[100] = m[101] = m[102] = m[103] = m[104] = m[105] = m[106] = m[107] = m[108] = m[109] = m[110] = m[111] = m[112] = m[113] = {{term = "મારવું"}, {term = "ઠોકવું"}} m[114] = m[115] = {{term = "ભાગ કરવો"}, {term = "ભાગવું"}} m[116] = m[117] = m[118] = m[119] = m[120] = m[121] = m[122] = m[123] = m[124] = m[125] = {{term = "ઊભવું"}, {term = "ઊભા રહેવું"}} m[126] = m[127] = m[128] = m[129] = m[130] = m[131] = m[132] = m[133] = m[134] = m[135] = m[136] = m[137] = m[138] = m[139] = m[140] = m[141] = m[142] = m[143] = {{term = "તરવું"}, {term = "તરાવવું"}} m[144] = m[145] = {{term = "ઠારવું"}, {term = "ઠરવું"}} m[146] = {{term = "સુજી જવું"}, {term = "સોજો આવવો"}} m[147] = {{term = "સૂર્ય"}, {term = "સુરજ"}} m[148] = {{term = "ચંદ્ર"}, {term = "ચાંદ"}} m[149] = m[150] = m[151] = m[152] = m[153] = {{term = "સરોવર"}, {term = "તળાવ"}} m[154] = m[155] = {{term = "મીઠું"}, {term = "ક્ષાર"}} m[156] = m[157] = m[158] = m[159] = m[160] = m[161] = m[162] = m[163] = m[164] = m[165] = m[166] = m[167] = m[168] = m[169] = m[170] = m[171] = m[172] = m[173] = m[174] = m[175] = m[176] = m[177] = m[178] = m[179] = m[180] = m[181] = m[182] = m[183] = m[184] = m[185] = m[186] = m[187] = m[188] = m[189] = m[190] = m[191] = m[192] = m[193] = m[194] = m[195] = {{term = "સુકું"}, {term = "કોરું"}} m[196] = m[197] = {{term = "નજીક"}, {term = "પાસે"}} m[198] = m[199] = m[200] = m[201] = m[202] = m[203] = m[204] = m[205] = m[206] = {{term = "કારણકે"}, {term = "કેમકે"}} m[207] = return m

title: Module:Swadesh/data/gu


text:
歕雞胿仔

Verb

 * 1)  to inflate a balloon

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

title: 歕雞胿仔


text: 歕鸡胿仔

title: 歕鸡胿仔


text:
iqtisodiyot

Etymology
From.

Noun

 * 1) economy
 * 2) economics

title: iqtisodiyot


text:
間怠っこしい

Adjective

 * 1) slow, tedious, sluggish, dull
 * 2) irritating

title: 間怠っこしい


text: まだるっこしい

title: まだるっこしい


text:
perineotomy

Noun

 * 1) Surgical incision into the perineum.

title: perineotomy


text: perineotomies

title: perineotomies


text: らちがあく

title: らちがあく


text:
埒が明かない

Adjective

 * 1)  make no progress, remain unsettled

title: 埒が明かない


text: らちがあかない

title: らちがあかない


text: 埒があかない

title: 埒があかない


text: らちが明かない

title: らちが明かない


text:
уйгурча

Etymology
From.

Proper noun

 * 1) Uyghur

title: уйгурча


text: ラチがあかない

title: ラチがあかない


text: bô-thâu-sîn

title: bô-thâu-sîn


text:
無頭神

Adjective

 * 1)  forgetful; absent-minded

title: 無頭神


text: 无头神

title: 无头神


text:
User talk:2601:643:8101:64E1:BD72:D749:F10E:F394

Don't make Ukrainian entries. You have no idea. --Anatoli T. (обсудить/вклад) 00:27, 12 August 2020 (UTC)


text: sái-sèng-tē

title: sái-sèng-tē


text:
薄縭絲

Adjective

 * 1)  thin

title: 薄縭絲


text: 薄缡丝

title: 薄缡丝


text: po̍h-li-si

title: po̍h-li-si


text:
User talk:2402:1980:8307:6BFD:CBD:4373:E21D:4633

торік
WTF do you think you're doing with the etymology? --Anatoli T. (обсудить/вклад) 00:35, 12 August 2020 (UTC)


text:
大面神

Adjective

 * 1) shameless; cheeky; impudent

title: 大面神


text: tōa-bīn-sîn

title: tōa-bīn-sîn


text: FMIC

title: FMIC


text: bē-phok-ké-phok

title: bē-phok-ké-phok


text:
袂博假博

Idiom

 * 1) pretend to understand

title: 袂博假博


text:
порада

Etymology
. Compare 🇨🇬, 🇨🇬.

Noun

 * 1)  a piece of advice.

title: порада


text: sai-nai

title: sai-nai


text: lia̍h-lêng

title: lia̍h-lêng


text: phàu-mī

title: phàu-mī


text: ka-lún-sún

title: ka-lún-sún


text: совѣтъ

title: совѣтъ


text: lia̍h-chún

title: lia̍h-chún


text: てがける

title: てがける


text: tegakeru

title: tegakeru


text: tamukeru

title: tamukeru


text: tamuke

title: tamuke


text: hikiiru

title: hikiiru


text: ひきゐる

title: ひきゐる


text: いひまはす

title: いひまはす


text: imawashii

title: imawashii


text: いまはしい

title: いまはしい


text:
fiendette

Noun

 * 1) A female.
 * 2) A little.

Synonyms

 * 1) (Female fiend):, , , , ,
 * 2) (Little fiend):, , , , , , , , ,

title: fiendette


text: 児ら

title: 児ら


text: よろこばしい

title: よろこばしい


text: yorokobashii

title: yorokobashii


text: おの

title: おの


text: おのだ

title: おのだ


text: おのでら

title: おのでら


text: Onodera

title: Onodera


text: orosu

title: orosu


text: Category:cs:Vocalizations

title: Category:cs:Vocalizations


text: Category:be:Vocalizations

title: Category:be:Vocalizations


text: Category:be:Sounds

title: Category:be:Sounds


text: Category:uk:Vocalizations

title: Category:uk:Vocalizations


text: Category:uk:Sounds

title: Category:uk:Sounds


text:
ʔilitub

Noun

 * 1) cause to sing, repeat or interpret

title: ʔilitub


text:
ʔilyid

Noun

 * 1) sing something for someone

title: ʔilyid


text:
জঙাই

Etymology
,, from , from , from. Compare 🇨🇬, 🇨🇬,  /, 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬.

Noun

 * 1)  son-in-law

title: জঙাই


text: かみがくし

title: かみがくし


text: kamigakushi

title: kamigakushi


text:
ʔiləɬəxʷ

Noun

 * 1) form of verb

title: ʔiləɬəxʷ


text: planém

title: planém


text:
Talk:زامل

In Yemeni Arabic, the word Zamil (زامل plural: zwamil or زوامل) is a name for a type of country poetry. Zawamil are widely used by tribal poets and could be sang collectively by tribesmen.

title: Talk:زامل


text:
Module:Swadesh/data/sa

local m = {} m['nativename'] = 'संस्कृतम्' m[1] = m[2] = m[3] = m[4] = {{term = "वयम्", tr = "vayám"}, {term = "नस्"}} m[5] = {{term = "यूयम्", tr = "yūyám"}, {term = "वस्"}} m[6] = m[7] = m[8] = m[9] = {{term = "अत्र", tr = "átra"}, {term = "इह", tr = "íha"}} m[10] = m[11] = m[12] = m[13] = {{term = "कुत्र", tr = "kútra"}, {term = "कुह", tr = "kúha"}, {term = "क्व", tr = "kvà"}} m[14] = m[15] = m[16] = m[17] = {{term = "सर्व", tr = "sárva"}, {term = "विश्व", tr = "víśva"}} m[18] = m[19] = m[20] = m[21] = m[22] = m[23] = m[24] = m[25] = m[26] = m[27] = m[28] = m[29] = m[30] = m[31] = m[32] = m[33] = m[34] = m[35] = m[36] = m[37] = {{term = "पुरुष", tr = "púruṣa"}, {term = "नर", tr = "nára"}} m[38] = {{term = "मनुष्य", tr = "manuṣyá"}, {term = "मानव"}} m[39] = {{term = "बाल", tr = "bā́la"}, {term = "शिशु", tr = "śíśu"}} m[40] = {{term = "पत्नी", tr = "pátnī"}, {term = "भार्या", tr = "bhāryā́"}} m[41] = m[42] = m[43] = m[44] = m[45] = m[46] = {{term = "वि", tr = "ví"}, {term = "पक्षिन्"}} m[47] = m[48] = m[49] = m[50] = m[51] = {{term = "वृक्ष", tr = "vṛkṣá"}, {term = "तरु", tr = "tarú"}} m[52] = m[53] = m[54] = m[55] = m[56] = m[57] = m[58] = m[59] = m[60] = m[61] = m[62] = {{term = "चर्मन्", tr = "cárman"}, {term = "त्वच्", tr = "tvác"}} m[63] = m[64] = {{term = "रक्त"}, {term = "असृज्", tr = "ásṛj"}} m[65] = m[66] = {{term = "पीवस्", tr = "pī́vas"}, {term = "मेदस्", tr = "médas"}} m[67] = m[68] = m[69] = m[70] = m[71] = m[72] = m[73] = m[74] = m[75] = m[76] = {{term = "वक्त्र"}, {term = "मुख", tr = "múkha"}} m[77] = m[78] = m[79] = m[80] = m[81] = m[82] = m[83] = {{term = "हस्त", tr = "hásta"}, {term = "पाणि", tr = "pāṇí"}} m[84] = m[85] = m[86] = {{term = "अन्त्र", tr = "ántra"}, {term = "आन्त्र"}, {term = "गुद", tr = "gudá"}} m[87] = {{term = "गल"}, {term = "ग्रीवा", tr = "grīvā́"}} m[88] = m[89] = m[90] = m[91] = m[92] = m[93] = {{term = "खादति", tr = "khā́dati"}, {term = "अत्ति", tr = "átti"}} m[94] = m[95] = m[96] = m[97] = m[98] = m[99] = m[100] = {{term = "स्मयते", tr = "smáyate"}, {term = "हसति", tr = "hásati"}} m[101] = {{term = "पश्यति", tr = "páśyati", notes = "only in the present system"}, {term = "दृश्", notes = "everywhere else"}} m[102] = m[103] = m[104] = {{term = "मन्यते", tr = "mányate"}, {term = "चिन्तयति", tr = "cintayati"}} m[105] = m[106] = {{term = "बिभेति", tr = "bibhéti"}, {term = "भयते", tr = "bháyate", notes = "Vedic"}} m[107] = m[108] = m[109] = m[110] = m[111] = m[112] = m[113] = {{term = "हन्ति", tr = "hánti"}, {term = "ताडयति", tr = "tāḍáyati"}} m[114] = m[115] = m[116] = m[117] = m[118] = m[119] = m[120] = m[121] = {{term = "एति", tr = "éti"}, {term = "गच्छति", tr = "gácchati"}, {term = "चरति", tr = "cárati"}} m[122] = m[123] = m[124] = m[125] = m[126] = m[127] = m[128] = m[129] = m[130] = m[131] = m[132] = m[133] = m[134] = m[135] = m[136] = m[137] = {{term = "बध्नाति", tr = "badhnā́ti"}, {term = "बन्धति"}} m[138] = m[139] = {{term = "गणयति", tr = "gáṇayati"}, {term = "कलते", tr = "kálate"}} m[140] = m[141] = m[142] = m[143] = m[144] = {{term = "सरति", tr = "sárati"}, {term = "क्षरति", tr = "kṣárati"}} m[145] = m[146] = m[147] = {{term = "सूर्य", tr = "sū́rya"}, {term = "रवि"}, {term = "सूर", tr = "sū́ra"}, {term = "भास्कर"}} m[148] = {{term = "मास", tr = "mā́sa"}, {term = "चन्द्रमस्"}, {term = "चन्द्र", tr = "candrá"}} m[149] = {{term = "नक्षत्र", tr = "nákṣatra"}, {term = "स्तृ", tr = "stṛ́"}, {term = "तारा"}} m[150] = {{term = "जल", tr = "jalá"}, {term = "अप्", tr = "áp"}, {term = "पानीय"}, {term = "वारि", tr = "vā́ri"}, {term = "उदन्", tr = "udán"}, {term = "तोज"}} m[151] = m[152] = m[153] = m[154] = m[155] = m[156] = m[157] = {{term = "पांसु", tr = "pāṃsú"}, {term = "शिकता", tr = "śíkatā"}} m[158] = m[159] = {{term = "क्षम्", tr = "kṣám"}, {term = "पृथ्वी", tr = "pṛthvī́"}} m[160] = {{term = "नभस्", tr = "nábhas"}, {term = "मेघ", tr = "meghá"}} m[161] = m[162] = m[163] = {{term = "वायु", tr = "vāyú"}, {term = "वात", tr = "vā́ta"}} m[164] = {{term = "हिम", tr = "himá"}, {term = "तुषार"}, {term = "तुहिन"}} m[165] = m[166] = m[167] = m[168] = m[169] = m[170] = {{term = "पथ"}, {term = "अध्वन्", tr = "ádhvan"}, {term = "मार्ग"}} m[171] = {{term = "गिरि", tr = "girí"}, {term = "पर्वत", tr = "párvata"}} m[172] = {{term = "रक्त"}, {term = "रोहित", tr = "róhita"}} m[173] = {{term = "हरित्"}, {term = "हरित"}, {term = "पालाश", tr = "pā́lāśa"}, {term = "पलाश"}} m[174] = {{term = "पीत"}, {term = "पीतल"}} m[175] = m[176] = m[177] = {{term = "रात्रि", tr = "rā́tri"}, {term = "नक्ति", tr = "nákti"}, {term = "क्षप्", tr = "kṣáp"}, {term = "रजनी"}} m[178] = {{term = "दिन", tr = "diná"}, {term = "अहर्", tr = "áhar"}, {term = "दिवस"}} m[179] = {{term = "वर्ष", tr = "varṣá"}, {term = "संवत्सर"}} m[180] = m[181] = m[182] = m[183] = {{term = "नव", tr = "náva"}, {term = "नूतन", tr = "nū́tana"}} m[184] = {{term = "जीर्ण", tr = "jīrṇá"}, {term = "वृद्ध", tr = "vṛddhá"}, {term = "पुरातन"}} m[185] = {{term = "वसु", tr = "vásu"}, {term = "भद्र", tr = "bhadrá"}} m[186] = {{term = "पाप", tr = "pāpá"}, {term = "दुष्ट"}} m[187] = m[188] = {{term = "मलिन"}, {term = "समल"}} m[189] = {{term = "ऋजु", tr = "ṛjú"}, {term = "साधु", tr = "sādhú"}} m[190] = {{term = "वृत्त", tr = "vṛttá"}, {term = "वर्तुल"}} m[191] = m[192] = m[193] = {{term = "श्लक्ष्ण", tr = "ślakṣṇá"}, {term = "स्निग्ध", tr = "snigdhá"}} m[194] = {{term = "आर्द्र", tr = "ārdrá"}, {term = "क्लिन्न", tr = "klinná"}} m[195] = m[196] = {{term = "शुद्ध", tr = "śuddhá"}, {term = "सत्य", tr = "satyá"}} m[197] = {{term = "नेद", notes = "adjective"}, {term = "प्रति", notes = "preposition"}} m[198] = m[199] = m[200] = m[201] = m[202] = m[203] = m[204] = m[205] = m[206] = m[207] = return m

title: Module:Swadesh/data/sa


text: planie

title: planie


text:
User:Aearthrise/RomanceLanguage/Christian Latin Course

By Andrew Earthrise

Welcome to the Christian Latin Course. This version of Latin teaches Latin from late Roman Empire to the Renaissance.

Words are linked to the source on wiktionary pages. Most come from Du Cange's Medieval Latin glossary.

Late Latin Pronunciation
The pronunciation here is Late Latin, described in Isidore of Seville's Etymologia

Æ, Ae is pronounced as ay, cape

Di sounds like j, John

Ti sounds like ts, Shiatsu

Qu sounds like k, kick, except behind letter "a" where it sounds kw, quick

V sounds like v, very

Ph is pronounced f, father

Th sounds like t, tiger

C is always k, cat

G is always hard g, God

H is pronounced h, hair

Chapter 1

'''Salutem! Quis es tu?'''

Hello! Who are you?

Ego sum Senior Andreas.

I am Mister Andrew.

Et quis es tu?

And who are you?

Ego sum Seniorissa Maria.

I am Miss Maria.

Salutem Senior Andrea!

Hello Mister Andrew!

Salutem Seniorissa Maria!

Hello Miss Maria!

Quomodo stas tu?

How are you?

Ego sto bene.

I am well.

Salutem Senior Andrea!

Hello Mister Andrew!

Salutem Seniorissa Maria!

Hello Miss Maria!

Quomodo stas tu?

How are you?

Ego sto optime.

I am great.

Chapter 2

Salutem tibi!

Hello to you!

Salve amice!

Hello friend!

Quid est nomen tuum?

What is your name?

Nomen meum est Seniorissa Theodora .

My name is Miss Theodora.

Quid est nomen tuum, amice?

What is your name, friend?

Nomen meum est Senior Marcus .

My name is Mister Marcus.

Ego sum incantata, Senior Marce .

I am very pleased, Mister Marcus.

Ego sum incantatus, Seniorissa Theodora .

I am very pleased, Miss Theodora.

Ego gratias tibi ago, amice.

I thank you, friend!

Ego gratias tibi ago, Seniorissa Theodora.

I thank you, Miss Theodora!

Ad Deum, amice!

Goodbye to you, friend!

Ad Deum, Senior!

Goodbye Mister!


text:
User:Quaynt/modern.js

function Apply_Styles { if(document.title === "Wiktionary, the free dictionary") { // - COLOURS - var content_bg_color = "black";

var text_bg_color = "green"; var text_border = "3px solid blue"; var table_bg_color = "red"; var table_border = "3px solid yellow"; var hr_color = "indigo"; var search_bar_bg_color = "orange"; var search_bar_border = "3px solid black"; var search_bar_text_color = "white"; var search_button_bg_color = "orange"; var search_button_border = "3px solid black"; var search_button_text_color = "white"; // -	// -	// -	// - Variables - var tds = document.getElementsByTagName('td'); var tables = document.getElementsByTagName('table'); var divs = document.getElementsByTagName('div'); var hrs = document.getElementsByTagName('hr'); var input = document.getElementsByClassName('mw-ui-input'); var button = document.getElementsByClassName('mw-ui-button'); var j = 0; // - Content BG Colour - document.getElementById('content').style.backgroundColor = content_bg_color; // - Text - // - BG Colour for(j = 17; j <=19; j++) { divs[j].style.backgroundColor = text_bg_color; }	// - Border divs[17].style.borderTop = text_border; divs[19].style.borderBottom = text_border; for(j = 17; j <=19; j++) { divs[j].style.borderLeft = text_border; divs[j].style.borderRight = text_border; }	// - Tables / Boxes - // - HR / Horizontal Line Colour divs[22].style.borderBottomColor = hr_color; divs[27].style.borderBottomColor = hr_color; for(j = 0; j <=5; j++) { hrs[j].style.backgroundColor = "indigo"; }	// - BG Colour for(j = 6; j <=16; j++) { tds[j].style.backgroundColor = table_bg_color; }	for(j = 1; j <=3; j++) { tds[j].style.backgroundColor = table_bg_color; }	tds[19].style.backgroundColor = table_bg_color; for(j = 1; j <=4; j++) { tables[j].style.backgroundColor = table_bg_color; }	divs[32].style.backgroundColor = table_bg_color; // - Border for(j = 1; j <=4; j++) { tables[j].style.border = table_border; }	tds[19].style.border = table_border; divs[32].style.border = table_border; // - Big Search Bar and Button - input[0].style.backgroundColor = search_bar_bg_color; input[0].style.border = search_bar_border; input[0].style.boxShadow = "none"; input[0].style.color = search_bar_text_color; button[0].style.backgroundColor = search_button_bg_color; button[0].style.border = search_button_border; button[0].style.color = search_button_text_color; }}

function Main_Page_Style { if(document.title === "Wiktionary, the free dictionary") { var divs = document.getElementsByTagName('div'); divs[32].style.backgroundColor = "#E9F3FF"; divs[32].style.border = "3px solid #AABBDD"; } }

$(document).ready(Main_Page_Style);

function Scroll { var tgt = document.getElementById('toc'); var ul = tgt.getElementsByTagName('ul'); ul[0].scrollTop = 0; }

var tgt = document.getElementById('toc'); tgt.addEventListener("mouseenter", Scroll);

title: User:Quaynt/modern.js


text:
Module:Swadesh/data/hif

local m = {} m[1] = m[2] = {{term = "tum", notes = "informal"}, {term = "aap", notes = "formal"}} m[3] = {{term = "uu"}, {term = "ii"}} m[4] = m[5] = {{term = "tum log", notes = "informal"}, {term = "aap log", notes = "formal"}} m[6] = m[7] = m[8] = m[9] = m[10] = m[11] = {{term = "kon"} } m[12] = {{term = "ka"}, {term = "konchi"}} m[13] = {{term = "kahaan"} } m[14] = {{term = "kab"} } m[15] = {{term = "kaise"} } m[16] = m[17] = m[18] = {{term = "bahut"}, {term = "dher"}} m[19] = m[20] = m[21] = m[22] = m[23] = m[24] = m[25] = m[26] = m[27] = {{term = "barraa"}, {term = "bhaari"}} m[28] = m[29] = m[30] = m[31] = m[32] = m[33] = m[34] = m[35] = m[36] = m[37] = m[38] = m[39] = {{term = "larrka", notes = "boy"}, {term = "larrki", notes = "girl"}} m[40] = m[41] = m[42] = m[43] = m[44] = m[45] = m[46] = m[47] = m[48] = m[49] = m[50] = m[51] = m[52] = m[53] = m[54] = m[55] = m[56] = m[57] = m[58] = m[59] = m[60] = m[61] = m[62] = m[63] = m[64] = m[65] = m[66] = m[67] = m[68] = m[69] = m[70] = m[71] = m[72] = m[73] = m[74] = m[75] = m[76] = m[77] = m[78] = m[79] = m[80] = m[81] = m[82] = m[83] = m[84] = m[85] = m[86] = m[87] = m[88] = m[89] = m[90] = m[91] = m[92] = m[93] = m[94] = m[95] = m[96] = m[97] = m[98] = m[99] = m[100] = m[101] = m[102] = m[103] = m[104] = m[105] = m[106] = m[107] = m[108] = m[109] = m[110] = m[111] = m[112] = {{term = "sikaar karo"} } m[113] = m[114] = m[115] = {{term = "baanto", notes = "give away"}, {term = "chiiro", notes="tear apart"}} m[116] = m[117] = m[118] = m[119] = m[120] = m[121] = m[122] = m[123] = m[124] = m[125] = m[126] = m[127] = m[128] = m[129] = m[130] = m[131] = m[132] = m[133] = m[134] = m[135] = m[136] = m[137] = m[138] = m[139] = m[140] = m[141] = m[142] = m[143] = m[144] = m[145] = m[146] = m[147] = m[148] = m[149] = m[150] = m[151] = m[152] = m[153] = m[154] = m[155] = m[156] = m[157] = m[158] = m[159] = m[160] = m[161] = m[162] = m[163] = m[164] = m[165] = m[166] = m[167] = m[168] = m[169] = m[170] = m[171] = m[172] = m[173] = m[174] = m[175] = m[176] = m[177] = m[178] = m[179] = m[180] = m[181] = m[182] = m[183] = m[184] = m[185] = m[186] = m[187] = m[188] = m[189] = m[190] = m[191] = m[192] = m[193] = m[194] = m[195] = m[196] = m[197] = m[198] = m[199] = m[200] = m[201] = m[202] = m[203] = m[204] = m[205] = m[206] = m[207] = return m

title: Module:Swadesh/data/hif


text:
Reconstruction:Proto-West Germanic/kind

Etymology
From.

Noun

 * 1)  child

Descendants

 * Vorarlbergerisch:
 * Walser:
 * Viennese:
 * Eifelisch:, ,
 * Erzgebirgisch: [kʰɪnt]
 * Frankfurterisch: [kʰint]
 * Vorarlbergerisch:
 * Walser:
 * Viennese:
 * Eifelisch:, ,
 * Erzgebirgisch: [kʰɪnt]
 * Frankfurterisch: [kʰint]
 * Eifelisch:, ,
 * Erzgebirgisch: [kʰɪnt]
 * Frankfurterisch: [kʰint]
 * Erzgebirgisch: [kʰɪnt]
 * Frankfurterisch: [kʰint]
 * Erzgebirgisch: [kʰɪnt]
 * Frankfurterisch: [kʰint]
 * Frankfurterisch: [kʰint]
 * Frankfurterisch: [kʰint]
 * Frankfurterisch: [kʰint]
 * Frankfurterisch: [kʰint]
 * Frankfurterisch: [kʰint]

title: Reconstruction:Proto-West Germanic/kind


text:
Module:Swadesh/data/bho

local m = {} m['nativename'] = 'भोजपुरी' m[1] = m[2] = {{term = "ते"}, {term = "तु"}} m[3] = m[4] = m[5] = m[6] = m[7] = m[8] = m[9] = m[10] = m[11] = {{term = "कवन"}, {term = "के"}} m[12] = m[13] = m[14] = m[15] = m[16] = m[17] = {{term = "कुल"}, {term = "सभ"}} m[18] = {{term = "ज़ादे"}, {term = "ढेरे"}} m[19] = {{term = "थोड़ी"}, {term = "कुछु"}} m[20] = {{term = "कम"}, {term = "तनि"}} m[21] = {{term = "दुसर"}, {term = "बाजो"}} m[22] = m[23] = m[24] = m[25] = m[26] = m[27] = m[28] = m[29] = m[30] = m[31] = m[32] = {{term = "छोट"}, {term = "नन्ही"}} m[33] = m[34] = m[35] = m[36] = {{term = "मेहरारू"}, {term = "औरत"}} m[37] = {{term = "मरद"}, {term = "अदीमी"}} m[38] = m[39] = m[40] = {{term = "मेहरारू"}, {term = "लुगाई"}} m[41] = {{term = "मरद"}, {term = "भरतार"}} m[42] = {{term = "मतारी"}, {term = "माई"}} m[43] = {{term = "पितर"}, {term = "बाबूजी"}} m[44] = m[45] = m[46] = m[47] = m[48] = m[49] = {{term = "सरफ"}, {term = "साँप"}} m[50] = {{term = "कीड़ा"}, {term = "फतिंगा"}} m[51] = {{term = "फेड़"}, {term = "दरख"}} m[52] = m[53] = {{term = "डण्डा"}, {term = "लट्ठ"}} m[54] = m[55] = m[56] = {{term = "पात"}, {term = "पतई"}} m[57] = m[58] = {{term = "छाल"}, {term = "खाल"}} m[59] = m[60] = m[61] = m[62] = m[63] = {{term = "शिकार"}, {term = "गोश"}} m[64] = m[65] = m[66] = m[67] = m[68] = m[69] = m[70] = m[71] = {{term = "बार"}, {term = "केस"}} m[72] = {{term = "कपार"}, {term = "सिस"}} m[73] = m[74] = m[75] = m[76] = m[77] = m[78] = m[79] = {{term = "नाख़ुन"}, {term = "नख"}} m[80] = {{term = "गोड़"}, {term = "पैर"}} m[81] = m[82] = m[83] = m[84] = m[85] = m[86] = m[87] = m[88] = m[89] = {{term = "छाती"}, {term = "सीना"}} m[90] = {{term = "हीव"}, {term = "हिरदय"}, {term = "दिल"}} m[91] = {{term = "जिगर"}, {term = "करेजा", notes = "also 'heart'"}} m[92] = m[93] = m[94] = m[95] = m[96] = m[97] = m[98] = m[99] = m[100] = m[101] = m[102] = m[103] = m[104] = m[105] = m[106] = m[107] = m[108] = m[109] = m[110] = m[111] = m[112] = m[113] = m[114] = m[115] = m[116] = m[117] = m[118] = m[119] = m[120] = m[121] = {{term = "चले"}, {term = "चलावे"}} m[122] = m[123] = m[124] = m[125] = m[126] = m[127] = m[128] = m[129] = m[130] = m[131] = m[132] = m[133] = m[134] = m[135] = m[136] = {{term = "फेंके"}, {term = "बिगे"}} m[137] = m[138] = m[139] = m[140] = m[141] = m[142] = m[143] = {{term = "तैरे"}, {term = "तैरावे"}} m[144] = m[145] = m[146] = m[147] = m[148] = m[149] = m[150] = m[151] = m[152] = m[153] = m[154] = m[155] = {{term = "निमक"}, {term = "नून"}} m[156] = m[157] = m[158] = m[159] = {{term = "ज़मीन"}, {term = "धरती"}} m[160] = m[161] = {{term = "धुंध"}, {term = "कुहा"}} m[162] = m[163] = m[164] = m[165] = m[166] = m[167] = m[168] = m[169] = m[170] = {{term = "सड़क"}, {term = "रह्ता"}, {term = "रस्ता"}} m[171] = m[172] = m[173] = m[174] = m[175] = m[176] = m[177] = m[178] = m[179] = m[180] = m[181] = m[182] = m[183] = m[184] = m[185] = m[186] = m[187] = m[188] = m[189] = m[190] = m[191] = m[192] = m[193] = m[194] = m[195] = m[196] = m[197] = m[198] = m[199] = m[200] = m[201] = m[202] = m[203] = m[204] = m[205] = m[206] = m[207] = return m

title: Module:Swadesh/data/bho


text:
Reconstruction:Proto-West Germanic/steupa-

Etymology
From.

Prefix

 * 1) step-

Reconstruction notes
Many descendants altered p to f under the influence of the f in words for "stepfather", which were then carried over to the other forms.


text:
N99

Noun

 * 1) A  type that efficiently filters out 99% of airborne particulates of 0.3 microns (and all larger particles), but which is not resistant to oils.
 * 2) By extension, filtration  of 99% of airborne particulates
 * 3) A  implementing the N99 standard.

Etymology
From in s.

Noun

 * 1)  N99 standard
 * 2)  N99 filter
 * 1)  N99 filter

Coordinate terms

 * , 99% filtration
 * ,, 99.97% filtration

Related terms

 * oil-resistant filter standard
 * oil-proof filter standard

title: N99


text:
N100

Noun

 * 1) A  type that efficiently filters out 99.97% of airborne particulates of 0.3 microns (and all larger particles), but which is not resistant to oils.
 * 2) By extension, filtration  of 99.97% of airborne particulates
 * 3) A  implementing the N95 standard.

Etymology
From in s.

Noun

 * 1)  N100 standard
 * 2)  N100 filter
 * 1)  N100 filter

Coordinate terms

 * ,, 99% filtration
 * , 99.97% filtration

Related terms

 * oil-resistant filter standard
 * oil-proof filter standard

title: N100


text:
Module:Swadesh/data/rom

local m = {} m['nativename'] = 'rromani ćhib' m[1] = m[2] = m[3] = {{term = "ov", notes = "masculine"}, {term = "oj", notes = "feminine"}} m[4] = m[5] = m[6] = m[7] = m[8] = m[9] = m[10] = m[11] = m[12] = m[13] = m[14] = m[15] = m[16] = m[17] = m[18] = m[19] = m[20] = m[21] = m[22] = m[23] = m[24] = m[25] = m[26] = m[27] = m[28] = m[29] = m[30] = m[31] = m[32] = m[33] = m[34] = m[35] = m[36] = m[37] = m[38] = m[39] = m[40] = m[41] = m[42] = m[43] = m[44] = m[45] = m[46] = m[47] = m[48] = m[49] = m[50] = m[51] = m[52] = m[53] = m[54] = m[55] = m[56] = m[57] = m[58] = m[59] = m[60] = m[61] = m[62] = m[63] = m[64] = m[65] = m[66] = m[67] = m[68] = m[69] = m[70] = m[71] = m[72] = m[73] = m[74] = m[75] = m[76] = m[77] = m[78] = m[79] = m[80] = m[81] = m[82] = m[83] = m[84] = m[85] = m[86] = m[87] = m[88] = m[89] = m[90] = m[91] = m[92] = m[93] = m[94] = m[95] = m[96] = m[97] = m[98] = m[99] = m[100] = m[101] = m[102] = m[103] = m[104] = m[105] = m[106] = m[107] = m[108] = m[109] = m[110] = m[111] = m[112] = m[113] = m[114] = m[115] = m[116] = m[117] = m[118] = m[119] = m[120] = m[121] = m[122] = m[123] = m[124] = m[125] = m[126] = m[127] = m[128] = m[129] = m[130] = m[131] = m[132] = m[133] = m[134] = m[135] = m[136] = m[137] = m[138] = m[139] = m[140] = m[141] = m[142] = m[143] = m[144] = m[145] = m[146] = m[147] = m[148] = m[149] = m[150] = m[151] = m[152] = m[153] = m[154] = m[155] = m[156] = m[157] = m[158] = m[159] = m[160] = m[161] = m[162] = m[163] = m[164] = m[165] = m[166] = m[167] = m[168] = m[169] = m[170] = m[171] = m[172] = m[173] = m[174] = m[175] = m[176] = m[177] = m[178] = m[179] = m[180] = m[181] = m[182] = m[183] = m[184] = m[185] = m[186] = m[187] = m[188] = m[189] = m[190] = m[191] = m[192] = m[193] = m[194] = m[195] = m[197] = m[198] = m[199] = m[200] = m[201] = m[202] = m[203] = m[204] = m[205] = m[206] = m[207] = return m

title: Module:Swadesh/data/rom


text:
yoltsij

Noun

 * 1) heart

title: yoltsij


text:
개최

Etymology
.

Noun

 * 1) holding a conference or event

title: 개최


text:
xilij

Noun

 * 1) crab

title: xilij


text:
uitsitsilij

Noun

 * 1) hummingbird

title: uitsitsilij


text:
Module:Swadesh/data/mr

local m = {} m['nativename'] = "मराठी" m[1] = {{term = "मी"}, {term = "आम्ही", notes = "royal we, grammatically plural"}} m[2] = {{term = "तू", notes = "familiar"}, {term = "तुम्ही", notes = "casual, grammatically plural"}, {term = "आपण", notes = "polite, grammatically plural"}} m[3] = {{term = "हा", notes = "proximal"}, {term = "तो", notes = "distal"}} m[4] = {{term = "आम्ही", notes = "exclusive"}, {term = "आपण", notes = "inclusive"}} m[5] = {{term = "तुम्ही", notes = "casual"}, {term = "आपण", notes = "polite"}} m[6] = {{term = "हे", notes = "proximal masculine"}, {term = "ह्या", notes = "proximal feminine"}, {term = "ते", notes = "distal masculine"}, {term = "त्या", notes = "distal feminine"}} m[7] = {{term = "हा", notes = "masculine"}, {term = "ही", notes = "feminine"}, {term = "हे", notes = "neuter"}} m[8] = {{term = "तो", notes = "masculine"}, {term = "ती", notes = "feminine"}, {term = "ते", notes = "neuter"}} m[9] = {{term = "इथे"}, {term = "इकडे"}} m[10] = {{term = "तिथे"}, {term = "तिकडे"}} m[11] = m[12] = m[13] = m[14] = {{term = "केव्हा"}, {term = "कधी"}} m[15] = m[16] = m[17] = {{term = "सगळे"}, {term = "सर्व"}, {term = "सारे"}} m[18] = {{term = "पुष्कळ"}, {term = "बरेच", tr = "bareċ"}, {term = "खूप"}, {term=" लई"}} m[19] = m[20] = {{term = "थोडे"}, {term = "कमी"}} m[21] = {{term = "इतर"}, {term = "दुसरे"}} m[22] = m[23] = m[24] = m[25] = m[26] = m[27] = m[28] = m[29] = m[30] = m[31] = m[32] = {{term = "लहान"}, {term = "छोटे"}} m[33] = m[34] = {{term = "निरुंद"}, {term = "अरुंद"}} m[35] = {{term = "पातळ"}, {term = "बारीक"}} m[36] = m[37] = m[38] = m[39] = m[40] = m[41] = m[42] = m[43] = {{term = "वडील"}, {term = "बाप"}, {term = "बाबा"}} m[44] = m[45] = m[46] = {{term = "पक्षी"}, {term = "पाखरू"}} m[47] = m[48] = m[49] = m[50] = m[51] = m[52] = m[53] = m[54] = m[55] = m[56] = m[57] = m[58] = m[59] = m[60] = m[61] = {{term = "दोरी"}, {term = "रस्सी"}} m[62] = m[63] = m[64] = m[65] = m[66] = m[67] = m[68] = m[69] = {{term = "शेपूट"}, {term = "शेपटी"}} m[70] = m[71] = m[72] = m[73] = m[74] = m[75] = m[76] = m[77] = m[78] = m[79] = m[80] = m[81] = m[82] = m[83] = m[84] = m[85] = m[86] = m[87] = m[88] = m[89] = {{term = "छाती"}, {term = "स्तन"}} m[90] = m[91] = {{term = "यकृत"}, {term = "काळीज"}} m[92] = m[93] = m[94] = m[95] = m[96] = m[97] = m[98] = m[99] = m[100] = m[101] = {{term = "दिसणे", notes = "intransitive"}, {term = "पाहणे"}, {term = "बघणे"}} m[102] = m[103] = {{term = "माहीत असणे"}, {term = "जाणणे", tr = "j̈āṇṇe"}, {term = "ओळखणे", notes = "for people"}} m[104] = m[105] = {{term = "वास घेणे"}, {term = "हुंगणे"}} m[106] = {{term = "घाबरणे"}, {term = "भिणे"}} m[107] = {{term = "झोपणे", tr = "j̈hopṇe"}, {term = "निजणे", tr = "nij̈ṇe"}} m[108] = m[109] = m[110] = m[111] = m[112] = m[113] = m[114] = m[115] = {{term = "वाटणे", notes = "to distribute"}, {term = "चिरणे", notes = "to slice"}} m[116] = m[117] = m[118] = {{term = "खोदणे"}, {term = "खणणे"}} m[119] = m[120] = m[121] = m[122] = m[123] = m[124] = m[125] = m[126] = m[127] = m[128] = m[129] = m[130] = {{term = "पिळणे"}, {term = "चेपणे"}, {term = "दाबणे"}} m[131] = {{term = "घासणे", notes = "abrasive"}, {term = "चोळणे", tr = "ċolṇe"}} m[132] = m[133] = m[134] = {{term = "खेचणे", tr = "kheċṇe"}, {term = "ओढणे"}} m[135] = m[136] = {{term = "फेकणे"}, {term = "टाकणे"}} m[137] = m[138] = m[139] = m[140] = {{term = "बोलणे", notes = "intransitive"}, {term = "म्हणणे"}} m[141] = m[142] = m[143] = m[144] = m[145] = m[146] = {{term = "फुगणे", notes = "to be inflated"}, {term = "सुजणे", tr = "suj̈ṇe"}} m[147] = m[148] = m[149] = m[150] = m[151] = m[152] = m[153] = m[154] = m[155] = m[156] = m[157] = m[158] = m[159] = m[160] = m[161] = m[162] = m[163] = m[164] = m[165] = m[166] = m[167] = m[168] = m[169] = m[170] = m[171] = m[172] = m[173] = m[174] = m[175] = m[176] = m[177] = m[178] = m[179] = m[180] = {{term = "गरम"}, {term = "उबदार"}} m[181] = {{term = "गार"}, {term = "थंड"}} m[182] = m[183] = {{term = "नवे"}, {term = "नवीन"}} m[184] = m[185] = m[186] = m[187] = m[188] = m[189] = m[190] = m[191] = m[192] = m[193] = m[194] = m[195] = {{term = "कोरडे"}, {term = "सुके"}} m[196] = m[197] = m[198] = {{term = "दूर"}, {term = "लांब"}} m[199] = m[200] = m[201] = {{term = "locative and dative cases, ʻinʼ, deictic pronouns", nolink = 1}, {term = "कडे"}} m[202] = {{term = "मध्ये"}, {term = "आत"}} m[203] = {{term = "बरोबर"}, {term = "सह"}} m[204] = m[205] = m[206] = m[207] = return m

title: Module:Swadesh/data/mr


text:
weyiatl

Noun

 * 1) sea

title: weyiatl


text:
tsopilotl

Noun

 * 1) zopilote

title: tsopilotl


text:
tsojmi

Noun

 * 1) zopilote

title: tsojmi


text:
tsapotl

Noun

 * 1) zapote

Noun

 * 1) zapote.

Noun

 * 1) banana.

Noun

 * 1) zapote.

Noun

 * 1) zapote

title: tsapotl


text:
tlikoli

Noun

 * 1) charcoal

title: tlikoli


text:
Module:Swadesh/data/as

local m = {} m['nativename'] = 'অসমীয়া' m[1] = m[2] = {{term = "তই", notes = "familiar"}, {term = "তুমি", notes = "casual"}, {term = "আপুনি", notes = "polite"}} m[3] = {{term = "সি"}, {term = "ই"}} m[4] = m[5] = {{term = "তহঁত", notes = "familiar"}, {term = "তোমালোক", notes = "casual"}, {term = "আপোনালোক", notes = "polite"}} m[6] = {{term = "সিহঁত"}, {term = "ইহঁত"}} m[7] = m[8] = m[9] = m[10] = m[11] = m[12] = m[13] = m[14] = m[15] = m[16] = m[17] = {{term = "আটাই"}, {term = "সকলো"}} m[18] = m[19] = m[20] = m[21] = m[22] = m[23] = m[24] = m[25] = m[26] = m[27] = m[28] = m[29] = m[30] = {{term = "ডাঠ"}, {term = "মোটা"}} m[31] = m[32] = m[33] = {{term = "চুটি"}, {term = "চাপৰ"}} m[34] = m[35] = {{term = "পাতল"}, {term = "খীণ"}} m[36] = m[37] = m[38] = m[39] = {{term = "ল’ৰা-ছোৱালী"}, {term = "ছলি"}} m[40] = m[41] = {{term = "গিৰি"}, {term = "পৈ"}} m[42] = {{term = "মা"}, {term = "আই"}, {term = "আম্মা"}} m[43] = {{term = "দেউতা"}, {term = "বাপ"}, {term = "আব্বা"}} m[44] = m[45] = m[46] = m[47] = m[48] = m[49] = m[50] = m[51] = m[52] = {{term = "হাবি"}, {term = "জংঘল"}, {term = "বন"}} m[53] = {{term = "বাৰি"}, {term = "কাঠি"}} m[54] = m[55] = m[56] = m[57] = m[58] = m[59] = m[60] = m[61] = m[62] = {{term = "ছাল"}, {term = "চামৰা", tr = "samra"}} m[63] = {{term = "মঙহ"}, {term = "মাংস"}} m[64] = m[65] = m[66] = {{term = "চৰ্বি"}, {term = "তেল"}} m[67] = m[68] = m[69] = m[70] = m[71] = m[72] = {{term = "মূৰ"}, {term = "মাথা"}} m[73] = m[74] = m[75] = m[76] = m[77] = m[78] = m[79] = m[80] = m[81] = {{term = "ভৰি"}, {term = "ঠেং"}} m[82] = m[83] = m[84] = {{term = "ডেউকা"}, {term = "পাখি"}} m[85] = m[86] = m[87] = m[88] = m[89] = m[90] = {{term = "হিয়া"}, {term = "কলিজা"}, {term = "আমঠু"}} m[91] = {{term = "যকৃত"}, {term = "কলিজা", notes = "also 'heart'"}} m[92] = {{term = "খোৱা"}, {term = "পি খা"}, {term = "পি"}} m[93] = m[94] = m[95] = {{term = "চুহ"}, {term = "চুপ"}, {term = "শোহ"}} m[96] = m[97] = m[98] = m[99] = m[100] = m[101] = m[102] = m[103] = m[104] = m[105] = m[106] = m[107] = m[108] = , m[109] = m[110] = {{term = "মাৰ"}, {term = "মাৰি পেলা"}} m[111] = m[112] = m[113] = m[114] = m[115] = m[116] = m[117] = m[118] = m[119] = m[120] = m[121] = , m[122] = m[123] = m[124] = m[125] = m[126] = m[127] = m[128] = m[129] = m[130] = {{term = "চেপ"}, {term = "হেঁচ"}} m[131] = m[132] = m[133] = m[134] = m[135] = m[136] = m[137] = m[138] = m[139] = m[140] = m[141] = m[142] = m[143] = {{term = "ওপং"}, {term = "ভাহ"}} m[144] = m[145] = m[146] = m[147] = m[148] = m[149] = m[150] = m[151] = m[152] = {{term = "নৈ"}, {term = "নদী"}} m[153] = m[154] = m[155] = {{term = "নিমখ"}, {term = "নুন"}} m[156] = {{term = "শিল"}, {term = "পাথৰ"}} m[157] = m[158] = m[159] = m[160] = m[161] = {{term = "কুঁৱলী"}, {term = "নিয়ৰ"}} m[162] = m[163] = m[164] = m[165] = m[166] = m[167] = m[168] = m[169] = m[170] = {{term = "আলি"}, {term = "বাট"}} m[171] = m[172] = m[173] = m[174] = m[175] = m[176] = m[177] = m[178] = m[179] = m[180] = {{term = "তপত"}, {term = "গৰম"}} m[181] = {{term = "চেঁচা"}, {term = "ঠাণ্ডা"}} m[182] = {{term = "ভৰা"}, {term = "পুৰা"}} m[183] = m[184] = m[185] = m[186] = m[187] = m[188] = m[189] = m[190] = m[191] = m[192] = m[193] = {{term = "মিহি"}, {term = "চিকুণ"}} m[194] = {{term = "তিতা"}, {term = "ভিজা"}} m[195] = m[196] = m[197] = {{term = "ওচৰ"}, {term = "কাষ"}} m[198] = m[199] = m[200] = m[201] = m[202] = m[203] = m[204] = m[205] = m[206] = m[207] = return m

title: Module:Swadesh/data/as


text:
tlaltikpaktli

Noun

 * 1) world

title: tlaltikpaktli


text:
teoamochtli

Noun

 * 1) bible

title: teoamochtli


text:
teokuitlaxochitl

Noun

 * 1) gold

title: teokuitlaxochitl


text: 佈塍

title: 佈塍


title: User:Benwing2/hi-ndecl


text:
sitlalij

Noun

 * 1) star

title: sitlalij


text:
वचा

Noun

 * 1) sweet flag,

Descendants

 * Hindustani:
 * Hindustani:
 * Hindustani:
 * Hindustani:

title: वचा


text:
ⲉⲃⲣⲏϫ

Etymology
A borrowing, ultimately from. Compare 🇨🇬, 🇨🇬, and 🇨🇬.

Noun

 * 1)  lightning

title: ⲉⲃⲣⲏϫ


text:
buýt

Etymology
From.

Noun

 * 1)  bus

title: buýt


text:
Module:Swadesh/data/bn

local m = {} m['nativename'] = 'বাংলা' m[1] = m[2] = {{term = "তুমি"}, {term = "আপনি"}} m[3] = m[4] = m[5] = {{term = "তোমরা"}, {term = "আপনারা"}} m[6] = m[7] = m[8] = m[9] = m[10] = m[11] = m[12] = m[13] = m[14] = m[15] = m[16] = m[17] = m[18] = m[19] = m[20] = m[21] = m[22] = m[23] = m[24] = m[25] = m[26] = m[27] = m[28] = m[29] = m[30] = m[31] = m[32] = m[33] = m[34] = m[35] = m[36] = m[37] = m[38] = m[39] = m[40] = {{term = "স্ত্রী"}, {term = "বউ"}} m[41] = m[42] = {{term = "মা"}, {term = "আম্মা"}} m[43] = {{term = "বাবা"}, {term = "আব্বা"}} m[44] = m[45] = m[46] = m[47] = m[48] = m[49] = m[50] = m[51] = m[52] = m[53] = m[54] = m[55] = {{term = "বীচি"}, {term = "বীজ"}} m[56] = m[57] = m[58] = m[59] = m[60] = m[61] = m[62] = m[63] = {{term = "মাংস"}, {term = "গোশত"}} m[64] = m[65] = m[66] = m[67] = m[68] = m[69] = m[70] = m[71] = m[72] = m[73] = m[74] = m[75] = m[76] = m[77] = m[78] = {{term = "জিভ"}, {term = "জিহ্বা"}} m[79] = m[80] = m[81] = m[82] = m[83] = m[84] = m[85] = m[86] = m[87] = m[88] = m[89] = m[90] = m[91] = m[92] = m[93] = m[94] = m[95] = m[96] = {{term = "ছ্যাপ"}, {term = "থুতু"}} m[97] = m[98] = m[99] = m[100] = m[101] = m[102] = m[103] = m[104] = m[105] = m[106] = {{term = "ভয় করা"}, {term = "ডরা"}} m[107] = m[108] = m[109] = m[110] = {{term = "মারা"}, {term = "মেরে ফেলা"}} m[111] = m[112] = m[113] = m[114] = m[115] = m[116] = m[117] = m[118] = m[119] = m[120] = m[121] = m[122] = m[123] = m[124] = m[125] = m[126] = m[127] = m[128] = m[129] = m[130] = m[131] = m[132] = m[133] = m[134] = m[135] = m[136] = m[137] = m[138] = m[139] = m[140] = m[141] = m[142] = m[143] = m[144] = m[145] = m[146] = m[147] = m[148] = m[149] = m[150] = {{term = "পানি"}, {term = "জল"}} m[151] = m[152] = m[153] = m[154] = m[155] = {{term = "নুন"}, {term = "লবণ"}} m[156] = m[157] = m[158] = m[159] = m[160] = m[161] = m[162] = m[163] = m[164] = m[165] = m[166] = m[167] = m[168] = m[169] = {{term = "পোড়া", notes = "intransitive"}, {term = "জলা", notes = "transitive"}} m[170] = {{term = "রাস্তা"}, {term = "পথ"}} m[171] = m[172] = m[173] = m[174] = m[175] = m[176] = m[177] = {{term = "রাত্রি"}, {term = "রাত"}} m[178] = m[179] = m[180] = m[181] = m[182] = m[183] = m[184] = m[185] = m[186] = m[187] = m[188] = m[189] = m[190] = m[191] = m[192] = m[193] = m[194] = m[195] = m[196] = m[197] = m[198] = m[199] = m[200] = {{term = "বাঁ"}, {term = "বাম"}} m[201] = m[202] = m[203] = {{term = "-র সাথে"}, {term = "-র সঙ্গে"}} m[204] = {{term = "আর"}, {term = "ও"}, {term = "এবং"}} m[205] = m[206] = m[207] = return m

title: Module:Swadesh/data/bn


text:
Module:User:Benwing2/hi-noun

local export = {}

--[=[

Authorship: Ben Wing

]=]

--[=[

TERMINOLOGY:

-- "slot" = A particular combination of case/number. Example slot names for nouns are "dir_s" (direct singular) and "voc_p" (vocative plural). Each slot is filled with zero or more forms.

-- "form" = The declined Hindi form representing the value of a given slot.

-- "lemma" = The dictionary form of a given Hindi term. Generally the direct masculine singular, but may occasionally be another form if the direct masculine singular is missing. ]=]

local lang = require("Module:languages").getByCode("hi") local m_table = require("Module:table") local m_links = require("Module:links") local m_string_utilities = require("Module:string utilities") local iut = require("Module:User:Benwing2/inflection utilities") local m_para = require("Module:parameters") local com = require("Module:User:Benwing2/hi-common")

local u = mw.ustring.char local rsplit = mw.text.split local rfind = mw.ustring.find local rmatch = mw.ustring.match local rgmatch = mw.ustring.gmatch local rsubn = mw.ustring.gsub local ulen = mw.ustring.len local usub = mw.ustring.sub local uupper = mw.ustring.upper local ulower = mw.ustring.lower

-- vowel diacritics; don't display nicely on their own local M = u(0x0901) local N = u(0x0902) local H = u(0x0903) local AA = u(0x093e) local E = u(0x0947) local EN = E .. N local I = u(0x093f) local II = u(0x0940) local O = u(0x094b) local ON = O .. N local U = u(0x0941) local UU = u(0x0942) local R = u(0x0943) local VIRAMA = u(0x094d) local TILDE = u(0x0303)

-- version of rsubn that discards all but the first return value local function rsub(term, foo, bar) local retval = rsubn(term, foo, bar) return retval end

-- version of rsubn that returns a 2nd argument boolean indicating whether -- a substitution was made. local function rsubb(term, foo, bar) local retval, nsubs = rsubn(term, foo, bar) return retval, nsubs > 0 end

local noun_slots = { dir_s = "dir|s", obl_s = "obl|s", voc_s = "voc|s", dir_p = "dir|p", obl_p = "obl|p", voc_p = "voc|p", }

local noun_slots_with_linked = m_table.shallowcopy(noun_slots) noun_slots_with_linked["dir_s_linked"] = "dir|s" noun_slots_with_linked["dir_p_linked"] = "dir|p"

local input_params_to_slots_both = { [1] = "dir_s", [2] = "dir_p", [3] = "obl_s", [4] = "obl_p", [5] = "voc_s", [6] = "voc_p", }

local input_params_to_slots_sg = { [1] = "dir_s", [2] = "obl_s", [3] = "voc_s", }

local input_params_to_slots_pl = { [1] = "dir_p", [2] = "obl_p", [3] = "voc_p", }

local cases = { dir = true, obl = true, voc = true, }

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

local function add(base, stem, translit_stem, slot, ending, footnotes) if skip_slot(base.number, slot) then return end

com.add_form(base, stem, translit_stem, slot, ending, footnotes) end

local function process_slot_overrides(base) for slot, overrides in pairs(base.overrides) do		if skip_slot(base.number, slot) then error("Override specified for invalid slot '" .. slot .. "' due to '" .. base.number .. "' number restriction") end base.forms[slot] = nil for _, override in ipairs(overrides) do			for _, value in ipairs(override.values) do				local form = value.form local tr = com.transliterate_respelling(value.phon_form) local combined_notes = iut.combine_footnotes(base.footnotes, value.footnotes) assert(override.full) if form ~= "" then iut.insert_form(base.forms, slot, {form = form, translit = tr, footnotes = combined_notes}) end end end end end

local function add_decl(base, stem, translit_stem, dir_s, obl_s, voc_s, dir_p, obl_p, voc_p,	footnotes ) if not stem then stem = base.lemma translit_stem = base.lemma_translit end local plstem, pl_translit_stem = stem, translit_stem if base.plstem then plstem = base.plstem pl_translit_stem = base.pl_translit_stem end add(base, stem, translit_stem, "dir_s", dir_s, footnotes) add(base, stem, translit_stem, "obl_s", obl_s, footnotes) add(base, stem, translit_stem, "voc_s", voc_s, footnotes) add(base, plstem, pl_translit_stem, "dir_p", dir_p, footnotes) add(base, plstem, pl_translit_stem, "obl_p", obl_p, footnotes) add(base, plstem, pl_translit_stem, "voc_p", voc_p, footnotes) end

local function handle_derived_slots_and_overrides(base) process_slot_overrides(base)

-- 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({"dir_s", "dir_p"}) do iut.insert_forms(base.forms, slot .. "_linked", iut.map_forms(base.forms[slot], function(form) if form == base.orig_lemma_no_links and rfind(base.orig_lemma, "%[%[") then return base.orig_lemma else return form end end)) end end

local decls = {} local declprops = {}

decls["c-m"] = function(base) add_decl(base, nil, nil, "", "", "", "", ON, O) end

declprops["c-m"] = { desc = "masc cons-stem", cat = "masculine consonant-stem ~", }

decls["c-f"] = function(base) add_decl(base, nil, nil, "", "", "", EN, ON, O) end

declprops["c-f"] = { desc = "fem cons-stem", cat = "feminine consonant-stem ~", }

decls["ā-m"] = function(base) if rfind(base.lemma, "या$") then local stem, translit_stem = com.strip_ending(base, "या") add_decl(base, stem, translit_stem, "या", "ए", "ए", "ए", "यों", "यो") add_decl(base, stem, translit_stem, nil, "ये", "ये", "ये") else local stem, translit_stem = com.strip_ending(base, AA) add_decl(base, stem, translit_stem, AA, E, E, E, ON, O)	end end

-- E.g. तेंदुआ "leopard" decls["ind-ā-m"] = function(base) local stem, translit_stem = com.strip_ending(base, "आ") add_decl(base, stem, translit_stem, "आ", "ए", "ए", "ए", "ओं", "ओ") end

decls["unmarked-ā-m"] = function(base) add_decl(base, nil, nil, "", "", "", "", "ओं", "ओ") end

declprops["unmarked-ā-m"] = { desc = "masc unmarked ā-stem", cat = "masculine unmarked ā-stem ~", }

-- No need for ind-unmarked-ā-m because declension is "unmarked", i.e. all endings -- are added after the vowel.

-- E.g. रेस्तराँ "restaurant" decls["unmarked-ān-m"] = function(base) local stem, translit_stem = com.strip_ending(base, AA .. M) add_decl(base, stem, translit_stem, AA .. M, AA .. M, AA .. M, AA .. M, AA .. "ओं", AA .. "ओं") end

declprops["unmarked-ān-m"] = { desc = "masc unmarked ā̃-stem", cat = "masculine unmarked ā̃-stem ~", }

decls["ind-unmarked-ān-m"] = function(base) local stem, translit_stem = com.strip_ending(base, "आँ") add_decl(base, stem, translit_stem, "आँ", "आँ", "आँ", "आँ", "आओं", "आओं") end

declprops["ind-unmarked-ān-m"] = { desc = "masc ind unmarked ā̃-stem", cat = "masculine independent unmarked ā̃-stem ~", }

-- E.g. ख़ानसामाँ "butler, cook" decls["ān-m"] = function(base) local stem, translit_stem = com.strip_ending(base, AA .. M) add_decl(base, stem, translit_stem, AA .. M, EN, EN, EN, ON, ON) end

-- E.g. कुआँ "well" decls["ind-ān-m"] = function(base) local stem, translit_stem = com.strip_ending(base, "आँ") add_decl(base, stem, translit_stem, "आँ", "एँ", "एँ", "एँ", "ओं", "ओं") end

decls["ā-f"] = function(base) add_decl(base, nil, nil, "", "", "", "एँ", "ओं", "ओ") end

-- No need for ind-ā-f because declension is "unmarked", i.e. all endings -- are added after the vowel.

decls["ān-f"] = function(base) local stem, translit_stem = com.strip_ending(base, AA .. M) add_decl(base, stem, translit_stem, AA .. M, AA .. M, AA .. M, AA .. "एँ", AA .. "ओं", AA .. "ओं") end

decls["ind-ān-f"] = function(base) local stem, translit_stem = com.strip_ending(base, "आँ") add_decl(base, stem, translit_stem, "आँ", "आँ", "आँ", "आएँ", "आओं", "आओं") end

decls["i-m"] = function(base) add_decl(base, nil, nil, "", "", "", "", "यों", "यो") end

decls["i-f"] = function(base) add_decl(base, nil, nil, "", "", "", "याँ", "यों", "यो") end

-- E.g. प्रधान मंत्री "prime minister" decls["ī-m"] = function(base) local stem, translit_stem = com.strip_ending(base, II) add_decl(base, stem, translit_stem, II, II, II, II, I .. "यों", I .. "यो") end

-- E.g. भाई "brother" decls["ind-ī-m"] = function(base) local stem, translit_stem = com.strip_ending(base, "ई") add_decl(base, stem, translit_stem, "ई", "ई", "ई", "ई", "इयों", "इयो") end

decls["īn-m"] = function(base) local stem, translit_stem = com.strip_ending(base, II .. N) add_decl(base, stem, translit_stem, II .. N, II .. N, II .. N, II .. N, I .. "यों", I .. "यों") end

decls["ind-īn-m"] = function(base) local stem, translit_stem = com.strip_ending(base, "ईं") add_decl(base, stem, translit_stem, "ईं", "ईं", "ईं", "ईं", "इयों", "इयों") end

decls["ī-f"] = function(base) local stem, translit_stem = com.strip_ending(base, II) add_decl(base, stem, translit_stem, II, II, II, I .. "याँ", I .. "यों", I .. "यो") end

-- E.g. दवाई "medicine", डोई "wooden ladle", तेंदुई "female leopard", मिठाई "sweet, dessert" decls["ind-ī-f"] = function(base) local stem, translit_stem = com.strip_ending(base, "ई") add_decl(base, stem, translit_stem, "ई", "ई", "ई", "इयाँ", "इयों", "इयो") end

decls["īn-f"] = function(base) local stem, translit_stem = com.strip_ending(base, II .. N) add_decl(base, stem, translit_stem, II .. N, II .. N, II .. N, I .. "याँ", I .. "यों", I .. "यों") end

decls["ind-īn-f"] = function(base) local stem, translit_stem = com.strip_ending(base, "ईं") add_decl(base, stem, translit_stem, "ईं", "ईं", "ईं", "इयाँ", "इयों", "इयों") end

decls["iyā-f"] = function(base) local stem, translit_stem = com.strip_ending(base, "या") add_decl(base, stem, translit_stem, "या", "या", "या", "याँ", "यों", "यो") end

decls["iyān-f"] = function(base) local stem, translit_stem = com.strip_ending(base, "याँ") add_decl(base, stem, translit_stem, "याँ", "याँ", "याँ", "याँ", "यों", "यों") end

decls["o-m"] = function(base) local stem, translit_stem = com.strip_ending(base, O)	add_decl(base, stem, translit_stem, O, O, O, O, ON, O) end

decls["on-m"] = function(base) local stem, translit_stem = com.strip_ending(base, ON) add_decl(base, stem, translit_stem, ON, ON, ON, ON, ON, ON) end

decls["u-m"] = function(base) add_decl(base, nil, nil, "", "", "", "", "ओं", "ओ") end

decls["u-f"] = function(base) add_decl(base, nil, nil, "", "", "", "एँ", "ओं", "ओ") end

decls["ū-m"] = function(base) local stem, translit_stem = com.strip_ending(base, UU) add_decl(base, stem, translit_stem, UU, UU, UU, UU, U .. "ओं", U .. "ओ") end

decls["ind-ū-m"] = function(base) local stem, translit_stem = com.strip_ending(base, "ऊ") add_decl(base, stem, translit_stem, "ऊ", "ऊ", "ऊ", "ऊ", "उओं", "उओ") end

decls["ūn-m"] = function(base) local stem, translit_stem = com.strip_ending(base, UU .. M) add_decl(base, stem, translit_stem, UU .. M, UU .. M, UU .. M, UU .. M, U .. "ओं", U .. "ओं") end

decls["ind-ūn-m"] = function(base) local stem, translit_stem = com.strip_ending(base, "ऊँ") add_decl(base, stem, translit_stem, "ऊँ", "ऊँ", "ऊँ", "ऊँ", "उओं", "उओं") end

decls["ū-f"] = function(base) local stem, translit_stem = com.strip_ending(base, UU) add_decl(base, stem, translit_stem, UU, UU, UU, U .. "एँ", U .. "ओं", U .. "ओ") end

decls["ind-ū-f"] = function(base) local stem, translit_stem = com.strip_ending(base, "ऊ") add_decl(base, stem, translit_stem, "ऊ", "ऊ", "ऊ", "उएँ", "उओं", "उओ") end

-- E.g. जूँ "louse" decls["ūn-f"] = function(base) local stem, translit_stem = com.strip_ending(base, UU .. M) add_decl(base, stem, translit_stem, UU .. M, UU .. M, UU .. M, U .. "एँ", U .. "ओं", U .. "ओं") end

decls["ind-ūn-f"] = function(base) local stem, translit_stem = com.strip_ending(base, "ऊँ") add_decl(base, stem, translit_stem, "ऊँ", "ऊँ", "ऊँ", "उएँ", "उओं", "उओं") end

decls["r-m"] = function(base) add_decl(base, nil, nil, "", "", "", "", "ओं", "ओ") end

-- E.g. प्रातः "morning" decls["h-m"] = function(base) local stem, translit_stem = com.strip_ending(base, H)	add_decl(base, stem, translit_stem, H, H, H, H, ON, O) end

decls["indecl"] = function(base) add_decl(base, nil, nil, "", "", "", "", "", "") end

declprops["indecl"] = { desc = "indecl", cat = "indeclinable ~", }

decls["adj"] = function(base, stress) local adj_alternant_spec = require("Module:hi-adjective").do_generate_forms(		{base.lemma .. "//" .. base.lemma_translit}	) local function copy(from_slot, to_slot) base.forms[to_slot] = adj_alternant_spec.forms[from_slot] end if base.number ~= "pl" then copy("dir_m_s", "dir_s") copy("obl_m_s", "obl_s") copy("voc_m_s", "voc_s") end if base.number ~= "sg" then copy("dir_m_p", "dir_p") copy("obl_m_p", "obl_p") copy("voc_m_p", "voc_p") end end

declprops["adj"] = { desc = "adj", cat = "adjectival ~", }

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

--[=[ Parse a single override spec and return two values: the slot the override applies to, and an object describing the override spec. The input is actually a list where the footnotes have been separated out. For example, given the spec 'oblpl:हज़ारों:हज़ारहा[rare]', the input will be a list {"oblpl:हज़ारों:हज़ारहा", "[rare]", ""}. The object returned for this example looks like this:

{ full = true, values = { {     form = "हज़ारों" },   {      form = "हज़ारहा", footnotes = {"[rare]"} } } } ]=] local function parse_override(segments) local retval = {values = {}} local part = segments[1] local offset = 4 local case = usub(part, 1, 3) if cases[case] then -- ok	else error("Internal error: unrecognized case in override: '" .. table.concat(segments) .. "'") end local rest = usub(part, offset) local slot if rfind(rest, "^pl") then rest = rsub(rest, "^pl", "") slot = case .. "_p" else slot = case .. "_s" end if rfind(rest, "^:") then retval.full = true rest = rsub(rest, "^:", "") else error("Suffix overrides not currently supported: " .. part) end segments[1] = rest local colon_separated_groups = iut.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, value.phon_form = com.split_term_respelling(form) end value.footnotes = fetch_footnotes(colon_separated_group) table.insert(retval.values, value) end return slot, retval end

--[=[ Parse an indicator spec (text consisting of angle brackets and zero or more dot-separated indicators within them). Return value is an object of the form

{ overrides = { SLOT = {OVERRIDE, OVERRIDE, ...}, -- as returned by parse_override ... },  forms = {}, -- forms for a single spec alternant; see `forms` below footnotes = {"FOOTNOTE", "FOOTNOTE", ...}, -- may be missing explicit_gender = "GENDER", -- "M", "F"; may be missing number = "NUMBER", -- "sg", "pl"; may be missing adj = true, -- may be missing indecl = true, -- may be missing unmarked = true, -- may be missing iya = true, -- may be missing plstem = "PLSTEM", -- may be missing pl_phon_stem = "PLSTEM-PHONETIC-RESPELLING", -- as specified by the user; may be missing pl_translit_stem = "PLSTEM-TRANSLIT", -- translit of pl_phon_stem (if present) or plstem; may be missing

-- The following additional fields are added by other functions: orig_lemma = "ORIGINAL-LEMMA", -- as given by the user or taken from pagename orig_lemma_no_links = "ORIGINAL-LEMMA-NO-LINKS", -- links removed lemma = "LEMMA", -- `orig_lemma_no_links`, converted to singular form if plural phon_lemma = "LEMMA-PHONETIC-RESPELLING", -- as specified by the user; may be missing lemma_translit = "LEMMA-TRANSLIT", -- translit of phon_lemma (if present) or lemma forms = { SLOT = { {		form = "FORM", footnotes = {"FOOTNOTE", "FOOTNOTE", ...} -- may be missing },	 ...	},	...  },  decl = "DECL", -- declension, e.g. "ind-ūn-f" } ]=] local function parse_indicator_spec(angle_bracket_spec) local inside = rmatch(angle_bracket_spec, "^<(.*)>$") assert(inside) local base = {overrides = {}, forms = {}} if inside ~= "" then local segments = iut.parse_balanced_segment_run(inside, "[", "]") local dot_separated_groups = iut.split_alternating_runs(segments, "%.") for i, dot_separated_group in ipairs(dot_separated_groups) do			local part = dot_separated_group[1] local case_prefix = usub(part, 1, 3) if cases[case_prefix] then local slot, override = parse_override(dot_separated_group) if base.overrides[slot] then table.insert(base.overrides[slot], override) else base.overrides[slot] = {override} end elseif part == "" then if #dot_separated_group == 1 then error("Blank indicator: '" .. inside .. "'") end base.footnotes = fetch_footnotes(dot_separated_group) elseif #dot_separated_group > 1 then error("Footnotes only allowed with slot overrides or by themselves: '" .. table.concat(dot_separated_group) .. "'") elseif part == "M" or part == "F" then if base.explicit_gender then error("Can't specify gender twice: '" .. inside .. "'") end base.explicit_gender = part elseif part == "sg" or part == "pl" then if base.number then error("Can't specify number twice: '" .. inside .. "'") end base.number = part elseif part == "+" then if base.adj then error("Can't specify '+' twice: '" .. inside .. "'") end base.adj = true elseif part == "$" then if base.indecl then error("Can't specify '$' twice: '" .. inside .. "'") end base.indecl = true elseif part == "unmarked" then if base.unmarked then error("Can't specify 'unmarked' twice: '" .. inside .. "'") end base.unmarked = true elseif part == "iyā" then if base.iya then error("Can't specify 'iyā' twice: '" .. inside .. "'") end base.iya = true elseif rfind(part, "^plstem:") then if base.plstem then error("Can't specify plural stem twice: '" .. inside .. "'") end base.plstem, base.pl_phon_stem = com.split_term_respelling(rsub(part, "^plstem:", "")) base.pl_translit_stem = com.transliterate_respelling(base.pl_phon_stem) or lang:transliterate(base.plstem) else error("Unrecognized indicator '" .. part .. "': '" .. inside .. "'") end end end return base end

local function set_defaults_and_check_bad_indicators(base) -- Set default values. if not base.adj and not base.indecl then base.number = base.number or "both" end base.gender = base.explicit_gender if base.iya then if base.adj then error("Can't specify both '+' and 'iya'") end if base.gender == "M" then error("Can't specify M gender with 'iyā' indicator") end if not rfind(base.lemma, I .. "याँ?$") then error("With 'iyā' indicator, lemma must end in " .. I .. "या or " .. I .. "याँ: " .. base.lemma) end base.gender = "F" end if base.unmarked then if base.adj then error("Can't specify both '+' and 'unmarked'") end if base.iya then error("Can't specify both 'iya' and 'unmarked'") end if base.gender == "F" then error("Can't specify F gender with 'unmarked' indicator") end base.gender = "M" end if rfind(base.lemma, "[" .. O .. H .. R .. "]$") then if base.gender == "F" then error("Can't specify F gender with lemma ending in " .. O .. ", " .. H .. " or " .. R .. ": " .. base.lemma) end base.gender = "M" end if not base.gender and not base.adj and not base.indecl then error("Unless lemma is in " .. O .. ", " .. H .. " or " .. R .. " or 'iya', 'unmarked' or '$' specified, gender must be given: " .. base.lemma) end if base.adj and base.indecl then error("Can't specify both '+' and '$' on the same lemma " .. base.lemma) end end

-- For a plural-only lemma, synthesize a likely singular lemma. It doesn't have to be -- theoretically correct as long as it generates all the correct plural forms. local function synthesize_singular_lemma(base) if not base.gender then error("For plural-only lemma, need to specify the gender: '" .. base.lemma .. "'") end if base.gender == "M" then if rfind(base.lemma, E .. "$") then local stem, translit_stem = com.strip_ending(base, E) base.lemma = stem .. AA base.lemma_translit = translit_stem .. "ā" return end if rfind(base.lemma, "ए$") then -- FIXME, what about -iyā -> -ie? local stem, translit_stem = com.strip_ending(base, "ए") base.lemma = stem .. "अ" base.lemma_translit = translit_stem .. "ā" return end local ending = rmatch(base.lemma, "(" .. E .. "[" .. M .. N .. "])$")		if ending then local stem, translit_stem = com.strip_ending(base, ending) base.lemma = stem .. AA .. M base.lemma_translit = translit_stem .. "ā̃" return end local ending = rmatch(base.lemma, "(ए[" .. M .. N .. "])$")		if ending then local stem, translit_stem = com.strip_ending(base, ending) base.lemma = stem .. "अ" .. M base.lemma_translit = translit_stem .. "ā̃" return end -- Otherwise, singular same as plural and lemma is already correct. else assert(base.gender == "F") local ending = rmatch(base.lemma, "(" .. E .. "[" .. M .. N .. "])$")		if ending then local stem, translit_stem = com.strip_ending(base, ending) base.lemma = stem base.lemma_translit = translit_stem return end local ending = rmatch(base.lemma, "(ए[" .. M .. N .. "])$")		if ending then local stem, translit_stem = com.strip_ending(base, ending) base.lemma = stem base.lemma_translit = translit_stem return end local ending = rmatch(base.lemma, "(या[" .. M .. N .. "])$")		if ending then -- This may or may not produce the "right" singular but regardless, -- the plural will be correct, which is all that matters. local stem, translit_stem = com.strip_ending(base, ending) base.lemma = stem base.lemma_translit = translit_stem return end -- We seem to have an endingless plural, e.g. औलाद. Add an override to the dir_p slot -- to force this form. if not base.overrides.dir_p then base.overrides.dir_p = {} end table.insert(base.overrides.dir_p, {full = true, values = }) end end

-- For an adjectival lemma, synthesize the masc singular form. local function synthesize_adj_lemma(base) if not rfind(base.lemma, "[अ" .. AA .. "][" .. M .. N .. "]?$") then error("Unrecognized adjectival lemma: " .. base.lemma) end base.gender = "M" base.decl = "adj" end

-- Determine the declension based on the lemma and gender. The declension is -- set in base.decl. local function determine_declension(base) if base.decl then return end assert(not base.adj) if base.indecl then base.decl = "indecl" elseif base.gender == "M" then if base.unmarked then if rfind(base.lemma, AA .. "$") or rfind(base.lemma, "आ$") then base.decl = "unmarked-ā-m" elseif rfind(base.lemma, AA .. M .. "$") then base.decl = "unmarked-ān-m" elseif rfind(base.lemma, "आँ$") then base.decl = "ind-unmarked-ān-m" else error("With 'unmarked' indicator, lemma must end in " .. AA .. ", " .. AA .. M .. ", आ or आँ: " .. base.lemma) end elseif rfind(base.lemma, AA .. "$") then base.decl = "ā-m" elseif rfind(base.lemma, "आ$") then base.decl = "ind-ā-m" elseif rfind(base.lemma, AA .. M .. "$") then base.decl = "ān-m" elseif rfind(base.lemma, "आँ$") then base.decl = "ind-ān-m" elseif rfind(base.lemma, I .. "$") then base.decl = "i-m" elseif rfind(base.lemma, II .. "$") then base.decl = "ī-m" elseif rfind(base.lemma, "ई$") then base.decl = "ind-ī-m" elseif rfind(base.lemma, II .. N .. "$") then base.decl = "īn-m" elseif rfind(base.lemma, "ईं$") then base.decl = "ind-īn-m" elseif rfind(base.lemma, O .. "$") then base.decl = "o-m" elseif rfind(base.lemma, O .. N .. "$") then base.decl = "on-m" elseif rfind(base.lemma, U .. "$") then base.decl = "u-m" elseif rfind(base.lemma, UU .. "$") then base.decl = "ū-m" elseif rfind(base.lemma, "ऊ$") then base.decl = "ind-ū-m" elseif rfind(base.lemma, UU .. M .. "$") then base.decl = "ūn-m" elseif rfind(base.lemma, "ऊँ$") then base.decl = "ind-ūn-m" elseif rfind(base.lemma, R .. "$") then base.decl = "r-m" elseif rfind(base.lemma, H .. "$") then base.decl = "h-m" else base.decl = "c-m" end else assert(base.gender == "F") if base.iya then if rfind(base.lemma, M .. "$") then base.decl = "iyān-f" else base.decl = "iyā-f" end elseif rfind(base.lemma, AA .. "$") or rfind(base.lemma, "आ$") then base.decl = "ā-f" elseif rfind(base.lemma, AA .. M .. "$") then base.decl = "ān-f" elseif rfind(base.lemma, "आँ$") then base.decl = "ind-ān-f" elseif rfind(base.lemma, I .. "$") then base.decl = "i-f" elseif rfind(base.lemma, II .. "$") then base.decl = "ī-f" elseif rfind(base.lemma, "ई$") then base.decl = "ind-ī-f" elseif rfind(base.lemma, II .. N .. "$") then base.decl = "īn-f" elseif rfind(base.lemma, "ईं$") then base.decl = "ind-īn-f" elseif rfind(base.lemma, U .. "$") then base.decl = "u-f" elseif rfind(base.lemma, UU .. "$") then base.decl = "ū-f" elseif rfind(base.lemma, "ऊ$") then base.decl = "ind-ū-f" elseif rfind(base.lemma, UU .. M .. "$") then base.decl = "ūn-f" elseif rfind(base.lemma, "ऊँ$") then base.decl = "ind-ūn-f" else base.decl = "c-f" end end end

local function detect_indicator_spec(base) set_defaults_and_check_bad_indicators(base) if base.adj then synthesize_adj_lemma(base) else if base.number == "pl" then synthesize_singular_lemma(base) end determine_declension(base) end end

local function detect_all_indicator_specs(alternant_multiword_spec) iut.map_word_specs(alternant_multiword_spec, function(base)		detect_indicator_spec(base)	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 and not word_specs[i].indecl 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

--[=[ Propagate `property` (one of "animacy", "gender" or "number") from nouns to adjacent adjectives. We proceed as follows: 1. We assume the properties in question are already set on all nouns. This should happen in set_defaults_and_check_bad_indicators. 2. We first propagate properties upwards and sideways. We recurse downwards from the top. When we encounter a multiword spec, we proceed left to right looking for a noun. When we find a noun, we fetch its property (recursing if the noun is an alternant), and propagate it to any adjectives to its left, up to the next noun to the left. When we have processed the last noun, we also propagate its property value to any adjectives to the right (to handle e.g. пустальга звычайная "common kestrel", where  the adjective польовий should inherit the 'animal' animacy of лунь). Finally, we set the property value for the multiword spec itself by combining all the non-nil properties of the individual elements. If all non-nil properties have the same value, the result is that value, otherwise it is `mixed_value` (which is "mixed" for animacy  and gender, but "both" for number). 3. When we encounter an alternant spec in this process, we recursively process each alternant (which is a multiword spec) using the previous step, and combine any non-nil properties we encounter the same way as for multiword specs. 4. The effect of steps 2 and 3 is to set the property of each alternant and multiword spec based on its children or its neighbors. ]=] 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

-- Find the first noun in a multiword expression and set alternant_multiword_spec.first_noun -- to the index of that noun. Also find the first adjective and set alternant_multiword_spec.first_adj -- similarly. If there is a first noun, we use its properties to determine the overall expression's -- properties; otherwise we use the first adjective's properties, otherwise the first word's properties. -- If the "word" located this way is not an alternant spec, we just use its properties directly, otherwise -- we use the properties of the first noun (or failing that the first adjective, or failing that the -- first word) in each alternative alternant in the alternant spec. For this reason, we need to set the -- the .first_noun of and .first_adj of each multiword expression embedded in the first noun alternant spec, -- and the .first_adj of each multiword expression in each adjective alternant spec leading up to the -- first noun alternant spec. local function determine_noun_status(alternant_multiword_spec) for i, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do		if alternant_or_word_spec.alternants then local alternant_type for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do				for j, word_spec in ipairs(multiword_spec.word_specs) do					if not word_spec.indecl then if not word_spec.adj then multiword_spec.first_noun = j							alternant_type = "noun" break elseif not multiword_spec.first_adj then multiword_spec.first_adj = j							if not alternant_type then alternant_type = "adj" end end end end end if alternant_type == "noun" then alternant_multiword_spec.first_noun = i				return elseif alternant_type == "adj" and not alternant_multiword_spec.first_adj then alternant_multiword_spec.first_adj = i			end elseif not alternant_or_word_spec.indecl then if not alternant_or_word_spec.adj then alternant_multiword_spec.first_noun = i				return elseif not alternant_multiword_spec.first_adj then alternant_multiword_spec.first_adj = i			end end end end

local function decline_noun(base) if not decls[base.decl] then error("Internal error: Unrecognized declension type '" .. base.decl .. "'") end decls[base.decl](base) handle_derived_slots_and_overrides(base) end

local function process_manual_overrides(forms, args, number) local params_to_slots_map = number == "sg" and input_params_to_slots_sg or		number == "pl" and input_params_to_slots_pl or		input_params_to_slots_both for param, slot in pairs(params_to_slots_map) do		if args[param] then forms[slot] = nil if args[param] ~= "-" and args[param] ~= "—" then for _, form in ipairs(rsplit(args[param], "%s*,%s*")) do					local hi, phon = com.split_term_respelling(form) local tr = phon and com.transliterate_respelling(phon) or nil iut.insert_form(forms, slot, {form=form, translit=tr}) end end end end end

local function compute_category_and_desc(base) local props = declprops[base.decl] if props then return props.cat, props.desc end local rest, gender = rmatch(base.decl, "^(.+)%-([mf])$") if not gender then error("Internal error: Don't know how to parse decl '" .. base.decl .. "'") end local cat_gender = gender == "m" and "masculine" or "feminine" local desc_gender = gender == "m" and "masc" or "fem" local ind, stem = rmatch(rest, "^(ind%-)(.*)$") if not ind then stem = rest end stem = rsub(stem, "n$", TILDE) if ind then return cat_gender .. " independent " .. stem .. "-stem ~", desc_gender .. " ind " .. stem .. "-stem" else return cat_gender .. " " .. stem .. "-stem ~", desc_gender .. " " .. stem .. "-stem" end end

-- Compute the categories to add the noun to, as well as the annotation to display in the -- declension title bar. We combine the code to do these functions as both categories and -- title bar contain similar information. local function compute_categories_and_annotation(alternant_multiword_spec) local cats = {} local function insert(cattype) cattype = rsub(cattype, "~", alternant_multiword_spec.pos) m_table.insertIfNot(cats, "Hindi " .. cattype) end if alternant_multiword_spec.number == "sg" then insert("uncountable ~") elseif alternant_multiword_spec.number == "pl" then insert("pluralia tantum") 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			"" else local annparts = {} local decldescs = {} local function do_word_spec(base) local cat, desc = compute_category_and_desc(base) insert(cat) m_table.insertIfNot(decldescs, desc) if base.plstem then insert("~ with irregular plural stem") end if lang:transliterate(base.lemma) ~= base.lemma_translit then insert("~ with phonetic respelling") end end local key_entry = alternant_multiword_spec.first_noun or alternant_multiword_spec.first_adj 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 multiword_spec.first_adj 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.number ~= "both" then table.insert(annparts, alternant_multiword_spec.number == "sg" and "sg-only" or "pl-only") end if #decldescs == 0 then table.insert(annparts, "indecl") else table.insert(annparts, table.concat(decldescs, " // ")) end alternant_multiword_spec.annotation = table.concat(annparts, " ") if #decldescs > 1 then insert("~ with multiple declensions") end end alternant_multiword_spec.categories = cats end

local function show_forms(alternant_multiword_spec) local lemmas = alternant_multiword_spec.forms.dir_s or alternant_multiword_spec.forms.dir_p or {} local props = { lang = lang, }	iut.show_forms_with_translit(alternant_multiword_spec.forms, lemmas,		noun_slots_with_linked, props, alternant_multiword_spec.footnotes,		"allow footnote symbols") end

local function make_table(alternant_multiword_spec) local forms = alternant_multiword_spec.forms

local table_spec_both = [=[ {title}{annotation} {\op}| style="background:#F9F9F9;text-align:center;min-width:45em" class="inflection-table" ! style="width:33%;background:#d9ebff" | ! style="background:#d9ebff" | singular ! style="background:#d9ebff" | plural !style="background:#eff7ff" | direct !style="background:#eff7ff" | oblique !style="background:#eff7ff" | vocative
 * {dir_s}
 * {dir_p}
 * {obl_s}
 * {obl_p}
 * {voc_s}
 * {voc_p}
 * {\cl}{notes_clause} ]=]

local table_spec_sg = [=[ {title}{annotation} {\op}| style="background:#F9F9F9;text-align:center;width:30em" class="inflection-table" ! style="width:33%;background:#d9ebff" | ! style="background:#d9ebff" | singular !style="background:#eff7ff" | direct !style="background:#eff7ff" | oblique !style="background:#eff7ff" | vocative
 * {dir_s}
 * {obl_s}
 * {voc_s}
 * {\cl}{notes_clause} ]=]

local table_spec_pl = [=[ {title}{annotation} {\op}| style="background:#F9F9F9;text-align:center;width:30em" class="inflection-table" ! style="width:33%;background:#d9ebff" | ! style="background:#d9ebff" | plural !style="background:#eff7ff" | direct !style="background:#eff7ff" | oblique !style="background:#eff7ff" | vocative
 * {dir_p}
 * {obl_p}
 * {voc_p}
 * {\cl}{notes_clause} ]=]

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 if annotation == "" then forms.annotation = "" else forms.annotation = " (" .. annotation .. " )" end

local table_spec = alternant_multiword_spec.number == "sg" and table_spec_sg or		alternant_multiword_spec.number == "pl" and table_spec_pl or		table_spec_both forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or "" return m_string_utilities.format(table_spec, forms) end

local function compute_headword_genders(alternant_multiword_spec) local genders = {} local number if alternant_multiword_spec.number == "pl" then number = "-p" else number = "" end iut.map_word_specs(alternant_multiword_spec, function(base)		if base.gender == "M" then			m_table.insertIfNot(genders, "m" .. number)		elseif base.gender == "F" then			m_table.insertIfNot(genders, "f" .. number)		else			error("Internal error: Unrecognized gender '" .. (base.gender or "nil") .. "'")		end	end) return genders end

-- Implementation of template 'hi-noun cat'. function export.catboiler(frame) local SUBPAGENAME = mw.title.getCurrentTitle.subpageText local params = { [1] = {},	}	local args = m_para.process(frame:getParent.args, params)

local function get_pos local pos = rmatch(SUBPAGENAME, "^Hindi.- ([^ ]*)s ") if not pos then pos = rmatch(SUBPAGENAME, "^Hindi.- ([^ ]*)s$") end if not pos then error("Invalid category name, should be e.g. \"Hindi nouns with ...\" or \"Hindi ... nouns\"") end return pos end

local function get_sort_key local pos, sort_key = rmatch(SUBPAGENAME, "^Hindi.- ([^ ]*)s with (.*)$") if sort_key then return sort_key end pos, sort_key = rmatch(SUBPAGENAME, "^Hindi ([^ ]*)s (.*)$") if sort_key then return sort_key end return rsub(SUBPAGENAME, "^Hindi ", "") end

local cats = {}, pos

-- Insert the category CAT (a string) into the categories. String will -- have "Hindi " prepended and ~ substituted for the plural part of speech. local function insert(cat, atbeg) local fullcat = "Hindi " .. rsub(cat, "~", pos .. "s") if atbeg then table.insert(cats, 1, fullcat) else table.insert(cats, fullcat) end end

local maintext local stem, gender, stress, ending while true do		if args[1] then maintext = "~ " .. args[1] pos = get_pos break end

local gender, stem gender, stem, pos = rmatch(SUBPAGENAME, "^Hindi ([a-z]+ine) (independent unmarked [^ %-]*%-stem) (.*)s$") if not gender then gender, stem, pos = rmatch(SUBPAGENAME, "^Hindi ([a-z]+ine) (independent [^ %-]*%-stem) (.*)s$") end if not gender then gender, stem, pos = rmatch(SUBPAGENAME, "^Hindi ([a-z]+ine) (unmarked [^ %-]*%-stem) (.*)s$") end if not gender then gender, stem, pos = rmatch(SUBPAGENAME, "^Hindi ([a-z]+ine) ([^ %-]*%-stem) (.*)s$") end if gender then maintext = gender .. " " .. stem .. " ~."			if rfind(stem, "independent") then maintext = maintext .. " Here, 'independent' means that the stem ending directly " .. "follows a vowel and so uses the independent Devanagari form of the vowel that begins the ending." end if rfind(stem, "unmarked") then maintext = maintext .. " Here, 'unmarked' means that the endings are added onto the full direct singular form " .. "without removing the stem ending (although final nasalization, if present, will move to the ending)." end insert("~ by gender and stem type|" .. rsub(rsub(stem, "independent ", ""), "unmarked ", "")) break end error("Unrecognized Hindi noun category name") end

insert("~|" .. get_sort_key, "at beginning")

local categories = {} for _, cat in ipairs(cats) do		table.insert(categories, "") end

return "This category contains Hindi " .. rsub(maintext, "~", pos .. "s") .. "\n" .. mw.getCurrentFrame:expandTemplate{title="hi-categoryTOC", args={}} .. table.concat(categories, "") end

-- Externally callable function to parse and decline a noun given user-specified arguments. -- Return value is WORD_SPEC, an object where the declined forms are in `WORD_SPEC.forms` -- for each slot. If there are no values for a slot, the slot key will be missing. The value -- for a given slot is a list of objects {form=FORM, translit=TRANSLIT, footnotes=FOOTNOTES}. function export.do_generate_forms(parent_args, pos, from_headword, def) local params = { [1] = {required = true, default = "दुनिया"}, footnote = {list = true}, title = {}, }

if from_headword then params["lemma"] = {list = true} params["g"] = {list = true} params["f"] = {list = true} params["m"] = {list = true} params["id"] = {} end

local args = m_para.process(parent_args, params) local parse_props = { parse_indicator_spec = parse_indicator_spec, lang = lang, transliterate_respelling = com.transliterate_respelling, allow_blank_lemma = true, }	local alternant_multiword_spec = iut.parse_inflected_text(args[1], parse_props) alternant_multiword_spec.title = args.title alternant_multiword_spec.footnotes = args.footnote alternant_multiword_spec.pos = pos or "nouns" alternant_multiword_spec.args = args com.normalize_all_lemmas(alternant_multiword_spec, "always transliterate") detect_all_indicator_specs(alternant_multiword_spec) propagate_properties(alternant_multiword_spec, "number", "both", "both") -- The default of "M" should apply only to plural adjectives, where it doesn't matter. -- FIXME: This may be wrong for Hindi. propagate_properties(alternant_multiword_spec, "gender", "M", "mixed") determine_noun_status(alternant_multiword_spec) local inflect_props = { skip_slot = function(slot) return skip_slot(alternant_multiword_spec.number, slot) end, slot_table = noun_slots_with_linked, lang = lang, inflect_word_spec = decline_noun, }	iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props) com.remove_redundant_translit(alternant_multiword_spec) compute_categories_and_annotation(alternant_multiword_spec) alternant_multiword_spec.genders = compute_headword_genders(alternant_multiword_spec) return alternant_multiword_spec end

-- Externally callable function to parse and decline a noun where all forms -- are given manually. Return value is WORD_SPEC, an object where the declined -- forms are in `WORD_SPEC.forms` for each slot. If there are no values for a -- slot, the slot key will be missing. The value for a given slot is a list of -- objects {form=FORM, translit=TRANSLIT, footnotes=FOOTNOTES}. function export.do_generate_forms_manual(parent_args, number, pos, from_headword, def) if number ~= "sg" and number ~= "pl" and number ~= "both" then error("Internal error: number (arg 1) must be 'sg', 'pl' or 'both': '" .. number .. "'") end

local params = { footnote = {list = true}, title = {}, }	if number == "both" then params[1] = {required = true, default = "तारीख़"} params[2] = {required = true, default = "तवारीख़"} params[3] = {required = true, default = "तारीख़"} params[4] = {required = true, default = "तवारीख़ों"} params[5] = {required = true, default = "तारीख़"} params[6] = {required = true, default = "तवारीख़ो"} elseif number == "sg" then params[1] = {required = true, default = "अदला-बदला"} params[2] = {required = true, default = "अदले-बदले"} params[3] = {required = true, default = "अदले-बदले"} else params[1] = {required = true, default = "लोग"} params[2] = {required = true, default =	"लोगों"} params[3] = {required = true, default = "लोगो"} end

local args = m_para.process(parent_args, params) local alternant_spec = { title = args.title, footnotes = args.footnote, forms = {}, number = number, pos = pos or "nouns", manual = true, }	process_manual_overrides(alternant_spec.forms, args, alternant_spec.number) compute_categories_and_annotation(alternant_spec) return alternant_spec end

-- Entry point for. Template-callable function to parse and decline a noun given -- user-specified arguments and generate a displayable table of the declined forms. function export.show(frame) local parent_args = frame:getParent.args local alternant_multiword_spec = export.do_generate_forms(parent_args) show_forms(alternant_multiword_spec) return make_table(alternant_multiword_spec) .. require("Module:utilities").format_categories(alternant_multiword_spec.categories, lang) end

-- Entry point for, and. -- Template-callable function to parse and decline a noun given manually-specified inflections -- and generate a displayable table of the declined forms. function export.show_manual(frame) local iparams = { [1] = {required = true}, }	local iargs = m_para.process(frame.args, iparams) local parent_args = frame:getParent.args local alternant_spec = export.do_generate_forms_manual(parent_args, iargs[1]) show_forms(alternant_spec) return make_table(alternant_spec) .. require("Module:utilities").format_categories(alternant_spec.categories, lang) end

-- Concatenate all forms of all slots into a single string of the form -- "SLOT=FORM,FORM,...|SLOT=FORM,FORM,...|...". Each FORM is either a string in Devanagari or -- (if manual translit is present) a specification of the form "FORM//TRANSLIT" where FORM is the -- Devanagari representation of the form and TRANSLIT its manual transliteration. Embedded pipe symbols -- (as might occur in embedded links) are converted to <!>. If INCLUDE_PROPS is given, also include -- additional properties (currently, g= for headword genders). This is for use by bots. local function concat_forms(alternant_spec, include_props) local ins_text = {} for slot, _ in pairs(noun_slots_with_linked) do		local formtext = iut.concat_forms_in_slot(alternant_spec.forms[slot]) if formtext then table.insert(ins_text, slot .. "=" .. formtext) end end if include_props then table.insert(ins_text, "g=" .. table.concat(alternant_spec.genders, ",")) end return table.concat(ins_text, "|") end

-- Template-callable function to parse and decline a noun given user-specified arguments and return -- the forms as a string of the same form as documented in concat_forms above. function export.generate_forms(frame) local include_props = frame.args["include_props"] local parent_args = frame:getParent.args local alternant_spec = export.do_generate_forms(parent_args) return concat_forms(alternant_spec, include_props) end

return export

title: Module:User:Benwing2/hi-noun


text:
Module:Swadesh/data/si

local m = {} m['nativename'] = 'සිංහල' m[1] = {{term = "මම"}, {term = "මං"}} m[2] = {{term = "ඔයා", notes = "neutral"}, {term = "ඔහේ", notes = "dial. neutral"}, {term = "උඹ", notes = "informal"}, {term = "තමුසේ", notes = "informal"}, {term = "තෝ", notes = "derogatory"}, {term = "නුඹ", notes = "honorific"}, {term = "ඔබ", notes = "formal"}, {term = "ඔබතුමා", notes = "high-level honorific"}} m[3] = {{term = "එයා", notes = "anaphoric, gender neutral"}, {term = "අරයා", notes = "distal, gender neutral"}, {term = "මෙයා", notes = "proximal, gender neutral"}, {term = "ඔහු"}} m[4] = m[5] = {{term = "ඔයාලා", notes = "neutral"}, {term = "ඔහේලා", notes = "dial. neutral"}, {term = "උඹලා", notes = "informal"}, {term = "තමුසේලා", notes = "informal"}, {term = "තොපි", notes = "derogatory"}, {term = "නුඹලා", notes = "honorific"}, {term = "ඔබලා", notes = "formal"}, {term = "ඔබතුමාලා", notes = "high-level honorific"}} m[6] = {{term = "එයාලා", notes = "distal/anaphoric, gender neutral"}, {term = "අරයාලා", notes = "distal, gender neutral"}, {term = "මෙයාලා", notes = "proximal, gender neutral"}, {term = "ඔව්හු"}, {term = "ඔවුන්"}} m[7] = m[8] = {{term = "ඒ", notes = "distal/anaphoric, gender neutral"}, {term = "අර", notes = "distal, gender neutral"}, {term = "ඔය", notes = "addressee proximal, gender-neutral"}} m[9] = {{term = "මෙහේ"}, {term = "මෙතන", notes = "emphatic"}} m[10] = {{term = "එහේ"}, {term = "එතන", notes = "emphatic"}, {term = "අරහේ"}, {term = "අතන", notes = "emphatic"}} m[11] = m[12] = {{term = "මොනවා"}, {term = "මොක", notes = "plural"}} m[13] = {{term = "කොහේ"}, {term = "කොතන", notes = "emphatic"}} m[14] = {{term = "කවදා", notes = "day"}, {term = "කීයට", notes = "time"}} m[15] = m[16] = {{term = "නැහැ"}, {term ="නො-"}} m[17] = {{term = "හැම"}, {term = "ඔක්කොම"}} m[18] = {{term = "ගොඩක්"}, {term = "බොහොම"}} m[19] = m[20] = m[21] = m[22] = m[23] = m[24] = m[25] = m[26] = m[27] = m[28] = m[29] = m[30] = m[31] = m[32] = {{term = "පුංචි"}, {term = "කුඩා"}} m[33] = m[34] = m[35] = m[36] = m[37] = m[38] = m[39] = m[40] = m[41] = m[42] = {{term = "මව"}, {term = "අම්මා"}} m[43] = {{term = "පිය"}, {term ="තාත්තා"}, {term = "අප්පොච්චි"}} m[44] = m[45] = m[46] = m[47] = m[48] = m[49] = m[50] = {{term = "ක්‍රිමියාව"}, {term =" පණුවා"}} m[51] = m[52] = m[53] = m[54] = m[55] = m[56] = m[57] = m[58] = m[59] = m[60] = m[61] = m[62] = m[63] = m[64] = m[65] = m[66] = m[67] = {{term = "බිත්තරය"}, {term = "අණ්ඩය"}} m[68] = m[69] = m[70] = m[71] = {{term = "කෙස්"}, {term = "කොණ්ඩය"}} m[72] = {{term = "ඔලුව"}, {term = "ඉස"}} m[73] = m[74] = m[75] = m[76] = m[77] = m[78] = m[79] = m[80] = {{term = "පය"}, {term = "කකුල"}} m[81] = m[82] = m[83] = m[84] = m[85] = m[86] = m[87] = m[88] = m[89] = {{term = "තනේ"}, {term = "පියයුරුව"}} m[90] = {{term = "හදවත"}, {term = "හිත"}, {term = "ළය"}} m[91] = m[92] = m[93] = m[94] = m[95] = m[96] = m[97] = m[98] = m[99] = m[100] = m[101] = {{term = "දකිනවා"}, {term = "බලනවා"}} m[102] = m[103] = m[104] = m[105] = m[106] = m[107] = {{term = "නිදා ගන්නවා"}, {term = "නිදනවා"}} m[108] = {{term = "ජීවත් වෙනවා"}, {term = "සිටිනවා"}} m[109] = {{term = "මැරෙනවා"}, {term = "මියනවා"}, {term = "මිය යනවා"}} m[110] = m[111] = m[112] = m[113] = m[114] = m[115] = m[116] = m[117] = m[118] = m[119] = m[120] = {{term = "ඉගිලෙනවා"}, {term = "පියඹනවා"}} m[121] = m[122] = m[123] = m[124] = m[125] = m[126] = m[127] = m[128] = m[129] = m[130] = m[131] = m[132] = m[133] = m[134] = m[135] = m[136] = m[137] = m[138] = m[139] = m[140] = {{term = "කියනවා"}, {term = "පවසනවා"}, {term = "කතා කරනවා"}} m[141] = m[142] = m[143] = m[144] = m[145] = m[146] = m[147] = m[148] = m[149] = m[150] = m[151] = m[152] = {{term = "ගඟ"}, {term = "ඔය"}} m[153] = m[154] = {{term = "මුහුදු"}, {term = "සයුර"}} m[155] = m[156] = m[157] = m[158] = m[159] = {{term = "බිම"}, {term = "පොළොව"}} m[160] = m[161] = m[162] = m[163] = m[164] = m[165] = m[166] = m[167] = m[168] = m[169] = m[170] = {{term = "පාර"}, {term = "මඟ"}} m[171] = {{term = "කන්ද"}, {term = "ගිරි"}} m[172] = m[173] = m[174] = m[175] = m[176] = m[177] = m[178] = {{term = "දවස"}, {term = "දා"}} m[179] = m[180] = m[181] = m[182] = m[183] = m[184] = m[185] = m[186] = m[187] = m[188] = m[189] = m[190] = m[191] = m[192] = m[193] = m[194] = m[195] = m[196] = m[197] = m[198] = m[199] = m[200] = m[201] = m[202] = m[203] = m[204] = m[205] = {{term = "නම්"}, {term = "නං"}} m[206] = m[207] = return m

title: Module:Swadesh/data/si


text: Template:RQ:sga:Deisi

title: Template:RQ:sga:Deisi


text:
pepestik

Adjective

 * 1) naked

title: pepestik


text:
osouijtli

Noun

 * 1) iguana

title: osouijtli


text:
ouatl

Noun

 * 1) sugar cane

Noun

 * 1) sugar cane.

Noun

 * 1) sugar cane.

title: ouatl


text:
Module:Swadesh/data/pi

local m = {} m['nativename'] = 'pāli' m[1] = m[2] = m[3] = {{term = "so"}, {term = "sa"}} m[4] = {{term = "amhe"}, {term = "mayaṃ"}} m[5] = m[6] = {{term = "te"}, {term = "tā"}, {term = "tāni"}} m[7] = {{term = "ayaṃ"}, {term = "sa"}} m[8] = {{term = "asu"}, {term = "tad"}} m[9] = {{term = "idha"}, {term = "attha"}} m[10] = m[11] = m[12] = {{term = "ka"}, {term = "kiṃ"}} m[13] = m[14] = {{term = "karāhi"}, {term = "kadā"}} m[15] = m[16] = m[17] = m[18] = m[19] = {{term = "eke", notes = "plural of {{m|pi|eka}}"}, {term = "koci"}} m[20] = m[21] = {{term = "añña"}, {term = "apara"}} m[22] = m[23] = m[24] = m[25] = m[26] = m[27] = m[28] = m[29] = m[30] = {{term = "bahala"}, {term = "gahana"}, {term = "ghana"}} m[31] = m[32] = {{term = "khudda"}, {term = "thoka"}} m[36] = m[37] = {{term = "purisa"}, {term = "nara"}} m[38] = {{term = "jana"}, {term = "manussa"}} m[39] = m[40] = {{term = "dāra"}, {term = "bhariyā"}} m[41] = m[42] = m[43] = m[44] = m[45] = m[46] = m[47] = {{term = "kukkura"}, {term = "suvaṇa"}} m[48] = m[49] = {{term = "sappa"}, {term = "ahi"}} m[50] = m[51] = m[52] = m[53] = m[54] = m[55] = m[56] = m[57] = m[58] = m[59] = m[60] = {{term = "tiṇa"}, {term = "ghāsa"}} m[61] = m[62] = m[63] = table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, {{term = "paṇṇa"}, {term = "patta"}}) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, {{term = "āyāti"}, {term = "āgacchati"}}) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, {{term = "jala"}, {term = "āpa"}}) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, {{term = "patha"}, {term = "magga"}}) table.insert(m, {{term = "pabbata"}, {term = "giri"}}) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, {{term = "diva"}, {term = "aṇha"}}) table.insert(m, {{term = "vassa"}, {term = "sanvacchara"}}) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, {{term = "bhaddaka"}, {term = "sundara"}}) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) table.insert(m, ) return m

title: Module:Swadesh/data/pi


text:
nakatl

Noun

 * 1) meat

Noun

 * 1) meat.

Etymology
From.

Noun

 * 1) meat

Noun

 * 1) meat

Noun

 * 1) meat

title: nakatl


text:
motsoli

Noun

 * 1) hole, anus.

title: motsoli


text:
User:Aearthrise/Latin/Christian Latin Course

By Andrew Earthrise

Welcome to the Christian Latin Course. This manual teaches Medieval & Renaissance Latin.

Christian Latin is a spoken & plain style of Latin. It is similar to Classical Latin.

Words are linked to the source on wiktionary pages. Most come from Du Cange's Medieval Latin glossary.

Late Latin Pronunciation
The pronunciation here is Late Latin, described in Isidore of Seville's Etymologiæ.

Æ, Ae is pronounced as ay, cape

Di sounds like j, John

Ti sounds like ts, Shiatsu

Qu sounds like k, kick, except behind letter "a" where it sounds kw, quick

V sounds like v, very

Ph is pronounced f, father

Th sounds like t, tiger

C is always k, cat

G is always hard g, God

H is pronounced h, hair

J, I is pronounced Y, yacht

Chapter 1

'''𝔰𝔞𝔩𝔲𝔱𝔢𝔪! 𝔮𝔲𝔦𝔰 𝔢𝔰 𝔱𝔲?'''

Hello! Who are you?

𝔢𝔤𝔬 𝔰𝔲𝔪 𝔰𝔢𝔫𝔦𝔬𝔯 𝔄𝔫𝔡𝔯𝔢𝔞𝔰.

I am Mister Andrew.

𝔢𝔱 𝔮𝔲𝔦𝔰 𝔢𝔰 𝔱𝔲?

And who are you?

𝔢𝔤𝔬 𝔰𝔲𝔪 𝔰𝔢𝔫𝔦𝔬𝔯𝔦𝔰𝔰𝔞 𝔐𝔞𝔯𝔦𝔞.

I am Miss Maria.

𝔰𝔞𝔩𝔲𝔱𝔢𝔪 𝔰𝔢𝔫𝔦𝔬𝔯 𝔄𝔫𝔡𝔯𝔢𝔞!

Hello Mister Andrew!

𝔰𝔞𝔩𝔲𝔱𝔢𝔪 𝔰𝔢𝔫𝔦𝔬𝔯𝔦𝔰𝔰𝔞 𝔪𝔞𝔯𝔦𝔞!

Hello Miss Maria!

𝔮𝔲𝔬𝔪𝔬𝔡𝔬 𝔰𝔱𝔞𝔰 𝔱𝔲?

How are you?

𝔢𝔤𝔬 𝔰𝔱𝔬 𝔟𝔢𝔫𝔢.

I am well.

𝔰𝔞𝔩𝔲𝔱𝔢𝔪 𝔰𝔢𝔫𝔦𝔬𝔯 𝔄𝔫𝔡𝔯𝔢𝔞!

Hello Mister Andrew!

𝔰𝔞𝔩𝔲𝔱𝔢𝔪 𝔰𝔢𝔫𝔦𝔬𝔯𝔦𝔰𝔰𝔞 𝔐𝔞𝔯𝔦𝔞!

Hello Miss Maria!

𝔮𝔲𝔬𝔪𝔬𝔡𝔬 𝔰𝔱𝔞𝔰 𝔱𝔲?

How are you?

𝔢𝔤𝔬 𝔰𝔱𝔬 𝔬𝔭𝔱𝔦𝔪𝔢.

I am great.

Chapter 2

𝔰𝔞𝔩𝔲𝔱𝔢𝔪 𝔱𝔦𝔟𝔦!

Hello to you!

𝔰𝔞𝔩𝔳𝔢 𝔞𝔪𝔦𝔠𝔢!

Hello friend!

𝔮𝔲𝔦𝔡 𝔢𝔰𝔱 𝔫𝔬𝔪𝔢𝔫 𝔱𝔲𝔲𝔪?

What is your name?

𝔫𝔬𝔪𝔢𝔫 𝔪𝔢𝔲𝔪 𝔢𝔰𝔱 𝔰𝔢𝔫𝔦𝔬𝔯𝔦𝔰𝔰𝔞 𝔗𝔥𝔢𝔬𝔡𝔬𝔯𝔞 .

My name is Miss Theodora.

𝔮𝔲𝔦𝔡 𝔢𝔰𝔱 𝔫𝔬𝔪𝔢𝔫 𝔱𝔲𝔲𝔪, 𝔞𝔪𝔦𝔠𝔢?

What is your name, friend?

𝔫𝔬𝔪𝔢𝔫 𝔪𝔢𝔲𝔪 𝔢𝔰𝔱 𝔰𝔢𝔫𝔦𝔬𝔯 𝔐𝔞𝔯𝔠𝔲𝔰 .

My name is Mister Marcus.

𝔢𝔤𝔬 𝔰𝔲𝔪 𝔦𝔫𝔠𝔞𝔫𝔱𝔞𝔱𝔞, 𝔰𝔢𝔫𝔦𝔬𝔯 𝔐𝔞𝔯𝔠𝔢 .

I am pleased, Mister Marcus.

𝔢𝔤𝔬 𝔰𝔲𝔪 𝔦𝔫𝔠𝔞𝔫𝔱𝔞𝔱𝔲𝔰, 𝔰𝔢𝔫𝔦𝔬𝔯𝔦𝔰𝔰𝔞 𝔗𝔥𝔢𝔬𝔡𝔬𝔯𝔞 .

I am pleased, Miss Theodora.

𝔤𝔯𝔞𝔱𝔦𝔞𝔰, 𝔞𝔪𝔦𝔠𝔢.

Thank you, friend!

𝔤𝔯𝔞𝔱𝔦𝔞𝔰, 𝔰𝔢𝔫𝔦𝔬𝔯𝔦𝔰𝔰𝔞 𝔗𝔥𝔢𝔬𝔡𝔬𝔯𝔞.

Thank you, Miss Theodora!

𝔞𝔡 𝔇𝔢𝔲𝔪, 𝔞𝔪𝔦𝔠𝔢!

Goodbye to you, friend!

𝔞𝔡 𝔇𝔢𝔲𝔪, 𝔰𝔢𝔫𝔦𝔬𝔯!

Goodbye Mister!


text:
mexkali

Noun

 * 1) century plant, agave

title: mexkali