text: amelyeknél

title: amelyeknél


text: amelybe

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

title: amelybe


text: amelyekbe

title: amelyekbe


text: amelyre

title: amelyre


text: amelyekre

title: amelyekre


text: amelyhez

title: amelyhez


text: amelyekhez

title: amelyekhez


text: amelyből

title: amelyből


text: amelyekből

title: amelyekből


text: amelyről

title: amelyről


text: amelyekről

title: amelyekről


text: amelytől

title: amelytől


text: amelyektől

title: amelyektől


text: ezeknek

title: ezeknek


text: ezekkel

title: ezekkel


text: ezekért

title: ezekért


text: ezzé

title: ezzé


text: ezekké

title: ezekké


text: ezekig

title: ezekig


text: ekként

title: ekként


text: ezekként

title: ezekként


text: 词头

title: 词头


text: 前缀

title: 前缀


text:
詞頭

Noun

 * 1)  prefix

title: 詞頭


text:
前綴

Noun

 * 1)  prefix

title: 前綴


text: ūod

title: ūod


text:
un-Palestinian

Adjective

 * 1) Contrary to the principles of Palestinian culture
 * 2) * 1958, AV Guide, The Learning Media Magazine - Volume 37, Page 199
 * The fine points of this classic parable being too difficult for the producer, we are treated to some phony authenticity— very modern garbage being given to some very un-Palestinian swine
 * 1) * 1935, Gustaf Dalman, Sacred sites and ways: studies in the topography of the Gospels, p 360
 * from its high situation in the wall, be considered as un-Palestinian

title: un-Palestinian


text: ūom

title: ūom


text: 词尾

title: 词尾


text: ūotõ

title: ūotõ


text: 后缀

title: 后缀


text:
詞尾

Noun

 * 1)  suffix; ending; termination

title: 詞尾


text:
後綴

Noun

 * 1)  suffix

title: 後綴


text: vȯļ

title: vȯļ


text: vȯļmõ

title: vȯļmõ


text: 词根

title: 词根


text: vȯļtõ

title: vȯļtõ


text:
詞根

Noun

 * 1) word stem; root

title: 詞根


text: vȯnd

title: vȯnd


text: vȯnnõd

title: vȯnnõd


text:
ūo

Noun

 * 1)  goat

title: ūo


text: vȯlgõm

title: vȯlgõm


text: vȯlgid

title: vȯlgid


text: vȯlks

title: vȯlks


text: vȯlkst

title: vȯlkst


text: vȯlksmõ

title: vȯlksmõ


text: vȯlkstõ

title: vȯlkstõ


text: vȯlkõ

title: vȯlkõ


text: vȯlkõd

title: vȯlkõd


text: vȯļļi

title: vȯļļi


text:
責怪

Verb

 * 1) to blame

title: 責怪


text: vȯļļid

title: vȯļļid


text: vȯlmõst

title: vȯlmõst


text: 责怪

title: 责怪


text: zéguài

title: zéguài


text: vȯldsõ

title: vȯldsõ


text: vȯlmõ

title: vȯlmõ


text: vȯlmõt

title: vȯlmõt


text: vȯldõd

title: vȯldõd


text: zébèi

title: zébèi


text: ūot

title: ūot


text:
澤被

Verb

 * 1) to extend benefits

title: 澤被


text: 泽被

title: 泽被


text: Category:Irish mutated particles

title: Category:Irish mutated particles


text:
職責

Noun

 * 1) duty; responsibility

title: 職責


text: 职责

title: 职责


text: zhízé

title: zhízé


text: zhǐzé

title: zhǐzé


text: attõ

title: attõ


text: ātõ

title: ātõ


text: lǟb

title: lǟb


text: lǟd

title: lǟd


text: lǟm

title: lǟm


text: lǟtõ

title: lǟtõ


text: lǟbõd

title: lǟbõd


text: lekš

title: lekš


text: lekšt

title: lekšt


text: lekšmõ

title: lekšmõ


text: lekštõ

title: lekštõ


text: lǟnd

title: lǟnd


text: lǟnõd

title: lǟnõd


text:
lǟ

Noun

 * 1) dust

title: lǟ


text: ligīd

title: ligīd


text: lǟks

title: lǟks


text: lǟkst

title: lǟkst


text: lǟksmõ

title: lǟksmõ


text: lǟkstõ

title: lǟkstõ


text: läkkõ

title: läkkõ


text: läkkõd

title: läkkõd


text: lēji

title: lēji


text: lējid

title: lējid


text: lēmõst

title: lēmõst


text: lǟdsõ

title: lǟdsõ


text: lǟmõ

title: lǟmõ


text: lǟmõt

title: lǟmõt


text: Palestine sunbirds

title: Palestine sunbirds


text: friksjonen

title: friksjonen


text: friksjoner

title: friksjoner


text: friksjonene

title: friksjonene


text: ezekben

title: ezekben


text: friksjonar

title: friksjonar


text: ezeken

title: ezeken


text:
ennél

Etymology 2
From a modified stem of.

title: ennél


text: Category:Livonian verb forms

title: Category:Livonian verb forms


text: ezeknél

title: ezeknél


text: friksjonane

title: friksjonane


text: ezekbe

title: ezekbe


text: ezekre

title: ezekre


text: ezekhez

title: ezekhez


text: ebből

title: ebből


text: ezekből

title: ezekből


text:
erről

Adverb

 * 1) from this direction, from this (nearby) place

title: erről


text: ezekről

title: ezekről


text: ettől

title: ettől


text: ezektől

title: ezektől


text: Category:Livonian debitives

title: Category:Livonian debitives


text: Category:Livonian gerunds

title: Category:Livonian gerunds


text: Category:Livonian supines

title: Category:Livonian supines


text: Category:Livonian supine abessives

title: Category:Livonian supine abessives


text: Category:Livonian past active participles


text: Category:Livonian past passive participles


text: hånda

title: hånda


text: うきぼり

title: うきぼり


text:
ahsën

Alternative forms

 * achsin

Etymology
From. Cognates include 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬.

Noun

 * 1) stone, rock

title: ahsën


text: ukibori

title: ukibori


text: hendene

title: hendene


text:
līdõ

Etymology
From.

Verb

 * 1)  to be going to
 * pūoga līb aŗšt, ta opūb aŗštõks
 * son is going to be a doctor, he is studying to be a doctor
 * mēg līm aššõ tegīž vel kubsõ
 * soon we are going to be together again
 * sīest midāgõst äb lī
 * nothing will come out of it
 * se äb līks slikțõks
 * that wouldn't be bad
 * 1) to be as a result of some action, to become
 * sprīt laskūb mōzõ, siz līb pūol pūraztõ
 * you lower down the sprit, then there will be half of a sail
 * sprīt laskūb mōzõ, siz līb pūol pūraztõ
 * you lower down the sprit, then there will be half of a sail

title: līdõ


text: līb

title: līb


text:
līd

Etymology
Akin to Finnish.

title: līd


text:
Raffinat

Noun

 * 1) raffinate

title: Raffinat


text: līm

title: līm


text: lītõ

title: lītõ


text: lībõd

title: lībõd


text: līž

title: līž


text: līžt

title: līžt


text:
Regeländerung

Noun

 * 1) rule change

title: Regeländerung


text: līžmõ

title: līžmõ


text: līžtõ

title: līžtõ


text: līnd

title: līnd


text: līnõd

title: līnõd


text: 衷肠

title: 衷肠


text:
衷腸

Noun

 * 1) words earnestly spoken from the bottom of one's heart

title: 衷腸


text:
Regenbildung

Etymology
From.

Noun

 * 1) rain formation

title: Regenbildung


text: līgõm

title: līgõm


text:
Land Day

Proper noun

 * 1) A Palestinian holiday commemorated on the 30th of March to remember the confiscation of Palestinian land on that date in 1976 by the Israeli government.

title: Land Day


text: līgid

title: līgid


text:
līks

Adjective

 * 1) hooked, crooked

title: līks


text: līkst

title: līkst


text: 中场

title: 中场


text: līksmõ

title: līksmõ


text:
中場

Noun

 * 1)  midfield, midfielder the position
 * 2)  half-time

title: 中場


text: līkstõ

title: līkstõ


text: līgõ

title: līgõ


text: līgõd

title: līgõd


text: līji

title: līji


text: lījid

title: lījid


text: līmõst

title: līmõst


text: līdsõ

title: līdsõ


text:
Rheinisch

Proper noun

 * 1) Rhenish (dialect)

title: Rheinisch


text: līmõ

title: līmõ


text: līmõt

title: līmõt


text: līdõd

title: līdõd


text:
血腥

Adjective

 * 1) bloody; gory; full of bloodshed

Noun

 * 1) smell of blood; gore

title: 血腥


text:
Nakba Day

Proper noun

 * 1) A Palestinian annual holiday on the 15th of May to commemorate the Nakba, the 1948 expulsion of Palestinians from their homes.

title: Nakba Day


text: jelāb

title: jelāb


text: jelād

title: jelād


text: jelām

title: jelām


text: jelāt

title: jelāt


text: jelābõd

title: jelābõd


text: jelīz

title: jelīz


text: jelīzt

title: jelīzt


text: jelīzmõ

title: jelīzmõ


text: jelīztõ

title: jelīztõ


text: jelā

title: jelā


text:
anssar

Etymology
From, from.

Noun

 * A primeira foi tã grande como dãſſar un g[ra]nd ouo.
 * The first was as big as a big goose egg.
 * A primeira foi tã grande como dãſſar un g[ra]nd ouo.
 * The first was as big as a big goose egg.

title: anssar


text: jelāgõm

title: jelāgõm


text: jelāgid

title: jelāgid


text: jelāks

title: jelāks


text: jelākst

title: jelākst


text: jelāksmõ

title: jelāksmõ


text: jelākstõ

title: jelākstõ


text: jelāg

title: jelāg


text: jelāgõd

title: jelāgõd


text: jelāji

title: jelāji


text: jelājid

title: jelājid


text: jelāmõst

title: jelāmõst


text: jellõs

title: jellõs


text: jelāmõt

title: jelāmõt


text: jeldõd

title: jeldõd


text:
User talk:Meihouwang

Errors in Chinese character etymologies
Hi 美猴王. Many of the character etymologies you have added are incorrect:

 * 1) 累:
 * Not ideographic.
 * Original form: 纍 ("rope", : *rul) - phono-semantic: 畾 (phonetic, OC: *ruːl), 糸 ("silk", semantic). From the same source also came 雷 (< 靁, *ruːl), 儡 (*ruːl)., analogously also the cognates 磊 (*ruːlʔ), 垒 (*rulʔ).
 * 1) 玉:
 * Not "connection between the Heaven and the Earth".
 * It represents a string of jade pieces, the dot was added to differentiate from 王, thus it originally meant "blemished jade". Also written 玊 (su4) for this reason.
 * 1) 找:
 * Not "a hand 扌 reaching for an halberd 戈".
 * Originally a variant form of 划 ("to paddle, to row"), which is derived from the sense "small knife" (戈 + 刂). Borrowed to mean a similar action.
 * 1) 氣:
 * Not "Steam 气 rising from a bowl of rice 米".
 * It was the original form of 餼 ("to present rice as a gift"), which is from the same source as 乞 ("to endow; to make endow, to beg"). Hence a rebus character.
 * 1) 气:
 * Not "vapor rising".
 * It represents air flow, cf. oracle bone. From the same source is 乞, reduced by a stroke.

Wyang (talk) 23:18, 19 February 2014 (UTC)

Yes, much better now. Thanks. Welcome. Wyang (talk) 21:29, 21 February 2014 (UTC)

Thanks for adding definitions to character entries with the proper headings

 * :) Jamesjiao → T ◊ C 21:13, 25 February 2014 (UTC)

Surnames
Please Use for surnames. E.g.,. Doing so adds the entry to Category:Mandarin surnames. Jamesjiao → T ◊ C 21:28, 3 March 2014 (UTC)

 * OK! Thanks for your advice. Meihouwang (talk) 21:48, 3 March 2014 (UTC)

Chinese user examples
Hi!

Thanks for your great usage examples but please consider using. It has automatic trad./simp. conversion, transliteration, capitalisation, formatting and linking. You can also make correct Pinyin reading (when automatic doesn't work) and force to capitalise Pinyin. It will save you time and produce good results, when you become comfortable with it. Please see on how I used  with your usage examples.

Also, please be aware of changes to Chinese (Mandarin, Cantonese, Min Nan) entries, following the vote Votes/pl-2014-04/Unified Chinese. --Anatoli (обсудить/вклад) 23:11, 4 May 2014 (UTC)

 * Hi again. I'd like to comment further on your style, if that's OK? Your edits are very good and useful but:
 * Please don't create red links for words, which are unlikely to be added, like "to have a lot". Or in Chinese examples, e.g. 得多, 多了. These are not words.
 * If it's possible, please use traditional characters on entries, which are both trad. and simpl., e.g. 多. will automatically convert from trad. to simplified.
 * Please keep simplified and traditional in sync, so, if you edit a simplified entry, please edit the traditional entry as well.
 * All Chinese entries should have . Don't forget. E.g. 卖友求荣 didn't have it and there was no traditional version
 * It's much easier to create new entries using . It's not hard to use. There can be some occasional issues in conversion, which can fixed manually. Pls let me or User:Wyang know.
 * Minor things - if conversion to Pinyin doesn't work, please use {}, e.g. 得{de} 多. Please use Chinese punctuation, e.g. ？ and ！, not "?" and "!". It messes the conversion too and creates links like this 高? or 呀!, which are undesirable.
 * Not trying to be difficult but someone will have to fix entries :). See my edit on 多 - . Happy editing! 加油！--Anatoli (обсудить/вклад) 00:04, 3 June 2014 (UTC)

 * Thanks for those advices. I will follow them in the future. Meihouwang (talk) 16:16, 3 June 2014 (UTC)

Edit conflict on 的
Hi,

Sorry, I have overwritten some of your edits with the topolect merger. Your version is. If you feel like adding anything from that version, you can use it. --Anatoli (обсудить/вклад) 09:34, 8 June 2014 (UTC)

,, , , , 鼕粉 (deleted)
Please make sure 1) there is a ===Pronunciation=== header above ; 2) Pinyin is correct; and 3) the simp/trad forms are correct. Wyang (talk) 04:30, 13 June 2014 (UTC)
 * I'm going to rub it in and ask to use traditional characters in usage examples in traditional entries and simplified characters in simplified entries. :) E.g. in 嗎, it doesn't make sense to write "你喜欢嗎？" - it's a mixture of traditional and simplified characters. The links in also differs in traditional/simplified entries, you can't just copy/paste them. --Anatoli (обсудить/вклад) 05:16, 13 June 2014 (UTC)

Sorry! I didn'nt know that cantonese terms don't use traditionnal form. I corrected my recent edits where I forgot to use traditionnal in. Maybe it would be easier for synchronisation between simplified page and traditionnal page if could convert to simplified when used in a simplified page? it would make merging of simplified and traditionnal data easier when parsing Wiktionary. Meihouwang (talk) 11:20, 13 June 2014 (UTC)

Incomplete resolution of the "Definitions" header
For words with merged "Definitions" header, please keep the definitions unified under that header. Please don't add a separate header. Wyang (talk) 01:18, 27 June 2014 (UTC)
 * The problem though, is "Definitions" header is not approved. --Anatoli (обсудить/вклад) 03:00, 27 June 2014 (UTC)

房子
Hi,

Re:. Can you tell simplified from traditional characters in the 2nd and 3rd usage examples? Pls note my changes in. --Anatoli (обсудить/вклад) 11:41, 6 July 2014 (UTC)
 * Sorry. I usually use traditionnal character in but I forgot this time. Meihouwang (talk) 12:27, 6 July 2014 (UTC)
 * It's OK, just more attentive. Sorry to be a pest but please always check the generated pinyin in zh-usex, especially erhua, don't fully rely on automated transliteration. For example 哪儿 is "nǎr", not "nǎ'ér". To force pinyin in zh-usex, use 儿{r} (curly brackets with suggested pinyin straight after the character. Pls see my changes in . :) --Anatoli (обсудить/вклад) 23:23, 13 July 2014 (UTC)

Redirecting modern Chinese to traditional
Not sure why you are redirecting modern Chinese to traditional when we do not yet have sufficient evidence for consensus on this. --Dan Polansky (talk) 17:59, 20 December 2014 (UTC)
 * I saw it appearing in some pages so I thought it was accepted. Where can I know if it has been officialy accepted or not? Meihouwang (talk) 09:26, 21 December 2014 (UTC)

 * Beer_parlour/2014/December shows clear consensus but we didn't get Dan's personal approval. :) --Anatoli T. (обсудить/вклад) 00:01, 26 December 2014 (UTC)
 * To answer your question: Votes/pl-2014-12/Making simplified Chinese soft-redirect to traditional Chinese. --Dan Polansky (talk) 10:04, 26 December 2014 (UTC)

Checking created entries
Hi, please make sure you check the entry you created for (1) correct trad-simp forms; (2) correct component splitting in zh-forms; (3) pronunciation; and (4) grammar. For example, the following changes are needed at 乾坤圈: (1) "干坤圈" is not its simplified form (乾坤圈 is both simp and trad); (2) there should be |type=21 in zh-forms; (3) Pinyin should be Qiánkūnquān not Gānkūnquān; (4) in the definition, "one of the weapon" should be "one of the weapons". The documentation of the autocreation zh-new template can be found at. Thanks! Wyang (talk) 10:56, 22 May 2016 (UTC)
 * Ok! Thanks for your corrections. Meihouwang (talk) 14:03, 22 May 2016 (UTC)

Example sentences
Hi, please source example sentences that you add by using ref in. I also don't think we should be taking sentences from 句酷 or the like. It's not clear how they've licensed their data, so it'd be running the risk of copyvio. (Also, welcome back!) — justin(r)leung { (t...) 19:08, 11 June 2020 (UTC)
 * Thank for the advice. I will try to find the original source for all the sentences I added. Is it ok to use translation from OpenSubtitles (http://opus.nlpl.eu/OpenSubtitles-v2018.php) if I add the reference of the original movie? and is it ok in general to add any translation find on the web if the original source is provided? like what is done in Wikiquote.
 * Sorry for getting back to you so late. I couldn't get the ping because you probably didn't sign with four tildes. I think it'd be okay to use translated subtitles as long as you add the reference to the movie and where the translated subtitles come from. Any quote should come from durably archived sources, so I'd say be careful with translations you find on the web. — justin(r)leung { (t...) 02:05, 21 June 2020 (UTC)

We sent you an e-mail
Hello ,

Really sorry for the inconvenience. This is a gentle note to request that you check your email. We sent you a message titled "The Community Insights survey is coming!". If you have questions, email surveys@wikimedia.org.

You can see my explanation here.

MediaWiki message delivery (talk) 18:48, 25 September 2020 (UTC)

title: User talk:Meihouwang


text: jelliņiž

title: jelliņiž


text: likūb

title: likūb


text: likūd

title: likūd


text: likkõm

title: likkõm


text: likkõt

title: likkõt


text: likkõbõd

title: likkõbõd


text: likīz

title: likīz


text: likīzt

title: likīzt


text: likīzmõ

title: likīzmõ


text: likīztõ

title: likīztõ


text: likkõn

title: likkõn


text: likkõnd

title: likkõnd


text: likkõgõm

title: likkõgõm


text: likkõgid

title: likkõgid


text: likkõks

title: likkõks


text: likkõkst

title: likkõkst


text: likkõksmõ

title: likkõksmõ


text: likkõkstõ

title: likkõkstõ


text: likkõg

title: likkõg


text: channelisation

title: channelisation


text: likkõgõd

title: likkõgõd


text: channelisations

title: channelisations


text: likkiji

title: likkiji


text: likkijid

title: likkijid


text: likkõmõst

title: likkõmõst


text: likkõs

title: likkõs


text: likkõmõt

title: likkõmõt


text:
黑色素

Etymology
.

Noun

 * 1)  melanin

title: 黑色素


text: liktõd

title: liktõd


text:
メラニン

Etymology

 * see 🇨🇬.

Noun

 * 1)  melanin

title: メラニン


text:
脫羧

Verb

 * 1)  to decarboxylate

title: 脫羧


text: 脱羧

title: 脱羧


text:
멜라닌

Etymology
From.

Noun

 * 1)  melanin

title: 멜라닌


text:
褪黑素

Noun

 * 1) melatonin

title: 褪黑素


text:
campãa

Etymology
.

Noun

 * ⁊ o sac[ri]ſtã tan toſte a gran campãa tangia.
 * And the sacristan at once rang the great bell.
 * ⁊ o sac[ri]ſtã tan toſte a gran campãa tangia.
 * And the sacristan at once rang the great bell.

title: campãa


text: kinoen

title: kinoen


text: kinoer

title: kinoer


text: kinoene

title: kinoene


text: kinoar

title: kinoar


text:
campá

Etymology
From (13th century, ), from. Compare 🇨🇬, 🇨🇬.

Noun

 * 1) bell
 * 2) hood; extractor hood
 * 1) hood; extractor hood

title: campá


text: kinoane

title: kinoane


text:
mathematical induction

Noun

 * 1)  A method of proof which, in terms of a predicate P, could be stated as: if $$P(0)$$ is true and if for any natural number $$n \ge 0$$, $$P(n)$$ implies $$P(n + 1)$$, then $$P(n)$$ is true for any natural number n.
 * Mathematical induction is often compared to the behavior of dominos. The dominos are stood up on edge close to each other in a long row. When one is knocked over, it hits the next one (analogous to n in S implies n + 1 in S), which in turn hits the next, etc. If then we hit the first (0 in S), then they will all eventually fall (S is all of $$\mathbb{N}$$). In Variation 1 above, we start by knocking over the kth domino, so that it and all subsequent ones eventually fall.
 * Mathematical induction is often compared to the behavior of dominos. The dominos are stood up on edge close to each other in a long row. When one is knocked over, it hits the next one (analogous to n in S implies n + 1 in S), which in turn hits the next, etc. If then we hit the first (0 in S), then they will all eventually fall (S is all of $$\mathbb{N}$$). In Variation 1 above, we start by knocking over the kth domino, so that it and all subsequent ones eventually fall.

Translations

 * Chinese:
 * Mandarin: 數學歸納法
 * Polish: indukcja matematyczna
 * Tagalog: sipnaying pamuuran

title: mathematical induction


text: Category:roa-opt:Christianity

title: Category:roa-opt:Christianity


text:
bebedor

Etymology
From, or from.

Noun

 * 1) drinker someone who drinks
 * 2) water fountain device that dispenses drinking water

Etymology
From, or from.

Adjective

 * 1) drinking
 * 2) hard drinking, bibulous drinking alcohol

Noun

 * 1) drinker one who drinks
 * 2) drunkard one who drinks alcohol
 * 1) drunkard one who drinks alcohol

title: bebedor


text:
fæcele

Etymology
From, borrowed from.

Noun

 * 1) torch

title: fæcele


text: augurios

title: augurios


text:
ballesta

Etymology
From, from.

Noun

 * 1)  mechanised weapon based on the bow

Etymology
From, from.

Noun

 * 1) crossbow
 * 2) ballista
 * 3) triggerfish

Etymology
, from, from.

Noun

 * 1) crossbow
 * 2) ballista
 * 3)  leaf spring

title: ballesta


text: ballestas

title: ballestas


text:
barbitúrico

Adjective

 * 1) barbituric

Noun

 * 1) barbiturate

title: barbitúrico


text: barbitúricos

title: barbitúricos


text:
Talk:cambio

Latin verb’s origin
"to exchange" from "crooked"? Wyang (talk) 01:49, 20 February 2014 (UTC)

 * Could you more clearly explain your question, please? — I.S.M.E.T.A. 11:08, 2 May 2017 (UTC)

 * I guess my question was how the sense "to exchange" developed from "crooked". It is not quite clear to me from this entry and entries immediately linked to from this entry. Wyang (talk) 11:27, 2 May 2017 (UTC)

 * Does this word derive from the same root as ? And did you see my response to you on that entry’s talk page? — I.S.M.E.T.A. 13:51, 2 May 2017 (UTC)

 * I saw that, thanks. I don't know if they share the same root, though. Wyang (talk) 08:31, 3 May 2017 (UTC)

title: Talk:cambio


text:
illegal immigrant

Noun

 * 1)  Someone who has immigrated into a country by bypassing customs and immigration controls.

title: illegal immigrant


text:
biscuit shooter

Noun

 * 1)  A waiter, waitress, or cook.
 * 2) * 1920, "The Ballad of Locoed Lem", Ballads of the West by William Earl Harvey:
 * Oh, wise biscuit-shooter what slung ham an' eggs / At th' puncher straight out o' th' west. / She was perty an' sweet an' was trim on her pegs.

title: biscuit shooter


text:
噩耗

Noun

 * 1) sad and startling news of the death of one's beloved

title: 噩耗


text:
trefah

Adjective

 * 1)  Not kosher.

title: trefah


text:
stump detective

Noun

 * 1)  A forestry official charged with measuring waste in logging operations.

title: stump detective


text: hoekje

title: hoekje


text: Category:Burmish languages

title: Category:Burmish languages


text:
Module:fi-nominals

local export = {}

local lang = require("Module:languages").getByCode("fi")

-- Functions that do the actual inflecting by creating the forms of a basic term. local inflections = {}

local kotus_grad_type = { ["kk-k"] = "A", ["pp-p"] = "B", ["tt-t"] = "C", ["k-"] = "D", ["p-v"] = "E", ["t-d"] = "F", ["nk-ng"] = "G", ["mp-mm"] = "H", ["lt-ll"] = "I", ["nt-nn"] = "J", ["rt-rr"] = "K", ["k-j"] = "L", ["k-v"] = "M" }

local m_bit32 -- loaded later if needed

local RARE = ' rare'

local function normalize_apostrophes(term, link_target) if link_target then if term and mw.ustring.find(term, "’") then term = mw.ustring.gsub(term, "’", "'") end else if term and mw.ustring.find(term, "'") then term = mw.ustring.gsub(term, "'", "’") end end return term end

-- Creates a link to a form. local function make_link(term, accel_form) -- do not link inflected forms of suffixes if term:match("^-") then if term == mw.title.getCurrentTitle.fullText then return ' ' .. term .. ' '		end

return ' ' .. term .. ' '	end -- if there is something difficult, use full module. if term:find(":") or term:find("<") then if term:find(":") then term = mw.ustring.gsub(term, ":", "\\:") end return require("Module:links").full_link({			lang = lang,			term = term,			accel = accel_form and ({ form = accel_form }) or nil		}) end -- otherwise, we can save a ton of memory by doing this manually. local target = normalize_apostrophes(term, true) if target == mw.title.getCurrentTitle.fullText then return ' ' .. term .. ' '	end if not accel_form then return ' ' .. term .. ' ' end return '' .. term .. ' ' end

local function tag_term(term) -- return require("Module:script utilities").tag_text(term, lang, nil, "term") return '' .. term .. '' end

local function do_inflection_internal(data, argobj) local args = argobj.args argobj.pos = 1

data.words = {} data.num = 1 data.forms = nil data.categories = {} for num, infl_type in ipairs(data.infl_types) do		-- initialize data for single word local word_data = {forms = {}, title = nil, categories = {}} -- word index word_data.num = num data.num = num -- Generate the forms inflections[infl_type](argobj, word_data) postprocess_word(argobj, word_data, data, num == #data.infl_types) word_data.class = infl_type data.words[num] = word_data end

if #data.words > 1 then -- join the inflected word components export.join_words(data, function (n) return args["space" .. tostring(n)] or args["space"] or " " end) else data.vh = data.words[1].vh		data.forms = data.words[1].forms data.title = data.words[1].title data.categories = data.words[1].categories end -- Postprocess postprocess(args, data) end

-- The main entry point. -- This is the only function that can be invoked from a template. function export.show(frame) local infl_type = frame.args[1] or error("Inflection type has not been specified. Please pass parameter 1 to the module invocation") local args = frame:getParent.args local infl_types = {infl_type} infl_types = mw.text.split(infl_type, "%-") for _, type in ipairs(infl_types) do		if not inflections[type] then error("Unknown inflection type '" .. infl_type .. "'") end end local pos = args["pos"]; if not pos or pos == "" then pos = "noun" end local allow_possessive = (pos == "noun" or pos == "adj") and not args["poss"] -- initialize data for full inflection process local data = { pagename = mw.title.getCurrentTitle.text, infl_types = infl_types, poss = args["poss"] }	local argobj = {args = args}

if args["title"] and mw.title.getCurrentTitle.namespace > 0 then data.pagename = args.title elseif data.pagename:find("^Unsupported titles/") then data.pagename = data.pagename:gsub("^Unsupported titles/", "") end data.pagename = normalize_apostrophes(data.pagename)

do_inflection_internal(data, argobj)

--if args["type"] then table.insert(data.categories, "fi-decl with type") end --if args["nocheck"] then table.insert(data.categories, "fi-decl with nocheck") end --if args["nosg"] then table.insert(data.categories, "fi-decl with nosg") end --if args["nopl"] then table.insert(data.categories, "fi-decl with nopl") end local function get_poss_forms(poss) data.poss = poss do_inflection_internal(data, argobj) return data end

local categories if args["appendix"] then categories = "" else categories = require("Module:utilities").format_categories(data.categories, lang) end

return make_table(data, true) .. (allow_possessive and make_possessive_table(data.pagename, args, pos, data.title, get_poss_forms) or "") .. categories .. require("Module:TemplateStyles")("Module:fi-nominals/style.css") end

local function args_get_required(args, i, purpose) local v = args[i] if not v then error(purpose .. " (parameter " .. i .. ") may not be omitted.") end return v end

local function args_get_vowel_harmony(args, i)	local v = args[i] if not v or not mw.ustring.match(v, "^[aä]$") then error("Vowel harmony (parameter " .. i .. ") must be \"a\" or \"ä\".") end return v end

function get_params(argobj, num, invert_grades) local params = {} local args = argobj.args local pos = argobj.pos

params.base = normalize_apostrophes(args[pos]) if num >= 2 then if num >= 4 then params.strong = normalize_apostrophes(args_get_required(args, pos + 1, "Nominative grade")) params.weak = normalize_apostrophes(args_get_required(args, pos + 2, "Genitive grade")) -- Swap the grades if invert_grades then params.strong, params.weak = params.weak, params.strong end end

if num >= 5 then params.final = args_get_required(args, pos + 3, "Final letter(s)") end

params.a = args_get_vowel_harmony(args, pos + num - 1) else params.base = params.base or "" end if params.a then params.o = params.a == "ä" and "ö" or "o" params.u = params.a == "ä" and "y" or "u" end argobj.pos = argobj.pos + num return params end

function get_extra_arg(argobj, wdata, name, fallback) return argobj.args[name .. wdata.num] or argobj.args[name] end

--[=[	Inflection functions ]=]--

local stem_endings = {}

stem_endings["nom_sg"] = { ["nom_sg"] = "", }

stem_endings["sg"] = { ["ess_sg"] = "na", }

stem_endings["sg_weak"] = { ["gen_sg"] = "n", ["ine_sg"] = "ssa", ["ela_sg"] = "sta", ["ade_sg"] = "lla", ["abl_sg"] = "lta", ["all_sg"] = "lle", ["tra_sg"] = "ksi", ["ins_sg"] = "n", ["abe_sg"] = "tta", ["nom_pl"] = "t", }

stem_endings["par_sg"] = { ["par_sg"] = "a", }

stem_endings["ill_sg"] = { ["ill_sg"] = "Vn", }

stem_endings["pl"] = { ["ess_pl"] = "na", ["com_pl"] = "ne", }

stem_endings["pl_weak"] = { ["ine_pl"] = "ssa", ["ela_pl"] = "sta", ["ade_pl"] = "lla", ["abl_pl"] = "lta", ["all_pl"] = "lle", ["tra_pl"] = "ksi", ["ins_pl"] = "n", ["abe_pl"] = "tta", }

stem_endings["par_pl"] = { ["par_pl"] = "a", }

stem_endings["gen_pl"] = { ["gen_pl"] = "en", }

stem_endings["ill_pl"] = { ["ill_pl"] = "Vn", }

-- Make a copy of the endings, with front vowels stem_endings = {["a"] = stem_endings, ["ä"] = mw.clone(stem_endings)}

for stem_key, endings in pairs(stem_endings["ä"]) do	for key, ending in pairs(endings) do		endings[key] = mw.ustring.gsub(endings[key], "([aou])", {["a"] = "ä", ["o"] = "ö", ["u"] = "y"}) end end

-- data for generating possessive forms -- suffixes per person local poss_forms = {["1s"] = "ni", ["2s"] = "si", ["3s"] = "nsa", ["1p"] = "mme", ["2p"] = "nne"} local poss_alt = {--["00"] = false, ["1s"] = false, ["2s"] = false, ["1p"] = false, ["2p"] = false, ["3s"] = true, -- shorter form -Vn } -- which forms allow -nsa > -Vn? local forms_alt_ok = { ["gen_sg"] = false, ["gen_pl"] = false, ["par_sg"] = false, ["par_pl"] = true, ["ine_sg"] = true, ["ine_pl"] = true, ["ela_sg"] = true, ["ela_pl"] = true, ["ill_sg"] = false, ["ill_pl"] = false, ["ade_sg"] = true, ["ade_pl"] = true, ["abl_sg"] = true, ["abl_pl"] = true, ["all_sg"] = true, ["all_pl"] = true, ["ess_sg"] = true, ["ess_pl"] = true, ["tra_sg"] = true, ["tra_pl"] = true, ["ins_sg"] = false, ["ins_pl"] = false, ["abe_sg"] = true, ["abe_pl"] = true, ["com_sg"] = true, ["com_pl"] = true, } -- which forms end in -n? -- (in which case it is dropped before the possessive suffix) local forms_gen_ok = { ["gen_sg"] = true, ["gen_pl"] = true, ["ill_sg"] = true, ["ill_pl"] = true, ["ins_sg"] = true, ["ins_pl"] = true, }

local function feed_list(outputs, inputs) for key, values in pairs(inputs) do		outputs[key] = outputs[key] or {} for _, value in ipairs(values) do			table.insert(outputs[key], value) end end end

local function process_stems(data, stems, vh) -- Create any stems that were not given stems["nom_sg"] = stems["nom_sg"] or mw.clone(stems["sg"]) stems["par_sg"] = stems["par_sg"] or mw.clone(stems["sg"]) stems["par_pl"] = stems["par_pl"] or mw.clone(stems["pl"]) stems["ill_pl"] = stems["ill_pl"] or mw.clone(stems["pl"]) if not stems["ill_sg"] and stems["sg"] then stems["ill_sg"] = {} for _, stem in ipairs(stems["sg"]) do			-- If the stem ends in a long vowel or diphthong, then add -h if mw.ustring.find(stem, "([aeiouyäö])%1$") or mw.ustring.find(stem, "[aeiouyäö][iuyü]$") then table.insert(stems["ill_sg"], stem .. "h") else table.insert(stems["ill_sg"], stem) end end end if not stems["gen_pl"] and stems["par_pl"] then stems["gen_pl"] = {} for _, stem in ipairs(stems["par_pl"]) do			-- If the partitive plural stem ends in -it, then replace the t with d or tt			if mw.ustring.find(stem, "it$") then table.insert(stems["gen_pl"], (mw.ustring.gsub(stem, "t$", "d"))) table.insert(stems["gen_pl"], stem .. "t") else table.insert(stems["gen_pl"], stem) end end end

-- Create forms based on each stem, by adding endings to it	stems["sg_weak"] = stems["sg_weak"] or mw.clone(stems["sg"]) stems["pl_weak"] = stems["pl_weak"] or mw.clone(stems["pl"]) -- Go through each of the stems given for stem_key, substems in pairs(stems) do		for _, stem in ipairs(substems) do			-- Attach the endings to the stem for form_key, ending in pairs(stem_endings[vh][stem_key]) do				if not data.forms[form_key] then data.forms[form_key] = {} end -- "V" is a copy of the last vowel in the stem if mw.ustring.find(ending, "V") then local vowel = mw.ustring.match(stem, "([aeiouyäö])[^aeiouyäö]*$") ending = mw.ustring.gsub(ending, "V", vowel or "?") end table.insert(data.forms[form_key], stem .. ending) end end end data["stems"] = stems data["vh"] = vh end

local function make_kotus_title_number(type_number) return "Kotus type " .. type_number end

local function make_kotus_title_word(reference_word) return '/ ' .. reference_word .. ' ' end

local function make_kotus_title(number, reference_word) return make_kotus_title_number(number) .. make_kotus_title_word(reference_word) end

local function inflection_type_is(data, number, reference_word, strong, weak) local title = make_kotus_title_number(number) local has_gradation = strong and strong ~= weak

if has_gradation then local letter = kotus_grad_type[strong .. "-" .. weak] if letter then title = title .. "*" .. letter else title = title .. "*"		end end

title = title .. make_kotus_title_word(reference_word)

if has_gradation then local EMPTY = " ∅ " local function format(grade) if grade == "" then return EMPTY else return "''" .. grade .. "''"			end end title = title .. ", " .. format(strong) .. "-" .. format(weak) .. " gradation" else title = title .. ", no gradation" end

data.title = title

table.insert(data.categories, "Finnish " .. reference_word .. "-type nominals") end

--[=[	Inflection types ]=]--

inflections["valo"] = function(args, data) local params = get_params(args, 5) local wk_sg = params.weak local wk_pl = params.weak if mw.ustring.sub(params.base, -1) == params.final then if wk_sg == "" and (mw.ustring.find(params.base, "[aeiouyäö][iuy]$") or mw.ustring.find(params.base, "[iuy][eoö]$")) then wk_sg = "’" end if wk_pl == "" then wk_pl = "’" end end local stems = {} stems["sg"]     = {params.base .. params.strong .. params.final} stems["sg_weak"] = {params.base .. wk_sg .. params.final} stems["pl"]     = {params.base .. params.strong .. params.final .. "i"} stems["pl_weak"] = {params.base .. wk_pl .. params.final .. "i"} stems["par_pl"] = {params.base .. params.strong .. params.final .. "j"} stems["ill_pl"] = {params.base .. params.strong .. params.final .. "ih"} inflection_type_is(data, 1, "valo", params.strong, params.weak) process_stems(data, stems, params.a) end

inflections["palvelu"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["sg"]     = {params.base} stems["pl"]     = {params.base .. "i"} stems["par_pl"] = {params.base .. "j", params.base .. "it"} stems["ill_pl"] = {params.base .. "ih"} inflection_type_is(data, 2, "palvelu") process_stems(data, stems, params.a) end

inflections["valtio"] = function(args, data) local params = get_params(args, 2) local final = mw.ustring.sub(params.base, -1) local stems = {} stems["sg"]     = {params.base} stems["par_sg"] = {params.base .. "t"} stems["pl"]     = {params.base .. "i"} stems["par_pl"] = {params.base .. "it"} stems["ill_pl"] = {params.base .. "ih"} inflection_type_is(data, 3, "valtio") process_stems(data, stems, params.a) end

inflections["laatikko"] = function(args, data) local params = get_params(args, 5, false, "kk", "k", "o") local stems = {} stems["sg"]     = {params.base .. params.strong .. params.final} stems["sg_weak"] = {params.base .. params.weak .. params.final} stems["pl"]     = {params.base .. params.strong .. params.final .. "i"} stems["pl_weak"] = {params.base .. params.weak .. params.final .. "i"} stems["par_pl"] = {params.base .. params.strong .. params.final .. "j", params.base .. params.weak .. params.final .. "it"} stems["ill_pl"] = {params.base .. params.strong .. params.final .. "ih", params.base .. params.weak .. params.final .. "ih"} inflection_type_is(data, 4, "laatikko", params.strong, params.weak) process_stems(data, stems, params.a) end

inflections["risti"] = function(args, data) local params = get_params(args, 4) local i = get_extra_arg(args, data, "i"); if i == "0" then i = "" else i = "i" end

local stems = {} stems["nom_sg"] = {params.base .. params.strong .. i} stems["sg"]     = {params.base .. params.strong .. "i"} stems["sg_weak"] = {params.base .. params.weak .. "i"} stems["pl"]     = {params.base .. params.strong .. "ei"} stems["pl_weak"] = {params.base .. params.weak .. "ei"} stems["gen_pl"] = {params.base .. params.strong .. "i"} stems["par_pl"] = {params.base .. params.strong .. "ej"} stems["ill_pl"] = {params.base .. params.strong .. "eih"} inflection_type_is(data, 5, "risti", params.strong, params.weak) process_stems(data, stems, params.a) end

inflections["paperi"] = function(args, data) local params = get_params(args, 2) local i = get_extra_arg(args, data, "i"); if i == "0" then i = "" else i = "i" end local stems = {} stems["nom_sg"] = {params.base .. i} stems["sg"]     = {params.base .. "i"} stems["pl"]     = {params.base .. "ei"} stems["par_pl"] = {params.base .. "eit", params.base .. "ej"} stems["gen_pl"] = {params.base .. "i", params.base .. "eid", params.base .. "eitt"} stems["ill_pl"] = {params.base .. "eih"} inflection_type_is(data, 6, "paperi") process_stems(data, stems, params.a) end

inflections["ovi"] = function(args, data) local params = get_params(args, 4) local nom_sg = get_extra_arg(args, data, "nom_sg"); if nom_sg == "" then nom_sg = nil end local wk_pl = params.weak if mw.ustring.sub(params.base, -1) == "i" and params.strong == "k" and params.weak == "" then wk_pl = "’" end

local stems = {} stems["nom_sg"] = {nom_sg or params.base .. params.strong .. "i"} stems["sg"]     = {params.base .. params.strong .. "e"} stems["sg_weak"] = {params.base .. params.weak .. "e"} stems["pl"]     = {params.base .. params.strong .. "i"} stems["pl_weak"] = {params.base .. wk_pl .. "i"} inflection_type_is(data, 7, "ovi", params.strong, params.weak) process_stems(data, stems, params.a) end

inflections["nalle"] = function(args, data) local params = get_params(args, 4) local stems = {} stems["sg"]     = {params.base .. params.strong .. "e"} stems["sg_weak"] = {params.base .. params.weak .. "e"} stems["pl"]     = {params.base .. params.strong .. "ei"} stems["pl_weak"] = {params.base .. params.weak .. "ei"} stems["par_pl"] = {params.base .. params.strong .. "ej"} stems["ill_pl"] = {params.base .. params.strong .. "eih"} inflection_type_is(data, 8, "nalle", params.strong, params.weak) process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. params.strong .. "ein"} end

inflections["kala"] = function(args, data) local params = get_params(args, 4) local ain = get_extra_arg(args, data, "ain"); if ain == "" then ain = nil end local wk_sg = params.weak if wk_sg == "" and mw.ustring.sub(params.base, -2) == params.a .. params.a then wk_sg = "’" end local stems = {} stems["sg"]     = {params.base .. params.strong .. params.a} stems["sg_weak"] = {params.base .. wk_sg .. params.a} stems["pl"]     = {params.base .. params.strong .. params.o .. "i"} stems["pl_weak"] = {params.base .. params.weak .. params.o .. "i"} stems["par_pl"] = {params.base .. params.strong .. params.o .. "j"} stems["ill_pl"] = {params.base .. params.strong .. params.o .. "ih"} inflection_type_is(data, 9, "kala", params.strong, params.weak) process_stems(data, stems, params.a) local ain_form = params.base .. params.strong .. params.a .. "in" if ain == "2" then table.insert(data.forms["gen_pl"], 1, ain_form) elseif ain == "1" then table.insert(data.forms["gen_pl"], ain_form) else data.forms["gen_pl"].rare = {ain_form} end end

inflections["koira"] = function(args, data) local params = get_params(args, 4) local nom_sg = get_extra_arg(args, data, "nom_sg"); if nom_sg == "" then nom_sg = nil end local apo_pl = get_extra_arg(args, data, "apo_pl"); if apo_pl == "" then apo_pl = nil end local ain = get_extra_arg(args, data, "ain"); if ain == "" then ain = nil end local wk_sg = params.weak local wk_pl = params.weak if wk_sg == "" and mw.ustring.sub(params.base, -2) == params.a .. params.a then wk_sg = "’" end if wk_pl == "" and mw.ustring.sub(params.base, -1) == "i" then wk_pl = "’" end local stems = {} stems["nom_sg"] = {nom_sg or params.base .. params.strong .. params.a} stems["sg"]     = {params.base .. params.strong .. params.a} stems["sg_weak"] = {params.base .. wk_sg .. params.a} stems["pl"]     = {params.base .. params.strong .. (apo_pl and "'" or "") .. "i"} stems["pl_weak"] = {params.base .. wk_pl .. (apo_pl and "'" or "") .. "i"} inflection_type_is(data, 10, "koira", params.strong, params.weak) process_stems(data, stems, params.a) local ain_form = params.base .. params.strong .. params.a .. "in" if ain == "2" then table.insert(data.forms["gen_pl"], 1, ain_form) elseif ain == "1" then table.insert(data.forms["gen_pl"], ain_form) else data.forms["gen_pl"].rare = {ain_form} end end

inflections["omena"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["sg"]     = {params.base .. params.a} stems["pl"]     = {params.base .. params.o .. "i", params.base .. "i"} stems["par_pl"] = {params.base .. "i", params.base .. params.o .. "it"} stems["ill_pl"] = {params.base .. "i", params.base .. params.o .. "ih"} inflection_type_is(data, 11, "omena") process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. params.o .. "jen", params.base .. params.a .. "in"} data.forms["par_pl"].rare = {params.base .. params.o .. "j" .. params.a} end

inflections["kulkija"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["sg"]     = {params.base .. params.a} stems["pl"]     = {params.base .. params.o .. "i"} stems["par_pl"] = {params.base .. params.o .. "it"} stems["ill_pl"] = {params.base .. params.o .. "ih"} inflection_type_is(data, 12, "kulkija") process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. params.a .. "in"} end

inflections["katiska"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["sg"]     = {params.base .. params.a} stems["pl"]     = {params.base .. params.o .. "i"} stems["par_pl"] = {params.base .. params.o .. "it", params.base .. params.o .. "j"} stems["ill_pl"] = {params.base .. params.o .. "ih"} inflection_type_is(data, 13, "katiska") process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. params.a .. "in"} end

inflections["solakka"] = function(args, data) local params = get_params(args, 4) local stems = {} stems["sg"]     = {params.base .. params.strong .. params.a} stems["sg_weak"] = {params.base .. params.weak .. params.a} stems["pl"]     = {params.base .. params.strong .. params.o .. "i"} stems["pl_weak"] = {params.base .. params.weak .. params.o .. "i"} stems["par_pl"] = {params.base .. params.weak .. params.o .. "it", params.base .. params.strong .. params.o .. "j"} stems["ill_pl"] = {params.base .. params.weak .. params.o .. "ih", params.base .. params.strong .. params.o .. "ih"} inflection_type_is(data, 14, "solakka", params.strong, params.weak) process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. params.strong .. params.a .. "in"} end

inflections["korkea"] = function(args, data) local params = get_params(args, 2) local final = mw.ustring.sub(params.base, -1) local stems = {} stems["sg"]     = {params.base .. params.a} stems["par_sg"] = {params.base .. params.a, params.base .. params.a .. "t"} stems["pl"]     = {params.base .. "i"} stems["par_pl"] = {params.base .. "it"} stems["ill_pl"] = {params.base .. "isi", params.base .. "ih"} inflection_type_is(data, 15, "korkea") process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. params.a .. "in"} end

inflections["vanhempi"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. "mpi"} stems["sg"]     = {params.base .. "mp" .. params.a} stems["sg_weak"] = {params.base .. "mm" .. params.a} stems["pl"]     = {params.base .. "mpi"} stems["pl_weak"] = {params.base .. "mmi"} inflection_type_is(data, 16, "vanhempi", "mp", "mm") process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. "mp" .. params.a .. "in"} end

inflections["vapaa"] = function(args, data) local params = get_params(args, 2) local final = mw.ustring.sub(params.base, -1) local stems = {} stems["sg"]     = {params.base .. final} stems["par_sg"] = {params.base .. final .. "t"} stems["ill_sg"] = {params.base .. final .. "se"} stems["pl"]     = {params.base .. "i"} stems["par_pl"] = {params.base .. "it"} stems["ill_pl"] = {params.base .. "isi"} inflection_type_is(data, 17, "vapaa") process_stems(data, stems, params.a) data.forms["ill_pl"].rare = {params.base .. "ihin"} end

inflections["maa"] = function(args, data) local params = get_params(args, 2) local pl_stem = mw.ustring.sub(params.base, 1, -2) local stems = {} stems["sg"]     = {params.base} stems["par_sg"] = {params.base .. "t"} stems["pl"]     = {pl_stem .. "i"} stems["par_pl"] = {pl_stem .. "it"} stems["ill_pl"] = {pl_stem .. "ih"} inflection_type_is(data, 18, "maa") process_stems(data, stems, params.a) end

inflections["suo"] = function(args, data) local params = get_params(args, 2) local final = mw.ustring.sub(params.base, -1) local stem = mw.ustring.sub(params.base, 1, -3) local plural if mw.ustring.sub(stem, -1) == final then plural = stem .. "-" .. final elseif mw.ustring.find(stem, "-$") and mw.ustring.sub(stem, -1) ~= final then plural = mw.ustring.sub(stem, 1, -2) .. final else plural = stem .. final end local stems = {} stems["sg"]     = {params.base} stems["par_sg"] = {params.base .. "t"} stems["ill_sg"] = {params.base .. "h"} stems["pl"]     = {plural .. "i"} stems["par_pl"] = {plural .. "it"} stems["ill_pl"] = {plural .. "ih"} inflection_type_is(data, 19, "suo") process_stems(data, stems, params.a) end

inflections["filee"] = function(args, data) local params = get_params(args, 2) local nom_sg = get_extra_arg(args, data, "nom_sg"); if nom_sg == "" then nom_sg = nil end local pl_stem = mw.ustring.sub(params.base, 1, -2) local stems = {} stems["nom_sg"] = {nom_sg or params.base} stems["sg"]     = {params.base} stems["par_sg"] = {params.base .. "t"} stems["ill_sg"] = {params.base .. "h", params.base .. "se"} stems["pl"]     = {pl_stem .. "i"} stems["par_pl"] = {pl_stem .. "it"} stems["ill_pl"] = {pl_stem .. "ih", pl_stem .. "isi"} inflection_type_is(data, 20, "filee") process_stems(data, stems, params.a) end

inflections["rosé"] = function(args, data) local params = get_params(args, 2) local ill_sg_vowel = get_extra_arg(args, data, "ill_sg_vowel"); if ill_sg_vowel == "" then error("Parameter \"ill_sg_vowel=\" cannot be empty.") end local ill_sg_vowel2 = get_extra_arg(args, data, "ill_sg_vowel2"); if ill_sg_vowel2 == "" then error("Parameter \"ill_sg_vowel2=\" cannot be empty.") end local nom_sg = get_extra_arg(args, data, "nom_sg"); if nom_sg == "" then nom_sg = nil end local stems = {} stems["nom_sg"] = {nom_sg or params.base} stems["sg"]     = {params.base} stems["par_sg"] = {params.base .. "t"} stems["ill_sg"] = {params.base .. "h"} stems["pl"]     = {params.base .. "i"} stems["par_pl"] = {params.base .. "it"} stems["ill_pl"] = {params.base .. "ih"} inflection_type_is(data, 21, "rosé") process_stems(data, stems, params.a)	if ill_sg_vowel then data.forms["ill_sg"] = {params.base .. "h" .. ill_sg_vowel .. "n"} end if ill_sg_vowel2 then table.insert(data.forms["ill_sg"], params.base .. "h" .. ill_sg_vowel2 .. "n") end end

inflections["parfait"] = function(args, data) local params = get_params(args, 2) local ill_sg_vowel = get_extra_arg(args, data, "ill_sg_vowel"); if ill_sg_vowel == "" then error("Parameter \"ill_sg_vowel=\" is missing.") end local ill_sg_vowel2 = get_extra_arg(args, data, "ill_sg_vowel2"); if ill_sg_vowel2 == "" then error("Parameter \"ill_sg_vowel2=\" cannot be empty.") end local stems = {} stems["nom_sg"] = {params.base} stems["sg"]     = {params.base .. "’"}	stems["par_sg"] = {params.base .. "’t"} stems["pl"]     = {params.base .. "’i"} stems["par_pl"] = {params.base .. "’it"} stems["ill_pl"] = {params.base .. "’ih"} inflection_type_is(data, 22, "parfait") process_stems(data, stems, params.a) data.forms["ill_sg"] = {params.base .. "’h" .. ill_sg_vowel .. "n"} if ill_sg_vowel2 then table.insert(data.forms["ill_sg"], params.base .. "h" .. ill_sg_vowel2 .. "n") end end

inflections["tiili"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. "i"} stems["sg"]     = {params.base .. "e"} stems["par_sg"] = {params.base .. "t"} stems["pl"]     = {params.base .. "i"} inflection_type_is(data, 23, "tiili") process_stems(data, stems, params.a) end

inflections["uni"] = function(args, data) local params = get_params(args, 2) local par_sg_a = get_extra_arg(args, data, "par_sg_a"); if par_sg_a and par_sg_a ~= "a" and par_sg_a ~= "ä" then error("Parameter \"par_sg_a=\" must be \"a\" or \"ä\".") end local stems = {} stems["nom_sg"] = {params.base .. "i"} stems["sg"]     = {params.base .. "e"} stems["par_sg"] = {params.base .. "t"} stems["pl"]     = {params.base .. "i"} stems["gen_pl"] = {params.base .. "i", params.base .. "t"} inflection_type_is(data, 24, "uni") process_stems(data, stems, params.a)	if par_sg_a then data.forms["par_sg"] = {} for _, stem in ipairs(stems["par_sg"]) do table.insert(data.forms["par_sg"], stem .. par_sg_a) end end end

inflections["toimi"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. "mi"} stems["sg"]     = {params.base .. "me"} stems["par_sg"] = {params.base .. "nt", params.base .. "me"} stems["pl"]     = {params.base .. "mi"} stems["gen_pl"] = {params.base .. "mi", params.base .. "nt"} inflection_type_is(data, 25, "toimi") process_stems(data, stems, params.a) end

inflections["pieni"] = function(args, data) local params = get_params(args, 2) local par_sg_a = get_extra_arg(args, data, "par_sg_a"); if par_sg_a and par_sg_a ~= "a" and par_sg_a ~= "ä" then error("Parameter \"par_sg_a=\" must be \"a\" or \"ä\".") end local stems = {} stems["nom_sg"] = {params.base .. "i"} stems["sg"]     = {params.base .. "e"} stems["par_sg"] = {params.base .. "t"} stems["pl"]     = {params.base .. "i"} stems["gen_pl"] = {params.base .. "t", params.base .. "i"} inflection_type_is(data, 26, "pieni") process_stems(data, stems, params.a)	if par_sg_a then data.forms["par_sg"] = {} for _, stem in ipairs(stems["par_sg"]) do table.insert(data.forms["par_sg"], stem .. par_sg_a) end end end

inflections["käsi"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. "si"} stems["sg"]     = {params.base .. "te"} stems["sg_weak"] = {params.base .. "de"} stems["par_sg"] = {params.base .. "tt"} stems["pl"]     = {params.base .. "si"} inflection_type_is(data, 27, "käsi", "t", "d") process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. "tten"} end

inflections["kynsi"] = function(args, data) local params = get_params(args, 2, false, "n") local cons = mw.ustring.match(params.base, "[lnr]$") if not cons then error("Stem must end in \"l\", \"n\" or \"r\".") end local stems = {} stems["nom_sg"] = {params.base .. "si"} stems["sg"]     = {params.base .. "te"} stems["sg_weak"] = {params.base .. cons .. "e"} stems["par_sg"] = {params.base .. "tt"} stems["pl"]     = {params.base .. "si"} inflection_type_is(data, 28, "kynsi", cons .. "t", cons .. cons) process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. "tten"} end

inflections["lapsi"] = function(args, data) local params = get_params(args, 2, false, "p") if not mw.ustring.match(params.base, "[kp]$") then error("Stem must end in \"k\" or \"p\".") end local syncopated_stem = mw.ustring.sub(params.base, 1, -2) local stems = {} stems["nom_sg"] = {params.base .. "si"} stems["sg"]     = {params.base .. "se"} stems["par_sg"] = {syncopated_stem .. "st"} stems["pl"]     = {params.base .. "si"} stems["gen_pl"] = {params.base .. "si", syncopated_stem .. "st"} inflection_type_is(data, 29, "lapsi") process_stems(data, stems, params.a) end

inflections["veitsi"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. "tsi"} stems["sg"]     = {params.base .. "tse"} stems["par_sg"] = {params.base .. "st"} stems["pl"]     = {params.base .. "tsi"} inflection_type_is(data, 30, "veitsi") process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. "sten"} end

inflections["kaksi"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. "ksi"} stems["sg"]     = {params.base .. "hte"} stems["sg_weak"] = {params.base .. "hde"} stems["par_sg"] = {params.base .. "ht"} stems["pl"]     = {params.base .. "ksi"} inflection_type_is(data, 31, "kaksi", "t", "d") process_stems(data, stems, params.a) end

inflections["sisar"] = function(args, data) local params = get_params(args, 5, true) local nom_sg = get_extra_arg(args, data, "nom_sg"); if nom_sg == "" then nom_sg = nil end local stems = {} stems["nom_sg"] = {nom_sg or params.base .. params.weak .. params.final} stems["sg"]     = {params.base .. params.strong .. params.final .. "e"} stems["par_sg"] = {params.base .. params.weak .. params.final .. "t"} stems["pl"]     = {params.base .. params.strong .. params.final .. "i"} stems["gen_pl"] = {params.base .. params.strong .. params.final .. "i", params.base .. params.weak .. params.final .. "t"} inflection_type_is(data, 32, "sisar", params.strong, params.weak) process_stems(data, stems, params.a) end

inflections["kytkin"] = function(args, data) local params = get_params(args, 5, true) local stems = {} stems["nom_sg"] = {params.base .. params.weak .. params.final .. "n"} stems["sg"]     = {params.base .. params.strong .. params.final .. "me"} stems["par_sg"] = {params.base .. params.weak .. params.final .. "nt"} stems["pl"]     = {params.base .. params.strong .. params.final .. "mi"} stems["gen_pl"] = {params.base .. params.strong .. params.final .. "mi", params.base .. params.weak .. params.final .. "nt"} inflection_type_is(data, 33, "kytkin", params.strong, params.weak) process_stems(data, stems, params.a) end

inflections["onneton"] = function(args, data) local no_gradation = get_extra_arg(args, data, "no_tt") == "1" local strong if no_gradation then strong = "t" else strong = "tt" end local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. "t" .. params.o .. "n"} stems["sg"]     = {params.base .. strong .. params.o .. "m" .. params.a} stems["par_sg"] = {params.base .. "t" .. params.o .. "nt"} stems["pl"]     = {params.base .. strong .. params.o .. "mi"} inflection_type_is(data, 34, "onneton", strong, "t") process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. "t" .. params.o .. "nten"} end

inflections["lämmin"] = function(args, data) local params = get_params(args, 5, true) local stems = {} stems["nom_sg"] = {params.base .. params.weak .. params.final .. "n"} stems["sg"]     = {params.base .. params.strong .. params.final .. "m" .. params.a} stems["par_sg"] = {params.base .. params.weak .. params.final .. "nt"} stems["pl"]     = {params.base .. params.strong .. params.final .. "mi"} inflection_type_is(data, 35, "lämmin", params.strong, params.weak) process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. params.strong .. params.final .. "m" .. params.a .. "in"} end

inflections["sisin"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. "in"} stems["sg"]     = {params.base .. "imp" .. params.a} stems["sg_weak"] = {params.base .. "imm" .. params.a} stems["par_sg"] = {params.base .. "int"} stems["pl"]     = {params.base .. "impi"} stems["pl_weak"] = {params.base .. "immi"} stems["gen_pl"] = {params.base .. "impi", params.base .. "int"} inflection_type_is(data, 36, "sisin", "mp", "mm") process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. "imp" .. params.a .. "in"} end

inflections["vasen"] = function(args, data) local params = get_params(args, 1) params.base = params.base .. "vase" params.a = "a" local stems = {} stems["nom_sg"] = {params.base .. "n"} stems["sg"]     = {params.base .. "mp" .. params.a} stems["sg_weak"] = {params.base .. "mm" .. params.a} stems["par_sg"] = {params.base .. "nt", params.base .. "mp" .. params.a} stems["pl"]     = {params.base .. "mpi"} stems["pl_weak"] = {params.base .. "mmi"} stems["gen_pl"] = {params.base .. "mpi", params.base .. "nt"} inflection_type_is(data, 37, "vasen", "mp", "mm") process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. "mp" .. params.a .. "in"} end

inflections["nainen"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. "nen"} stems["sg"]     = {params.base .. "se"} stems["par_sg"] = {params.base .. "st"} stems["pl"]     = {params.base .. "si"} stems["gen_pl"] = {params.base .. "st", params.base .. "si"} inflection_type_is(data, 38, "nainen") process_stems(data, stems, params.a) end

inflections["vastaus"] = function(args, data) local params = get_params(args, 2) local nom_sg = get_extra_arg(args, data, "nom_sg"); if nom_sg == "" then nom_sg = nil end local stems = {} stems["nom_sg"] = {nom_sg or params.base .. "s"} stems["sg"]     = {params.base .. "kse"} stems["par_sg"] = {params.base .. "st"} stems["pl"]     = {params.base .. "ksi"} stems["gen_pl"] = {params.base .. "st", params.base .. "ksi"} inflection_type_is(data, 39, "vastaus") process_stems(data, stems, params.a) end

inflections["kalleus"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. "s"} stems["sg"]     = {params.base .. "te"} stems["sg_weak"] = {params.base .. "de"} stems["par_sg"] = {params.base .. "tt"} stems["pl"]     = {params.base .. "ksi"} inflection_type_is(data, 40, "kalleus", "t", "d") process_stems(data, stems, params.a) end

inflections["vieras"] = function(args, data) local params = get_params(args, 5, true) local nom_sg = get_extra_arg(args, data, "nom_sg"); if nom_sg == "" then nom_sg = nil end local stems = {} stems["nom_sg"] = {nom_sg or (params.base .. params.weak .. params.final .. "s")} stems["sg"]     = {params.base .. params.strong .. params.final .. params.final} stems["par_sg"] = {params.base .. params.weak .. params.final .. "st"} stems["ill_sg"] = {params.base .. params.strong .. params.final .. params.final .. "se"} stems["pl"]     = {params.base .. params.strong .. params.final .. "i"} stems["par_pl"] = {params.base .. params.strong .. params.final .. "it"} stems["ill_pl"] = {params.base .. params.strong .. params.final .. "isi"} inflection_type_is(data, 41, "vieras", params.strong, params.weak) process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. params.weak .. params.final .. "sten"} data.forms["ill_pl"].rare = {params.base .. params.strong .. params.final .. "ihin"} end

inflections["mies"] = function(args, data) local params = get_params(args, 1) local cap = get_extra_arg(args, data, "cap"); if cap == "" then nom_sg = nil end params.base = params.base .. (cap and "Mie" or "mie") params.a = "ä" local stems = {} stems["nom_sg"] = {params.base .. "s"} stems["sg"]     = {params.base .. "he"} stems["par_sg"] = {params.base .. "st"} stems["pl"]     = {params.base .. "hi"} stems["gen_pl"] = {params.base .. "st", params.base .. "hi"} inflection_type_is(data, 42, "mies") process_stems(data, stems, params.a) end

inflections["ohut"] = function(args, data) local params = get_params(args, 5, true) local stems = {} stems["nom_sg"] = {params.base .. params.weak .. params.final .. "t"} stems["sg"]     = {params.base .. params.strong .. params.final .. "e"} stems["par_sg"] = {params.base .. params.weak .. params.final .. "tt"} stems["pl"]     = {params.base .. params.strong .. params.final .. "i"} stems["par_pl"] = {params.base .. params.strong .. params.final .. "it"} stems["ill_pl"] = {params.base .. params.strong .. params.final .. "isi", params.base .. params.strong .. params.final .. "ih"} inflection_type_is(data, 43, "ohut", params.strong, params.weak) process_stems(data, stems, params.a) end

inflections["kevät"] = function(args, data) local params = get_params(args, 4, true) local vowel = params.a	local stems = {} stems["nom_sg"] = {params.base .. params.weak .. vowel .. "t"} stems["sg"]     = {params.base .. params.strong .. vowel .. vowel} stems["par_sg"] = {params.base .. params.weak .. vowel .. "tt"} stems["ill_sg"] = {params.base .. params.strong .. vowel .. vowel .. "se"} stems["pl"]     = {params.base .. params.strong .. vowel .. "i"} stems["par_pl"] = {params.base .. params.strong .. vowel .. "it"} stems["ill_pl"] = {params.base .. params.strong .. vowel .. "isi"} inflection_type_is(data, 44, "kevät", params.strong, params.weak) process_stems(data, stems, params.a) data.forms["ill_pl"].rare = {params.base .. params.strong .. vowel .. "ihin"} end

inflections["kahdeksas"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. "s"} stems["sg"]     = {params.base .. "nte"} stems["sg_weak"] = {params.base .. "nne"} stems["par_sg"] = {params.base .. "tt"} stems["pl"]     = {params.base .. "nsi"} inflection_type_is(data, 45, "kahdeksas", "nt", "nn") process_stems(data, stems, params.a) end

inflections["tuhat"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. "t"} stems["sg"]     = {params.base .. "nte"} stems["sg_weak"] = {params.base .. "nne"} stems["par_sg"] = {params.base .. "tt"} stems["pl"]     = {params.base .. "nsi"}

inflection_type_is(data, 46, "tuhat", "nt", "nn") process_stems(data, stems, params.a) data.forms["gen_pl"].rare = {params.base .. "nten"} end

inflections["kuollut"] = function(args, data) local params = get_params(args, 2) local stems = {} stems["nom_sg"] = {params.base .. params.u .. "t"} stems["sg"]     = {params.base .. "ee"} stems["par_sg"] = {params.base .. params.u .. "tt"} stems["ill_sg"] = {params.base .. "eese"} stems["pl"]     = {params.base .. "ei"} stems["par_pl"] = {params.base .. "eit"} stems["ill_pl"] = {params.base .. "eisi", params.base .. "eih"} inflection_type_is(data, 47, "kuollut") process_stems(data, stems, params.a) end

inflections["hame"] = function(args, data) local params = get_params(args, 4, true) local stem_vowel = get_extra_arg(args, data, "stem_vowel"); if stem_vowel == "" then stem_vowel = nil end stem_vowel = stem_vowel or "e" local nom_sg = get_extra_arg(args, data, "nom_sg"); if nom_sg == "" then nom_sg = nil end local stems = {} stems["nom_sg"] = {nom_sg or (params.base .. params.weak .. stem_vowel)} stems["sg"]     = {params.base .. params.strong .. stem_vowel .. stem_vowel} stems["par_sg"] = {params.base .. params.weak .. stem_vowel .. "tt"} stems["ill_sg"] = {params.base .. params.strong .. stem_vowel .. stem_vowel .. "se"} stems["pl"]     = {params.base .. params.strong .. stem_vowel .. "i"} stems["par_pl"] = {params.base .. params.strong .. stem_vowel .. "it"} stems["ill_pl"] = {params.base .. params.strong .. stem_vowel .. "isi", params.base .. params.strong .. stem_vowel .. "ih"} inflection_type_is(data, 48, "hame", params.strong, params.weak) process_stems(data, stems, params.a) end

inflections["askel"] = function(args, data) local params = get_params(args, 5, true) local prefer_hame = get_extra_arg(args, data, "e") == "1" local stems_sisar = {} stems_sisar["sg"]     = {params.base .. params.strong .. params.final .. "e"} stems_sisar["nom_sg"] = {params.base .. params.weak .. params.final} stems_sisar["par_sg"] = {params.base .. params.weak .. params.final .. "t"} stems_sisar["ill_sg"] = {params.base .. params.strong .. params.final .. "e"} stems_sisar["pl"]     = {params.base .. params.strong .. params.final .. "i"} stems_sisar["gen_pl"] = {params.base .. params.strong .. params.final .. "i", params.base .. params.weak .. params.final .. "t"} stems_sisar["par_pl"] = {params.base .. params.strong .. params.final .. "i"} stems_sisar["ill_pl"] = {params.base .. params.strong .. params.final .. "i"}

local stems_hame = {} stems_hame["sg"]     = {params.base .. params.strong .. params.final .. "ee"} stems_hame["nom_sg"] = {params.base .. params.strong .. params.final .. "e"} stems_hame["par_sg"] = {params.base .. params.strong .. params.final .. "ett"} stems_hame["ill_sg"] = {params.base .. params.strong .. params.final .. "eese"} stems_hame["pl"]     = {params.base .. params.strong .. params.final .. "ei"} stems_hame["gen_pl"] = {params.base .. params.strong .. params.final .. "eid", params.base .. params.strong .. params.final .. "eitt"} stems_hame["par_pl"] = {params.base .. params.strong .. params.final .. "eit"} stems_hame["ill_pl"] = {params.base .. params.strong .. params.final .. "eisi", params.base .. params.strong .. params.final .. "eih"}

local stems = {} if prefer_hame then feed_list(stems, stems_hame) feed_list(stems, stems_sisar) else feed_list(stems, stems_sisar) feed_list(stems, stems_hame) end

inflection_type_is(data, 49, "askel", params.strong, params.weak) process_stems(data, stems, params.a) end

-- Helper functions

-- joins data.words[...].forms to data.forms function export.join_words(data, sep_supplier) local reorganized = {} local classes = {} -- reorganize from words[n].forms[case](.rare) to forms[case],words[n](.rare) for windex, word in ipairs(data.words) do		table.insert(classes, word.class) for case, forms in pairs(word.forms) do			if reorganized[case] == nil then reorganized[case] = {} end reorganized[case][windex] = {} for _, form in ipairs(forms) do				table.insert(reorganized[case][windex], form) end if word.forms[case].rare then reorganized[case][windex].rare = {} for _, form in ipairs(word.forms[case].rare) do					table.insert(reorganized[case][windex].rare, form) end end end end -- merge the forms with a Cartesian product to produce all possible combinations data.forms = {} for case, words in pairs(reorganized) do		data.forms[case] = forms_cart_product(words, case, sep_supplier, classes) end

if #data.words <= 1 then -- use title and categories of the sole word if there is only one data.title = data.words[1].title data.categories = data.words[1].categories else -- if there are multiple words, force nuoripari type data.title = make_kotus_title(51, "nuoripari") data.categories = {"Finnish nuoripari-type nominals"} end data.words = nil end

local function cleanup_suffix(suffix) if suffix and mw.ustring.find(suffix, "_") then return mw.ustring.gsub(suffix, "_", " ") else return suffix end end

-- computes the Cartesian product of tables function cart_product(words, depth) depth = depth or 1 local prod = {} for _, val in ipairs(words[depth]) do		if depth < #words then -- go over the next list for _, res in ipairs(cart_product(words, depth + 1)) do				table.insert(prod, { val, unpack(res) }) end else -- end of list, simply return the original table.insert(prod, { val }) end end return prod end

local function supplied_concat(list, sep_supplier) local result = "" local n = #list if n >= 1 then for i = 1, n - 1 do			local v = mw.ustring.match(list[i], "^[aeiouyäö]") if v and mw.ustring.find(result, v .. "$") then result = result .. "-"			end result = result .. list[i] .. sep_supplier(i) end local v = mw.ustring.match(list[n], "^[aeiouyäö]") if v and mw.ustring.find(result, v .. "$") then result = result .. "-"		end result = result .. list[n] end return result end

-- computes the Cartesian product of tables, also concats function cart_product_concat(words, sep_supplier) local res = {}

for _, combination in ipairs(cart_product(words)) do		table.insert(res, supplied_concat(combination, sep_supplier)) end

return res end

-- returns a bit mask (!) or nil function get_rhyming_pattern(word, case, class) if class == "askel" then return nil end if case == "gen_pl" then if mw.ustring.match(word, "tten$") then return 2 elseif mw.ustring.match(word, "ten$") then return 3 else return 1 end elseif case == "ill_sg" then if mw.ustring.match(word, "seen$") then return 1 elseif mw.ustring.match(word, "hen$") then return 2 end elseif case == "ill_pl" then if mw.ustring.match(word, "siin$") then return 1 elseif mw.ustring.match(word, "hin$") then return 2 end end return nil -- not applicable end

function is_nonrhyming(form, case, classes) local expected = m_bit32.bnot(0) -- -1 for i, word in ipairs(form) do		local got = get_rhyming_pattern(word, case, classes[i]) if got then expected = m_bit32.band(expected, got) end if expected == 0 then return true end end

return false end

-- computes the Cartesian product of tables, also concats -- returns non-rhyming combinations as rare function cart_product_concat_nonrhyming_rare(words, case, sep_supplier, classes) local res = {} local rare = {} local multichoice = 0 local allow_pruning = false

for _, position in ipairs(words) do		if #position > 1 then multichoice = multichoice + 1 end end

allow_pruning = multichoice > 1

for _, combination in ipairs(cart_product(words)) do		local item = supplied_concat(combination, sep_supplier) if is_nonrhyming(combination, case, classes) then table.insert(rare, item) else table.insert(res, item) end end

if #res < 1 then rare.rare = {} return rare end

res.rare = rare return res end

-- converts a list of words to extract the rare forms for ipairs -- the number is interpreted bit-by-bit to decide which combination -- to choose function prepare_rare_tables(words, code) local result = {} for _, forms in ipairs(words) do		-- replace with rare if bit is 1 if m_bit32.band(code, 1) == 1 then table.insert(result, forms.rare or {}) else table.insert(result, forms) end -- shift right to test next bit code = m_bit32.rshift(code, 1) end return result end

-- copies all entries of source and inserts them to target function merge_table(target, source) for _, value in ipairs(source) do		table.insert(target, value) end end

function merge_table_rare(target, source) for _, value in ipairs(source) do		table.insert(target, value) end target.rare = source.rare end

-- the Cartesian product of possible forms function forms_cart_product(words, case, sep_supplier, classes) local result = {} result.rare = {}

m_bit32 = require("bit32") -- merge possible non-rare forms merge_table_rare(result, cart_product_concat_nonrhyming_rare(words, case, sep_supplier, classes)) -- merge possible rare forms -- for example, with two words: --       1 = rare A, common B	--        2 = common A, rare B	--        3 = rare A, rare B	-- (2 ^ #words) - 1 == m_bit32.lshift(1,#words)-1 -- (prepare_rare_tables actually takes out the rare forms) for i = 1,m_bit32.lshift(1,#words)-1 do		merge_table(result.rare, cart_product_concat(prepare_rare_tables(words, i), sep_supplier)) end -- if no rare forms, remove the table completely if #result.rare < 1 then result.rare = nil end return result end

function make_word_possessive(args, data, poss, always_add) local pos = get_extra_arg(args, data, "pos"); if not pos or pos == "" then pos = "noun" end local par_nom_sg = get_extra_arg(args, data, "par_nom_sg") == "1"

-- "no possessive forms exist" sentinel value if poss == "-" then return data.forms end

if always_add or pos == "noun" then -- add possessive suffix if poss == "3" or poss == "3p" then poss = "3s" -- 3rd person forms are identical end if not poss_forms[poss] then error("Invalid poss value: '" .. p .. "'") end return make_poss_with_suffix(data.forms, data.stems, poss_forms[poss], "", poss_alt[poss], par_nom_sg) end return data.forms end

function postprocess_word(args, data, gdata, always_add) local pos = get_extra_arg(args, data, "pos"); if not pos or pos == "" then pos = "noun" end local alwayspl = get_extra_arg(args, data, "alwayspl"); if alwayspl == "" then alwayspl = nil end if gdata.poss then data.forms = make_word_possessive(args, data, gdata.poss, always_add) elseif pos == "noun" and data.forms["com_pl"] then -- Add the possessive suffix to the comitative plural, if the word is a noun for key, subform in ipairs(data.forms["com_pl"]) do data.forms["com_pl"][key] = subform .. "en" end gdata.tagged_com_pl = true end if get_extra_arg(args, data, "gen_nom_sg") == "1" then data.forms["nom_sg"] = data.forms["gen_sg"] elseif get_extra_arg(args, data, "par_nom_sg") == "1" then data.forms["nom_sg"] = data.forms["par_sg"] end if gdata.poss then data.forms["ins_pl"] = nil end

if alwayspl then -- Saint Vincent ja Grenadiinit for k, v in pairs(data.forms) do			local k_sg = k:gsub("_pl", "_sg") if data.forms[k_sg] then data.forms[k_sg] = data.forms[k] end end end end

function postprocess(args, data) local pos = args["pos"]; if not pos or pos == "" then pos = "noun" end local nosg = args["nosg"]; if nosg == "" then nosg = nil end local nopl = args["nopl"]; if nopl == "" then nopl = nil end local n = args["n"]; if n == "" then n = nil end local suffix = cleanup_suffix(args["suffix"]); if suffix == "" then suffix = nil end local appendix = args["appendix"]; if appendix == "" then appendix = nil end local has_ins_sg = args["has_ins_sg"]; if has_ins_sg == "" then has_ins_sg = nil end local has_no_nom = args["has_no_nom"]; if has_no_nom == "" then has_no_nom = nil end -- Add the possessive suffix to the comitative plural, if the word is a noun -- now done per word; see postprocess_word if nosg or n == "pl" then table.insert(data.categories, "Finnish pluralia tantum") end -- TODO: This says "nouns", but this module is also used for adjectives! if nopl or n == "sg" then table.insert(data.categories, "Finnish uncountable nouns") end if n == "csg" then         -- "chiefly singular" data.rare_plural = true end if not has_ins_sg then data.forms["ins_sg"] = nil end for key, form in pairs(data.forms) do		-- Add suffix to forms for i, subform in ipairs(form) do subform = subform .. (suffix or "") form[i] = subform end if form.rare then for i, subform in ipairs(form.rare) do subform = subform .. (suffix or "") form.rare[i] = subform end end -- Do not show singular or plural forms for nominals that don't have them if ((nosg or n == "pl") and key:find("_sg$")) or ((nopl or n == "sg") and key:find("_pl$")) then form = nil end data.forms[key] = form end -- Check if the lemma form matches the page name local lemma = data.forms[(nosg or n == "pl") and "nom_pl" or "nom_sg"][1] if not appendix and lemma ~= data.pagename and not data.poss then --error("The lemma " .. lemma .. " does not match the page title. Check the parameters!") mw.addWarning("Please check the fi-decl-... parameters!") table.insert(data.categories, "Finnish entries with inflection not matching pagename") end data.is_appendix = appendix if has_no_nom then data.forms["nom_sg"] = nil data.forms["nom_pl"] = nil end end

-- Make the table function make_table(data, preview, title_override, collapse_class_override, accel_class_prefix) local rare_plural = data.rare_plural local note = rare_plural and "Plural forms of this word are not commonly used, but might be found in figurative uses, in some set phrases or in colloquial language." or nil

local com_forms

local function show_form(forms, code, no_rare) local form = forms[code] if not form then return "—" elseif type(form) ~= "table" then error("a non-table value was given in the list of inflected forms.") end local ret = {} local accel

if rare_plural and code:find("_pl$") then -- plural is marginal for key, subform in ipairs(form) do table.insert(ret, "(''" .. make_link(subform) .. "'')")			end if not no_rare and form.rare then for key, subform in ipairs(form.rare) do table.insert(ret, "(''" .. make_link(subform) .. "''" .. RARE .. ")")				end end

return table.concat(ret, " ") end

-- See Module talk:fi-nominals. if code == "nom_sg" and not data.poss then accel = nil elseif code == "gen_sg" then accel = "gen//acc|s" elseif code == "nom_pl" then accel = "nom//acc|p" else accel = code:gsub("%f[^_](%a%a)$", {sg = "s", pl = "p"}):gsub("ins", "ist"):gsub("_", "|") end if accel_class_prefix and accel then accel = accel_class_prefix .. accel end

for key, subform in ipairs(form) do			table.insert(ret, make_link(subform, accel)) end if not no_rare and form.rare then if accel then accel = 'rare-' .. accel end

for key, subform in ipairs(form.rare) do table.insert(ret, make_link(subform, accel) .. RARE) end end return table.concat(ret, " ") end local function repl(param) if param == "title" then if title_override then return title_override end return "Inflection of " .. (data.is_appendix and make_link(data.pagename) or tag_term(data.pagename)) .. ( data.title and " (" .. data.title .. ")" or "") elseif param == "maybenote" then if note then return [=[ else return "" end elseif param == "com_forms" then return com_forms else local param2 = mw.ustring.match(param, "^(.-):c$") if param2 then return show_form(data.forms, param2, true) else return show_form(data.forms, param) end end end
 * - class="vsHide"
 * colspan="4" style="width:100px" | ]=] .. note .. "\n"

if not data.poss and data.tagged_com_pl then com_forms = 'colspan="2" | \'\'See the possessive forms below.\'\'' else com_forms = mw.ustring.gsub(' || ', "", repl) end

if preview then preview = [=[ ! class="case-column" colspan="2" | nominative ! colspan="2" | genitive ! colspan="2" | partitive ! colspan="2" | illative
 * - class="vsShow"
 * class="number-column" |
 * class="number-column" |
 * - class="vsShow"
 * - class="vsShow"
 * - class="vsShow"
 * - class="vsShow"
 * - class="vsShow"
 * - class="vsShow"
 * - class="vsShow"

]=]	else preview = "" end local wikicode = [=[ return mw.ustring.gsub(wikicode, "", repl) end

-- -- POSSESSIVE FORM GENERATION & DISPLAY -- --

local function prepare_possessive_list(forms) local res = {} for _, v in ipairs(forms) do		table.insert(res, v)	end if forms["rare"] then for _, v in ipairs(forms["rare"]) do			table.insert(res, v)			res[v] = "rare" end end return res end

local function wrap_rare_forms(forms) local newforms = {} for case, subforms in pairs(forms) do		local common = {} local rare = {} for _, v in ipairs(subforms) do			if subforms[v] == "rare" then table.insert(rare, v)			else table.insert(common, v)			end end common.rare = rare newforms[case] = common end return newforms end

local function make_possessives_from_stems(stems, suffix, extra_suffix) local pforms = {} for _, stem in pairs(stems) do table.insert(pforms, stem .. suffix .. extra_suffix) end return pforms end

function make_poss_with_suffix(forms, stems, poss_suffix, extra_suffix, allow_alt, par_nom_sg) local result = {} local par_sg_a = false if poss_suffix:find("a") and mw.ustring.sub(forms["ine_sg"][1], -1) == "ä" then poss_suffix = mw.ustring.gsub(poss_suffix, "a", "ä") end if mw.ustring.sub(forms["ine_sg"][1], -1) ~= mw.ustring.sub(forms["par_sg"][1], -1) then par_sg_a = true end

for k, v in pairs(forms_alt_ok) do		if forms[k] then local suffix = poss_suffix if k == "par_sg" and par_sg_a and mw.ustring.find(suffix, "ä$") then suffix = mw.ustring.gsub(poss_suffix, "ä", "a") end

result[k] = {} if k == "par_sg" and allow_alt then -- par_sg is a bit of an exception: it allows -- alt form if it doesn't end in two "aa"/"ää" local prepared = prepare_possessive_list(forms[k]) for _, form in ipairs(prepared) do					local modform = form if mw.ustring.sub(modform, -2, -2) ~= mw.ustring.sub(modform, -1) then local final = modform .. mw.ustring.sub(modform, -1) .. "n" table.insert(result[k], final) result[k][final] = prepared[form] end end elseif forms_alt_ok[k] and allow_alt then local prepared = prepare_possessive_list(forms[k]) for _, form in ipairs(prepared) do					local modform = form if k == "tra_sg" or k == "tra_pl" then modform = mw.ustring.sub(form, 1, -2) .. "e" end local final = modform .. mw.ustring.sub(modform, -1) .. "n" table.insert(result[k], final) result[k][final] = prepared[form] end end if k == "gen_sg" or k == "ins_sg" then result[k] = make_possessives_from_stems(stems["sg"], suffix, extra_suffix) elseif k == "ins_pl" then result[k] = make_possessives_from_stems(stems["pl"], suffix, extra_suffix) elseif forms_gen_ok[k] then local prepared = prepare_possessive_list(forms[k]) for _, form in ipairs(prepared) do					local tmp = form tmp = mw.ustring.sub(tmp, 1, -2) local final = tmp .. suffix .. extra_suffix table.insert(result[k], final) result[k][final] = prepared[form] end else local prepared = prepare_possessive_list(forms[k]) for _, form in ipairs(prepared) do					local modform = form if k == "tra_sg" or k == "tra_pl" then modform = mw.ustring.sub(form, 1, -2) .. "e" end local final = modform .. suffix .. extra_suffix table.insert(result[k], final) result[k][final] = prepared[form] end end end end

-- nominative forms are (usually) identical to genitive singular result["nom_sg"] = result[par_nom_sg and "par_sg" or "gen_sg"] result["nom_pl"] = result["gen_sg"] return wrap_rare_forms(result) end

local function serialize_args(args) local items = {} local entries = {} local max_number = 0

for key, value in pairs(args) do		if type(key) == "number" and key > 0 and key == math.floor(key) then items[key] = value max_number = math.max(key, max_number) else table.insert(entries, key .. "=" .. value) end end

for i = 1,max_number,1 do		items[i] = items[i] or "" end -- entries before items for i, v in ipairs(entries) do		table.insert(items, i, v)	end return table.concat(items, "|") end

local poss_headings = { ["1s"] = "first-person singular", ["2s"] = "second-person singular", ["1p"] = "first-person plural", ["2p"] = "second-person plural", ["3"] = "third-person", }

local poss_accel = { ["1s"] = "1|s", ["2s"] = "2|s", ["1p"] = "1|p", ["2p"] = "2|p", ["3"] = "3" }

function make_possessive_table(pagename, args, pos, infl_title, get_forms) local note = nil

if args["noposs"] then return "" elseif pos == "adj" then note = not args["hideadjnote"] and "Rare. Only used with substantive adjectives." or "" elseif pos ~= "noun" then return "" end

return "\n" .. make_possessive_table_internal(pagename, args, infl_title, note, get_forms) end

function make_possessive_table_internal(pagename, args, infl_title, note, get_forms) local function show_subtable(code) return make_table(get_forms(code), false, poss_headings[code] .. " possessor", "possessive inflection", poss_accel[code] .. "|poss|form|of|") end local function repl(param) if param == "lemma" then return tag_term(pagename) elseif param == "info" then return " (" .. infl_title .. ") " elseif param == "maybenote" then if note then return [=[ else return "" end else return show_subtable(param) end end local wikicode = [=[ return mw.ustring.gsub(wikicode, "", repl) end
 * - class="vsHide"
 * colspan="3" | ]=] .. note .. "\n"

export.inflections = inflections return export

title: Module:fi-nominals


text:
Module:fi-nominals/documentation

This module is used for the various Finnish nominal inflection tables.

title: Module:fi-nominals/documentation


text: Category:Finnish nominal inflection-table templates


text: Template:fi-check-grad/documentation

title: Template:fi-check-grad/documentation


text: Template:fi-check-harmony/documentation

title: Template:fi-check-harmony/documentation


text:
գլուխը տաքանալ

Verb

 * 1)  to go to one's head, to feel tipsy or slightly drunk
 * 2)  to feel excited or moved
 * 3)  to feel annoyed or irritated

title: գլուխը տաքանալ


text:
clientelist

Adjective

 * 1) Of or relating to clientelism.

Translations

 * French:
 * Italian: clientelistico

Noun

 * 1) A proponent of clientelism.

title: clientelist


text:
hardyhead

Etymology
From reference to their hardy or robust head.

Noun

 * 1)  Any of the sundry species of fish of the family  found near Australia;
 * 2)  Any fish of species  and, commonly found in Australian waters.

title: hardyhead


text: take a flier

title: take a flier


text: passport baby

title: passport baby


text: Category:Japanese terms spelled with 負 read as ぶ


text:
birth tourism

Noun

 * 1)  Travel from one country to another for the purpose of giving birth in the second country, thereby endowing the newborn child with citizenship of the second country.

title: birth tourism


text:
تاجور

Noun
بباید که نیکی کند تاجور bibāyad ki nēkī kunad tājwar
 * 1)  king
 * اگر پادشاهی بود در گهر
 * اگر پادشاهی بود در گهر
 * agar pādišāhī buwad dar guhar

title: تاجور


text:
تکفور

Etymology
From.

Noun

 * 1)  Armenian king, particularly those of Cilician Armenia
 * 2)  any Christian king

title: تکفور


text:
تکور

Etymology
From, from.

Attested in 's works.

title: تکور


text:
ἐπικαλέω

Etymology
From.

Verb

 * 1) to call upon a god, invoke
 * 2) to invite
 * 3)  to call in as a helper or ally
 * 4) to call in as witness
 * 5)  to call before one, summon
 * 6)  to challenge
 * 7)  to be called by a surname, be nicknamed
 * 8) to bring as an accusation against
 * 9)  to quarrel, dispute with
 * 1) to invite
 * 2)  to call in as a helper or ally
 * 3) to call in as witness
 * 4)  to call before one, summon
 * 5)  to challenge
 * 6)  to be called by a surname, be nicknamed
 * 7) to bring as an accusation against
 * 8)  to quarrel, dispute with
 * 1) to call in as witness
 * 2)  to call before one, summon
 * 3)  to challenge
 * 4)  to be called by a surname, be nicknamed
 * 5) to bring as an accusation against
 * 6)  to quarrel, dispute with
 * 1)  to call before one, summon
 * 2)  to challenge
 * 3)  to be called by a surname, be nicknamed
 * 4) to bring as an accusation against
 * 5)  to quarrel, dispute with
 * 1) to bring as an accusation against
 * 2)  to quarrel, dispute with
 * 1) to bring as an accusation against
 * 2)  to quarrel, dispute with
 * 1) to bring as an accusation against
 * 2)  to quarrel, dispute with
 * 1) to bring as an accusation against
 * 2)  to quarrel, dispute with
 * 1)  to quarrel, dispute with
 * 1)  to quarrel, dispute with
 * 1)  to quarrel, dispute with
 * 1)  to quarrel, dispute with
 * 1)  to quarrel, dispute with
 * 1)  to quarrel, dispute with
 * 1)  to quarrel, dispute with
 * 1)  to quarrel, dispute with
 * 1)  to quarrel, dispute with
 * 1)  to quarrel, dispute with

title: ἐπικαλέω


text:
Talk:گاه

Even though MacKenzie separates the senses “time” and “place”, they are probably etymologically the same; compare Old Armenian. --Vahag (talk) 07:33, 20 February 2014 (UTC)

title: Talk:گاه


text: Category:Persian terms derived from Middle Armenian


text:
падводная лодка

Etymology
Cognate with 🇨🇬.

Noun

 * 1)  submarine

title: падводная лодка


text:
ἰσχυρός

Etymology
From.

Adjective

 * 1) strong, mighty
 * 2) mighty, powerful
 * 3) forcible, obstinate, stiff, stubborn, inveterate, excessive
 * 4)  strongly, with all force
 * 5) very much, exceedingly
 * 1) mighty, powerful
 * 2) forcible, obstinate, stiff, stubborn, inveterate, excessive
 * 3)  strongly, with all force
 * 4) very much, exceedingly
 * 1) mighty, powerful
 * 2) forcible, obstinate, stiff, stubborn, inveterate, excessive
 * 3)  strongly, with all force
 * 4) very much, exceedingly
 * 1) mighty, powerful
 * 2) forcible, obstinate, stiff, stubborn, inveterate, excessive
 * 3)  strongly, with all force
 * 4) very much, exceedingly
 * 1) mighty, powerful
 * 2) forcible, obstinate, stiff, stubborn, inveterate, excessive
 * 3)  strongly, with all force
 * 4) very much, exceedingly
 * 1) forcible, obstinate, stiff, stubborn, inveterate, excessive
 * 2)  strongly, with all force
 * 3) very much, exceedingly
 * 1) forcible, obstinate, stiff, stubborn, inveterate, excessive
 * 2)  strongly, with all force
 * 3) very much, exceedingly
 * 1)  strongly, with all force
 * 2) very much, exceedingly
 * 1)  strongly, with all force
 * 2) very much, exceedingly
 * 1)  strongly, with all force
 * 2) very much, exceedingly
 * 1)  strongly, with all force
 * 2) very much, exceedingly
 * 1)  strongly, with all force
 * 2) very much, exceedingly
 * 1)  strongly, with all force
 * 2) very much, exceedingly
 * 1)  strongly, with all force
 * 2) very much, exceedingly
 * 1)  strongly, with all force
 * 2) very much, exceedingly
 * 1) very much, exceedingly
 * 1) very much, exceedingly
 * 1) very much, exceedingly

title: ἰσχυρός


text: Category:roa-opt:List of related-to categories


text: Category:roa-opt:All topics

title: Category:roa-opt:All topics


text: Category:roa-opt:Months

title: Category:roa-opt:Months


text: Category:roa-opt:Sciences

title: Category:roa-opt:Sciences


text: Category:roa-opt:Colors

title: Category:roa-opt:Colors


text: Raffinate

title: Raffinate


text: Raffinaten

title: Raffinaten


text: Raffinats

title: Raffinats


text: Regeländerungen

title: Regeländerungen


text: Regenbildungen

title: Regenbildungen


text: Category:roa-opt:Vision

title: Category:roa-opt:Vision


text: Category:roa-opt:Senses

title: Category:roa-opt:Senses


text: Category:roa-opt:Medicine

title: Category:roa-opt:Medicine


text: Category:roa-opt:Biology

title: Category:roa-opt:Biology


text: Category:roa-opt:Nature

title: Category:roa-opt:Nature


text: Category:roa-opt:Light

title: Category:roa-opt:Light


text: Category:roa-opt:Energy

title: Category:roa-opt:Energy


text: Category:roa-opt:Cities

title: Category:roa-opt:Cities


text: Category:roa-opt:Names

title: Category:roa-opt:Names


text: Category:roa-opt:Society

title: Category:roa-opt:Society


text: Category:roa-opt:Language

title: Category:roa-opt:Language


text: Category:roa-opt:Communication

title: Category:roa-opt:Communication


text:
Rohblei

Noun

 * 1) crude (unwrought) lead

title: Rohblei


text: Category:roa-opt:Earth sciences

title: Category:roa-opt:Earth sciences


text: Category:roa-opt:Religion

title: Category:roa-opt:Religion


text: Category:roa-opt:Culture

title: Category:roa-opt:Culture


text:
Rohsilber

Noun

 * 1) crude (unwrought) silver

title: Rohsilber


text: Category:roa-opt:Occupations

title: Category:roa-opt:Occupations


text: Category:roa-opt:People

title: Category:roa-opt:People


text: Category:roa-opt:Human

title: Category:roa-opt:Human


text: Romanen

title: Romanen


text: Category:roa-opt:Mammals

title: Category:roa-opt:Mammals


text: Category:roa-opt:Vertebrates

title: Category:roa-opt:Vertebrates


text: Category:roa-opt:Animals

title: Category:roa-opt:Animals


text: Category:roa-opt:Archery

title: Category:roa-opt:Archery


text: Category:roa-opt:Sports

title: Category:roa-opt:Sports


text: Category:roa-opt:Nobility

title: Category:roa-opt:Nobility


text:
Röntgenfilm

Etymology
From.

Noun

 * 1) X-ray film

title: Röntgenfilm


text: Category:roa-opt:Technology

title: Category:roa-opt:Technology


text: Category:roa-opt:Places of worship

title: Category:roa-opt:Places of worship


text: Rühle

title: Rühle


text: Rohbleis

title: Rohbleis


text: Rohsilbers

title: Rohsilbers


text: Röntgenfilme

title: Röntgenfilme


text: Röntgenfilmen

title: Röntgenfilmen


text: Röntgenfilms

title: Röntgenfilms


text: Category:roa-opt:Fire

title: Category:roa-opt:Fire


text: Category:roa-opt:Combustion

title: Category:roa-opt:Combustion


text: Category:roa-opt:Chemical processes

title: Category:roa-opt:Chemical processes


text:
һауыт-һаба

Etymology
A geminate term: +  *saba "vessel, container".

Cognate with 🇨🇬, 🇨🇬, 🇨🇬.

Noun

 * 1) tableware; glassware; plates and dishes

title: һауыт-һаба


text: Category:roa-opt:Reptiles

title: Category:roa-opt:Reptiles


text: Category:roa-opt:Botany

title: Category:roa-opt:Botany


text: Category:roa-opt:Music

title: Category:roa-opt:Music


text: Category:roa-opt:Art

title: Category:roa-opt:Art


text: Category:roa-opt:Sound

title: Category:roa-opt:Sound


text: Category:roa-opt:Countries

title: Category:roa-opt:Countries


text:
ҡашығаяҡ

Etymology
A geminate term made up of two stems: +.

Noun

 * 1) tableware; glassware; plates and dishes and cutlery / silverware

title: ҡашығаяҡ


text:
Phalangeriformes

Etymology
From.

Hypernyms

 * - class; - subclass;  - infraclass;  - supercohort;  - cohort;  - order

title: Phalangeriformes


text: Sachtler

title: Sachtler


text:
sagenumwoben

Adjective

 * 1) legendary (myth-enshrouded)

title: sagenumwoben


text:
sakral

Adjective

 * 1) sacred
 * 2) sacral

Adjective

 * 1) sacred, holy
 * 2) sacral

Etymology
, from. .

Adjective

 * 1) sacred, holy
 * 2)  sacral

title: sakral


text: Sangerhausen

title: Sangerhausen


text:
Petauroidea

Etymology
From.

Hyponyms

 * , (trioks, gliders, etc.),  (ringtail possums),  (honey possum)

title: Petauroidea


text:
Schauinsland

Proper noun

 * 1) A mountain in the Black Forest

title: Schauinsland


text: Cilician Armenia

title: Cilician Armenia


text:
Scheidemünze

Noun

 * 1) divisional coin coin whose metal value is less than its nominal value, small change
 * 2) token coin

title: Scheidemünze


text:
Armenian Kingdom of Cilicia

Proper noun

 * 1)  an independent principality formed during the High Middle Ages by Armenian refugees fleeing the Seljuk invasion of Armenia; located outside of the Armenian Highland and distinct from the Armenian Kingdom of Antiquity, it was centered in the Cilicia region northwest of the Gulf of Alexandretta, in what is today southern Turkey

Translations

 * Armenian: Կիլիկիայի հայկական թագավորություն, Կիլիկյան Հայաստան
 * Georgian: კილიკიის სომეხთა სამეფო
 * Marathi: सिलिसियाचे आर्मेनियन राज्य
 * Portuguese: Reino Armênio da Cilícia
 * Spanish: Reino armenio de Cilicia

title: Armenian Kingdom of Cilicia


text: Kingdom of Cilician Armenia

title: Kingdom of Cilician Armenia


text:
schiefergrau

Adjective

 * 1) slate gray

title: schiefergrau


text: Schlögl

title: Schlögl


text:
Schmuckhandel

Noun

 * 1) jewellery trade

title: Schmuckhandel


text: Schwaz

title: Schwaz


text:
Schwazer

Noun

 * 1) A native or inhabitant of Schwaz

title: Schwazer


text:
Schwärzung

Noun

 * 1)  density
 * 2) blackness
 * 3) redacting (replacing text with black areas)

title: Schwärzung


text:
кветка

Etymology
, suffixed with (compare 🇨🇬). Ultimately from, from , from , whence 🇨🇬. Related to 🇨🇬. .

Noun

 * 1) flower

title: кветка


text:
вінаграднік

Noun

 * 1) vineyard

title: вінаграднік


text:
Schädelknochen

Noun

 * 1) cranium (cranial bone)

title: Schädelknochen


text:
phaal

Noun

 * 1) brother

title: phaal


text:
Servierplatte

Noun

 * 1) platter, serving dish

title: Servierplatte


text: phaals

title: phaals


text:
Silberacetylid

Noun

 * 1)  silver acetylide

title: Silberacetylid


text:
Silbercyanid

Noun

 * 1)  silver cyanide

title: Silbercyanid


text:
Silberfulminat

Noun

 * 1)  silver fulminate

title: Silberfulminat


text:
Fulminat

Noun

 * 1) fulminate

title: Fulminat


text: Silberoxide

title: Silberoxide


text: Silberoxiden

title: Silberoxiden


text:
Petaurus

Etymology
From.

Hyponyms

 * - type species;,  ,  (sugar glider),  ,  (squirrel glider) - other species

title: Petaurus


text:
Silbersulfat

Noun

 * 1)  silver sulfate

title: Silbersulfat


text:
Silberamalgam

Noun

 * 1) silver amalgam

title: Silberamalgam


text: Orem

title: Orem


text:
Silberazid

Noun

 * 1)  silver azide

title: Silberazid


text:
fíon geal

Noun

 * 1) white wine

title: fíon geal


text:
Silberanteil

Noun

 * 1)  silver content

title: Silberanteil


text: 二转子

title: 二转子


text:
rolling the windows

Etymology
From the circular motion of the lever mechanism on car side windows.

Noun

 * 1)  windmill-like flailing of one's arms in a circular motion to maintain balance while in the air after a jump

title: rolling the windows


text:
alboriar

Verb

 * 1)  to  to begin to brighten with daylight

title: alboriar


text:
alcantarelláu

Noun

 * 1)  system

title: alcantarelláu


text:
alcantariella

Noun

 * 1)  pipes used to remove human waste and to provide drainage

title: alcantariella


text: Silberantimonglanz

title: Silberantimonglanz


text: rutái

title: rutái


text:
alcoholímetru

Noun

 * 1)  specialized form of hydrometer used to measure amount of alcohol in liquid

title: alcoholímetru


text:
kūlõ

Etymology
From. Compare 🇨🇬.

Verb

 * 1)  to hear
 * sinā nei jõvīst kūlõd nemē piņ
 * your hearing is (lit. "you hear") as good as a dog
 * ma kūliz siedā set īd kūoraks, siedā äb või uskõ
 * I heard it with just one ear, it cannot be trusted
 * tämmõn äb ūo kūoridi, ta äb kūl
 * he doesn't have ears, he doesn't hear
 * ta võtāb sin kūlõ
 * he hears you out; listens to you
 * ta iz pan kūlõmõks
 * he pretended not to hear (lit. "didn't put (e.g., himself) [in the state of] hearing")
 * 1)  to be, constitute a part of (lit. "to fit inside")
 * Sīkrõg kūlõb jedlõmiz Dūoņig pagāstõ
 * Sīkrõg (~ Sīkrags) was (lit. "is") part of the former Dundaga parish
 * Sīkrõg kūlõb jedlõmiz Dūoņig pagāstõ
 * Sīkrõg (~ Sīkrags) was (lit. "is") part of the former Dundaga parish

title: kūlõ


text:
alfabetu llatinu

Noun

 * 1)  the 26-letter alphabet

title: alfabetu llatinu


text: rutando

title: rutando


text:
algodón de zucre

Noun

 * , cotton candy

title: algodón de zucre


text:
alimentador

Adjective

 * 1)  providing nutrients

Etymology
From.

Adjective

 * 1) nutritious

title: alimentador


text: rutáu

title: rutáu


text: rutada

title: rutada


text:
Silberbarren

Noun

 * 1) silver bullion (silver bars)

title: Silberbarren


text: rutao

title: rutao


text:
alimenticiu

Adjective

 * 1)   providing nutrients
 * 2)  food

title: alimenticiu


text:
allacrán

Noun

 * 1)  any of various arachnids of the order Scorpiones

title: allacrán


text: rutaos

title: rutaos


text:
allistar

Verb

 * 1)  to create or recite a list

Etymology
From.

Verb

 * 1)  to enlist

title: allistar


text:
alliteración

Noun

 * 1)  the repetition of consonants

title: alliteración


text: rutaes

title: rutaes


text:
alministrativu

Adjective

 * 1)  of or relating to administering or administration

title: alministrativu


text:
allixerar

Verb

 * 1)  to  to make light in weight

title: allixerar


text:
altruísmu

Noun

 * 1)   policy that benefits others' interests

title: altruísmu


text:
silberbeschichtet

Adjective

 * 1) silver-coated

title: silberbeschichtet


text: rutio

title: rutio


text: ruties

title: ruties


text: alcantarielles

title: alcantarielles


text: alcoholemies

title: alcoholemies


text: alcoholímetros

title: alcoholímetros


text: alimentadora

title: alimentadora


text: alimentadoras

title: alimentadoras


text: alimentadores

title: alimentadores


text: allacranes

title: allacranes


text: alliteraciones

title: alliteraciones


text: alcantarellaos

title: alcantarellaos


text:
altímetru

Noun

 * 1)  an apparatus for measuring altitude

title: altímetru


text: rutia

title: rutia


text:
Silberbeschichtung

Noun

 * 1) silver coating

title: Silberbeschichtung


text: rutiamos

title: rutiamos


text: rutiáis

title: rutiáis


text:
Silberbesteck

Noun

 * 1) silverware; silver cutlery

title: Silberbesteck


text: rutien

title: rutien