Wîkîferheng kuwiktionary https://ku.wiktionary.org/wiki/Destp%C3%AAk MediaWiki 1.47.0-wmf.5 case-sensitive Medya Taybet Gotûbêj Bikarhêner Gotûbêja bikarhêner Wîkîferheng Gotûbêja Wîkîferhengê Wêne Gotûbêja wêneyî MediaWiki Gotûbêja MediaWiki Şablon Gotûbêja şablonê Alîkarî Gotûbêja alîkariyê Kategorî Gotûbêja kategoriyê Pêvek Gotûbêja pêvekê Nimînok Gotûbêja nimînokê Portal Gotûbêja portalê Tewandin Gotûbêja tewandinê Jinûvesazî Gotûbêja jinûvesaziyê TimedText TimedText talk Modul Gotûbêja modulê Event Event talk kûçik 0 4476 6237063 6103428 2026-06-03T19:26:10Z ~2026-29663-31 14957 /* Bi zaravayên din */ 6237063 wikitext text/x-wiki == {{ziman|ku}} == === Bilêvkirin === * {{ku-IPA}} === Navdêr === {{ku-tewîn-nav|kûçik|nêr}} [[Wêne:KangalTürkiyede.jpg|thumb|Kûçikek]] {{navdêr|ku|z=n}}, {{k-ya nerm}} (1, 2), {{ç-ya nerm}} # {{f|ku|guhandar}} [[heywan|Heywanek]] [[kedî]] ([[navmalî]]) ye û [[rewîn|direwe]] anku [[hewîn|dihewe]]: ''[[Canis lupus familiaris]]''. #: {{hevmane|ku|se|seg|hewo<q:bi zimanê zarokan>}} #* {{jêder|ku|jêgirtin='''Kûçikên''' li hewşa pêş û paşî, ji hîva rûnixumandî tirsnaktir û ji ecacokê hartir, gez dikin bê.|{{Jêgirtin/Îrfan Amîda/Şevek Şîzofren|r=6}}}} # {{f|ku|avahî}} [[avahî|Avahiyên]] [[mezin]] û [[şikodar]] (wek yên [[paşa]]yan). #: {{hevmane|ku|Koşk|eywan|seray|qesr}} [[palas]], [[koç]], # {{f|ku|argo}} Ji bo [[biçûkxistin]]ê tê [[bikaranîn]]. #* {{jêder|ku|jêgirtin=Hûn vî '''kûçikê''' ku bi darê ve girêdayî ye, dibînin, ne wilo? Ger hûn sîlahên xwe neynin teslîm nekin, ez ê we hemûyan têxim vê rewşê û hê jî jê xerabtir.|{{Jêgirtin/Firat Cewerî/Girtî}}}} ==== Bi alfabeyên din ==== * {{ku-ar|کووچک}} * {{ku-kr|кучьк}} ==== Herwiha ==== * {{g|ku|kwîçik}} ==== Bide ber ==== * {{g|ku|gur}} * {{g|ku|tajî}} ==== Etîmolojî ==== Belkî ji {{ji|ine-pro|ku|*ḱwṓ}}. Hevreha belûçî {{g|bal|کچک|tr=kuçek}}, tacikî [[кучук]] (kuçuk), iştiherdî ''kûte'', sindî [[ڪتو]] (kuto), hindî [[कुत्ता]], urdûyî [[کتا]] (kutta), telûgûyî [[కుక్క]] (kukka), bulgarî [[куче]] (kuçê), xirwatî [[kuče]]. Yan jî [[peyvên gerrok|peyveke gerrok]] e. ==== Bi zaravayên din ==== * Soranî: [[seg]] # kurmancî : seh, kûçik ==== Werger ==== {{werger-ser}} * {{Z|aas}}: {{W-|aas|wa-t}} * {{Z|aau}}: {{W-|aau|nwoh}} * {{Z|abq}}: {{W-|abq|ла}} * {{Z|abe}}: {{W-|abe|adia}}, {{W-|abe|alemos}} * {{Z|ab}}: {{W-|ab|ала}} * {{Z|ace}}: {{W-|ace|asèë}} * {{Z|ady}}: {{W-|ady|хьэ}} * {{Z|aa}}: {{W-|aa|kuta}} * {{Z|af}}: {{W+|af|hond}} * {{Z|agx}}: {{W-|agx|гъуй}} * {{Z|aho}}: {{W-|aho|𑜉𑜠|tr=ma}} * {{Z|aji}}: {{W-|aji|lova|tr=lova}} * {{Z|akk}}: {{W-|akk|𒌨|n|tr=kalbu, UR}} * {{Z|ak}}: {{W-|ak|kraman}} * {{Z|akl}}: {{W-|akl|ayam}} * {{Z|akz}}: {{W-|akz|ifa}} * {{Z|sq}}: {{W+|sq|qen|n}} * {{Z|ale}}: {{W-|ale|sabaakax}} * {{Z|de}}: {{W+|de|Hund|n}}, {{W+|de|Hündin|m}} *: {{Z|gmh}}: {{W-|gmh|hunt|n}} *: {{Z|goh}}: {{W-|goh|hunt|n}} *: {{Z|gsw}}: {{W-|gsw|Hund|n}} * {{Z|alt}}: {{W-|alt|ийт}} * {{Z|alp}}: {{W-|alp|asu}} * {{Z|alr}}: {{W-|alr|г'ытг'ын|tr=ʕətʕən}} * {{Z|ryn}}: {{W-|ryn|犬|tr=いん, in}} * {{Z|ams}}: {{W-|ams|犬|tr=いん, in}} * {{Z|amm}}: {{W-|amm|aluwou}} * {{Z|zgh}}: {{W-|zgh|ⴰⵢⴷⵉ|n}}, {{W-|zgh|ⵜⴰⵢⴷⵉⵜ|m}} * {{Z|am}}: {{W-|am|ውሻ}}, {{W-|am|ከልብ}} * {{Z|ami}}: {{W-|ami|wacu}} * {{Z|amu}}: {{W-|amu|kítzë'}} * {{Z|ani}}: {{W-|ani|хой}} * {{Z|agg}}: {{W-|agg|yaforɨ}} * Apaçî: *: {{Z|apw}}: {{W-|apw|góshé}}, {{W-|apw|łichánee}} * {{Z|an}}: {{W-|an|gos}}, {{W-|an|chin}} * {{Z|arc}}: *: {{Z|aii}}: {{W-|aii|ܟܲܠܒ݂ܵܐ|n|tr=kalwa}}, {{W-|aii|ܟܲܠܒܬܵܐ|m|tr=kalbta}} *: {{Z|syc}}: {{W-|syc|ܟܠܒܐ|n|tr=kalbā}}, {{W-|syc|ܟܠܒܬܐ|m|tr=kalbəṯā}} *: {{Z|tmr}}: {{W-|arc|כַּלְבָּא|n|tr=kalbā|sc=Hebr}}, {{W-|arc|כַּלְבְּתָא|m|tr=kalbəṯā|sc=Hebr}} * {{Z|arp}}: {{W-|arp|he3}} * {{Z|agj}}: {{W-|agj|ውሻ|tr=wǝša}} * {{Z|rup}}: {{W-|rup|cãni|n}}, {{W+|rup|cãne|n}} * {{Z|aer}}: {{W-|aer|akngwelye}} * {{Z|as}}: {{W-|as|কুকুৰ}} * {{Z|asb}}: {{W-|asb|šunga}} * {{Z|ast}}: {{W+|ast|perru|n}}, {{W+|ast|can}}, {{W+|ast|cusu}} * {{Z|cni}}: {{W-|cni|otsitzi}} * {{Z|atj}}: {{W-|atj|atimw}} * {{Z|aot}}: {{W-|aot|kyiʼ}} * {{Z|av}}: {{W-|av|гьой}} * {{Z|ae}}: {{W-|ae|𐬯𐬞𐬁}} * {{Z|awa}}: {{W-|awa|कूकर}} * {{Z|akv}}: {{W-|akv|хве}}, {{W-|akv|хвай}} * {{Z|ay}}: {{W+|ay|anu}} * {{Z|ain}}: {{W-|ain|セタ|tr=seta}}, {{W-|ain|レエㇷ゚|tr=reep}} * {{Z|aio}}: {{W-|aio|မႃ|tr=mā}} * {{Z|az}}: {{W+|az|it}}, {{W+|az|köpək}} * {{Z|kva}}: {{W-|kva|гьвай}} * {{Z|bdq}}: {{W-|bdq|kŏ}} * {{Z|bdr}}: {{W-|bdr|owa'}}, {{W-|bdr|oa'}} * {{Z|ban}}: {{W-|ban|cicing}}, {{W-|ban|asu}} * {{Z|bm}}: {{W-|bm|wùlù}} * {{Z|bnd}}: {{W-|bnd|asu}} * {{Z|bgz}}: {{W-|bgz|asu}} * {{Z|bjn}}: {{W-|bjn|hadupan}} * {{Z|eu}}: {{W+|eu|txakur}}, {{W-|eu|etxe-txakur}} * {{Z|ba}}: {{W-|ba|эт}} * {{Z|bbc}}: {{W-|bbc|asu}}, {{W-|bbc|biang}} * {{Z|bbl}}: {{W-|bbl|ფჰ̡უ}} * {{Z|sne}}: {{W-|sne|kosuong}} * {{Z|xbc}}: {{W-|xbc|κοδο}} * {{Z|bar}}: {{W-|bar|Hund}} * {{Z|bej}}: {{W-|bej|yaas}} * {{Z|be}}: {{W-|be|саба́ка|n|m}}, {{W-|be|пёс|n}} * {{Z|bal}}: {{W-|bal|کچک|tr=kucak}} * {{Z|bem}}: {{W-|bem|imbwa}} * {{Z|bn}}: {{W+|bn|কুকুর}}, {{W+|bn|কুত্তা}} * {{Z|lod}}: {{W-|lod|acew}} * {{Z|kap}}: {{W-|kap|во}} * {{Z|bpz}}: {{W-|bpz|asu}} * {{Z|bny}}: {{W-|bny|asou}}, {{W-|bny|asew}} * {{Z|bsb}}: {{W-|bsb|asu}} * {{Z|ije}}: {{W-|ije|ebiri}} * {{Z|bcl}}: {{W-|bcl|ayam}} {{W-|bcl|dayo}} {{W-|bcl|ido}} * {{Z|bi}}: {{W-|bi|dog}} * {{Z|bla}}: {{W-|bla|imitáá}} * {{Z|bor}}: {{W-|bor|arigao}} * {{Z|bph}}: {{W-|bph|хай}} * {{Z|br}}: {{W+|br|ki|n}}, {{W+|br|chas|p}}, {{W+|br|kiez|m}}, {{W+|br|kiezed|p}} *: {{Z|xbm}}: {{W-|xbm|ci|n}} * {{Z|kxd}}: {{W-|kxd|kuyuk}}, {{W-|kxd|anjing}} * {{Z|bdk}}: {{W-|bdk|хор}}, {{W-|bdk|тІартІа}} * {{Z|bug}}: {{W-|bug|asu}}, {{W-|bug|ᨕᨔᨘ}} * {{Z|mbb}}: {{W-|mbb|asu}} * {{Z|bg}}: {{W-|bg|ку́че|nt}}, {{W+|bg|пес|n}}, {{W-|bg|псе|nt}} * {{Z|bnn}}: {{W-|bnn|asu}} * {{Z|my}}: {{W+|my|ခွေး}} * {{Z|bua}}: {{W-|bua|нохой}} * {{Z|pcc}}: {{W-|pcc|duezmal}}, {{W-|pcc|mal}} * {{Z|cad}}: {{W-|cad|díˀṣi}} * {{Z|chl}}: {{W-|chl|'áwal}} * {{Z|caq}}: {{W-|caq|am}} * {{Z|dgc}}: {{W-|dgc|aso}} * {{Z|cay}}: {{W-|cay|só:wa:s}} * {{Z|cia}}: {{W-|cia|아우}} * {{Z|kac}}: {{W-|kac|guì}} * {{Z|dz}}: {{W-|dz|ཁྱི}} * {{Z|crn}}: {{W-|crn|ẓʌ'ʌ}} * {{Z|caa}}: {{W-|caa|c'i'}} * {{Z|ccp}}: {{W-|ccp|𑄇𑄪𑄉𑄪𑄢𑄴|tr=kugur}} * Cham: *: {{Z|cjm}}: {{W-|cjm|asau}} *: {{Z|cja}}: {{W-|cja|sau}} * {{Z|cji}}: {{W-|cji|хва̅й}} * {{Z|ccc}}: {{W-|ccc|ma'nali}} * {{Z|ch}}: {{W-|ch|ga'lagu}} * {{Z|ce}}: {{W-|ce|жӏаьла}} * {{Z|cs}}: {{W+|cs|pes|n}}, {{W+|cs|fena|m}} * {{Z|cdm}}: {{W-|cdm|कुयः}} * {{Z|chr}}: {{W+|chr|ᎩᏟ}}, {{W+|chr|ᎩᎵ}} * {{Z|chy}}: {{W-|chy|oeškeso}} * {{Z|ny}}: {{W-|ny|galu}} * {{Z|cic}}: {{W-|cic|ofi'}} * {{Z|zh}}: *: {{Z|yue}}: {{W-|yue|狗}}, {{W-|yue|犬}} *: {{Z|dng}}: {{W-|dng|гу}} *: {{Z|gan}}: {{W-|gan|狗|tr=gieu3}} *: {{Z|hak}}: {{W-|hak|狗仔|tr=kéu-é}} *: {{Z|cmn}}: {{W+|cmn|狗}}, {{W+|cmn|犬}} *: {{Z|mnp}}: {{W-|mnp|狗仔|tr=ě-ciě}}, {{W-|mnp|狗|tr=ě}} *: {{Z|cdo}}: {{W-|cdo|犬|tr=kēng}} *: {{Z|nan}}: {{W+|nan|狗|tr=káu}} *: {{Z|zhx-tai}}: {{W-|zhx-tai|狗}} *: {{Z|wuu}}: {{W-|wuu|狗}} *: {{Z|hsn}}: {{W-|hsn|狗|tr=gou3}} * {{Z|cho}}: {{W-|cho|ofi}} * {{Z|cje}}: {{W-|cje|əsɣu}} * {{Z|ckt}}: {{W-|ckt|ыʼттъын|tr=yʼttʺyn}}, {{W-|ckt|ыʼттъыт|p|tr=yʼttʺyt}}, {{W-|ckt|вытэԓгын|tr=vytėḷgyn}} * {{Z|cv}}: {{W-|cv|йытӑ}} * {{Z|chk}}: {{W-|chk|konak}} * {{Z|dlm}}: {{W-|dlm|cun|n}}, {{W-|dlm|kun|n}}, {{W-|dlm|cuon|n}}, {{W-|dlm|kuon|n}} * {{Z|da}}: {{W+|da|hund|g}} * {{Z|dar}}: {{W-|dar|хя}} * {{Z|xda}}: {{W-|xda|mirri}} * {{Z|afn}}: {{W-|afn|ebere}} * {{Z|deg}}: {{W-|deg|ạ́ḅụ́ạ̄}} * {{Z|tfn}}: {{W-|tfn|łik'a}} * {{Z|dv}}: {{W-|dv|ބަޅު}}, {{W+|dv|ކުއްތާ}} * {{Z|dgr}}: {{W-|dgr|tłı̨}} * {{Z|dlg}}: {{W-|dlg|ыт}} * {{Z|duu}}: {{W-|duu|dvgeui}} * {{Z|dsn}}: {{W-|dsn|nap}} * {{Z|dtp}}: {{W-|dtp|tasu}} * {{Z|ega}}: {{W-|ega|ʊ̀vɛ}} * {{Z|ovd}}: {{W-|ovd|rakke|n}} * {{Z|avd}}: {{W-|avd|اسبه|tr=asbe}} * {{Z|egl}}: {{W-|egl|can}} * {{Z|id}}: {{W+|id|anjing}}, {{W+|id|asu}} * {{Z|enn}}: {{W-|enn|ạ́ḅụạ}} * {{Z|epi}}: {{W-|epi|aḅụ́ā}} * {{Z|ar}}: {{W+|ar|كَلْب|n}} *: {{Z|arz}}: {{W-|arz|كلب|n|tr=kalb}} *: {{Z|afb}}: {{W-|afb|چلب|tr=čalb}} *: {{Z|acw}}: {{W-|acw|كَلْب|n|tr=kalb}} *: {{Z|acm}}: {{W-|acm|جلب|n|tr=čalb}} *: {{Z|ary}}: {{W-|ary|كلب|n|tr=kalb}} *: {{Z|ajp}}: {{W-|ajp|كلب|n|tr=kalb}} * {{Z|ert}}: {{W-|ert|asu}} * {{Z|hy}}: {{W+|hy|շուն}} * {{Z|myv}}: {{W-|myv|киска}}, {{W-|myv|пине}} * {{Z|eo}}: {{W+|eo|hundo}}, {{W+|eo|hundino}} * {{Z|et}}: {{W+|et|koer}}, {{W+|et|peni}} * {{Z|gez}}: {{W-|gez|ከልብ}} * {{Z|eve}}: {{W-|eve|ҥин}} * {{Z|evn}}: {{W-|evn|ӈинакин}} * {{Z|ee}}: {{W-|ee|avu}} * {{Z|fa}}: {{W+|fa|سگ|tr=sag}} *: {{Z|pal}}: {{W-|pal|𐭪𐭫𐭡𐭠}} * {{Z|phn}}: {{W-|phn|𐤊𐤋𐤁}} * {{Z|fo}}: {{W+|fo|hundur|n}} * {{Z|xpg}}: {{W-|xpg|kunes}} * {{Z|fj}}: {{W+|fj|koli}} * {{Z|fi}}: {{W+|fi|koira}} * {{Z|fon}}: {{W-|fon|agla}}, {{W-|fon|avun}} * {{Z|frp}}: {{W-|frp|chin}} * {{Z|fr}}: {{W+|fr|chien|n}} *: {{Z|frm}}: {{W-|frm|chien|n}} *: {{Z|fro}}: {{W-|fro|chien|n}} * Frisian: *: {{Z|frr}}: {{W-|frr|hün|n}}, {{W-|frr|hünj|n}} *: {{Z|ofs}}: {{W-|ofs|hund}} *: {{Z|stq}}: {{W-|stq|Huund}} *: {{Z|fy}}: {{W+|fy|hûn|g}} * {{Z|fur}}: {{W-|fur|cjan}}, {{W-|fur|čhan}} * {{Z|ff}}: *: Adlamî: {{W-|ff|𞤦𞤢𞤪𞤫𞥅𞤪𞤵}}, {{W-|ff|𞤪𞤢𞤱𞤢𞥄𞤲𞤣𞤵}} *: Latînî: {{W-|ff|bareeru}}, {{W-|ff|rawaandu}} * {{Z|gad}}: {{W-|gad|atu}} * {{Z|gd}}: {{W+|gd|cù|n}}, {{W-|gd|madadh|n}} * {{Z|gag}}: {{W-|gag|köpek}} * {{Z|gl}}: {{W+|gl|can|n}}, {{W+|gl|cadela|m}}, {{W+|gl|cuzo|n}}, {{W+|gl|cuza|m}} * {{Z|sdn}}: {{W-|sdn|cani}} , {{W-|kld|marayin}}, {{W-|kld|mirri}}, {{W-|kld|ngurran}} * {{Z|cel-gau}}: {{W-|cel-gau|cuna}} * {{Z|gay}}: {{W-|gay|asu}} * {{Z|gdo}}: {{W-|gdo|хвайи}} * {{Z|gon}}: {{W-|gon|నెయ్|tr=ney}} * {{Z|got}}: {{W-|got|𐌷𐌿𐌽𐌳𐍃|n}} * {{Z|gu}}: {{W+|gu|કુતરો|n}}, {{W+|gu|કુતરી|m}} * {{Z|ka}}: {{W+|ka|ძაღლი}} * {{Z|gue}}: {{W-|gue|guru}}, {{W-|gue|wangani}}, {{W-|gue|warlagu}} * {{Z|kky}}: {{W-|kky|gudaa}} * {{Z|gn}}: {{W-|gn|jagua}} * {{Z|haa}}: {{W-|haa|łąyy}} * {{Z|xhd}}: {{W-|xhd|𐩫𐩡𐩨}} * {{Z|hai}}: {{W-|hai|x̌a}}, {{W-|hai|x̲a}} * {{Z|ht}}: {{W-|ht|chen}}, {{W-|ht|chyen}} * {{Z|hur}}: {{W-|hur|sqwemá:y}} * {{Z|yuf}}: {{W-|yuf|had}} * {{Z|haw}}: {{W-|haw|ʻīlio}} * {{Z|ha}}: {{W+|ha|kare}} * {{Z|mba}}: {{W-|mba|asu}} * {{Z|hi}}: {{W+|hi|कुत्ता|n}}, {{W+|hi|कुत्ती|m}}, {{W+|hi|श्वान|n}}, {{W+|hi|कुक्कुर|n}}, {{W-|hi|कुक्कुरी|m}}, {{W+|hi|कुर्कुर|n}}, {{W-|hi|कूकुर|n}}, {{W+|hi|कुकुरी|m}}, {{W+|hi|कुतिया|m}}, {{W+|hi|कूकर|n}}, {{W+|hi|कुकुर|n}} * {{Z|gin}}: {{W-|gin|гъвве}}, {{W-|gin|кача}} * {{Z|ho}}: {{W-|ho|sisia}} * {{Z|hil}}: {{W-|hil|ido}} * {{Z|meu}}: {{W-|meu|sisia}} * {{Z|hit}}: {{W-|hit|𒆪𒉿𒀸|ts=kuwas}}, {{W-|hit|ts=suwana}} * {{Z|mww}}: {{W-|mww|dev}}, {{W-|mww|aub}} * {{Z|nl}}: {{W+|nl|hond|n}} *: {{Z|dum}}: {{W-|dum|hont|n}} * {{Z|hop}}: {{W-|hop|pòoko}} * {{Z|hrx}}: {{W-|hrx|Hund|n}} * {{Z|huz}}: {{W-|huz|ве}} * {{Z|bto}}: {{W-|bto|ayam}} * {{Z|esh}}: {{W-|esh|اسپ|n|cuda=اِسپَ|tr=espa}}, {{W-|esh|ماچیه|m|cuda=ماچیَه|tr=mâĉiya}}, {{W-|esh|کوت|cuda=کوتَ|tr=kōta or kōtiyak: WHELP}} * {{Z|ibg}}: {{W-|ibg|kitu}} * {{Z|iby}}: {{W-|iby|obiri}} * {{Z|iba}}: {{W-|iba|asu}}, {{W-|iba|ukui}} * {{Z|he}}: {{W-|he|כֶּלֶב|n|tr=kélev}} * {{Z|io}}: {{W+|io|hundo}}, {{W+|io|hundino}} * {{Z|ig}}: {{W-|ig|nkịta}} * {{Z|ilo}}: {{W-|ilo|aso}} * {{Z|ang}}: {{W+|ang|hund|n}} * {{Z|enm}}: {{W-|enm|dogge}}, {{W-|enm|hound}} * {{Z|en}}: {{W+|en|dog}} * {{Z|izh}}: {{W-|izh|koira}} * {{Z|inh}}: {{W-|inh|жӏали}} * {{Z|ia}}: {{W+|ia|can}} * {{Z|iu}}: {{W-|iu|ᕿᒻᒥᖅ}} * {{Z|ill}}: {{W-|ill|asu}} * {{Z|ga}}: {{W+|ga|madra|n}}, {{W+|ga|gadhar|n}}, {{W+|ga|madadh|n}} *: {{Z|sga}}: {{W-|sga|cú|n}}, {{W-|sga|matad|n}} * {{Z|isd}}: {{W-|isd|ato}} * {{Z|zai}}: {{W-|zai|biʼcuʼ}} * {{Z|ist}}: {{W-|ist|can}} * {{Z|it}}: {{W+|it|cane|n}} * {{Z|itl}}: {{W-|itl|ӄосҳ}}, {{W-|itl|ӄсҳай}}, {{W-|itl|ӄсҳa’н}} * {{Z|ium}}: {{W-|ium|juv}} * {{Z|ivv}}: {{W-|ivv|chito}} * {{Z|is}}: {{W+|is|hundur|n}} * {{Z|ja}}: {{W+|ja|犬|tr=いぬ, inu}}, {{W+|ja|狗|tr=いぬ, inu}} * {{Z|jra}}: {{W-|jra|asâo}} * {{Z|kaw}}: {{W-|kaw|asu}} * {{Z|jv}}: {{W+|jv|ꦲꦱꦸ}}, {{W-|jv|sagawon}}, {{W+|jv|baung}}, {{W+|jv|cemera}}, {{W+|jv|sona}} * {{Z|kbd}}: {{W-|kbd|хьэ}} * {{Z|kab}}: {{W-|kab|aydi}} * {{Z|kzj}}: {{W-|kzj|tasu}} * {{Z|kl}}: {{W+|kl|qimmeq}} * {{Z|xal}}: {{W-|xal|ноха}} * {{Z|kmc}}: {{W-|kmc|nguap}} * {{Z|kne}}: {{W-|kne|aso}} * {{Z|kn}}: {{W+|kn|ನಾಯಿ}} * {{Z|pam}}: {{W-|pam|asu}} * {{Z|kea}}: {{W-|kea|katxor}} * {{Z|krc}}: {{W-|krc|ит}} * {{Z|kaa}}: {{W-|kaa|iyt}} * {{Z|kpt}}: {{W-|kpt|хвай}} * {{Z|krl}}: {{W-|krl|koira}} * {{Z|crx}}: {{W-|crx|ɫi}} * {{Z|csb}}: {{W-|csb|tósz}}, {{W-|csb|pies}} * {{Z|ca}}: {{W+|ca|gos}}, {{W+|ca|ca|n}}, {{W+|ca|gossa|m}}, {{W-|ca|cutxu}} * {{Z|chc}}: {{W-|chc|tansi}} * {{Z|zku}}: {{W-|zku|wirka}}, {{W-|zku|putyita}}, {{W-|zku|kadli}} * {{Z|kgp}}: {{W-|kgp|kasor}} * {{Z|qu}}: {{W-|qu|alkho}}, {{W-|qu|allqu}}, {{W-|qu|allgo}} * {{Z|kem}}: {{W-|kem|asu}} * {{Z|ks}}: {{W+|ks|ہوٗن}} * {{Z|ket}}: {{W-|ket|tīp}} * {{Z|ksx}}: {{W-|ksx|au}} * {{Z|kha}}: {{W-|kha|ksew}} * {{Z|kjj}}: {{W-|kjj|пхра}} * {{Z|cnk}}: {{W-|cnk|ui}} * {{Z|krj}}: {{W-|krj|ayam}} * {{Z|ky}}: {{W+|ky|ит}} * {{Z|okr}}: {{W-|okr|obirí}} * {{Z|kic}}: {{W-|kic|ə́nɛ̏mwə̏}} * {{Z|kg}}: {{W-|kg|mbwa}} * {{Z|kqr}}: {{W-|kqr|tasu}} * {{Z|si}}: {{W+|si|බල්ලා}}, {{W+|si|සුනඛයා}}, {{W+|si|බැල්ලී|m}}, {{W+|si|බැල්ලී|m}}, {{W+|si|සුනඛයා}} * {{Z|rw}}: {{W-|rw|bwa}} * {{Z|clm}}: {{W-|clm|sqáx̣əʔ}}, {{W-|clm|sqməy̕}} * {{Z|kla}}: {{W-|kla|waṣ̓a·k}} * {{Z|kpm}}: {{W-|kpm|so}} * {{Z|com}}: {{W-|com|sarii}} * {{Z|xbi}}: {{W-|xbi|nimpua}} * {{Z|koi}}: {{W-|koi|пон}} * {{Z|kpv}}: {{W-|kpv|пон}} * {{Z|kok}}: {{W-|kok|सूणे}} * {{Z|okm}}: {{W-|okm|가히〮|tr=kàhí}}, {{W-|okm|개〯|tr=kǎy}} * {{Z|ko}}: {{W+|ko|개}}, {{W-|ko|견(犬)}}, {{W-|ko|구(狗)}} * {{Z|kw}}: {{W-|kw|ki}} * {{Z|co}}: {{W+|co|cane|n}}, {{W+|co|ghjacaru|n}} * {{Z|kpy}}: {{W-|kpy|гʼытгʼын|tr=ʁətʁən}}, {{W-|kpy|гʼытгʼу|tr=ʁətʁu}} * {{Z|lou}}: {{W-|lou|shin}}, {{W-|lou|shyin}} * {{Z|rop}}: {{W-|rop|dog}} * {{Z|ksi}}: {{W-|ksi|duwe}} * {{Z|cr}}: {{W-|cr|ᐊᑎᒼ}} * {{Z|mus}}: {{W-|mus|éfv}} * {{Z|kum}}: {{W-|kum|ит}} * {{Z|cuk}}: {{W-|cuk|achu}} * {{Z|gdj}}: {{W-|gdj|ruaak}} * {{Z|qui}}: {{W-|qui|kadí·do}} * {{Z|kj}}: {{W-|kj|ombwa}} * {{Z|lld}}: {{W-|lld|cian}} * {{Z|lad}}: {{W-|lad|פירו|n|tr=pero}} * {{Z|lbe}}: {{W-|lbe|ккаччи}} * {{Z|lkt}}: {{W-|lkt|šúŋka}} * {{Z|ljp}}: {{W-|ljp|asu}} * {{Z|ltg}}: {{W-|ltg|suņs|n}} * {{Z|la}}: {{W+|la|canis|n|m}} * {{Z|lv}}: {{W+|lv|suns|n}}, {{W+|lv|kuce|m}} * {{Z|lo}}: {{W+|lo|ໝາ}} * {{Z|lzz}}: {{W-|lzz|ლაკი}} * Lenape: *: {{Z|umu}}: {{W-|umu|mwaakaneew}} *: {{Z|unm}}: {{W-|unm|mwekane}} * {{Z|lez}}: {{W-|lez|кицӏ}} * {{Z|lti}}: {{W-|lti|asu}} * {{Z|ln}}: {{W-|ln|mbwá}} * {{Z|lij}}: {{W-|lij|càn|n}}, {{W-|lij|càgna|m}} * {{Z|li}}: {{W+|li|hóndj}} * {{Z|lt}}: {{W+|lt|šuo|n}}, {{W+|lt|šuva|n}}, {{W-|lt|kalė|m}} * {{Z|liv}}: {{W-|liv|piņ}} * {{Z|lmo}}: {{W-|lmo|can}}, {{W-|lmo|cà}} * {{Z|khb}}: {{W-|khb|ᦖᦱ}} * {{Z|luy}}: {{W-|luy|imbwa}} * {{Z|lb}}: {{W+|lb|Hond|n}}, {{W+|lb|Mupp|n}}, {{W-|lb|Mudder|m}} * {{Z|mhn}}: {{W-|mhn|hunt|n}} * {{Z|mad}}: {{W-|mad|pateʔ}} * {{Z|mdh}}: {{W-|mdh|asu}} * {{Z|mak}}: {{W-|mak|kongkong}} * {{Z|mk}}: {{W-|mk|куче|nt}}, {{W-|mk|пес|n}} * {{Z|mqs}}: {{W-|mqs|aso}} * {{Z|mg}}: {{W+|mg|alika}} * Malay: *: {{Z|ms}}: {{W+|ms|انجيڠ}}, {{W-|ms|اسو}}, {{W-|ms|کويوق}} *: Rûmî: {{W+|ms|anjing}}, {{W+|ms|asu}}, {{W+|ms|kuyuk}} * {{Z|ml}}: {{W+|ml|നായ}}, {{W+|ml|പട്ടി}} * {{Z|mfa}}: {{W-|mfa|anjing}} * {{Z|pqm}}: {{W-|pqm|olomuss|y}}, {{W-|pqm|olomussok|p}}, {{W-|pqm|'tolomussomol}}, {{W-|pqm|olomussis}} * {{Z|mlq}}: {{W-|mlq|wulu}} * {{Z|mt}}: {{W+|mt|kelb|n}}, {{W-|mt|kelba|m}} * {{Z|mgm}}: {{W-|mgm|ausa}} * {{Z|mnc}}: {{W-|mnc|ᡳᠨᡩᠠᡥᡡᠨ}} * {{Z|gv}}: {{W+|gv|moddey}}, {{W-|gv|coo}} * {{Z|msk}}: {{W-|msk|ido}} * {{Z|mns-nor}}: {{W-|mns-nor|а̄мп}} * {{Z|mi}}: {{W+|mi|kurī}} * {{Z|arn}}: {{W-|arn|xewa}} * {{Z|mrw}}: {{W-|mrw|aso}} * {{Z|mr}}: {{W+|mr|कुत्रा}} * Marî: *: {{Z|mhr}}: {{W-|mhr|пий}} *: {{Z|mrj}}: {{W-|mrj|пи}} * {{Z|mrc}}: {{W-|mrc|xat}}, {{W-|mrc|hat}} * {{Z|mh}}: {{W-|mh|kidu}} * {{Z|mas}}: {{W-|mas|oldia}} * {{Z|yua}}: {{W-|yua|peek’}} * {{Z|mfy}}: {{W-|mfy|čū’u}} * {{Z|vmb}}: {{W-|vmb|dog}} * {{Z|gun}}: {{W-|gun|jagua}} * {{Z|hu}}: {{W+|hu|kutya}}, {{W+|hu|eb}} * {{Z|xme-old}}: {{W-|xme-old|σπάκα}} * {{Z|ruq}}: {{W-|ruq|cǫini}} * {{Z|gdq}}: {{W-|gdq|kawb}} * {{Z|mel}}: {{W-|mel|asou}} * {{Z|men}}: {{W-|men|ngílà}} * {{Z|iro-min}}: {{W-|iro-min|tsíyæ|y}}, {{W-|iro-min|tsiyæshö'ö|p}} * {{Z|miq}}: {{W-|miq|yul}} * {{Z|egy}}: {{W-egy|ṯzm|n|h=T:z-m-E14}} * {{Z|mit}}: {{W-|mit|tsi'ína|tr=aydi}} * {{Z|mvi}}: {{W-|mvi|犬|tr=いん, in}} * {{Z|lus}}: {{W-|lus|ui}} * {{Z|mic}}: {{W-|mic|lmu'j|an}}, {{W-|mic|nmu'j|an}} * {{Z|min}}: {{W-|min|anjiang}} * {{Z|mwl}}: {{W-|mwl|can}}, {{W-|mwl|perro}} * {{Z|moh}}: {{W-|moh|érhar}} * {{Z|mdf}}: {{W-|mdf|пине}} * {{Z|mn}}: {{W+|mn|нохой}} * {{Z|mnw}}: {{W-|mnw|ကၠဵု}} * {{Z|moe}}: {{W-|moe|atimᵘ}} * {{Z|mtq}}: {{W-|mtq|chỏ}} * {{Z|nag}}: {{W-|nag|kukur}} * Nahuatl: *: {{Z|nhn}}: {{W-|nhn|chichi}}, {{W-|nhn|itzcuintli}} *: {{Z|nch}}: {{W-|nch|chichi}} *: Klasîk: {{W-|nci|chichi}}, {{W-|nci|itzcuintli}} * {{Z|nci}}: {{W-|nci|chichi}}, {{W-|nci|itzcuintli}} * {{Z|naq}}: {{W-|naq|arib|n}} * {{Z|nmb}}: {{W-|nmb|lip'ah}} * {{Z|gld}}: {{W-|gld|инда}} * {{Z|nap}}: {{W-|nap|ccane}} * {{Z|nv}}: {{W-|nv|łééchąąʼí}} * {{Z|na}}: {{W+|na|robar}} * {{Z|nds}}: *: {{Z|nds-de}}: {{W-|nds-de|Hund|n}}, {{W-|nds-de|Köter|n}}, {{W-|nds-de|Keuter|n}}, {{W-|nds-de|Teev|m}}, {{W-|nds-de|Tääv|m}}, {{W-|nds-de|Tiff|m}} *: {{Z|gml}}: {{W-|gml|hund|n}} * {{Z|neg}}: {{W-|neg|ӈи̇нахи̇н}}, {{W-|neg|ни̇нахи̇н}} * {{Z|yrk}}: {{W-|yrk|вэʼ|tr=vė}}, {{W-|yrk|вэʼн|tr=vėn}}, {{W-|yrk|вэнеко|tr=vėneko}} * {{Z|ne}}: {{W+|ne|कुकुर|n}}, {{W-|ne|कुकुरनी|m}} * {{Z|new}}: {{W-|new|खिचा|n}}, {{W-|new|खिचानी|m}} * {{Z|nio}}: {{W-|nio|баӈ|tr=bang}} * {{Z|nay}}: {{W-|nay|keli}} * {{Z|wyb}}: {{W-|wyb|mirri}} * {{Z|nia}}: {{W-|nia|asu}} * {{Z|niv}}: {{W-|niv|ӄан}} * {{Z|nog}}: {{W-|nog|ийт}} * {{Z|nrf}}: {{W-|nrf|tchian|n}} * {{Z|non}}: {{W-|non|hundr|n}}, {{W-|non|grey|nt}}, {{W-|non|bikkja|m}} * {{Z|no}}: *: {{Z|nb}}: {{W+|nb|hund|n}}, {{W+|nb|bikkje|n|m}} *: {{Z|nn}}: {{W+|nn|hund|n}}, {{W+|nn|bikkje|m}} * {{Z|nus}}: {{W-|nus|jiök}} * {{Z|ood}}: {{W-|ood|gogs}} * {{Z|cst}}: {{W-|cst|hutcekniš}} * {{Z|oj}}: {{W-|oj|ᐊᓂᒧᔥ|y|tr=[[animosh]]}}, {{W-|oj|ᐊᓂᒧᔕᒃ|p|tr=[[animoshag]]}} *: {{Z|ojw}}: {{W-|ojw|animohš}} * {{Z|ryu}}: {{W-|ryu|犬|tr=いん, in}} * {{Z|okd}}: {{W-|okd|ebiri}} * {{Z|oc}}: {{W+|oc|gos}}, {{W+|oc|can}} * {{Z|or}}: {{W+|or|କୁକୁର}} * {{Z|oac}}: {{W-|oac|инаки}} * {{Z|oaa}}: {{W-|oaa|ӈинда}} * {{Z|om}}: {{W+|om|saree}} * {{Z|orh}}: {{W-|orh|ŋinaɣɪn}} * {{Z|osa}}: {{W-|osa|šóᴺke}} * {{Z|os}}: {{W-|os|куыдз}} * {{Z|ota}}: {{W-|ota|كوپك|tr=köpek}}, {{W-|ota|ایت|tr=it}} * {{Z|ug}}: {{W+|ug|ئىت}}, {{W-|ug|it}}, {{W-|ug|ит}} * {{Z|uz}}: {{W+|uz|it}} * {{Z|pwn}}: {{W-|pwn|vatu}} * {{Z|pau}}: {{W-|pau|bilis}} * {{Z|pi}}: {{W-|pi|soṇa|n}} * {{Z|pi}}: {{W-|pi|sunakha|n}}, {{W-|pi|सुनख|n}}, {{W-|pi|သုနခ|n}}, {{W-|pi|สุนะขะ|n}} * {{Z|pmf}}: {{W-|pmf|asu}} * {{Z|pag}}: {{W-|pag|aso}} * {{Z|pap}}: {{W-|pap|kachó}} * {{Z|plh}}: {{W-|plh|asu}} * {{Z|bxd}}: {{W-|bxd|kʰui³⁵}} * {{Z|ps}}: {{W-|ps|سپۍ|tr=spëy}}, {{W+|ps|سپی|n}} * {{Z|pms}}: {{W-|pms|can}} * {{Z|pis}}: {{W-|pis|dog}} * {{Z|ppl}}: {{W-|ppl|pēlu}}, {{W-|ppl|itzkwinti}} * {{Z|myp}}: {{W-|myp|giopaí}} * {{Z|pjt}}: {{W-|pjt|papa}} * {{Z|pdt}}: {{W-|pdt|Hunt|n}} * {{Z|pl}}: {{W+|pl|pies|n}}, {{W+|pl|suka|m}} * {{Z|pon}}: {{W-|pon|kidi}} * Polabian: *: {{Z|pox}}: {{W-|pox|pjas|n}} *: {{Z|pox}}: {{W-|pox|ṕås|n}} *: {{Z|pox}}: {{W-|pox|pjôs}} * {{Z|roa-opt}}: {{W-|roa-opt|can|n}} * {{Z|pt}}: {{W+|pt|cão|n}}, {{W+|pt|cachorro|n}} * {{Z|pim}}: {{W-|pim|atemos}} * {{Z|prg}}: {{W-|prg|Sunis}} * {{Z|pa}}: {{W+|pa|ਕੁੱਤਾ}} * {{Z|pua}}: {{W-|pua|uíchu}} * {{Z|pyu}}: {{W-|pyu|soan}} * {{Z|kk}}: {{W-|kk|ит}} * {{Z|cop}}: {{W-|cop|ⲟⲩϩⲟⲣ|n}} * {{Z|rad}}: {{W-|rad|asâo}} * {{Z|rap}}: {{W-|rap|paihéŋa}} * {{Z|rel}}: {{W-|rel|kar}} * {{Z|rhg}}: {{W-|rhg|kutta}}, {{W-|rhg|kuñir}} * {{Z|rgn}}: {{W-|rgn|can}}, {{W-|rgn|cã|n}}, {{W-|rgn|chën|n}}, {{W-|rgn|chên|n}} * {{Z|rm}}: {{W-|rm|chaun}}, {{W-|rm|tgaun}} * {{Z|rom}}: {{W-|rom|ʒukel|n}}, {{W-|rom|ʒukli|m}} * {{Z|ro}}: {{W+|ro|câine}}, {{W+|ro|cîine}}, {{W+|ro|cățea|m}} * {{Z|ru}}: {{W-|ru|соба́ка|m}}, {{W+|ru|пёс|n}}, {{W-|ru|пси́на|m}} * {{Z|rut}}: {{W-|rut|тыла}} * {{Z|ksw}}: {{W-|ksw|ထွံၣ်}} * {{Z|str}}: {{W-|str|SḴAXE}} * {{Z|xsa}}: {{W-|xsa|𐩫𐩡𐩨}} * {{Z|skb}}: {{W-|skb|หม่า|tr=m̀ā}} * {{Z|ssy}}: {{W-|ssy|kare}} * {{Z|osx}}: {{W-|osx|hund|n}} * {{Z|se}}: {{W-|se|beana}} * {{Z|smn}}: {{W-|smn|peenuv}} * {{Z|sjd}}: {{W-|sjd|пе̄ннэ}} * {{Z|sms}}: {{W-|sms|piânnai}} * {{Z|sm}}: {{W-|sm|maile}}, {{W-|sm|ulī}} * {{Z|sxn}}: {{W-|sxn|asu}} * {{Z|sa}}: {{W+|sa|श्वन्|n}}, {{W+|sa|शुनक|n}}, {{W+|sa|भषक|n}}, {{W+|sa|कुर्कुर|n}} * {{Z|sat}}: {{W-|sat|ᱥᱮᱛᱚ}} * {{Z|sc}}: {{W-|sc|cani}}, {{W-|sc|cane}}, {{W-|sc|perru}}, {{W-|sc|catteddu}}, {{W-|sc|giagaru}} *: {{Z|sc}}: {{W-|sc|cani}} * {{Z|sas}}: {{W-|sas|asu}} * {{Z|sdc}}: {{W-|sdc|cani}} * {{Z|sib}}: {{W-|sib|acuʼ}} * {{Z|ceb}}: {{W-|ceb|iro}}, {{W-|ceb|ayam}} * {{Z|see}}: {{W-|see|ji:yäh}} * {{Z|sei}}: {{W-|sei|ʔɑχʃ}} * {{Z|scn}}: {{W+|scn|cani|n}} * {{Z|sid}}: {{W-|sid|woshsha}} * {{Z|csm}}: {{W-|csm|čukú·-}} * {{Z|smr}}: {{W-|smr|asu}} * {{Z|sd}}: {{W+|sd|ڪتو|tr=kuto}} * {{Z|srn}}: {{W-|srn|dagu}} * {{Z|fos}}: {{W-|fos|asu}} * {{Z|sh}}: *: Kirîlî: {{W+|sh|пас|n}}, {{W-|sh|псић|m}}, {{W-|sh|кучка|m}}, {{W-|sh|куче|n}}, {{W-|sh|куца|m}}, {{W-|sh|џукела|m}} *: Latînî: {{W+|sh|pas|n}}, {{W+|sh|psić|m}}, {{W+|sh|kučka|m}}, {{W+|sh|kuče|n}}, {{W+|sh|kuca|m}}, {{W+|sh|džukela|m}} * {{Z|sco}}: {{W-|sco|dug}} * {{Z|cu}}: *: Kirîlî: {{W-|cu|пьсъ|n}} *: Glagolîtîk: {{W-|cu|ⱂⱐⱄⱏ|n}} * {{Z|orv}}: {{W-|orv|пьсъ|n}}, {{W-|orv|песъ|n}} * {{Z|sk}}: {{W+|sk|pes|n}}, {{W+|sk|suka|m}} * {{Z|sl}}: {{W+|sl|pes|n}}, {{W+|sl|psica|m}} * {{Z|so}}: {{W+|so|eey}}, {{W-|so|ey}} * Sorbî: *: {{Z|dsb}}: {{W-|dsb|pjas|n}} *: {{Z|hsb}}: {{W+|hsb|pos|n}}, {{W-|hsb|psyk|n}} * {{Z|st}}: {{W+|st|ntja}} * {{Z|es}}: {{W+|es|perro|n}}, {{W+|es|can|n}} * {{Z|smw}}: {{W-|smw|asu}} * {{Z|su}}: {{W+|su|anjing}}, {{W-|su|guguk}} * {{Z|sux}}: {{W-|sux|𒌨|tr=UR}} * {{Z|sva}}: {{W-|sva|ჟეღ}} * {{Z|ss}}: {{W+|ss|înjá}} * {{Z|sv}}: {{W+|sv|hund|g}}, {{W+|sv|hynda|g}} * {{Z|shn}}: {{W-|shn|မႃ}} * {{Z|xsr}}: {{W-|xsr|कि}}, {{W-|xsr|ཀྱི}} * {{Z|zdj}}: {{W-|zdj|mɓwa}} * {{Z|sn}}: {{W-|sn|imbwá}} * {{Z|cjs}}: {{W-|cjs|адай|tr=aday}} * {{Z|shh}}: {{W-|shh|sadee’}} * {{Z|tby}}: {{W-|tby|kaso}} * {{Z|tab}}: {{W-|tab|ху}} * {{Z|tg}}: {{W+|tg|саг}}, {{W+|tg|кучук}} * Talysh: *: Kirîlî: {{W-|tly|сыпә}} *: Latînî: {{W-|tly|sıpə}} * {{Z|rob}}: {{W-|rob|asu}} * {{Z|mvv}}: {{W-|mvv|asu}}, {{W-|mvv|uku'}} * {{Z|tl}}: {{W+|tl|aso}} * {{Z|tbk}}: {{W-|tbk|ohu}} * {{Z|ty}}: {{W-|ty|ʻurī}}, {{W-|ty|ʻūrī}} * {{Z|ta}}: {{W+|ta|நாய்}} * {{Z|twf}}: {{W-|twf|cùlo’óna}} * {{Z|rif}}: {{W-|rif|aydi|n}}, {{W-|rif|aqzin|n}}, {{W-|rif|aheggar|n}} * {{Z|shi}}: {{W-|shi|aydi|n}}, {{W-|shi|ⴰⵢⴷⵉ|n}} * {{Z|ttt}}: {{W-|ttt|сэг}} * {{Z|tsg}}: {{W-|tsg|iru'}} * {{Z|blt}}: {{W-|blt|ꪢꪱ|tr=ma}} * {{Z|nod}}: {{W-|nod|ᩉ᩠ᨾᩣ}} * {{Z|th}}: {{W+|th|หมา}}, {{W+|th|สุนัข}} * {{Z|tdd}}: {{W-|tdd|ᥛᥣᥴ|tr=máa}} * {{Z|tbl}}: {{W-|tbl|ohu}} * {{Z|ctd}}: {{W-|ctd|ui}} * {{Z|te}}: {{W+|te|కుక్క}}, {{W+|te|శునకము}} * {{Z|tzm}}: {{W-|tzm|ⴰⵢⴷⵉ|n}} * {{Z|sjt}}: {{W-|sjt|pienɨj}}, {{W-|sjt|pienne}} * {{Z|tft}}: {{W-|tft|kaso}} * {{Z|crh}}: {{W-|crh|köpek}}, {{W-|crh|it}}, {{W-|crh|boşuq}} * {{Z|tt}}: {{W+|tt|эт}} * {{Z|tvo}}: {{W-|tvo|kaso}} * {{Z|tig}}: {{W-|tig|ከልብ}} * {{Z|ti}}: {{W+|ti|ከልቢ}} * {{Z|tin}}: {{W-|tin|хва}} * {{Z|tr}}: {{W+|tr|köpek}}, {{W+|tr|it}} * {{Z|tk}}: {{W+|tk|it}}, {{W-|tk|köpek}} * {{Z|tiw}}: {{W-|tiw|kitarringani|n}}, {{W-|tiw|kitarringaka|m}}, {{W-|tiw|wankini|n}}, {{W-|tiw|wanka|m}}, {{W-|tiw|pulangumwani|n}}, {{W-|tiw|pulangumwaka|m}} * {{Z|bo}}: {{W-|bo|ཁྱི}} * {{Z|tli}}: {{W-|tli|keitl}} * {{Z|tpi}}: {{W-|tpi|dok}} * {{Z|to}}: {{W-|to|kulī}} * {{Z|tqw}}: {{W-|tqw|ˀɛkʷʌn}} * {{Z|tnt}}: {{W-|tnt|asu}} * {{Z|xto}}: {{W-|xto|ku}} * {{Z|txb}}: {{W-|txb|ku}} * {{Z|tkr}}: {{W-|tkr|хва}} * {{Z|ddo}}: {{W-|ddo|гъІвай}}, {{W-|ddo|бахІри}} * {{Z|tn}}: {{W+|tn|ntša|c9|c10}} * {{Z|tcy}}: {{W-|tcy|ನಾಯಿ}} * {{Z|tum}}: {{W-|tum|nchewe}} * {{Z|tpn}}: {{W-|tpn|îagûara}} * {{Z|tvl}}: {{W-|tvl|kuli}} * {{Z|tyv}}: {{W-|tyv|ыт}} * {{Z|tzj}}: {{W-|tzj|tz’i’}} * {{Z|aoz}}: {{W-|aoz|asu}} * {{Z|ude}}: {{W-|ude|инʼаи}} * {{Z|udi}}: {{W-|udi|хаъ}} * {{Z|udm}}: {{W-|udm|пуны}} * {{Z|uga}}: {{W-|uga|𐎋𐎍𐎁}} * {{Z|ulc}}: {{W-|ulc|и̇ӈда}} * {{Z|umb}}: {{W-|umb|ombwa}} * {{Z|ur}}: {{W+|ur|کتا|n|tr=kuttā}} * {{Z|uk}}: {{W-|uk|соба́ка|n|m}}, {{W+|uk|пес|n}} * {{Z|vec}}: {{W+|vec|can|n}} * {{Z|vep}}: {{W-|vep|koir}} * {{Z|vi}}: {{W+|vi|chó}} * {{Z|vo}}: {{W+|vo|dog}}, {{W+|vo|jidog}}, {{W+|vo|jodog}} * {{Z|vro}}: {{W-|vro|pini}} * {{Z|vot}}: {{W-|vot|koirö}} * {{Z|wa}}: {{W+|wa|tchén}}, {{W+|wa|lexhe|n}} * {{Z|war}}: {{W-|war|ayam}}, {{W-|war|idó}} * {{Z|wrr}}: {{W-|wrr|minini}} * {{Z|wbp}}: {{W-|wbp|maliki}} * {{Z|cy}}: {{W+|cy|ci|n}} *: {{Z|wlm}}: {{W-|wlm|ki|n}} * {{Z|wym}}: {{W-|wym|hund}} * {{Z|wo}}: {{W+|wo|xaj}} * {{Z|wuh}}: {{W-|wuh|gek}}, {{W-|wuh|haba}} * {{Z|kjh}}: {{W-|kjh|адай}} * {{Z|kca}}: {{W-|kca|амп}} * {{Z|km}}: {{W+|km|ឆ្កែ}} * {{Z|xh}}: {{W-|xh|inja}} * {{Z|yka}}: {{W-|yka|asu}} * {{Z|sah}}: {{W-|sah|ыт}} * {{Z|yag}}: {{W-|yag|yaSala}} * {{Z|jmd}}: {{W-|jmd|asu}} * {{Z|tao}}: {{W-|tao|ino}} * {{Z|jay}}: {{W-|jay|wuŋgan}} * {{Z|yap}}: {{W-|yap|pilis}} * {{Z|yby}}: {{W-|yby|ula}} * {{Z|yii}}: {{W-|yii|gudaga}} * {{Z|yi}}: {{W+|yi|הונט|n}} * {{Z|ii}}: {{W-|ii|ꈌ}} * {{Z|yog}}: {{W-|yog|atu}} * {{Z|yo}}: {{W-|yo|ajá}} * {{Z|yuc}}: {{W-|yuc|tsɛnɔ̣}} * {{Z|ykg}}: {{W-|ykg|лаамэ}} * {{Z|esu}}: {{W-|esu|qimugta|y}}, {{W-|esu|qimugtak}}, {{W-|esu|qimugtat|p}} * {{Z|el}}: {{W+|el|σκύλος|n}}, {{W+|el|σκυλί|nt}} *: Kevn: {{W-|grc|κύων|n|m}}, {{W-|grc|σκύλαξ|n}}, {{W-|grc|σκύλλος|n}} * {{Z|zro}}: {{W-|zro|ariawko}} * {{Z|zea}}: {{W-|zea|'ond|n}} * {{Z|za}}: {{W-|za|ma}} * {{Z|zu}}: {{W+|zu|inja|c9|c10}} {{werger-bin}} eqkcj9jcp6tpw1rpn3jy87cn1ars3n4 6237065 6237063 2026-06-03T20:02:31Z Wikihez 7344 Reverted 1 edit by [[Special:Contributions/~2026-29663-31|~2026-29663-31]] ([[User talk:~2026-29663-31|talk]]): Jixwe maddeya kurmancî ye, ev qism ji bo lehceyên din e ([[:m:User:Xiplus/TwinkleGlobal|TwinkleGlobal]]) 6237065 wikitext text/x-wiki == {{ziman|ku}} == === Bilêvkirin === * {{ku-IPA}} === Navdêr === {{ku-tewîn-nav|kûçik|nêr}} [[Wêne:KangalTürkiyede.jpg|thumb|Kûçikek]] {{navdêr|ku|z=n}}, {{k-ya nerm}} (1, 2), {{ç-ya nerm}} # {{f|ku|guhandar}} [[heywan|Heywanek]] [[kedî]] ([[navmalî]]) ye û [[rewîn|direwe]] anku [[hewîn|dihewe]]: ''[[Canis lupus familiaris]]''. #: {{hevmane|ku|se|seg|hewo<q:bi zimanê zarokan>}} #* {{jêder|ku|jêgirtin='''Kûçikên''' li hewşa pêş û paşî, ji hîva rûnixumandî tirsnaktir û ji ecacokê hartir, gez dikin bê.|{{Jêgirtin/Îrfan Amîda/Şevek Şîzofren|r=6}}}} # {{f|ku|avahî}} [[avahî|Avahiyên]] [[mezin]] û [[şikodar]] (wek yên [[paşa]]yan). #: {{hevmane|ku|Koşk|eywan|seray|qesr}} [[palas]], [[koç]], # {{f|ku|argo}} Ji bo [[biçûkxistin]]ê tê [[bikaranîn]]. #* {{jêder|ku|jêgirtin=Hûn vî '''kûçikê''' ku bi darê ve girêdayî ye, dibînin, ne wilo? Ger hûn sîlahên xwe neynin teslîm nekin, ez ê we hemûyan têxim vê rewşê û hê jî jê xerabtir.|{{Jêgirtin/Firat Cewerî/Girtî}}}} ==== Bi alfabeyên din ==== * {{ku-ar|کووچک}} * {{ku-kr|кучьк}} ==== Herwiha ==== * {{g|ku|kwîçik}} ==== Bide ber ==== * {{g|ku|gur}} * {{g|ku|tajî}} ==== Etîmolojî ==== Belkî ji {{ji|ine-pro|ku|*ḱwṓ}}. Hevreha belûçî {{g|bal|کچک|tr=kuçek}}, tacikî [[кучук]] (kuçuk), iştiherdî ''kûte'', sindî [[ڪتو]] (kuto), hindî [[कुत्ता]], urdûyî [[کتا]] (kutta), telûgûyî [[కుక్క]] (kukka), bulgarî [[куче]] (kuçê), xirwatî [[kuče]]. Yan jî [[peyvên gerrok|peyveke gerrok]] e. ==== Bi zaravayên din ==== * Soranî: [[seg]] ==== Werger ==== {{werger-ser}} * {{Z|aas}}: {{W-|aas|wa-t}} * {{Z|aau}}: {{W-|aau|nwoh}} * {{Z|abq}}: {{W-|abq|ла}} * {{Z|abe}}: {{W-|abe|adia}}, {{W-|abe|alemos}} * {{Z|ab}}: {{W-|ab|ала}} * {{Z|ace}}: {{W-|ace|asèë}} * {{Z|ady}}: {{W-|ady|хьэ}} * {{Z|aa}}: {{W-|aa|kuta}} * {{Z|af}}: {{W+|af|hond}} * {{Z|agx}}: {{W-|agx|гъуй}} * {{Z|aho}}: {{W-|aho|𑜉𑜠|tr=ma}} * {{Z|aji}}: {{W-|aji|lova|tr=lova}} * {{Z|akk}}: {{W-|akk|𒌨|n|tr=kalbu, UR}} * {{Z|ak}}: {{W-|ak|kraman}} * {{Z|akl}}: {{W-|akl|ayam}} * {{Z|akz}}: {{W-|akz|ifa}} * {{Z|sq}}: {{W+|sq|qen|n}} * {{Z|ale}}: {{W-|ale|sabaakax}} * {{Z|de}}: {{W+|de|Hund|n}}, {{W+|de|Hündin|m}} *: {{Z|gmh}}: {{W-|gmh|hunt|n}} *: {{Z|goh}}: {{W-|goh|hunt|n}} *: {{Z|gsw}}: {{W-|gsw|Hund|n}} * {{Z|alt}}: {{W-|alt|ийт}} * {{Z|alp}}: {{W-|alp|asu}} * {{Z|alr}}: {{W-|alr|г'ытг'ын|tr=ʕətʕən}} * {{Z|ryn}}: {{W-|ryn|犬|tr=いん, in}} * {{Z|ams}}: {{W-|ams|犬|tr=いん, in}} * {{Z|amm}}: {{W-|amm|aluwou}} * {{Z|zgh}}: {{W-|zgh|ⴰⵢⴷⵉ|n}}, {{W-|zgh|ⵜⴰⵢⴷⵉⵜ|m}} * {{Z|am}}: {{W-|am|ውሻ}}, {{W-|am|ከልብ}} * {{Z|ami}}: {{W-|ami|wacu}} * {{Z|amu}}: {{W-|amu|kítzë'}} * {{Z|ani}}: {{W-|ani|хой}} * {{Z|agg}}: {{W-|agg|yaforɨ}} * Apaçî: *: {{Z|apw}}: {{W-|apw|góshé}}, {{W-|apw|łichánee}} * {{Z|an}}: {{W-|an|gos}}, {{W-|an|chin}} * {{Z|arc}}: *: {{Z|aii}}: {{W-|aii|ܟܲܠܒ݂ܵܐ|n|tr=kalwa}}, {{W-|aii|ܟܲܠܒܬܵܐ|m|tr=kalbta}} *: {{Z|syc}}: {{W-|syc|ܟܠܒܐ|n|tr=kalbā}}, {{W-|syc|ܟܠܒܬܐ|m|tr=kalbəṯā}} *: {{Z|tmr}}: {{W-|arc|כַּלְבָּא|n|tr=kalbā|sc=Hebr}}, {{W-|arc|כַּלְבְּתָא|m|tr=kalbəṯā|sc=Hebr}} * {{Z|arp}}: {{W-|arp|he3}} * {{Z|agj}}: {{W-|agj|ውሻ|tr=wǝša}} * {{Z|rup}}: {{W-|rup|cãni|n}}, {{W+|rup|cãne|n}} * {{Z|aer}}: {{W-|aer|akngwelye}} * {{Z|as}}: {{W-|as|কুকুৰ}} * {{Z|asb}}: {{W-|asb|šunga}} * {{Z|ast}}: {{W+|ast|perru|n}}, {{W+|ast|can}}, {{W+|ast|cusu}} * {{Z|cni}}: {{W-|cni|otsitzi}} * {{Z|atj}}: {{W-|atj|atimw}} * {{Z|aot}}: {{W-|aot|kyiʼ}} * {{Z|av}}: {{W-|av|гьой}} * {{Z|ae}}: {{W-|ae|𐬯𐬞𐬁}} * {{Z|awa}}: {{W-|awa|कूकर}} * {{Z|akv}}: {{W-|akv|хве}}, {{W-|akv|хвай}} * {{Z|ay}}: {{W+|ay|anu}} * {{Z|ain}}: {{W-|ain|セタ|tr=seta}}, {{W-|ain|レエㇷ゚|tr=reep}} * {{Z|aio}}: {{W-|aio|မႃ|tr=mā}} * {{Z|az}}: {{W+|az|it}}, {{W+|az|köpək}} * {{Z|kva}}: {{W-|kva|гьвай}} * {{Z|bdq}}: {{W-|bdq|kŏ}} * {{Z|bdr}}: {{W-|bdr|owa'}}, {{W-|bdr|oa'}} * {{Z|ban}}: {{W-|ban|cicing}}, {{W-|ban|asu}} * {{Z|bm}}: {{W-|bm|wùlù}} * {{Z|bnd}}: {{W-|bnd|asu}} * {{Z|bgz}}: {{W-|bgz|asu}} * {{Z|bjn}}: {{W-|bjn|hadupan}} * {{Z|eu}}: {{W+|eu|txakur}}, {{W-|eu|etxe-txakur}} * {{Z|ba}}: {{W-|ba|эт}} * {{Z|bbc}}: {{W-|bbc|asu}}, {{W-|bbc|biang}} * {{Z|bbl}}: {{W-|bbl|ფჰ̡უ}} * {{Z|sne}}: {{W-|sne|kosuong}} * {{Z|xbc}}: {{W-|xbc|κοδο}} * {{Z|bar}}: {{W-|bar|Hund}} * {{Z|bej}}: {{W-|bej|yaas}} * {{Z|be}}: {{W-|be|саба́ка|n|m}}, {{W-|be|пёс|n}} * {{Z|bal}}: {{W-|bal|کچک|tr=kucak}} * {{Z|bem}}: {{W-|bem|imbwa}} * {{Z|bn}}: {{W+|bn|কুকুর}}, {{W+|bn|কুত্তা}} * {{Z|lod}}: {{W-|lod|acew}} * {{Z|kap}}: {{W-|kap|во}} * {{Z|bpz}}: {{W-|bpz|asu}} * {{Z|bny}}: {{W-|bny|asou}}, {{W-|bny|asew}} * {{Z|bsb}}: {{W-|bsb|asu}} * {{Z|ije}}: {{W-|ije|ebiri}} * {{Z|bcl}}: {{W-|bcl|ayam}} {{W-|bcl|dayo}} {{W-|bcl|ido}} * {{Z|bi}}: {{W-|bi|dog}} * {{Z|bla}}: {{W-|bla|imitáá}} * {{Z|bor}}: {{W-|bor|arigao}} * {{Z|bph}}: {{W-|bph|хай}} * {{Z|br}}: {{W+|br|ki|n}}, {{W+|br|chas|p}}, {{W+|br|kiez|m}}, {{W+|br|kiezed|p}} *: {{Z|xbm}}: {{W-|xbm|ci|n}} * {{Z|kxd}}: {{W-|kxd|kuyuk}}, {{W-|kxd|anjing}} * {{Z|bdk}}: {{W-|bdk|хор}}, {{W-|bdk|тІартІа}} * {{Z|bug}}: {{W-|bug|asu}}, {{W-|bug|ᨕᨔᨘ}} * {{Z|mbb}}: {{W-|mbb|asu}} * {{Z|bg}}: {{W-|bg|ку́че|nt}}, {{W+|bg|пес|n}}, {{W-|bg|псе|nt}} * {{Z|bnn}}: {{W-|bnn|asu}} * {{Z|my}}: {{W+|my|ခွေး}} * {{Z|bua}}: {{W-|bua|нохой}} * {{Z|pcc}}: {{W-|pcc|duezmal}}, {{W-|pcc|mal}} * {{Z|cad}}: {{W-|cad|díˀṣi}} * {{Z|chl}}: {{W-|chl|'áwal}} * {{Z|caq}}: {{W-|caq|am}} * {{Z|dgc}}: {{W-|dgc|aso}} * {{Z|cay}}: {{W-|cay|só:wa:s}} * {{Z|cia}}: {{W-|cia|아우}} * {{Z|kac}}: {{W-|kac|guì}} * {{Z|dz}}: {{W-|dz|ཁྱི}} * {{Z|crn}}: {{W-|crn|ẓʌ'ʌ}} * {{Z|caa}}: {{W-|caa|c'i'}} * {{Z|ccp}}: {{W-|ccp|𑄇𑄪𑄉𑄪𑄢𑄴|tr=kugur}} * Cham: *: {{Z|cjm}}: {{W-|cjm|asau}} *: {{Z|cja}}: {{W-|cja|sau}} * {{Z|cji}}: {{W-|cji|хва̅й}} * {{Z|ccc}}: {{W-|ccc|ma'nali}} * {{Z|ch}}: {{W-|ch|ga'lagu}} * {{Z|ce}}: {{W-|ce|жӏаьла}} * {{Z|cs}}: {{W+|cs|pes|n}}, {{W+|cs|fena|m}} * {{Z|cdm}}: {{W-|cdm|कुयः}} * {{Z|chr}}: {{W+|chr|ᎩᏟ}}, {{W+|chr|ᎩᎵ}} * {{Z|chy}}: {{W-|chy|oeškeso}} * {{Z|ny}}: {{W-|ny|galu}} * {{Z|cic}}: {{W-|cic|ofi'}} * {{Z|zh}}: *: {{Z|yue}}: {{W-|yue|狗}}, {{W-|yue|犬}} *: {{Z|dng}}: {{W-|dng|гу}} *: {{Z|gan}}: {{W-|gan|狗|tr=gieu3}} *: {{Z|hak}}: {{W-|hak|狗仔|tr=kéu-é}} *: {{Z|cmn}}: {{W+|cmn|狗}}, {{W+|cmn|犬}} *: {{Z|mnp}}: {{W-|mnp|狗仔|tr=ě-ciě}}, {{W-|mnp|狗|tr=ě}} *: {{Z|cdo}}: {{W-|cdo|犬|tr=kēng}} *: {{Z|nan}}: {{W+|nan|狗|tr=káu}} *: {{Z|zhx-tai}}: {{W-|zhx-tai|狗}} *: {{Z|wuu}}: {{W-|wuu|狗}} *: {{Z|hsn}}: {{W-|hsn|狗|tr=gou3}} * {{Z|cho}}: {{W-|cho|ofi}} * {{Z|cje}}: {{W-|cje|əsɣu}} * {{Z|ckt}}: {{W-|ckt|ыʼттъын|tr=yʼttʺyn}}, {{W-|ckt|ыʼттъыт|p|tr=yʼttʺyt}}, {{W-|ckt|вытэԓгын|tr=vytėḷgyn}} * {{Z|cv}}: {{W-|cv|йытӑ}} * {{Z|chk}}: {{W-|chk|konak}} * {{Z|dlm}}: {{W-|dlm|cun|n}}, {{W-|dlm|kun|n}}, {{W-|dlm|cuon|n}}, {{W-|dlm|kuon|n}} * {{Z|da}}: {{W+|da|hund|g}} * {{Z|dar}}: {{W-|dar|хя}} * {{Z|xda}}: {{W-|xda|mirri}} * {{Z|afn}}: {{W-|afn|ebere}} * {{Z|deg}}: {{W-|deg|ạ́ḅụ́ạ̄}} * {{Z|tfn}}: {{W-|tfn|łik'a}} * {{Z|dv}}: {{W-|dv|ބަޅު}}, {{W+|dv|ކުއްތާ}} * {{Z|dgr}}: {{W-|dgr|tłı̨}} * {{Z|dlg}}: {{W-|dlg|ыт}} * {{Z|duu}}: {{W-|duu|dvgeui}} * {{Z|dsn}}: {{W-|dsn|nap}} * {{Z|dtp}}: {{W-|dtp|tasu}} * {{Z|ega}}: {{W-|ega|ʊ̀vɛ}} * {{Z|ovd}}: {{W-|ovd|rakke|n}} * {{Z|avd}}: {{W-|avd|اسبه|tr=asbe}} * {{Z|egl}}: {{W-|egl|can}} * {{Z|id}}: {{W+|id|anjing}}, {{W+|id|asu}} * {{Z|enn}}: {{W-|enn|ạ́ḅụạ}} * {{Z|epi}}: {{W-|epi|aḅụ́ā}} * {{Z|ar}}: {{W+|ar|كَلْب|n}} *: {{Z|arz}}: {{W-|arz|كلب|n|tr=kalb}} *: {{Z|afb}}: {{W-|afb|چلب|tr=čalb}} *: {{Z|acw}}: {{W-|acw|كَلْب|n|tr=kalb}} *: {{Z|acm}}: {{W-|acm|جلب|n|tr=čalb}} *: {{Z|ary}}: {{W-|ary|كلب|n|tr=kalb}} *: {{Z|ajp}}: {{W-|ajp|كلب|n|tr=kalb}} * {{Z|ert}}: {{W-|ert|asu}} * {{Z|hy}}: {{W+|hy|շուն}} * {{Z|myv}}: {{W-|myv|киска}}, {{W-|myv|пине}} * {{Z|eo}}: {{W+|eo|hundo}}, {{W+|eo|hundino}} * {{Z|et}}: {{W+|et|koer}}, {{W+|et|peni}} * {{Z|gez}}: {{W-|gez|ከልብ}} * {{Z|eve}}: {{W-|eve|ҥин}} * {{Z|evn}}: {{W-|evn|ӈинакин}} * {{Z|ee}}: {{W-|ee|avu}} * {{Z|fa}}: {{W+|fa|سگ|tr=sag}} *: {{Z|pal}}: {{W-|pal|𐭪𐭫𐭡𐭠}} * {{Z|phn}}: {{W-|phn|𐤊𐤋𐤁}} * {{Z|fo}}: {{W+|fo|hundur|n}} * {{Z|xpg}}: {{W-|xpg|kunes}} * {{Z|fj}}: {{W+|fj|koli}} * {{Z|fi}}: {{W+|fi|koira}} * {{Z|fon}}: {{W-|fon|agla}}, {{W-|fon|avun}} * {{Z|frp}}: {{W-|frp|chin}} * {{Z|fr}}: {{W+|fr|chien|n}} *: {{Z|frm}}: {{W-|frm|chien|n}} *: {{Z|fro}}: {{W-|fro|chien|n}} * Frisian: *: {{Z|frr}}: {{W-|frr|hün|n}}, {{W-|frr|hünj|n}} *: {{Z|ofs}}: {{W-|ofs|hund}} *: {{Z|stq}}: {{W-|stq|Huund}} *: {{Z|fy}}: {{W+|fy|hûn|g}} * {{Z|fur}}: {{W-|fur|cjan}}, {{W-|fur|čhan}} * {{Z|ff}}: *: Adlamî: {{W-|ff|𞤦𞤢𞤪𞤫𞥅𞤪𞤵}}, {{W-|ff|𞤪𞤢𞤱𞤢𞥄𞤲𞤣𞤵}} *: Latînî: {{W-|ff|bareeru}}, {{W-|ff|rawaandu}} * {{Z|gad}}: {{W-|gad|atu}} * {{Z|gd}}: {{W+|gd|cù|n}}, {{W-|gd|madadh|n}} * {{Z|gag}}: {{W-|gag|köpek}} * {{Z|gl}}: {{W+|gl|can|n}}, {{W+|gl|cadela|m}}, {{W+|gl|cuzo|n}}, {{W+|gl|cuza|m}} * {{Z|sdn}}: {{W-|sdn|cani}} , {{W-|kld|marayin}}, {{W-|kld|mirri}}, {{W-|kld|ngurran}} * {{Z|cel-gau}}: {{W-|cel-gau|cuna}} * {{Z|gay}}: {{W-|gay|asu}} * {{Z|gdo}}: {{W-|gdo|хвайи}} * {{Z|gon}}: {{W-|gon|నెయ్|tr=ney}} * {{Z|got}}: {{W-|got|𐌷𐌿𐌽𐌳𐍃|n}} * {{Z|gu}}: {{W+|gu|કુતરો|n}}, {{W+|gu|કુતરી|m}} * {{Z|ka}}: {{W+|ka|ძაღლი}} * {{Z|gue}}: {{W-|gue|guru}}, {{W-|gue|wangani}}, {{W-|gue|warlagu}} * {{Z|kky}}: {{W-|kky|gudaa}} * {{Z|gn}}: {{W-|gn|jagua}} * {{Z|haa}}: {{W-|haa|łąyy}} * {{Z|xhd}}: {{W-|xhd|𐩫𐩡𐩨}} * {{Z|hai}}: {{W-|hai|x̌a}}, {{W-|hai|x̲a}} * {{Z|ht}}: {{W-|ht|chen}}, {{W-|ht|chyen}} * {{Z|hur}}: {{W-|hur|sqwemá:y}} * {{Z|yuf}}: {{W-|yuf|had}} * {{Z|haw}}: {{W-|haw|ʻīlio}} * {{Z|ha}}: {{W+|ha|kare}} * {{Z|mba}}: {{W-|mba|asu}} * {{Z|hi}}: {{W+|hi|कुत्ता|n}}, {{W+|hi|कुत्ती|m}}, {{W+|hi|श्वान|n}}, {{W+|hi|कुक्कुर|n}}, {{W-|hi|कुक्कुरी|m}}, {{W+|hi|कुर्कुर|n}}, {{W-|hi|कूकुर|n}}, {{W+|hi|कुकुरी|m}}, {{W+|hi|कुतिया|m}}, {{W+|hi|कूकर|n}}, {{W+|hi|कुकुर|n}} * {{Z|gin}}: {{W-|gin|гъвве}}, {{W-|gin|кача}} * {{Z|ho}}: {{W-|ho|sisia}} * {{Z|hil}}: {{W-|hil|ido}} * {{Z|meu}}: {{W-|meu|sisia}} * {{Z|hit}}: {{W-|hit|𒆪𒉿𒀸|ts=kuwas}}, {{W-|hit|ts=suwana}} * {{Z|mww}}: {{W-|mww|dev}}, {{W-|mww|aub}} * {{Z|nl}}: {{W+|nl|hond|n}} *: {{Z|dum}}: {{W-|dum|hont|n}} * {{Z|hop}}: {{W-|hop|pòoko}} * {{Z|hrx}}: {{W-|hrx|Hund|n}} * {{Z|huz}}: {{W-|huz|ве}} * {{Z|bto}}: {{W-|bto|ayam}} * {{Z|esh}}: {{W-|esh|اسپ|n|cuda=اِسپَ|tr=espa}}, {{W-|esh|ماچیه|m|cuda=ماچیَه|tr=mâĉiya}}, {{W-|esh|کوت|cuda=کوتَ|tr=kōta or kōtiyak: WHELP}} * {{Z|ibg}}: {{W-|ibg|kitu}} * {{Z|iby}}: {{W-|iby|obiri}} * {{Z|iba}}: {{W-|iba|asu}}, {{W-|iba|ukui}} * {{Z|he}}: {{W-|he|כֶּלֶב|n|tr=kélev}} * {{Z|io}}: {{W+|io|hundo}}, {{W+|io|hundino}} * {{Z|ig}}: {{W-|ig|nkịta}} * {{Z|ilo}}: {{W-|ilo|aso}} * {{Z|ang}}: {{W+|ang|hund|n}} * {{Z|enm}}: {{W-|enm|dogge}}, {{W-|enm|hound}} * {{Z|en}}: {{W+|en|dog}} * {{Z|izh}}: {{W-|izh|koira}} * {{Z|inh}}: {{W-|inh|жӏали}} * {{Z|ia}}: {{W+|ia|can}} * {{Z|iu}}: {{W-|iu|ᕿᒻᒥᖅ}} * {{Z|ill}}: {{W-|ill|asu}} * {{Z|ga}}: {{W+|ga|madra|n}}, {{W+|ga|gadhar|n}}, {{W+|ga|madadh|n}} *: {{Z|sga}}: {{W-|sga|cú|n}}, {{W-|sga|matad|n}} * {{Z|isd}}: {{W-|isd|ato}} * {{Z|zai}}: {{W-|zai|biʼcuʼ}} * {{Z|ist}}: {{W-|ist|can}} * {{Z|it}}: {{W+|it|cane|n}} * {{Z|itl}}: {{W-|itl|ӄосҳ}}, {{W-|itl|ӄсҳай}}, {{W-|itl|ӄсҳa’н}} * {{Z|ium}}: {{W-|ium|juv}} * {{Z|ivv}}: {{W-|ivv|chito}} * {{Z|is}}: {{W+|is|hundur|n}} * {{Z|ja}}: {{W+|ja|犬|tr=いぬ, inu}}, {{W+|ja|狗|tr=いぬ, inu}} * {{Z|jra}}: {{W-|jra|asâo}} * {{Z|kaw}}: {{W-|kaw|asu}} * {{Z|jv}}: {{W+|jv|ꦲꦱꦸ}}, {{W-|jv|sagawon}}, {{W+|jv|baung}}, {{W+|jv|cemera}}, {{W+|jv|sona}} * {{Z|kbd}}: {{W-|kbd|хьэ}} * {{Z|kab}}: {{W-|kab|aydi}} * {{Z|kzj}}: {{W-|kzj|tasu}} * {{Z|kl}}: {{W+|kl|qimmeq}} * {{Z|xal}}: {{W-|xal|ноха}} * {{Z|kmc}}: {{W-|kmc|nguap}} * {{Z|kne}}: {{W-|kne|aso}} * {{Z|kn}}: {{W+|kn|ನಾಯಿ}} * {{Z|pam}}: {{W-|pam|asu}} * {{Z|kea}}: {{W-|kea|katxor}} * {{Z|krc}}: {{W-|krc|ит}} * {{Z|kaa}}: {{W-|kaa|iyt}} * {{Z|kpt}}: {{W-|kpt|хвай}} * {{Z|krl}}: {{W-|krl|koira}} * {{Z|crx}}: {{W-|crx|ɫi}} * {{Z|csb}}: {{W-|csb|tósz}}, {{W-|csb|pies}} * {{Z|ca}}: {{W+|ca|gos}}, {{W+|ca|ca|n}}, {{W+|ca|gossa|m}}, {{W-|ca|cutxu}} * {{Z|chc}}: {{W-|chc|tansi}} * {{Z|zku}}: {{W-|zku|wirka}}, {{W-|zku|putyita}}, {{W-|zku|kadli}} * {{Z|kgp}}: {{W-|kgp|kasor}} * {{Z|qu}}: {{W-|qu|alkho}}, {{W-|qu|allqu}}, {{W-|qu|allgo}} * {{Z|kem}}: {{W-|kem|asu}} * {{Z|ks}}: {{W+|ks|ہوٗن}} * {{Z|ket}}: {{W-|ket|tīp}} * {{Z|ksx}}: {{W-|ksx|au}} * {{Z|kha}}: {{W-|kha|ksew}} * {{Z|kjj}}: {{W-|kjj|пхра}} * {{Z|cnk}}: {{W-|cnk|ui}} * {{Z|krj}}: {{W-|krj|ayam}} * {{Z|ky}}: {{W+|ky|ит}} * {{Z|okr}}: {{W-|okr|obirí}} * {{Z|kic}}: {{W-|kic|ə́nɛ̏mwə̏}} * {{Z|kg}}: {{W-|kg|mbwa}} * {{Z|kqr}}: {{W-|kqr|tasu}} * {{Z|si}}: {{W+|si|බල්ලා}}, {{W+|si|සුනඛයා}}, {{W+|si|බැල්ලී|m}}, {{W+|si|බැල්ලී|m}}, {{W+|si|සුනඛයා}} * {{Z|rw}}: {{W-|rw|bwa}} * {{Z|clm}}: {{W-|clm|sqáx̣əʔ}}, {{W-|clm|sqməy̕}} * {{Z|kla}}: {{W-|kla|waṣ̓a·k}} * {{Z|kpm}}: {{W-|kpm|so}} * {{Z|com}}: {{W-|com|sarii}} * {{Z|xbi}}: {{W-|xbi|nimpua}} * {{Z|koi}}: {{W-|koi|пон}} * {{Z|kpv}}: {{W-|kpv|пон}} * {{Z|kok}}: {{W-|kok|सूणे}} * {{Z|okm}}: {{W-|okm|가히〮|tr=kàhí}}, {{W-|okm|개〯|tr=kǎy}} * {{Z|ko}}: {{W+|ko|개}}, {{W-|ko|견(犬)}}, {{W-|ko|구(狗)}} * {{Z|kw}}: {{W-|kw|ki}} * {{Z|co}}: {{W+|co|cane|n}}, {{W+|co|ghjacaru|n}} * {{Z|kpy}}: {{W-|kpy|гʼытгʼын|tr=ʁətʁən}}, {{W-|kpy|гʼытгʼу|tr=ʁətʁu}} * {{Z|lou}}: {{W-|lou|shin}}, {{W-|lou|shyin}} * {{Z|rop}}: {{W-|rop|dog}} * {{Z|ksi}}: {{W-|ksi|duwe}} * {{Z|cr}}: {{W-|cr|ᐊᑎᒼ}} * {{Z|mus}}: {{W-|mus|éfv}} * {{Z|kum}}: {{W-|kum|ит}} * {{Z|cuk}}: {{W-|cuk|achu}} * {{Z|gdj}}: {{W-|gdj|ruaak}} * {{Z|qui}}: {{W-|qui|kadí·do}} * {{Z|kj}}: {{W-|kj|ombwa}} * {{Z|lld}}: {{W-|lld|cian}} * {{Z|lad}}: {{W-|lad|פירו|n|tr=pero}} * {{Z|lbe}}: {{W-|lbe|ккаччи}} * {{Z|lkt}}: {{W-|lkt|šúŋka}} * {{Z|ljp}}: {{W-|ljp|asu}} * {{Z|ltg}}: {{W-|ltg|suņs|n}} * {{Z|la}}: {{W+|la|canis|n|m}} * {{Z|lv}}: {{W+|lv|suns|n}}, {{W+|lv|kuce|m}} * {{Z|lo}}: {{W+|lo|ໝາ}} * {{Z|lzz}}: {{W-|lzz|ლაკი}} * Lenape: *: {{Z|umu}}: {{W-|umu|mwaakaneew}} *: {{Z|unm}}: {{W-|unm|mwekane}} * {{Z|lez}}: {{W-|lez|кицӏ}} * {{Z|lti}}: {{W-|lti|asu}} * {{Z|ln}}: {{W-|ln|mbwá}} * {{Z|lij}}: {{W-|lij|càn|n}}, {{W-|lij|càgna|m}} * {{Z|li}}: {{W+|li|hóndj}} * {{Z|lt}}: {{W+|lt|šuo|n}}, {{W+|lt|šuva|n}}, {{W-|lt|kalė|m}} * {{Z|liv}}: {{W-|liv|piņ}} * {{Z|lmo}}: {{W-|lmo|can}}, {{W-|lmo|cà}} * {{Z|khb}}: {{W-|khb|ᦖᦱ}} * {{Z|luy}}: {{W-|luy|imbwa}} * {{Z|lb}}: {{W+|lb|Hond|n}}, {{W+|lb|Mupp|n}}, {{W-|lb|Mudder|m}} * {{Z|mhn}}: {{W-|mhn|hunt|n}} * {{Z|mad}}: {{W-|mad|pateʔ}} * {{Z|mdh}}: {{W-|mdh|asu}} * {{Z|mak}}: {{W-|mak|kongkong}} * {{Z|mk}}: {{W-|mk|куче|nt}}, {{W-|mk|пес|n}} * {{Z|mqs}}: {{W-|mqs|aso}} * {{Z|mg}}: {{W+|mg|alika}} * Malay: *: {{Z|ms}}: {{W+|ms|انجيڠ}}, {{W-|ms|اسو}}, {{W-|ms|کويوق}} *: Rûmî: {{W+|ms|anjing}}, {{W+|ms|asu}}, {{W+|ms|kuyuk}} * {{Z|ml}}: {{W+|ml|നായ}}, {{W+|ml|പട്ടി}} * {{Z|mfa}}: {{W-|mfa|anjing}} * {{Z|pqm}}: {{W-|pqm|olomuss|y}}, {{W-|pqm|olomussok|p}}, {{W-|pqm|'tolomussomol}}, {{W-|pqm|olomussis}} * {{Z|mlq}}: {{W-|mlq|wulu}} * {{Z|mt}}: {{W+|mt|kelb|n}}, {{W-|mt|kelba|m}} * {{Z|mgm}}: {{W-|mgm|ausa}} * {{Z|mnc}}: {{W-|mnc|ᡳᠨᡩᠠᡥᡡᠨ}} * {{Z|gv}}: {{W+|gv|moddey}}, {{W-|gv|coo}} * {{Z|msk}}: {{W-|msk|ido}} * {{Z|mns-nor}}: {{W-|mns-nor|а̄мп}} * {{Z|mi}}: {{W+|mi|kurī}} * {{Z|arn}}: {{W-|arn|xewa}} * {{Z|mrw}}: {{W-|mrw|aso}} * {{Z|mr}}: {{W+|mr|कुत्रा}} * Marî: *: {{Z|mhr}}: {{W-|mhr|пий}} *: {{Z|mrj}}: {{W-|mrj|пи}} * {{Z|mrc}}: {{W-|mrc|xat}}, {{W-|mrc|hat}} * {{Z|mh}}: {{W-|mh|kidu}} * {{Z|mas}}: {{W-|mas|oldia}} * {{Z|yua}}: {{W-|yua|peek’}} * {{Z|mfy}}: {{W-|mfy|čū’u}} * {{Z|vmb}}: {{W-|vmb|dog}} * {{Z|gun}}: {{W-|gun|jagua}} * {{Z|hu}}: {{W+|hu|kutya}}, {{W+|hu|eb}} * {{Z|xme-old}}: {{W-|xme-old|σπάκα}} * {{Z|ruq}}: {{W-|ruq|cǫini}} * {{Z|gdq}}: {{W-|gdq|kawb}} * {{Z|mel}}: {{W-|mel|asou}} * {{Z|men}}: {{W-|men|ngílà}} * {{Z|iro-min}}: {{W-|iro-min|tsíyæ|y}}, {{W-|iro-min|tsiyæshö'ö|p}} * {{Z|miq}}: {{W-|miq|yul}} * {{Z|egy}}: {{W-egy|ṯzm|n|h=T:z-m-E14}} * {{Z|mit}}: {{W-|mit|tsi'ína|tr=aydi}} * {{Z|mvi}}: {{W-|mvi|犬|tr=いん, in}} * {{Z|lus}}: {{W-|lus|ui}} * {{Z|mic}}: {{W-|mic|lmu'j|an}}, {{W-|mic|nmu'j|an}} * {{Z|min}}: {{W-|min|anjiang}} * {{Z|mwl}}: {{W-|mwl|can}}, {{W-|mwl|perro}} * {{Z|moh}}: {{W-|moh|érhar}} * {{Z|mdf}}: {{W-|mdf|пине}} * {{Z|mn}}: {{W+|mn|нохой}} * {{Z|mnw}}: {{W-|mnw|ကၠဵု}} * {{Z|moe}}: {{W-|moe|atimᵘ}} * {{Z|mtq}}: {{W-|mtq|chỏ}} * {{Z|nag}}: {{W-|nag|kukur}} * Nahuatl: *: {{Z|nhn}}: {{W-|nhn|chichi}}, {{W-|nhn|itzcuintli}} *: {{Z|nch}}: {{W-|nch|chichi}} *: Klasîk: {{W-|nci|chichi}}, {{W-|nci|itzcuintli}} * {{Z|nci}}: {{W-|nci|chichi}}, {{W-|nci|itzcuintli}} * {{Z|naq}}: {{W-|naq|arib|n}} * {{Z|nmb}}: {{W-|nmb|lip'ah}} * {{Z|gld}}: {{W-|gld|инда}} * {{Z|nap}}: {{W-|nap|ccane}} * {{Z|nv}}: {{W-|nv|łééchąąʼí}} * {{Z|na}}: {{W+|na|robar}} * {{Z|nds}}: *: {{Z|nds-de}}: {{W-|nds-de|Hund|n}}, {{W-|nds-de|Köter|n}}, {{W-|nds-de|Keuter|n}}, {{W-|nds-de|Teev|m}}, {{W-|nds-de|Tääv|m}}, {{W-|nds-de|Tiff|m}} *: {{Z|gml}}: {{W-|gml|hund|n}} * {{Z|neg}}: {{W-|neg|ӈи̇нахи̇н}}, {{W-|neg|ни̇нахи̇н}} * {{Z|yrk}}: {{W-|yrk|вэʼ|tr=vė}}, {{W-|yrk|вэʼн|tr=vėn}}, {{W-|yrk|вэнеко|tr=vėneko}} * {{Z|ne}}: {{W+|ne|कुकुर|n}}, {{W-|ne|कुकुरनी|m}} * {{Z|new}}: {{W-|new|खिचा|n}}, {{W-|new|खिचानी|m}} * {{Z|nio}}: {{W-|nio|баӈ|tr=bang}} * {{Z|nay}}: {{W-|nay|keli}} * {{Z|wyb}}: {{W-|wyb|mirri}} * {{Z|nia}}: {{W-|nia|asu}} * {{Z|niv}}: {{W-|niv|ӄан}} * {{Z|nog}}: {{W-|nog|ийт}} * {{Z|nrf}}: {{W-|nrf|tchian|n}} * {{Z|non}}: {{W-|non|hundr|n}}, {{W-|non|grey|nt}}, {{W-|non|bikkja|m}} * {{Z|no}}: *: {{Z|nb}}: {{W+|nb|hund|n}}, {{W+|nb|bikkje|n|m}} *: {{Z|nn}}: {{W+|nn|hund|n}}, {{W+|nn|bikkje|m}} * {{Z|nus}}: {{W-|nus|jiök}} * {{Z|ood}}: {{W-|ood|gogs}} * {{Z|cst}}: {{W-|cst|hutcekniš}} * {{Z|oj}}: {{W-|oj|ᐊᓂᒧᔥ|y|tr=[[animosh]]}}, {{W-|oj|ᐊᓂᒧᔕᒃ|p|tr=[[animoshag]]}} *: {{Z|ojw}}: {{W-|ojw|animohš}} * {{Z|ryu}}: {{W-|ryu|犬|tr=いん, in}} * {{Z|okd}}: {{W-|okd|ebiri}} * {{Z|oc}}: {{W+|oc|gos}}, {{W+|oc|can}} * {{Z|or}}: {{W+|or|କୁକୁର}} * {{Z|oac}}: {{W-|oac|инаки}} * {{Z|oaa}}: {{W-|oaa|ӈинда}} * {{Z|om}}: {{W+|om|saree}} * {{Z|orh}}: {{W-|orh|ŋinaɣɪn}} * {{Z|osa}}: {{W-|osa|šóᴺke}} * {{Z|os}}: {{W-|os|куыдз}} * {{Z|ota}}: {{W-|ota|كوپك|tr=köpek}}, {{W-|ota|ایت|tr=it}} * {{Z|ug}}: {{W+|ug|ئىت}}, {{W-|ug|it}}, {{W-|ug|ит}} * {{Z|uz}}: {{W+|uz|it}} * {{Z|pwn}}: {{W-|pwn|vatu}} * {{Z|pau}}: {{W-|pau|bilis}} * {{Z|pi}}: {{W-|pi|soṇa|n}} * {{Z|pi}}: {{W-|pi|sunakha|n}}, {{W-|pi|सुनख|n}}, {{W-|pi|သုနခ|n}}, {{W-|pi|สุนะขะ|n}} * {{Z|pmf}}: {{W-|pmf|asu}} * {{Z|pag}}: {{W-|pag|aso}} * {{Z|pap}}: {{W-|pap|kachó}} * {{Z|plh}}: {{W-|plh|asu}} * {{Z|bxd}}: {{W-|bxd|kʰui³⁵}} * {{Z|ps}}: {{W-|ps|سپۍ|tr=spëy}}, {{W+|ps|سپی|n}} * {{Z|pms}}: {{W-|pms|can}} * {{Z|pis}}: {{W-|pis|dog}} * {{Z|ppl}}: {{W-|ppl|pēlu}}, {{W-|ppl|itzkwinti}} * {{Z|myp}}: {{W-|myp|giopaí}} * {{Z|pjt}}: {{W-|pjt|papa}} * {{Z|pdt}}: {{W-|pdt|Hunt|n}} * {{Z|pl}}: {{W+|pl|pies|n}}, {{W+|pl|suka|m}} * {{Z|pon}}: {{W-|pon|kidi}} * Polabian: *: {{Z|pox}}: {{W-|pox|pjas|n}} *: {{Z|pox}}: {{W-|pox|ṕås|n}} *: {{Z|pox}}: {{W-|pox|pjôs}} * {{Z|roa-opt}}: {{W-|roa-opt|can|n}} * {{Z|pt}}: {{W+|pt|cão|n}}, {{W+|pt|cachorro|n}} * {{Z|pim}}: {{W-|pim|atemos}} * {{Z|prg}}: {{W-|prg|Sunis}} * {{Z|pa}}: {{W+|pa|ਕੁੱਤਾ}} * {{Z|pua}}: {{W-|pua|uíchu}} * {{Z|pyu}}: {{W-|pyu|soan}} * {{Z|kk}}: {{W-|kk|ит}} * {{Z|cop}}: {{W-|cop|ⲟⲩϩⲟⲣ|n}} * {{Z|rad}}: {{W-|rad|asâo}} * {{Z|rap}}: {{W-|rap|paihéŋa}} * {{Z|rel}}: {{W-|rel|kar}} * {{Z|rhg}}: {{W-|rhg|kutta}}, {{W-|rhg|kuñir}} * {{Z|rgn}}: {{W-|rgn|can}}, {{W-|rgn|cã|n}}, {{W-|rgn|chën|n}}, {{W-|rgn|chên|n}} * {{Z|rm}}: {{W-|rm|chaun}}, {{W-|rm|tgaun}} * {{Z|rom}}: {{W-|rom|ʒukel|n}}, {{W-|rom|ʒukli|m}} * {{Z|ro}}: {{W+|ro|câine}}, {{W+|ro|cîine}}, {{W+|ro|cățea|m}} * {{Z|ru}}: {{W-|ru|соба́ка|m}}, {{W+|ru|пёс|n}}, {{W-|ru|пси́на|m}} * {{Z|rut}}: {{W-|rut|тыла}} * {{Z|ksw}}: {{W-|ksw|ထွံၣ်}} * {{Z|str}}: {{W-|str|SḴAXE}} * {{Z|xsa}}: {{W-|xsa|𐩫𐩡𐩨}} * {{Z|skb}}: {{W-|skb|หม่า|tr=m̀ā}} * {{Z|ssy}}: {{W-|ssy|kare}} * {{Z|osx}}: {{W-|osx|hund|n}} * {{Z|se}}: {{W-|se|beana}} * {{Z|smn}}: {{W-|smn|peenuv}} * {{Z|sjd}}: {{W-|sjd|пе̄ннэ}} * {{Z|sms}}: {{W-|sms|piânnai}} * {{Z|sm}}: {{W-|sm|maile}}, {{W-|sm|ulī}} * {{Z|sxn}}: {{W-|sxn|asu}} * {{Z|sa}}: {{W+|sa|श्वन्|n}}, {{W+|sa|शुनक|n}}, {{W+|sa|भषक|n}}, {{W+|sa|कुर्कुर|n}} * {{Z|sat}}: {{W-|sat|ᱥᱮᱛᱚ}} * {{Z|sc}}: {{W-|sc|cani}}, {{W-|sc|cane}}, {{W-|sc|perru}}, {{W-|sc|catteddu}}, {{W-|sc|giagaru}} *: {{Z|sc}}: {{W-|sc|cani}} * {{Z|sas}}: {{W-|sas|asu}} * {{Z|sdc}}: {{W-|sdc|cani}} * {{Z|sib}}: {{W-|sib|acuʼ}} * {{Z|ceb}}: {{W-|ceb|iro}}, {{W-|ceb|ayam}} * {{Z|see}}: {{W-|see|ji:yäh}} * {{Z|sei}}: {{W-|sei|ʔɑχʃ}} * {{Z|scn}}: {{W+|scn|cani|n}} * {{Z|sid}}: {{W-|sid|woshsha}} * {{Z|csm}}: {{W-|csm|čukú·-}} * {{Z|smr}}: {{W-|smr|asu}} * {{Z|sd}}: {{W+|sd|ڪتو|tr=kuto}} * {{Z|srn}}: {{W-|srn|dagu}} * {{Z|fos}}: {{W-|fos|asu}} * {{Z|sh}}: *: Kirîlî: {{W+|sh|пас|n}}, {{W-|sh|псић|m}}, {{W-|sh|кучка|m}}, {{W-|sh|куче|n}}, {{W-|sh|куца|m}}, {{W-|sh|џукела|m}} *: Latînî: {{W+|sh|pas|n}}, {{W+|sh|psić|m}}, {{W+|sh|kučka|m}}, {{W+|sh|kuče|n}}, {{W+|sh|kuca|m}}, {{W+|sh|džukela|m}} * {{Z|sco}}: {{W-|sco|dug}} * {{Z|cu}}: *: Kirîlî: {{W-|cu|пьсъ|n}} *: Glagolîtîk: {{W-|cu|ⱂⱐⱄⱏ|n}} * {{Z|orv}}: {{W-|orv|пьсъ|n}}, {{W-|orv|песъ|n}} * {{Z|sk}}: {{W+|sk|pes|n}}, {{W+|sk|suka|m}} * {{Z|sl}}: {{W+|sl|pes|n}}, {{W+|sl|psica|m}} * {{Z|so}}: {{W+|so|eey}}, {{W-|so|ey}} * Sorbî: *: {{Z|dsb}}: {{W-|dsb|pjas|n}} *: {{Z|hsb}}: {{W+|hsb|pos|n}}, {{W-|hsb|psyk|n}} * {{Z|st}}: {{W+|st|ntja}} * {{Z|es}}: {{W+|es|perro|n}}, {{W+|es|can|n}} * {{Z|smw}}: {{W-|smw|asu}} * {{Z|su}}: {{W+|su|anjing}}, {{W-|su|guguk}} * {{Z|sux}}: {{W-|sux|𒌨|tr=UR}} * {{Z|sva}}: {{W-|sva|ჟეღ}} * {{Z|ss}}: {{W+|ss|înjá}} * {{Z|sv}}: {{W+|sv|hund|g}}, {{W+|sv|hynda|g}} * {{Z|shn}}: {{W-|shn|မႃ}} * {{Z|xsr}}: {{W-|xsr|कि}}, {{W-|xsr|ཀྱི}} * {{Z|zdj}}: {{W-|zdj|mɓwa}} * {{Z|sn}}: {{W-|sn|imbwá}} * {{Z|cjs}}: {{W-|cjs|адай|tr=aday}} * {{Z|shh}}: {{W-|shh|sadee’}} * {{Z|tby}}: {{W-|tby|kaso}} * {{Z|tab}}: {{W-|tab|ху}} * {{Z|tg}}: {{W+|tg|саг}}, {{W+|tg|кучук}} * Talysh: *: Kirîlî: {{W-|tly|сыпә}} *: Latînî: {{W-|tly|sıpə}} * {{Z|rob}}: {{W-|rob|asu}} * {{Z|mvv}}: {{W-|mvv|asu}}, {{W-|mvv|uku'}} * {{Z|tl}}: {{W+|tl|aso}} * {{Z|tbk}}: {{W-|tbk|ohu}} * {{Z|ty}}: {{W-|ty|ʻurī}}, {{W-|ty|ʻūrī}} * {{Z|ta}}: {{W+|ta|நாய்}} * {{Z|twf}}: {{W-|twf|cùlo’óna}} * {{Z|rif}}: {{W-|rif|aydi|n}}, {{W-|rif|aqzin|n}}, {{W-|rif|aheggar|n}} * {{Z|shi}}: {{W-|shi|aydi|n}}, {{W-|shi|ⴰⵢⴷⵉ|n}} * {{Z|ttt}}: {{W-|ttt|сэг}} * {{Z|tsg}}: {{W-|tsg|iru'}} * {{Z|blt}}: {{W-|blt|ꪢꪱ|tr=ma}} * {{Z|nod}}: {{W-|nod|ᩉ᩠ᨾᩣ}} * {{Z|th}}: {{W+|th|หมา}}, {{W+|th|สุนัข}} * {{Z|tdd}}: {{W-|tdd|ᥛᥣᥴ|tr=máa}} * {{Z|tbl}}: {{W-|tbl|ohu}} * {{Z|ctd}}: {{W-|ctd|ui}} * {{Z|te}}: {{W+|te|కుక్క}}, {{W+|te|శునకము}} * {{Z|tzm}}: {{W-|tzm|ⴰⵢⴷⵉ|n}} * {{Z|sjt}}: {{W-|sjt|pienɨj}}, {{W-|sjt|pienne}} * {{Z|tft}}: {{W-|tft|kaso}} * {{Z|crh}}: {{W-|crh|köpek}}, {{W-|crh|it}}, {{W-|crh|boşuq}} * {{Z|tt}}: {{W+|tt|эт}} * {{Z|tvo}}: {{W-|tvo|kaso}} * {{Z|tig}}: {{W-|tig|ከልብ}} * {{Z|ti}}: {{W+|ti|ከልቢ}} * {{Z|tin}}: {{W-|tin|хва}} * {{Z|tr}}: {{W+|tr|köpek}}, {{W+|tr|it}} * {{Z|tk}}: {{W+|tk|it}}, {{W-|tk|köpek}} * {{Z|tiw}}: {{W-|tiw|kitarringani|n}}, {{W-|tiw|kitarringaka|m}}, {{W-|tiw|wankini|n}}, {{W-|tiw|wanka|m}}, {{W-|tiw|pulangumwani|n}}, {{W-|tiw|pulangumwaka|m}} * {{Z|bo}}: {{W-|bo|ཁྱི}} * {{Z|tli}}: {{W-|tli|keitl}} * {{Z|tpi}}: {{W-|tpi|dok}} * {{Z|to}}: {{W-|to|kulī}} * {{Z|tqw}}: {{W-|tqw|ˀɛkʷʌn}} * {{Z|tnt}}: {{W-|tnt|asu}} * {{Z|xto}}: {{W-|xto|ku}} * {{Z|txb}}: {{W-|txb|ku}} * {{Z|tkr}}: {{W-|tkr|хва}} * {{Z|ddo}}: {{W-|ddo|гъІвай}}, {{W-|ddo|бахІри}} * {{Z|tn}}: {{W+|tn|ntša|c9|c10}} * {{Z|tcy}}: {{W-|tcy|ನಾಯಿ}} * {{Z|tum}}: {{W-|tum|nchewe}} * {{Z|tpn}}: {{W-|tpn|îagûara}} * {{Z|tvl}}: {{W-|tvl|kuli}} * {{Z|tyv}}: {{W-|tyv|ыт}} * {{Z|tzj}}: {{W-|tzj|tz’i’}} * {{Z|aoz}}: {{W-|aoz|asu}} * {{Z|ude}}: {{W-|ude|инʼаи}} * {{Z|udi}}: {{W-|udi|хаъ}} * {{Z|udm}}: {{W-|udm|пуны}} * {{Z|uga}}: {{W-|uga|𐎋𐎍𐎁}} * {{Z|ulc}}: {{W-|ulc|и̇ӈда}} * {{Z|umb}}: {{W-|umb|ombwa}} * {{Z|ur}}: {{W+|ur|کتا|n|tr=kuttā}} * {{Z|uk}}: {{W-|uk|соба́ка|n|m}}, {{W+|uk|пес|n}} * {{Z|vec}}: {{W+|vec|can|n}} * {{Z|vep}}: {{W-|vep|koir}} * {{Z|vi}}: {{W+|vi|chó}} * {{Z|vo}}: {{W+|vo|dog}}, {{W+|vo|jidog}}, {{W+|vo|jodog}} * {{Z|vro}}: {{W-|vro|pini}} * {{Z|vot}}: {{W-|vot|koirö}} * {{Z|wa}}: {{W+|wa|tchén}}, {{W+|wa|lexhe|n}} * {{Z|war}}: {{W-|war|ayam}}, {{W-|war|idó}} * {{Z|wrr}}: {{W-|wrr|minini}} * {{Z|wbp}}: {{W-|wbp|maliki}} * {{Z|cy}}: {{W+|cy|ci|n}} *: {{Z|wlm}}: {{W-|wlm|ki|n}} * {{Z|wym}}: {{W-|wym|hund}} * {{Z|wo}}: {{W+|wo|xaj}} * {{Z|wuh}}: {{W-|wuh|gek}}, {{W-|wuh|haba}} * {{Z|kjh}}: {{W-|kjh|адай}} * {{Z|kca}}: {{W-|kca|амп}} * {{Z|km}}: {{W+|km|ឆ្កែ}} * {{Z|xh}}: {{W-|xh|inja}} * {{Z|yka}}: {{W-|yka|asu}} * {{Z|sah}}: {{W-|sah|ыт}} * {{Z|yag}}: {{W-|yag|yaSala}} * {{Z|jmd}}: {{W-|jmd|asu}} * {{Z|tao}}: {{W-|tao|ino}} * {{Z|jay}}: {{W-|jay|wuŋgan}} * {{Z|yap}}: {{W-|yap|pilis}} * {{Z|yby}}: {{W-|yby|ula}} * {{Z|yii}}: {{W-|yii|gudaga}} * {{Z|yi}}: {{W+|yi|הונט|n}} * {{Z|ii}}: {{W-|ii|ꈌ}} * {{Z|yog}}: {{W-|yog|atu}} * {{Z|yo}}: {{W-|yo|ajá}} * {{Z|yuc}}: {{W-|yuc|tsɛnɔ̣}} * {{Z|ykg}}: {{W-|ykg|лаамэ}} * {{Z|esu}}: {{W-|esu|qimugta|y}}, {{W-|esu|qimugtak}}, {{W-|esu|qimugtat|p}} * {{Z|el}}: {{W+|el|σκύλος|n}}, {{W+|el|σκυλί|nt}} *: Kevn: {{W-|grc|κύων|n|m}}, {{W-|grc|σκύλαξ|n}}, {{W-|grc|σκύλλος|n}} * {{Z|zro}}: {{W-|zro|ariawko}} * {{Z|zea}}: {{W-|zea|'ond|n}} * {{Z|za}}: {{W-|za|ma}} * {{Z|zu}}: {{W+|zu|inja|c9|c10}} {{werger-bin}} t5hr9uqx3hd8mq3mibyuznmiatgn8d5 wergirtin 0 7320 6237072 6124039 2026-06-04T02:51:43Z Kawarizgar1 14836 /* Lêker */ 6237072 wikitext text/x-wiki == {{ziman|ku}} == === Bilêvkirin === * {{deng|ku|LL-Q36163 (kmr)-Key Mîrza-wergirtin.wav|Deng|Bidlîs}} * {{ku-kîte}} === Lêker === {{ku-tewîn-lk|wergirtin|form=gerguhêz|niha=gir|borî=girt|pêşgir=wer}} {{lêker|ku|c=p-gh}} # [[bi dest xistin]], [[standin]] (nezame ne bi [[kotek]]î), [[bi dest ve anîn|bi dest xwe ve anîn]], [[peyda kirin]]: #:''Wê xelatek wergirt.'' #: Tu bi mehê çend werdigirî? #: Wergirtina îsalê mişe bû #: Tu çûyî lê te tiştek jî wernegirt # [[qebûl kirin]], [[pejirandin]], [[pêşwazî lê kirin]]: #: ''Ew welat êdî penaberan wernagire.'' #: Ev çek çend werdigirin? ==== Bi alfabeyên din ==== * {{ku-ar|وه‌رگرتن}} ==== Bide ber ==== * {{g|ku|dagirtin}} * {{g|ku|hilgirtin}} * {{g|ku|jê girtin}} * {{g|ku|ragirtin}} * {{g|ku|vegirtin}} ==== Jê ==== * {{g|ku|wergir}} * {{g|ku|wergirî}} * {{g|ku|wergirtî}} ==== Etîmolojî ==== Ji {{pêş|ku|wer-|girtin}}. ==== Werger ==== {{werger-ser|bi dest xistin}} * {{Z|af}}: {{W+|af|kry}}, {{W+|af|ontvang}} * {{Z|sq}}: {{W+|sq|marr}} * {{Z|de}}: {{W+|de|bekommen}}, {{W+|de|erhalten}}, {{W+|de|empfangen}}, {{W+|de|kriegen}} * {{Z|rup}}: {{W-|rup|dixescu}}, {{W-|rup|dhixescu}} * {{Z|ast}}: {{W-|ast|recibir}} * {{Z|az}}: {{W+|az|almaq}} * {{Z|be}}: {{W-|be|атры́мліваць|impf}}, {{W-|be|атрыма́ць|pf}} * {{Z|bn}}: {{W+|bn|পাওয়া}} * {{Z|bg}}: {{W+|bg|получа́вам|impf}}, {{W+|bg|полу́ча|pf}} * {{Z|my}}: {{W+|my|ခံ}} * {{Z|cs}}: {{W+|cs|obdržet|pf}}, {{W+|cs|dostat|pf}} * {{Z|zh}}: *: {{Z|yue}}: {{W-|yue|收到|tr=sau1 dou3-2}} *: {{Z|cmn}}: {{W+|cmn|收到|tr=shōudào}}, {{W+|cmn|接到|tr=jiēdào}} * {{Z|da}}: {{W+|da|få}} * {{Z|ar}}: {{W-|ar|اِسْتَقْبَلَ}}, {{W-|ar|اِسْتَلَمَ}} *: {{Z|arz}}: {{W-|arz|استقبل|tr=istaʔbil}} * {{Z|hy}}: {{W+|hy|ստանալ}} * {{Z|eo}}: {{W-|eo|ricevi}} * {{Z|et}}: {{W+|et|saama}} * {{Z|fa}}: {{W+|fa|دریافت کردن|tr=daryâft kardan}}, {{W+|fa|گرفتن|tr=gereftan}} * {{Z|fi}}: {{W+|fi|saada}} * {{Z|fro}}: {{W-|fro|receivre}}, {{W-|fro|recevoir}}, {{W-|fro|reçoivre}} * {{Z|fr}}: {{W+|fr|recevoir}} * {{Z|fur}}: {{W-|fur|ricevi}} * {{Z|frr}}: {{W-|frr|füünj}}, {{W-|frr|fu}} * {{Z|gd}}: {{W-|gd|faigh}} * {{Z|gl}}: {{W+|gl|recibir}} * {{Z|got}}: {{W-|got|𐌰𐌽𐌳𐌽𐌹𐌼𐌰𐌽}} * {{Z|ka}}: {{W-|ka|მიღება}} * {{Z|hi}}: {{W-|hi|प्राप्त करना}}, {{W-|hi|अगवानी करना}}, {{W-|hi|ग्रहण करना}} * {{Z|nl}}: {{W+|nl|krijgen}}, {{W+|nl|ontvangen}} * {{Z|he}}: {{W+|he|קיבל|tr=kibél}} * {{Z|en}}: {{W+|en|receive}} * {{Z|ia}}: {{W-|ia|reciper}} * {{Z|ga}}: {{W+|ga|faigh}} *: {{Z|sga}}: {{W-|sga|ad·cota}} * {{Z|it}}: {{W+|it|ricevere}} * {{Z|is}}: {{W+|is|fá}} * {{Z|ja}}: {{W+|ja|受け取る|tr=うけとる, uketoru}}, {{W+|ja|貰う|tr=[[もらう]], morau}}, {{W+|ja|受ける|tr=[[うける]], ukeru}}, {{W+|ja|頂く|tr=[[いただく]], itadaku}} * {{Z|kaw}}: {{W-|kaw|tampa}}, {{W-|kaw|tarima}} * {{Z|jv}}: {{W+|jv|tampa}} * {{Z|xbr}}: {{W-|xbr|kei}} * {{Z|ca}}: {{W+|ca|rebre}}, {{W-|ca|recebre}} * {{Z|qu}}: {{W-|qu|chaskiy}} * {{Z|ky}}: {{W+|ky|алуу}} * {{Z|ko}}: {{W+|ko|받다}} * {{Z|lld}}: {{W-|lld|rezever}} * {{Z|la}}: {{W+|la|recipiō}}, {{W+|la|accipiō}} * {{Z|lv}}: {{W-|lv|saņemt}} * {{Z|lo}}: {{W-|lo|ຮັບ}} * {{Z|lt}}: {{W+|lt|gauti}} * {{Z|mk}}: {{W-|mk|до́бива|impf}}, {{W-|mk|до́бие|pf}} * {{Z|ms}}: {{W+|ms|terima}} * {{Z|mnc}}: {{W-|mnc|ᠠᠯᡳᠮᠪᡳ}} * {{Z|mi}}: {{W-|mi|tūtohi}}, {{W-|mi|tūtohu}} * {{Z|hu}}: {{W+|hu|kap}} * {{Z|mn}}: {{W+|mn|хүлээн авах}}, {{W-|mn|худалдаж авах}} * Ngazidja Comorian: ''which has been sent:'' {{W-|zdj|erewa|cuda=hwerewa}}, ''which is offered:'' {{W-|zdj|hundra|cuda=uhundra}} * {{Z|nrf}}: {{W-|nrf|r'chéver}} * {{Z|no}}: *: {{Z|nb}}: {{W+|nb|få}} *: {{Z|nn}}: {{W-|nn|få}} * {{Z|pro}}: {{W-|pro|recebre}} * {{Z|oc}}: {{W+|oc|recebre}} * {{Z|uz}}: {{W+|uz|olmoq}} * {{Z|pl}}: {{W+|pl|dostać|pf}}, {{W+|pl|otrzymać|pf}} * {{Z|pt}}: {{W+|pt|receber}} * {{Z|kk}}: {{W+|kk|алу}} * {{Z|ro}}: {{W+|ro|primi}}, {{W+|ro|recepționa}} * {{Z|ru}}: {{W+|ru|получа́ть|impf}}, {{W+|ru|получи́ть|pf}} * {{Z|sh}}: *: Kirîlî: {{W-|sh|примити}} *: Latînî: {{W+|sh|primiti}} * {{Z|sk}}: {{W-|sk|dostať|pf}}, {{W-|sk|obdržať|pf}} * {{Z|sl}}: {{W+|sl|prejeti|pf}} * Sorbî: *: {{Z|dsb}}: {{W-|dsb|pśiwześ|pf}} * {{Z|es}}: {{W+|es|recibir}} * {{Z|sw}}: {{W+|sw|pokea}} * {{Z|sv}}: {{W+|sv|få}}, {{W+|sv|ta emot}}, {{W+|sv|motta}}, {{W+|sv|erhålla}} * {{Z|tg}}: {{W-|tg|дарёфт кардан}}, {{W+|tg|гирифтан}} * {{Z|th}}: {{W+|th|รับ}} * {{Z|tt}}: {{W+|tt|алырга}} * {{Z|tr}}: {{W+|tr|almak}} * {{Z|tk}}: {{W+|tk|almak}} * {{Z|uk}}: {{W-|uk|отри́мувати|impf}}, {{W-|uk|отри́мати|pf}} * {{Z|vi}}: {{W+|vi|nhận}}, {{W+|vi|lĩnh}}, {{W+|vi|thu}} * {{Z|cy}}: {{W+|cy|cael}}, {{W+|cy|derbyn}} * {{Z|km}}: {{W+|km|ទទួល|tr=tɔtuəl}} * {{Z|yi}}: {{W-|yi|מקבל זײַן}}, {{W-|yi|קריגן}} * {{Z|el}}: {{W+|el|δέχομαι}}, {{W+|el|λαμβάνω}} *: Kevn: {{W-|grc|δέχομαι}} * {{Z|zom}}: {{W-|zom|nga}} {{werger-bin}} :{{werger çavkanî|en|receive|beş=Ev qismê Wergerê|oldid=75878838}} {{werger-bnr|pejirandin, qebûl kirin|pejirandin}} === Navdêr === {{ku-tewîn-nav|wergirtin|mê}} {{navdêr|ku|z=m}} # [[bidestxistin]], [[standin]] (nezame ne bi [[kotek]]î), [[bidestveanîn|bidestxweveanîn]], [[peydakirin]]: #: ''wergirtina xelatan'' # [[pejirandin]], [[qebûlkirin]], [[pêşwazîlêkirin]]: #: ''wergirtina penaberan'' ==== Werger ==== {{werger-ser|bidestxistin}} * {{Z|de}}: {{W+|de|Empfang|n}} * {{Z|bg}}: {{W+|bg|получа́ване|nt}}, {{W+|bg|прие́мане|nt}} * {{Z|cs}}: {{W-|cs|obdržení|nt}}, {{W+|cs|přijetí|nt}} * {{Z|zh}}: *: {{Z|cmn}}: {{W+|cmn|接收|tr=jiēshōu}} * {{Z|da}}: {{W-|da|modtagelse|g}} * {{Z|ar}}: {{W-|ar|اِسْتِقْبَال|n}} * {{Z|hy}}: {{W+|hy|ստացում}} * {{Z|fi}}: {{W+|fi|vastaanotto}} * {{Z|fr}}: {{W+|fr|réception|m}} * {{Z|gl}}: {{W+|gl|recepción|n}} * {{Z|ka}}: {{W-|ka|მიღება}} * {{Z|nl}}: {{W+|nl|ontvangst}} * {{Z|en}}: {{W+|en|reception}} * {{Z|it}}: {{W+|it|ricevimento|n}} * {{Z|ja}}: {{W+|ja|受付|tr=うけつけ, uketsuke}}, {{W+|ja|受理|tr=じゅり, juri}}, {{W+|ja|収容|tr=しゅうよう, shūyō}}, {{W+|ja|入会|tr=にゅうかい, nyūkai}}, {{W+|ja|加入|tr=かにゅう, kanyū}} * {{Z|ko}}: {{W-|ko|응접}} * {{Z|la}}: {{W-|la|receptiō|m}} * {{Z|mk}}: {{W-|mk|при́ем|n}} * {{Z|ml}}: {{W+|ml|സ്വീകരണം}} * {{Z|hu}}: {{W+|hu|átvétel}}, {{W+|hu|fogadás}} * {{Z|no}}: *: {{Z|nb}}: {{W-|nb|mottakelse|n}} * {{Z|ota}}: {{W-|ota|ادراك|tr=idrak}} * {{Z|pl}}: {{W+|pl|odbiór|n}} * {{Z|pt}}: {{W+|pt|recepção|m}} * {{Z|ru}}: {{W+|ru|приём|n}} * {{Z|sh}}: *: Latînî: {{W+|sh|prijem}}, {{W+|sh|doček}} * {{Z|sl}}: {{W-|sl|sprejem|n}} * {{Z|es}}: {{W+|es|recepción|n}} * {{Z|sv}}: {{W+|sv|mottagande|nt}} * {{Z|cy}}: {{W-|cy|derbyniad|n}} {{werger-bin}} :{{werger çavkanî|en|reception|beş=Ev qismê Wergerê|oldid=75875786}} {{werger-bnr|qebûlkirin, pejirandin|pejirandin}} lqkshwyz7he7n72ufmfvmj4udvmrptl 6237073 6237072 2026-06-04T03:20:54Z Kawarizgar1 14836 /* Lêker */ 6237073 wikitext text/x-wiki == {{ziman|ku}} == === Bilêvkirin === * {{deng|ku|LL-Q36163 (kmr)-Key Mîrza-wergirtin.wav|Deng|Bidlîs}} * {{ku-kîte}} === Lêker === {{ku-tewîn-lk|wergirtin|form=gerguhêz|niha=gir|borî=girt|pêşgir=wer}} {{lêker|ku|c=p-gh}} # [[bi dest xistin]], [[standin]] (nezame ne bi [[kotek]]î), [[bi dest ve anîn|bi dest xwe ve anîn]], [[peyda kirin]]: #:''Wê xelatek wergirt.'' #: Tu bi mehê çend werdigirî? #: Wergirtina îsalê mişe bû #: Tu çûyî lê te tiştek jî wernegirt # [[qebûl kirin]], [[pejirandin]], [[pêşwazî lê kirin]]: #: ''Ew welat êdî penaberan wernagire.'' #: Ev çek çend gule werdigirin? ==== Bi alfabeyên din ==== * {{ku-ar|وه‌رگرتن}} ==== Bide ber ==== * {{g|ku|dagirtin}} * {{g|ku|hilgirtin}} * {{g|ku|jê girtin}} * {{g|ku|ragirtin}} * {{g|ku|vegirtin}} ==== Jê ==== * {{g|ku|wergir}} * {{g|ku|wergirî}} * {{g|ku|wergirtî}} ==== Etîmolojî ==== Ji {{pêş|ku|wer-|girtin}}. ==== Werger ==== {{werger-ser|bi dest xistin}} * {{Z|af}}: {{W+|af|kry}}, {{W+|af|ontvang}} * {{Z|sq}}: {{W+|sq|marr}} * {{Z|de}}: {{W+|de|bekommen}}, {{W+|de|erhalten}}, {{W+|de|empfangen}}, {{W+|de|kriegen}} * {{Z|rup}}: {{W-|rup|dixescu}}, {{W-|rup|dhixescu}} * {{Z|ast}}: {{W-|ast|recibir}} * {{Z|az}}: {{W+|az|almaq}} * {{Z|be}}: {{W-|be|атры́мліваць|impf}}, {{W-|be|атрыма́ць|pf}} * {{Z|bn}}: {{W+|bn|পাওয়া}} * {{Z|bg}}: {{W+|bg|получа́вам|impf}}, {{W+|bg|полу́ча|pf}} * {{Z|my}}: {{W+|my|ခံ}} * {{Z|cs}}: {{W+|cs|obdržet|pf}}, {{W+|cs|dostat|pf}} * {{Z|zh}}: *: {{Z|yue}}: {{W-|yue|收到|tr=sau1 dou3-2}} *: {{Z|cmn}}: {{W+|cmn|收到|tr=shōudào}}, {{W+|cmn|接到|tr=jiēdào}} * {{Z|da}}: {{W+|da|få}} * {{Z|ar}}: {{W-|ar|اِسْتَقْبَلَ}}, {{W-|ar|اِسْتَلَمَ}} *: {{Z|arz}}: {{W-|arz|استقبل|tr=istaʔbil}} * {{Z|hy}}: {{W+|hy|ստանալ}} * {{Z|eo}}: {{W-|eo|ricevi}} * {{Z|et}}: {{W+|et|saama}} * {{Z|fa}}: {{W+|fa|دریافت کردن|tr=daryâft kardan}}, {{W+|fa|گرفتن|tr=gereftan}} * {{Z|fi}}: {{W+|fi|saada}} * {{Z|fro}}: {{W-|fro|receivre}}, {{W-|fro|recevoir}}, {{W-|fro|reçoivre}} * {{Z|fr}}: {{W+|fr|recevoir}} * {{Z|fur}}: {{W-|fur|ricevi}} * {{Z|frr}}: {{W-|frr|füünj}}, {{W-|frr|fu}} * {{Z|gd}}: {{W-|gd|faigh}} * {{Z|gl}}: {{W+|gl|recibir}} * {{Z|got}}: {{W-|got|𐌰𐌽𐌳𐌽𐌹𐌼𐌰𐌽}} * {{Z|ka}}: {{W-|ka|მიღება}} * {{Z|hi}}: {{W-|hi|प्राप्त करना}}, {{W-|hi|अगवानी करना}}, {{W-|hi|ग्रहण करना}} * {{Z|nl}}: {{W+|nl|krijgen}}, {{W+|nl|ontvangen}} * {{Z|he}}: {{W+|he|קיבל|tr=kibél}} * {{Z|en}}: {{W+|en|receive}} * {{Z|ia}}: {{W-|ia|reciper}} * {{Z|ga}}: {{W+|ga|faigh}} *: {{Z|sga}}: {{W-|sga|ad·cota}} * {{Z|it}}: {{W+|it|ricevere}} * {{Z|is}}: {{W+|is|fá}} * {{Z|ja}}: {{W+|ja|受け取る|tr=うけとる, uketoru}}, {{W+|ja|貰う|tr=[[もらう]], morau}}, {{W+|ja|受ける|tr=[[うける]], ukeru}}, {{W+|ja|頂く|tr=[[いただく]], itadaku}} * {{Z|kaw}}: {{W-|kaw|tampa}}, {{W-|kaw|tarima}} * {{Z|jv}}: {{W+|jv|tampa}} * {{Z|xbr}}: {{W-|xbr|kei}} * {{Z|ca}}: {{W+|ca|rebre}}, {{W-|ca|recebre}} * {{Z|qu}}: {{W-|qu|chaskiy}} * {{Z|ky}}: {{W+|ky|алуу}} * {{Z|ko}}: {{W+|ko|받다}} * {{Z|lld}}: {{W-|lld|rezever}} * {{Z|la}}: {{W+|la|recipiō}}, {{W+|la|accipiō}} * {{Z|lv}}: {{W-|lv|saņemt}} * {{Z|lo}}: {{W-|lo|ຮັບ}} * {{Z|lt}}: {{W+|lt|gauti}} * {{Z|mk}}: {{W-|mk|до́бива|impf}}, {{W-|mk|до́бие|pf}} * {{Z|ms}}: {{W+|ms|terima}} * {{Z|mnc}}: {{W-|mnc|ᠠᠯᡳᠮᠪᡳ}} * {{Z|mi}}: {{W-|mi|tūtohi}}, {{W-|mi|tūtohu}} * {{Z|hu}}: {{W+|hu|kap}} * {{Z|mn}}: {{W+|mn|хүлээн авах}}, {{W-|mn|худалдаж авах}} * Ngazidja Comorian: ''which has been sent:'' {{W-|zdj|erewa|cuda=hwerewa}}, ''which is offered:'' {{W-|zdj|hundra|cuda=uhundra}} * {{Z|nrf}}: {{W-|nrf|r'chéver}} * {{Z|no}}: *: {{Z|nb}}: {{W+|nb|få}} *: {{Z|nn}}: {{W-|nn|få}} * {{Z|pro}}: {{W-|pro|recebre}} * {{Z|oc}}: {{W+|oc|recebre}} * {{Z|uz}}: {{W+|uz|olmoq}} * {{Z|pl}}: {{W+|pl|dostać|pf}}, {{W+|pl|otrzymać|pf}} * {{Z|pt}}: {{W+|pt|receber}} * {{Z|kk}}: {{W+|kk|алу}} * {{Z|ro}}: {{W+|ro|primi}}, {{W+|ro|recepționa}} * {{Z|ru}}: {{W+|ru|получа́ть|impf}}, {{W+|ru|получи́ть|pf}} * {{Z|sh}}: *: Kirîlî: {{W-|sh|примити}} *: Latînî: {{W+|sh|primiti}} * {{Z|sk}}: {{W-|sk|dostať|pf}}, {{W-|sk|obdržať|pf}} * {{Z|sl}}: {{W+|sl|prejeti|pf}} * Sorbî: *: {{Z|dsb}}: {{W-|dsb|pśiwześ|pf}} * {{Z|es}}: {{W+|es|recibir}} * {{Z|sw}}: {{W+|sw|pokea}} * {{Z|sv}}: {{W+|sv|få}}, {{W+|sv|ta emot}}, {{W+|sv|motta}}, {{W+|sv|erhålla}} * {{Z|tg}}: {{W-|tg|дарёфт кардан}}, {{W+|tg|гирифтан}} * {{Z|th}}: {{W+|th|รับ}} * {{Z|tt}}: {{W+|tt|алырга}} * {{Z|tr}}: {{W+|tr|almak}} * {{Z|tk}}: {{W+|tk|almak}} * {{Z|uk}}: {{W-|uk|отри́мувати|impf}}, {{W-|uk|отри́мати|pf}} * {{Z|vi}}: {{W+|vi|nhận}}, {{W+|vi|lĩnh}}, {{W+|vi|thu}} * {{Z|cy}}: {{W+|cy|cael}}, {{W+|cy|derbyn}} * {{Z|km}}: {{W+|km|ទទួល|tr=tɔtuəl}} * {{Z|yi}}: {{W-|yi|מקבל זײַן}}, {{W-|yi|קריגן}} * {{Z|el}}: {{W+|el|δέχομαι}}, {{W+|el|λαμβάνω}} *: Kevn: {{W-|grc|δέχομαι}} * {{Z|zom}}: {{W-|zom|nga}} {{werger-bin}} :{{werger çavkanî|en|receive|beş=Ev qismê Wergerê|oldid=75878838}} {{werger-bnr|pejirandin, qebûl kirin|pejirandin}} === Navdêr === {{ku-tewîn-nav|wergirtin|mê}} {{navdêr|ku|z=m}} # [[bidestxistin]], [[standin]] (nezame ne bi [[kotek]]î), [[bidestveanîn|bidestxweveanîn]], [[peydakirin]]: #: ''wergirtina xelatan'' # [[pejirandin]], [[qebûlkirin]], [[pêşwazîlêkirin]]: #: ''wergirtina penaberan'' ==== Werger ==== {{werger-ser|bidestxistin}} * {{Z|de}}: {{W+|de|Empfang|n}} * {{Z|bg}}: {{W+|bg|получа́ване|nt}}, {{W+|bg|прие́мане|nt}} * {{Z|cs}}: {{W-|cs|obdržení|nt}}, {{W+|cs|přijetí|nt}} * {{Z|zh}}: *: {{Z|cmn}}: {{W+|cmn|接收|tr=jiēshōu}} * {{Z|da}}: {{W-|da|modtagelse|g}} * {{Z|ar}}: {{W-|ar|اِسْتِقْبَال|n}} * {{Z|hy}}: {{W+|hy|ստացում}} * {{Z|fi}}: {{W+|fi|vastaanotto}} * {{Z|fr}}: {{W+|fr|réception|m}} * {{Z|gl}}: {{W+|gl|recepción|n}} * {{Z|ka}}: {{W-|ka|მიღება}} * {{Z|nl}}: {{W+|nl|ontvangst}} * {{Z|en}}: {{W+|en|reception}} * {{Z|it}}: {{W+|it|ricevimento|n}} * {{Z|ja}}: {{W+|ja|受付|tr=うけつけ, uketsuke}}, {{W+|ja|受理|tr=じゅり, juri}}, {{W+|ja|収容|tr=しゅうよう, shūyō}}, {{W+|ja|入会|tr=にゅうかい, nyūkai}}, {{W+|ja|加入|tr=かにゅう, kanyū}} * {{Z|ko}}: {{W-|ko|응접}} * {{Z|la}}: {{W-|la|receptiō|m}} * {{Z|mk}}: {{W-|mk|при́ем|n}} * {{Z|ml}}: {{W+|ml|സ്വീകരണം}} * {{Z|hu}}: {{W+|hu|átvétel}}, {{W+|hu|fogadás}} * {{Z|no}}: *: {{Z|nb}}: {{W-|nb|mottakelse|n}} * {{Z|ota}}: {{W-|ota|ادراك|tr=idrak}} * {{Z|pl}}: {{W+|pl|odbiór|n}} * {{Z|pt}}: {{W+|pt|recepção|m}} * {{Z|ru}}: {{W+|ru|приём|n}} * {{Z|sh}}: *: Latînî: {{W+|sh|prijem}}, {{W+|sh|doček}} * {{Z|sl}}: {{W-|sl|sprejem|n}} * {{Z|es}}: {{W+|es|recepción|n}} * {{Z|sv}}: {{W+|sv|mottagande|nt}} * {{Z|cy}}: {{W-|cy|derbyniad|n}} {{werger-bin}} :{{werger çavkanî|en|reception|beş=Ev qismê Wergerê|oldid=75875786}} {{werger-bnr|qebûlkirin, pejirandin|pejirandin}} 6lcuuw9fijx1lphtuhvv9pd8cz367fv 6237074 6237073 2026-06-04T03:23:46Z Ghybu 1393 /* {{ziman|ku}} */ [[Bikarhêner:Kawarizgar1|Kawarizgar1]]: Li vira wergirtin wekî navdêr hatiye bikaranîn. 6237074 wikitext text/x-wiki == {{ziman|ku}} == === Bilêvkirin === * {{deng|ku|LL-Q36163 (kmr)-Key Mîrza-wergirtin.wav|Deng|Bidlîs}} * {{ku-kîte}} === Lêker === {{ku-tewîn-lk|wergirtin|form=gerguhêz|niha=gir|borî=girt|pêşgir=wer}} {{lêker|ku|c=p-gh}} # [[bi dest xistin]], [[standin]] (nezame ne bi [[kotek]]î), [[bi dest ve anîn|bi dest xwe ve anîn]], [[peyda kirin]]: #:''Wê xelatek wergirt.'' #: Tu bi mehê çend werdigirî? #: Tu çûyî lê te tiştek jî wernegirt # [[qebûl kirin]], [[pejirandin]], [[pêşwazî lê kirin]]: #: ''Ew welat êdî penaberan wernagire.'' #: Ev çek çend gule werdigirin? ==== Bi alfabeyên din ==== * {{ku-ar|وه‌رگرتن}} ==== Bide ber ==== * {{g|ku|dagirtin}} * {{g|ku|hilgirtin}} * {{g|ku|jê girtin}} * {{g|ku|ragirtin}} * {{g|ku|vegirtin}} ==== Jê ==== * {{g|ku|wergir}} * {{g|ku|wergirî}} * {{g|ku|wergirtî}} ==== Etîmolojî ==== Ji {{pêş|ku|wer-|girtin}}. ==== Werger ==== {{werger-ser|bi dest xistin}} * {{Z|af}}: {{W+|af|kry}}, {{W+|af|ontvang}} * {{Z|sq}}: {{W+|sq|marr}} * {{Z|de}}: {{W+|de|bekommen}}, {{W+|de|erhalten}}, {{W+|de|empfangen}}, {{W+|de|kriegen}} * {{Z|rup}}: {{W-|rup|dixescu}}, {{W-|rup|dhixescu}} * {{Z|ast}}: {{W-|ast|recibir}} * {{Z|az}}: {{W+|az|almaq}} * {{Z|be}}: {{W-|be|атры́мліваць|impf}}, {{W-|be|атрыма́ць|pf}} * {{Z|bn}}: {{W+|bn|পাওয়া}} * {{Z|bg}}: {{W+|bg|получа́вам|impf}}, {{W+|bg|полу́ча|pf}} * {{Z|my}}: {{W+|my|ခံ}} * {{Z|cs}}: {{W+|cs|obdržet|pf}}, {{W+|cs|dostat|pf}} * {{Z|zh}}: *: {{Z|yue}}: {{W-|yue|收到|tr=sau1 dou3-2}} *: {{Z|cmn}}: {{W+|cmn|收到|tr=shōudào}}, {{W+|cmn|接到|tr=jiēdào}} * {{Z|da}}: {{W+|da|få}} * {{Z|ar}}: {{W-|ar|اِسْتَقْبَلَ}}, {{W-|ar|اِسْتَلَمَ}} *: {{Z|arz}}: {{W-|arz|استقبل|tr=istaʔbil}} * {{Z|hy}}: {{W+|hy|ստանալ}} * {{Z|eo}}: {{W-|eo|ricevi}} * {{Z|et}}: {{W+|et|saama}} * {{Z|fa}}: {{W+|fa|دریافت کردن|tr=daryâft kardan}}, {{W+|fa|گرفتن|tr=gereftan}} * {{Z|fi}}: {{W+|fi|saada}} * {{Z|fro}}: {{W-|fro|receivre}}, {{W-|fro|recevoir}}, {{W-|fro|reçoivre}} * {{Z|fr}}: {{W+|fr|recevoir}} * {{Z|fur}}: {{W-|fur|ricevi}} * {{Z|frr}}: {{W-|frr|füünj}}, {{W-|frr|fu}} * {{Z|gd}}: {{W-|gd|faigh}} * {{Z|gl}}: {{W+|gl|recibir}} * {{Z|got}}: {{W-|got|𐌰𐌽𐌳𐌽𐌹𐌼𐌰𐌽}} * {{Z|ka}}: {{W-|ka|მიღება}} * {{Z|hi}}: {{W-|hi|प्राप्त करना}}, {{W-|hi|अगवानी करना}}, {{W-|hi|ग्रहण करना}} * {{Z|nl}}: {{W+|nl|krijgen}}, {{W+|nl|ontvangen}} * {{Z|he}}: {{W+|he|קיבל|tr=kibél}} * {{Z|en}}: {{W+|en|receive}} * {{Z|ia}}: {{W-|ia|reciper}} * {{Z|ga}}: {{W+|ga|faigh}} *: {{Z|sga}}: {{W-|sga|ad·cota}} * {{Z|it}}: {{W+|it|ricevere}} * {{Z|is}}: {{W+|is|fá}} * {{Z|ja}}: {{W+|ja|受け取る|tr=うけとる, uketoru}}, {{W+|ja|貰う|tr=[[もらう]], morau}}, {{W+|ja|受ける|tr=[[うける]], ukeru}}, {{W+|ja|頂く|tr=[[いただく]], itadaku}} * {{Z|kaw}}: {{W-|kaw|tampa}}, {{W-|kaw|tarima}} * {{Z|jv}}: {{W+|jv|tampa}} * {{Z|xbr}}: {{W-|xbr|kei}} * {{Z|ca}}: {{W+|ca|rebre}}, {{W-|ca|recebre}} * {{Z|qu}}: {{W-|qu|chaskiy}} * {{Z|ky}}: {{W+|ky|алуу}} * {{Z|ko}}: {{W+|ko|받다}} * {{Z|lld}}: {{W-|lld|rezever}} * {{Z|la}}: {{W+|la|recipiō}}, {{W+|la|accipiō}} * {{Z|lv}}: {{W-|lv|saņemt}} * {{Z|lo}}: {{W-|lo|ຮັບ}} * {{Z|lt}}: {{W+|lt|gauti}} * {{Z|mk}}: {{W-|mk|до́бива|impf}}, {{W-|mk|до́бие|pf}} * {{Z|ms}}: {{W+|ms|terima}} * {{Z|mnc}}: {{W-|mnc|ᠠᠯᡳᠮᠪᡳ}} * {{Z|mi}}: {{W-|mi|tūtohi}}, {{W-|mi|tūtohu}} * {{Z|hu}}: {{W+|hu|kap}} * {{Z|mn}}: {{W+|mn|хүлээн авах}}, {{W-|mn|худалдаж авах}} * Ngazidja Comorian: ''which has been sent:'' {{W-|zdj|erewa|cuda=hwerewa}}, ''which is offered:'' {{W-|zdj|hundra|cuda=uhundra}} * {{Z|nrf}}: {{W-|nrf|r'chéver}} * {{Z|no}}: *: {{Z|nb}}: {{W+|nb|få}} *: {{Z|nn}}: {{W-|nn|få}} * {{Z|pro}}: {{W-|pro|recebre}} * {{Z|oc}}: {{W+|oc|recebre}} * {{Z|uz}}: {{W+|uz|olmoq}} * {{Z|pl}}: {{W+|pl|dostać|pf}}, {{W+|pl|otrzymać|pf}} * {{Z|pt}}: {{W+|pt|receber}} * {{Z|kk}}: {{W+|kk|алу}} * {{Z|ro}}: {{W+|ro|primi}}, {{W+|ro|recepționa}} * {{Z|ru}}: {{W+|ru|получа́ть|impf}}, {{W+|ru|получи́ть|pf}} * {{Z|sh}}: *: Kirîlî: {{W-|sh|примити}} *: Latînî: {{W+|sh|primiti}} * {{Z|sk}}: {{W-|sk|dostať|pf}}, {{W-|sk|obdržať|pf}} * {{Z|sl}}: {{W+|sl|prejeti|pf}} * Sorbî: *: {{Z|dsb}}: {{W-|dsb|pśiwześ|pf}} * {{Z|es}}: {{W+|es|recibir}} * {{Z|sw}}: {{W+|sw|pokea}} * {{Z|sv}}: {{W+|sv|få}}, {{W+|sv|ta emot}}, {{W+|sv|motta}}, {{W+|sv|erhålla}} * {{Z|tg}}: {{W-|tg|дарёфт кардан}}, {{W+|tg|гирифтан}} * {{Z|th}}: {{W+|th|รับ}} * {{Z|tt}}: {{W+|tt|алырга}} * {{Z|tr}}: {{W+|tr|almak}} * {{Z|tk}}: {{W+|tk|almak}} * {{Z|uk}}: {{W-|uk|отри́мувати|impf}}, {{W-|uk|отри́мати|pf}} * {{Z|vi}}: {{W+|vi|nhận}}, {{W+|vi|lĩnh}}, {{W+|vi|thu}} * {{Z|cy}}: {{W+|cy|cael}}, {{W+|cy|derbyn}} * {{Z|km}}: {{W+|km|ទទួល|tr=tɔtuəl}} * {{Z|yi}}: {{W-|yi|מקבל זײַן}}, {{W-|yi|קריגן}} * {{Z|el}}: {{W+|el|δέχομαι}}, {{W+|el|λαμβάνω}} *: Kevn: {{W-|grc|δέχομαι}} * {{Z|zom}}: {{W-|zom|nga}} {{werger-bin}} :{{werger çavkanî|en|receive|beş=Ev qismê Wergerê|oldid=75878838}} {{werger-bnr|pejirandin, qebûl kirin|pejirandin}} === Navdêr === {{ku-tewîn-nav|wergirtin|mê}} {{navdêr|ku|z=m}} # [[bidestxistin]], [[standin]] (nezame ne bi [[kotek]]î), [[bidestveanîn|bidestxweveanîn]], [[peydakirin]]: #: ''wergirtina xelatan'' #: Wergirtina îsalê mişe bû # [[pejirandin]], [[qebûlkirin]], [[pêşwazîlêkirin]]: #: ''wergirtina penaberan'' ==== Werger ==== {{werger-ser|bidestxistin}} * {{Z|de}}: {{W+|de|Empfang|n}} * {{Z|bg}}: {{W+|bg|получа́ване|nt}}, {{W+|bg|прие́мане|nt}} * {{Z|cs}}: {{W-|cs|obdržení|nt}}, {{W+|cs|přijetí|nt}} * {{Z|zh}}: *: {{Z|cmn}}: {{W+|cmn|接收|tr=jiēshōu}} * {{Z|da}}: {{W-|da|modtagelse|g}} * {{Z|ar}}: {{W-|ar|اِسْتِقْبَال|n}} * {{Z|hy}}: {{W+|hy|ստացում}} * {{Z|fi}}: {{W+|fi|vastaanotto}} * {{Z|fr}}: {{W+|fr|réception|m}} * {{Z|gl}}: {{W+|gl|recepción|n}} * {{Z|ka}}: {{W-|ka|მიღება}} * {{Z|nl}}: {{W+|nl|ontvangst}} * {{Z|en}}: {{W+|en|reception}} * {{Z|it}}: {{W+|it|ricevimento|n}} * {{Z|ja}}: {{W+|ja|受付|tr=うけつけ, uketsuke}}, {{W+|ja|受理|tr=じゅり, juri}}, {{W+|ja|収容|tr=しゅうよう, shūyō}}, {{W+|ja|入会|tr=にゅうかい, nyūkai}}, {{W+|ja|加入|tr=かにゅう, kanyū}} * {{Z|ko}}: {{W-|ko|응접}} * {{Z|la}}: {{W-|la|receptiō|m}} * {{Z|mk}}: {{W-|mk|при́ем|n}} * {{Z|ml}}: {{W+|ml|സ്വീകരണം}} * {{Z|hu}}: {{W+|hu|átvétel}}, {{W+|hu|fogadás}} * {{Z|no}}: *: {{Z|nb}}: {{W-|nb|mottakelse|n}} * {{Z|ota}}: {{W-|ota|ادراك|tr=idrak}} * {{Z|pl}}: {{W+|pl|odbiór|n}} * {{Z|pt}}: {{W+|pt|recepção|m}} * {{Z|ru}}: {{W+|ru|приём|n}} * {{Z|sh}}: *: Latînî: {{W+|sh|prijem}}, {{W+|sh|doček}} * {{Z|sl}}: {{W-|sl|sprejem|n}} * {{Z|es}}: {{W+|es|recepción|n}} * {{Z|sv}}: {{W+|sv|mottagande|nt}} * {{Z|cy}}: {{W-|cy|derbyniad|n}} {{werger-bin}} :{{werger çavkanî|en|reception|beş=Ev qismê Wergerê|oldid=75875786}} {{werger-bnr|qebûlkirin, pejirandin|pejirandin}} lljymf6a64093moxj09rcqzors0i9kz vegirtin 0 26536 6237066 6064633 2026-06-04T02:32:21Z Kawarizgar1 14836 /* Lêker */ 6237066 wikitext text/x-wiki == {{ziman|ku}} == === Bilêvkirin === * {{ku-IPA}} * {{kîte|ku|ve|gir|tin}} === Lêker === {{ku-tewîn-lk|vegirtin|form=gerguhêz|niha=gir|borî=girt|pêşgir=ve}} {{lêker|ku|c=p-gh}} # [[zeft]] kirin, [[girtin]], [[neberdan]] #* {{jêder|ku|jêgirtin=Her ku dianî bîra xwe, wekî ku birûskin bedin li çolên hundirê wî, canê wî, ruhê wî dilerizî. Wekî ku ruhê wî bi temamî ji aliyê dîmena wê ve hatibe boyaxkirin, wekî ku her dera wî hatibe '''vegirtin'''.|{{Jêgirtin/Mîran Janbar/Qolyeya Cecileê|r=46}}}} #* Min vegirt pirtûka ku te firande min # [[dagir]] kirin, [[îşgal]] kirin #* {{bêmînak|ku}} # [[êş]]a ku li kesekî heyî [[gihiştin]] kesên din jî #:''AIDS êşek e ku dikare ji mirovekî yên din jî '''vegire'''.'' # [[dîsan]] [[girtin]] #* {{bêmînak|ku}} # [[hunandin]], [[kezî kirin]] #: ''Ez carinan porê xwe '''vedigirim''', carinan jî berdidim ser navmilên xwe.'' # [[kelijîn]] , [homojen bûn]] Heta ku xerc ava xwe vegirt raweste ==== Bi alfabeyên din ==== * {{ku-ar|ڤه‌گرتن}} ==== Tewîn ==== ''Lêker'': : ve-gir- ==== Bide ber ==== * [[bergirtin]] * [[dagirtin]] * [[hilgirtin]] * [[ragirtin]] * [[wergirtin]] ==== Jê ==== * [[vegir]] * [[vegirî]] * [[vegirtî]] ==== Etîmolojî ==== Ji {{qertaf|ku|ve-|girtin}}. ==== Werger ==== {{werger-ser}} * {{Z|de}}: {{W+|de|einnehmen}}, {{W+|de|erobern}}, {{W+|de|greifen}}, {{W+|de|fangen}}, {{W+|de|zurückerobern}}, {{W+|de|zurücknehmen}}, {{W+|de|zurückziehen}}, {{W+|de|Erhalt|m|guman=erê}}, {{W+|de|anstecken|guman=erê}} * {{Z|ar}}: {{W-|ar|الإحتواء|guman=erê}}, {{W-|ar|الإحتیاز|guman=erê}}, {{W-|ar|الإشتمال|guman=erê}}, {{W-|ar|الشمول|guman=erê}} * {{Z|fa}}: {{W+|fa|اشغال کردن}}, {{W+|fa|برقرار کردن}}, {{W-|fa|تصاحب کردن}}, {{W+|fa|فتح کردن}}, {{W-|fa|کار گذاشتن}}, {{W+|fa|نصب کردن}} * {{Z|en}}: {{W+|en|spread}}, {{W+|en|conquer}}, {{W+|en|usurp}}, {{W+|en|reave}}, {{W+|en|infect|guman=erê}}, {{W+|en|catch on|guman=erê}}, {{W+|en|come down with|guman=erê}}, {{W+|en|win back|guman=erê}} * {{Z|tr}}: {{W+|tr|istila etmek}}, {{W+|tr|işgal etmek}}, {{W+|tr|kurmak}}, {{W+|tr|tutmak}}, {{W+|tr|kapsamak}}, {{W+|tr|germek}}, {{W-|tr|zabt etmek}}, {{W-|tr|işgal et­mek|guman=erê}}, {{W+|tr|köklemek|guman=erê}}, {{W+|tr|örmek|guman=erê}} {{werger-bin}} === Navdêr === {{ku-tewîn-nav|vegirtin|mê}} {{navdêr|ku|z=m}} # [[zeftkirin]], [[girtin]], [[bernedan]] #* {{bêmînak|ku}} ==== Etîmolojî ==== Ji {{qertaf|ku|ve-|girtin}}. ==== Werger ==== {{werger-ser}} * {{Z|en}}: {{W+|en|catching}}, {{W+|en|contagiousness|guman=erê}}, {{W+|en|invasion}}, {{W+|en|seizure}} * {{Z|tr}}: {{W+|tr|kurma}}, {{W+|tr|tutma}}, {{W+|tr|kapsama}}, {{W+|tr|germe}}, {{W+|tr|örme}}, {{W+|tr|zabt}}, {{W-|tr|zabt etme}}, {{W-|tr|işgal et­me}}, {{W+|tr|kökleme|guman=erê}}, {{W+|tr|bulaşıcı|guman=erê}} {{werger-bin}} m77y63vxb9b7ukib5jkv6vchiwynlq3 6237067 6237066 2026-06-04T02:32:40Z Kawarizgar1 14836 6237067 wikitext text/x-wiki == {{ziman|ku}} == === Bilêvkirin === * {{ku-IPA}} * {{kîte|ku|ve|gir|tin}} === Lêker === {{ku-tewîn-lk|vegirtin|form=gerguhêz|niha=gir|borî=girt|pêşgir=ve}} {{lêker|ku|c=p-gh}} # [[zeft]] kirin, [[girtin]], [[neberdan]] #* {{jêder|ku|jêgirtin=Her ku dianî bîra xwe, wekî ku birûskin bedin li çolên hundirê wî, canê wî, ruhê wî dilerizî. Wekî ku ruhê wî bi temamî ji aliyê dîmena wê ve hatibe boyaxkirin, wekî ku her dera wî hatibe '''vegirtin'''.|{{Jêgirtin/Mîran Janbar/Qolyeya Cecileê|r=46}}}} #* Min vegirt pirtûka ku te firande min # [[dagir]] kirin, [[îşgal]] kirin #* {{bêmînak|ku}} # [[êş]]a ku li kesekî heyî [[gihiştin]] kesên din jî #:''AIDS êşek e ku dikare ji mirovekî yên din jî '''vegire'''.'' # [[dîsan]] [[girtin]] #* {{bêmînak|ku}} # [[hunandin]], [[kezî kirin]] #: ''Ez carinan porê xwe '''vedigirim''', carinan jî berdidim ser navmilên xwe.'' # [[kelijîn]] , [[homojen bûn]] Heta ku xerc ava xwe vegirt raweste ==== Bi alfabeyên din ==== * {{ku-ar|ڤه‌گرتن}} ==== Tewîn ==== ''Lêker'': : ve-gir- ==== Bide ber ==== * [[bergirtin]] * [[dagirtin]] * [[hilgirtin]] * [[ragirtin]] * [[wergirtin]] ==== Jê ==== * [[vegir]] * [[vegirî]] * [[vegirtî]] ==== Etîmolojî ==== Ji {{qertaf|ku|ve-|girtin}}. ==== Werger ==== {{werger-ser}} * {{Z|de}}: {{W+|de|einnehmen}}, {{W+|de|erobern}}, {{W+|de|greifen}}, {{W+|de|fangen}}, {{W+|de|zurückerobern}}, {{W+|de|zurücknehmen}}, {{W+|de|zurückziehen}}, {{W+|de|Erhalt|m|guman=erê}}, {{W+|de|anstecken|guman=erê}} * {{Z|ar}}: {{W-|ar|الإحتواء|guman=erê}}, {{W-|ar|الإحتیاز|guman=erê}}, {{W-|ar|الإشتمال|guman=erê}}, {{W-|ar|الشمول|guman=erê}} * {{Z|fa}}: {{W+|fa|اشغال کردن}}, {{W+|fa|برقرار کردن}}, {{W-|fa|تصاحب کردن}}, {{W+|fa|فتح کردن}}, {{W-|fa|کار گذاشتن}}, {{W+|fa|نصب کردن}} * {{Z|en}}: {{W+|en|spread}}, {{W+|en|conquer}}, {{W+|en|usurp}}, {{W+|en|reave}}, {{W+|en|infect|guman=erê}}, {{W+|en|catch on|guman=erê}}, {{W+|en|come down with|guman=erê}}, {{W+|en|win back|guman=erê}} * {{Z|tr}}: {{W+|tr|istila etmek}}, {{W+|tr|işgal etmek}}, {{W+|tr|kurmak}}, {{W+|tr|tutmak}}, {{W+|tr|kapsamak}}, {{W+|tr|germek}}, {{W-|tr|zabt etmek}}, {{W-|tr|işgal et­mek|guman=erê}}, {{W+|tr|köklemek|guman=erê}}, {{W+|tr|örmek|guman=erê}} {{werger-bin}} === Navdêr === {{ku-tewîn-nav|vegirtin|mê}} {{navdêr|ku|z=m}} # [[zeftkirin]], [[girtin]], [[bernedan]] #* {{bêmînak|ku}} ==== Etîmolojî ==== Ji {{qertaf|ku|ve-|girtin}}. ==== Werger ==== {{werger-ser}} * {{Z|en}}: {{W+|en|catching}}, {{W+|en|contagiousness|guman=erê}}, {{W+|en|invasion}}, {{W+|en|seizure}} * {{Z|tr}}: {{W+|tr|kurma}}, {{W+|tr|tutma}}, {{W+|tr|kapsama}}, {{W+|tr|germe}}, {{W+|tr|örme}}, {{W+|tr|zabt}}, {{W-|tr|zabt etme}}, {{W-|tr|işgal et­me}}, {{W+|tr|kökleme|guman=erê}}, {{W+|tr|bulaşıcı|guman=erê}} {{werger-bin}} r7c64spfe5y1pzh561f1r82bzqd2gjr 6237068 6237067 2026-06-04T02:33:23Z Kawarizgar1 14836 6237068 wikitext text/x-wiki == {{ziman|ku}} == === Bilêvkirin === * {{ku-IPA}} * {{kîte|ku|ve|gir|tin}} === Lêker === {{ku-tewîn-lk|vegirtin|form=gerguhêz|niha=gir|borî=girt|pêşgir=ve}} {{lêker|ku|c=p-gh}} # [[zeft]] kirin, [[girtin]], [[neberdan]] #* {{jêder|ku|jêgirtin=Her ku dianî bîra xwe, wekî ku birûskin bedin li çolên hundirê wî, canê wî, ruhê wî dilerizî. Wekî ku ruhê wî bi temamî ji aliyê dîmena wê ve hatibe boyaxkirin, wekî ku her dera wî hatibe '''vegirtin'''.|{{Jêgirtin/Mîran Janbar/Qolyeya Cecileê|r=46}}}} #* Min vegirt pirtûka ku te firande min # [[dagir]] kirin, [[îşgal]] kirin #* {{bêmînak|ku}} # [[êş]]a ku li kesekî heyî [[gihiştin]] kesên din jî #:''AIDS êşek e ku dikare ji mirovekî yên din jî '''vegire'''.'' # [[dîsan]] [[girtin]] #* {{bêmînak|ku}} # [[hunandin]], [[kezî kirin]] #: ''Ez carinan porê xwe '''vedigirim''', carinan jî berdidim ser navmilên xwe.'' # [[kelijîn]] , [[homojen bûn]] #: Heta ku xerc ava xwe vegirt raweste ==== Bi alfabeyên din ==== * {{ku-ar|ڤه‌گرتن}} ==== Tewîn ==== ''Lêker'': : ve-gir- ==== Bide ber ==== * [[bergirtin]] * [[dagirtin]] * [[hilgirtin]] * [[ragirtin]] * [[wergirtin]] ==== Jê ==== * [[vegir]] * [[vegirî]] * [[vegirtî]] ==== Etîmolojî ==== Ji {{qertaf|ku|ve-|girtin}}. ==== Werger ==== {{werger-ser}} * {{Z|de}}: {{W+|de|einnehmen}}, {{W+|de|erobern}}, {{W+|de|greifen}}, {{W+|de|fangen}}, {{W+|de|zurückerobern}}, {{W+|de|zurücknehmen}}, {{W+|de|zurückziehen}}, {{W+|de|Erhalt|m|guman=erê}}, {{W+|de|anstecken|guman=erê}} * {{Z|ar}}: {{W-|ar|الإحتواء|guman=erê}}, {{W-|ar|الإحتیاز|guman=erê}}, {{W-|ar|الإشتمال|guman=erê}}, {{W-|ar|الشمول|guman=erê}} * {{Z|fa}}: {{W+|fa|اشغال کردن}}, {{W+|fa|برقرار کردن}}, {{W-|fa|تصاحب کردن}}, {{W+|fa|فتح کردن}}, {{W-|fa|کار گذاشتن}}, {{W+|fa|نصب کردن}} * {{Z|en}}: {{W+|en|spread}}, {{W+|en|conquer}}, {{W+|en|usurp}}, {{W+|en|reave}}, {{W+|en|infect|guman=erê}}, {{W+|en|catch on|guman=erê}}, {{W+|en|come down with|guman=erê}}, {{W+|en|win back|guman=erê}} * {{Z|tr}}: {{W+|tr|istila etmek}}, {{W+|tr|işgal etmek}}, {{W+|tr|kurmak}}, {{W+|tr|tutmak}}, {{W+|tr|kapsamak}}, {{W+|tr|germek}}, {{W-|tr|zabt etmek}}, {{W-|tr|işgal et­mek|guman=erê}}, {{W+|tr|köklemek|guman=erê}}, {{W+|tr|örmek|guman=erê}} {{werger-bin}} === Navdêr === {{ku-tewîn-nav|vegirtin|mê}} {{navdêr|ku|z=m}} # [[zeftkirin]], [[girtin]], [[bernedan]] #* {{bêmînak|ku}} ==== Etîmolojî ==== Ji {{qertaf|ku|ve-|girtin}}. ==== Werger ==== {{werger-ser}} * {{Z|en}}: {{W+|en|catching}}, {{W+|en|contagiousness|guman=erê}}, {{W+|en|invasion}}, {{W+|en|seizure}} * {{Z|tr}}: {{W+|tr|kurma}}, {{W+|tr|tutma}}, {{W+|tr|kapsama}}, {{W+|tr|germe}}, {{W+|tr|örme}}, {{W+|tr|zabt}}, {{W-|tr|zabt etme}}, {{W-|tr|işgal et­me}}, {{W+|tr|kökleme|guman=erê}}, {{W+|tr|bulaşıcı|guman=erê}} {{werger-bin}} it56gxn13eqxufbadvkg7kcm13akrd6 6237069 6237068 2026-06-04T02:34:52Z Kawarizgar1 14836 /* Lêker */ 6237069 wikitext text/x-wiki == {{ziman|ku}} == === Bilêvkirin === * {{ku-IPA}} * {{kîte|ku|ve|gir|tin}} === Lêker === {{ku-tewîn-lk|vegirtin|form=gerguhêz|niha=gir|borî=girt|pêşgir=ve}} {{lêker|ku|c=p-gh}} # [[zeft]] kirin, [[girtin]], [[neberdan]] #* {{jêder|ku|jêgirtin=Her ku dianî bîra xwe, wekî ku birûskin bedin li çolên hundirê wî, canê wî, ruhê wî dilerizî. Wekî ku ruhê wî bi temamî ji aliyê dîmena wê ve hatibe boyaxkirin, wekî ku her dera wî hatibe '''vegirtin'''.|{{Jêgirtin/Mîran Janbar/Qolyeya Cecileê|r=46}}}} #* Min vegirt pirtûka ku te firande min # [[dagir]] kirin, [[îşgal]] kirin #* {{bêmînak|ku}} # [[êş]]a ku li kesekî heyî [[gihiştin]] kesên din jî #:''AIDS êşek e ku dikare ji mirovekî yên din jî '''vegire'''.'' # [[dîsan]] [[girtin]] #* {{bêmînak|ku}} # [[hunandin]], [[kezî kirin]] #: ''Ez carinan porê xwe '''vedigirim''', carinan jî berdidim ser navmilên xwe.'' # [[kelijîn]] , [[homojen bûn]] #: Heta ku xerc ava xwe vegirt raweste #: Heta ku pudingên me şîra xwe vebigirin bikilînin ==== Bi alfabeyên din ==== * {{ku-ar|ڤه‌گرتن}} ==== Tewîn ==== ''Lêker'': : ve-gir- ==== Bide ber ==== * [[bergirtin]] * [[dagirtin]] * [[hilgirtin]] * [[ragirtin]] * [[wergirtin]] ==== Jê ==== * [[vegir]] * [[vegirî]] * [[vegirtî]] ==== Etîmolojî ==== Ji {{qertaf|ku|ve-|girtin}}. ==== Werger ==== {{werger-ser}} * {{Z|de}}: {{W+|de|einnehmen}}, {{W+|de|erobern}}, {{W+|de|greifen}}, {{W+|de|fangen}}, {{W+|de|zurückerobern}}, {{W+|de|zurücknehmen}}, {{W+|de|zurückziehen}}, {{W+|de|Erhalt|m|guman=erê}}, {{W+|de|anstecken|guman=erê}} * {{Z|ar}}: {{W-|ar|الإحتواء|guman=erê}}, {{W-|ar|الإحتیاز|guman=erê}}, {{W-|ar|الإشتمال|guman=erê}}, {{W-|ar|الشمول|guman=erê}} * {{Z|fa}}: {{W+|fa|اشغال کردن}}, {{W+|fa|برقرار کردن}}, {{W-|fa|تصاحب کردن}}, {{W+|fa|فتح کردن}}, {{W-|fa|کار گذاشتن}}, {{W+|fa|نصب کردن}} * {{Z|en}}: {{W+|en|spread}}, {{W+|en|conquer}}, {{W+|en|usurp}}, {{W+|en|reave}}, {{W+|en|infect|guman=erê}}, {{W+|en|catch on|guman=erê}}, {{W+|en|come down with|guman=erê}}, {{W+|en|win back|guman=erê}} * {{Z|tr}}: {{W+|tr|istila etmek}}, {{W+|tr|işgal etmek}}, {{W+|tr|kurmak}}, {{W+|tr|tutmak}}, {{W+|tr|kapsamak}}, {{W+|tr|germek}}, {{W-|tr|zabt etmek}}, {{W-|tr|işgal et­mek|guman=erê}}, {{W+|tr|köklemek|guman=erê}}, {{W+|tr|örmek|guman=erê}} {{werger-bin}} === Navdêr === {{ku-tewîn-nav|vegirtin|mê}} {{navdêr|ku|z=m}} # [[zeftkirin]], [[girtin]], [[bernedan]] #* {{bêmînak|ku}} ==== Etîmolojî ==== Ji {{qertaf|ku|ve-|girtin}}. ==== Werger ==== {{werger-ser}} * {{Z|en}}: {{W+|en|catching}}, {{W+|en|contagiousness|guman=erê}}, {{W+|en|invasion}}, {{W+|en|seizure}} * {{Z|tr}}: {{W+|tr|kurma}}, {{W+|tr|tutma}}, {{W+|tr|kapsama}}, {{W+|tr|germe}}, {{W+|tr|örme}}, {{W+|tr|zabt}}, {{W-|tr|zabt etme}}, {{W-|tr|işgal et­me}}, {{W+|tr|kökleme|guman=erê}}, {{W+|tr|bulaşıcı|guman=erê}} {{werger-bin}} mmioah84aer43gwht86zoao2unldlzf 6237070 6237069 2026-06-04T02:37:45Z Kawarizgar1 14836 /* Lêker */ 6237070 wikitext text/x-wiki == {{ziman|ku}} == === Bilêvkirin === * {{ku-IPA}} * {{kîte|ku|ve|gir|tin}} === Lêker === {{ku-tewîn-lk|vegirtin|form=gerguhêz|niha=gir|borî=girt|pêşgir=ve}} {{lêker|ku|c=p-gh}} # [[zeft]] kirin, [[girtin]], [[neberdan]] #* {{jêder|ku|jêgirtin=Her ku dianî bîra xwe, wekî ku birûskin bedin li çolên hundirê wî, canê wî, ruhê wî dilerizî. Wekî ku ruhê wî bi temamî ji aliyê dîmena wê ve hatibe boyaxkirin, wekî ku her dera wî hatibe '''vegirtin'''.|{{Jêgirtin/Mîran Janbar/Qolyeya Cecileê|r=46}}}} #* Min vegirt pirtûka ku te firande min # [[dagir]] kirin, [[îşgal]] kirin #* {{bêmînak|ku}} # [[êş]]a ku li kesekî heyî [[gihiştin]] kesên din jî #:''AIDS êşek e ku dikare ji mirovekî yên din jî '''vegire'''.'' # [[dîsan]] [[girtin]] #* {{bêmînak|ku}} # [[hunandin]], [[kezî kirin]] #: ''Ez carinan porê xwe '''vedigirim''', carinan jî berdidim ser navmilên xwe.'' # [[kelijîn]] , [[homojen bûn]] #: Heta ku xerc ava xwe vegirt raweste #: Heta ku pudingên me şîra xwe vebigirin bikilînin #: Dewê av kêm vegirtiye bihejîne #: Heger mast avê vebigirin dibin dew ==== Bi alfabeyên din ==== * {{ku-ar|ڤه‌گرتن}} ==== Tewîn ==== ''Lêker'': : ve-gir- ==== Bide ber ==== * [[bergirtin]] * [[dagirtin]] * [[hilgirtin]] * [[ragirtin]] * [[wergirtin]] ==== Jê ==== * [[vegir]] * [[vegirî]] * [[vegirtî]] ==== Etîmolojî ==== Ji {{qertaf|ku|ve-|girtin}}. ==== Werger ==== {{werger-ser}} * {{Z|de}}: {{W+|de|einnehmen}}, {{W+|de|erobern}}, {{W+|de|greifen}}, {{W+|de|fangen}}, {{W+|de|zurückerobern}}, {{W+|de|zurücknehmen}}, {{W+|de|zurückziehen}}, {{W+|de|Erhalt|m|guman=erê}}, {{W+|de|anstecken|guman=erê}} * {{Z|ar}}: {{W-|ar|الإحتواء|guman=erê}}, {{W-|ar|الإحتیاز|guman=erê}}, {{W-|ar|الإشتمال|guman=erê}}, {{W-|ar|الشمول|guman=erê}} * {{Z|fa}}: {{W+|fa|اشغال کردن}}, {{W+|fa|برقرار کردن}}, {{W-|fa|تصاحب کردن}}, {{W+|fa|فتح کردن}}, {{W-|fa|کار گذاشتن}}, {{W+|fa|نصب کردن}} * {{Z|en}}: {{W+|en|spread}}, {{W+|en|conquer}}, {{W+|en|usurp}}, {{W+|en|reave}}, {{W+|en|infect|guman=erê}}, {{W+|en|catch on|guman=erê}}, {{W+|en|come down with|guman=erê}}, {{W+|en|win back|guman=erê}} * {{Z|tr}}: {{W+|tr|istila etmek}}, {{W+|tr|işgal etmek}}, {{W+|tr|kurmak}}, {{W+|tr|tutmak}}, {{W+|tr|kapsamak}}, {{W+|tr|germek}}, {{W-|tr|zabt etmek}}, {{W-|tr|işgal et­mek|guman=erê}}, {{W+|tr|köklemek|guman=erê}}, {{W+|tr|örmek|guman=erê}} {{werger-bin}} === Navdêr === {{ku-tewîn-nav|vegirtin|mê}} {{navdêr|ku|z=m}} # [[zeftkirin]], [[girtin]], [[bernedan]] #* {{bêmînak|ku}} ==== Etîmolojî ==== Ji {{qertaf|ku|ve-|girtin}}. ==== Werger ==== {{werger-ser}} * {{Z|en}}: {{W+|en|catching}}, {{W+|en|contagiousness|guman=erê}}, {{W+|en|invasion}}, {{W+|en|seizure}} * {{Z|tr}}: {{W+|tr|kurma}}, {{W+|tr|tutma}}, {{W+|tr|kapsama}}, {{W+|tr|germe}}, {{W+|tr|örme}}, {{W+|tr|zabt}}, {{W-|tr|zabt etme}}, {{W-|tr|işgal et­me}}, {{W+|tr|kökleme|guman=erê}}, {{W+|tr|bulaşıcı|guman=erê}} {{werger-bin}} ttx8joyl5bxzoihhxhn5xbivdy11nd8 6237071 6237070 2026-06-04T02:46:33Z Kawarizgar1 14836 /* Lêker */ 6237071 wikitext text/x-wiki == {{ziman|ku}} == === Bilêvkirin === * {{ku-IPA}} * {{kîte|ku|ve|gir|tin}} === Lêker === {{ku-tewîn-lk|vegirtin|form=gerguhêz|niha=gir|borî=girt|pêşgir=ve}} {{lêker|ku|c=p-gh}} # [[zeft]] kirin, [[girtin]], [[neberdan]] #* {{jêder|ku|jêgirtin=Her ku dianî bîra xwe, wekî ku birûskin bedin li çolên hundirê wî, canê wî, ruhê wî dilerizî. Wekî ku ruhê wî bi temamî ji aliyê dîmena wê ve hatibe boyaxkirin, wekî ku her dera wî hatibe '''vegirtin'''.|{{Jêgirtin/Mîran Janbar/Qolyeya Cecileê|r=46}}}} #* Golika revîyayî me vegirt #* Min vegirt pirtûka ku te firande min #* Pirtûkê nefirîne! bide destê min ez naşêm vebigirim # [[dagir]] kirin, [[îşgal]] kirin #: Çend bajar di şerî de hatine vegirtinê #* {{bêmînak|ku}} # [[êş]]a ku li kesekî heyî [[gihiştin]] kesên din jî #:''AIDS êşek e ku dikare ji mirovekî yên din jî '''vegire'''.'' #: Te nexweşî ji kê vegiŕt? # [[dîsan]] [[girtin]] #* {{bêmînak|ku}} # [[hunandin]], [[kezî kirin]] #: ''Ez carinan porê xwe '''vedigirim''', carinan jî berdidim ser navmilên xwe.'' # [[kelijîn]] , [[homojen bûn]] #: Heta ku xerc ava xwe vegirt raweste #: Heta ku pudingên me şîra xwe vebigirin bikilînin #: Dewê av kêm vegirtiye bihejîne #: Heger mast avê vebigirin dibin dew #: Kincê min qìrêjî vegirtiye naşêm bi der bixim #: Deq vegirtî ne bi çermê ve #: Gustîlkê pêçîyê min vegirtiye ==== Bi alfabeyên din ==== * {{ku-ar|ڤه‌گرتن}} ==== Tewîn ==== ''Lêker'': : ve-gir- ==== Bide ber ==== * [[bergirtin]] * [[dagirtin]] * [[hilgirtin]] * [[ragirtin]] * [[wergirtin]] ==== Jê ==== * [[vegir]] * [[vegirî]] * [[vegirtî]] ==== Etîmolojî ==== Ji {{qertaf|ku|ve-|girtin}}. ==== Werger ==== {{werger-ser}} * {{Z|de}}: {{W+|de|einnehmen}}, {{W+|de|erobern}}, {{W+|de|greifen}}, {{W+|de|fangen}}, {{W+|de|zurückerobern}}, {{W+|de|zurücknehmen}}, {{W+|de|zurückziehen}}, {{W+|de|Erhalt|m|guman=erê}}, {{W+|de|anstecken|guman=erê}} * {{Z|ar}}: {{W-|ar|الإحتواء|guman=erê}}, {{W-|ar|الإحتیاز|guman=erê}}, {{W-|ar|الإشتمال|guman=erê}}, {{W-|ar|الشمول|guman=erê}} * {{Z|fa}}: {{W+|fa|اشغال کردن}}, {{W+|fa|برقرار کردن}}, {{W-|fa|تصاحب کردن}}, {{W+|fa|فتح کردن}}, {{W-|fa|کار گذاشتن}}, {{W+|fa|نصب کردن}} * {{Z|en}}: {{W+|en|spread}}, {{W+|en|conquer}}, {{W+|en|usurp}}, {{W+|en|reave}}, {{W+|en|infect|guman=erê}}, {{W+|en|catch on|guman=erê}}, {{W+|en|come down with|guman=erê}}, {{W+|en|win back|guman=erê}} * {{Z|tr}}: {{W+|tr|istila etmek}}, {{W+|tr|işgal etmek}}, {{W+|tr|kurmak}}, {{W+|tr|tutmak}}, {{W+|tr|kapsamak}}, {{W+|tr|germek}}, {{W-|tr|zabt etmek}}, {{W-|tr|işgal et­mek|guman=erê}}, {{W+|tr|köklemek|guman=erê}}, {{W+|tr|örmek|guman=erê}} {{werger-bin}} === Navdêr === {{ku-tewîn-nav|vegirtin|mê}} {{navdêr|ku|z=m}} # [[zeftkirin]], [[girtin]], [[bernedan]] #* {{bêmînak|ku}} ==== Etîmolojî ==== Ji {{qertaf|ku|ve-|girtin}}. ==== Werger ==== {{werger-ser}} * {{Z|en}}: {{W+|en|catching}}, {{W+|en|contagiousness|guman=erê}}, {{W+|en|invasion}}, {{W+|en|seizure}} * {{Z|tr}}: {{W+|tr|kurma}}, {{W+|tr|tutma}}, {{W+|tr|kapsama}}, {{W+|tr|germe}}, {{W+|tr|örme}}, {{W+|tr|zabt}}, {{W-|tr|zabt etme}}, {{W-|tr|işgal et­me}}, {{W+|tr|kökleme|guman=erê}}, {{W+|tr|bulaşıcı|guman=erê}} {{werger-bin}} a6xo2kqwav6monh2malkugpynn6f2n0 bi dest ketin 0 244919 6237075 6140691 2026-06-04T03:23:49Z Kawarizgar1 14836 /* Lêker */ 6237075 wikitext text/x-wiki {{bnr-n|bidestketin}} == {{ziman|ku}} == === Bilêvkirin === * {{ku-kîte}} === Lêker === {{lêker|c=b-ngh|ku}} # [[peyda]] bûn, [[hebûn]], [[mewcûd]] bûn, [[berdest]] bûn, hatin [[bidestxistin]]: #* {{jêder|ku|jêgirtin=Li Rojavayê Kurdistanê dolar buha bûye, şekir '''bi dest nakeve'''|Rudaw.net/kurmanci 5/2023}} #: Tu tişt bi dest min neket #: Bi dest te maseyên nû ketiye? ==== Herwiha ==== * [[bi dest keftin]] ==== Jê ==== * {{mj|navdêr}} [[bidestketin]] * {{mj|rengdêr}} [[bidestketî]] ==== Têkildar ==== * [[bi dest xistin]] ==== Etîmolojî ==== Ji {{heve|ku|[[bi]] + [[dest]]|ketin}}. ==== Werger ==== {{werger-ser}} * {{Z|de}}: {{W+|de|verfangen}}, {{W+|de|verfallen|guman=erê}} * {{Z|ar}}: {{W+|ar|وفر}}, {{W-|ar|متوفر}}, {{W-|ar|حصل}} * {{Z|en}}: to {{W+|en|find}}, to {{W+|en|gain}}, to {{W+|en|achieve}}, to {{W+|en|get}}, {{W+|en|come by|guman=erê}}, {{W+|en|procure|guman=erê}} {{werger-bin}} efyeszec522pg2hbqn1pro5s58wz67x çima ku 0 450008 6237058 5828114 2026-06-03T15:33:51Z Kawarizgar1 14836 6237058 wikitext text/x-wiki == {{ziman|ku}} == === Mane === {{cure?|ku}} # [[bona ku]], [[çiku]], [[ji ber]] #: çima ku te rê venekir mirov derbas nebûn #: çima ku hêrs bû nedizanî çi bikiraya #: Ez nehatim çima ku karên min hebûn #: Tî ye çima ku av venexwar #: çima ku ez derd nedikirim bersiv nedida #: çima ku kar hene zûtir were ==== Etîmolojî ==== Ji {{heve|ku|çima|ku}}. ==== Werger ==== {{werger-ser}} * {{Z|de}}: {{W-|de|Da}}, {{W+|de|dabei}}, {{W+|de|infolge}}, {{W+|de|weil}}, {{W+|de|indem|guman=erê}} * {{Z|fa}}: {{W-|fa|برای اینکه}} {{werger-bin}} {{kontrol}} 6u8q7wt4kcnelmfec9dmcqkn4osm79g 6237059 6237058 2026-06-03T16:52:00Z Ghybu 1393 6237059 wikitext text/x-wiki == {{ziman|ku}} == === Girêdek === {{girêdek|ku}} # [[bona ku]], [[çiku]], [[ji ber]] #: {{mk|ku|'''Çima ku''' te rê venekir mirov derbas nebûn.}} #: {{mk|ku|'''Çima ku''' hêrs bû nedizanî çi bikiraya.}} #: {{mk|ku|Ez nehatim '''çima ku''' karên min hebûn.}} #: {{mk|ku|Tî ye '''çima ku''' av venexwar.}} #: {{mk|ku|'''Çima ku''' ez derd nedikirim bersiv nedida.}} #: {{mk|ku|'''Çima ku''' kar hene zûtir were.}} #* {{bêmînak|ku}} ==== Etîmolojî ==== Ji {{heve|ku|çima|ku}}. ==== Werger ==== {{werger-ser}} * {{Z|de}}: {{W-|de|Da}}, {{W+|de|dabei}}, {{W+|de|infolge}}, {{W+|de|weil}}, {{W+|de|indem|guman=erê}} * {{Z|fa}}: {{W-|fa|برای اینکه}} {{werger-bin}} {{kontrol}} ta03j125dzs4x801v4chvia0gwpkes7 Modul:ku-tewandin 828 628614 6237060 6236981 2026-06-03T17:32:24Z Ghybu 1393 6237060 Scribunto text/plain -- Modula tewandina lêkerên kurmancî local export = {} -- Load irregular forms table -- local irreg = require('Module:ku-tewandin/dijrêzik') local langKu = require("Modul:languages").getByCode("ku") local link = require('Module:links').language_link local shallowCopy = require("Module:table/shallowCopy") local deepCopy = require("Module:table/deepCopy") -- ============================================================================= -- Pronouns in Kurmanji -- ============================================================================= export.order = {"s1", "s2", "s3", "p1", "p2", "p3"} export.pronouns = { s1 = "ez", p1 = "em", s2 = "tu", p2 = "hûn", s3 = "ew", p3 = "ew" } export.obliquePronouns = { s1 = "min", p1 = "me", s2 = "te", p2 = "we", s3 = "wê/wî", p3 = "wan" } export.agents = { s1 = "te, wî/wê, we, wan", p1 = "te, wî/wê, we, wan", s2 = "min, wî/wê, me, wan", p2 = "min, wî/wê, me, wan", s3 = "min, te, wî/wê, me, we, wan", p3 = "min, te, wî/wê, me, we, wan" } -- Oblique pronoun (green) export.obliquePronounsGreen = { s1 = '<span style="color:green">min</span>', s2 = '<span style="color:green">te</span>', s3 = '<span style="color:green">wê/wî</span>', p1 = '<span style="color:green">me</span>', p2 = '<span style="color:green">we</span>', p3 = '<span style="color:green">wan</span>' } -- ───────────────────────────────────────────────────────────────────────────── -- 1) This function returns correct subject/agent pronoun, ergativity rule: -- - Transitive verbs in past tenses → oblique pronoun (green) = agent -- - All other cases → direct pronoun (no color) = subject -- 2) Also add the subjunctive prefix "(bila)" -- ───────────────────────────────────────────────────────────────────────────── function export.conjPronouns(stemType, mode, isTransitive) local pronouns = shallowCopy(export.pronouns) -- Ergativity in kurdish: transitive verbs that are conjugated with the past tense stem are -- conjugated according to the object, not the subject. -- Therefore, to have an ergative construction, -- the verb must be transitive and its stem must be the stem of the past tense. local isErgative = isTransitive and (stemType == 'past') -- If it's ergative, we use oblique pronouns: "min", "te", ... -- If it's not ergative, we use normal pronouns: "ez", "tu", ... if isErgative then pronouns = shallowCopy(export.obliquePronounsGreen) end -- For the subjunctive mood, we add "(bila)" at the beginning. if mode == 'subjunctive' then local subjPrefix = '<span style="color:gray">(bila)</span>' for _, pers in ipairs(export.order) do pronouns[pers] = subjPrefix .. ' ' .. pronouns[pers] end end return pronouns end -- ============================================================================= -- VERBAL STRUCTURE IN THE INFINITIVE: -- Verbs in the infinitive appear in three main forms: -- 1) Simple verb (indivisible light verb): -- - ex.: "kirin", "çûn", "xwarin", ... -- 2) Verbs with preverbs (preverb + simple verb): -- - ex.: "rakirin" (ra- + kirin), "çêkirin" (çê- + kirin), "vexwarin" (ve- + xwarin), ... -- - Preverb verbs don't use the prefix "bi-" (ez ê rakim , ew ê rake , ...) -- 3) Compound verbs, construction with non-verbal element (the noun is not attached to the verb): -- - Left of the simple verb: "hez kirin" ("hez" + "kirin"), "li dar xistin" ("li dar" + "xistin"), ... -- - Right of the simple verb: "kirin der" ("kirin" + "der"), "girtin ser xwe" ("girtin" + "ser xwe"), ... -- - Compound verbs use the prefix "bi-" (ez ê hez bi-kim , ew ê hez bi-ke ) -- STRUCTURE: preSimpleVerb + spacing + simpleVerb + postSimpleVerb -- EX. kirin: preSimpleVerb=''; spacing=false; simpleVerb='kirin'; postSimpleVerb='' -- rakirin: preSimpleVerb='ra'; spacing=false; simpleVerb='kirin'; postSimpleVerb='' -- hez kirin: preSimpleVerb='hez'; spacing=true; simpleVerb='kirin'; postSimpleVerb='' -- pev çûn: preSimpleVerb='pev'; spacing=true; simpleVerb='çûn'; postSimpleVerb='' -- kirin der: preSimpleVerb=''; spacing=false; simpleVerb='kirin'; postSimpleVerb='der' -- WARNING: Conjugation can vary depending on the type of verb. -- For example, in the future tense,the prefix "bi" is used for compound verbs, -- but not for preverbal verbs, see the function that manages it "tenseClassification" table. -- This table does not yet support the mixed case: a verb composed of a noun and a preverb verb. -- ============================================================================= function export.verbStruct(isCompoundVerb, preSimpleVerb) local struct if (preSimpleVerb and preSimpleVerb ~= '' and not isCompoundVerb) then struct = 'preverbVerb' elseif isCompoundVerb then struct = 'compoundVerb' else struct = 'simpleVerb' end return struct end -- ================================================================ -- INFLECTIONAL ENDINGS -- Assigns verb inflectional endings (suffixes) to all tenses -- ================================================================ local getEndings = {} do -- ─────────────────────────────────────────────────────────────── -- Ending using present stem -- ─────────────────────────────────────────────────────────────── getEndings['present'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1='m', s2='yî', s3='', p1='n', p2='n', p3='n'} else ends = {s1='im', s2='î', s3='e', p1='in', p2='in', p3='in'} end return ends end -- ─────────────────────────────────────────────────────────────── -- Ind. preterite + ind. imperfect ending -- ─────────────────────────────────────────────────────────────── getEndings['past'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiouû]$') then ends = {s1='m', s2='yî', s3='', p1='n', p2='n', p3='n'} elseif mw.ustring.match(stem, 'î$') then -- if self.name == 'indImperfect' then -- -- special indicative ind. imperfect rule -- ends = {s1='yam', s2='yayî', s3='ya', p1='yan', p2='yan', p3='yan'} -- end ends = {s1='m', s2='', s3='', p1='n', p2='n', p3='n'} else ends = {s1='im', s2='î', s3='', p1='in', p2='in', p3='in'} end return ends end -- ─────────────────────────────────────────────────────────────── -- Compound endings with auxiliary "bûn" -- Inflectional endings are created by taking the different forms of the -- verb "bûn" (with present stem "-b-" and past stem "-bû-") and -- adding an "i-" prefix before them: "i-b-im", "i-bû-m", "i-bû-me", "i-bû-ma". -- This "i-" varies according to the final letter of the verb stem. -- ─────────────────────────────────────────────────────────────── local function normalize_i(stem) local prfx_i = "i" if mw.ustring.match(stem, "ya$") or mw.ustring.match(stem, "[îû]$") then -- cf. karîn (-karî-) prfx_i = "" elseif mw.ustring.match(stem, '[aeêiou]$') then prfx_i = "yi" end return prfx_i end getEndings['ibim'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bim", p1 = prfx_i .. "bin", s2 = prfx_i .. "bî", p2 = prfx_i .. "bin", s3 = prfx_i .. "be", p3 = prfx_i .. "bin" } end getEndings['ibûm'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûm", p1 = prfx_i .. "bûn", s2 = prfx_i .. "bûyî", p2 = prfx_i .. "bûn", s3 = prfx_i .. "bû", p3 = prfx_i .. "bûn" } end getEndings['ibûme'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûme", p1 = prfx_i .. "bûne", s2 = prfx_i .. "bûyiye", p2 = prfx_i .. "bûne", s3 = prfx_i .. "bûye", p3 = prfx_i .. "bûne" } end getEndings['ibûma'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûma", p1 = prfx_i .. "bûna", s2 = prfx_i .. "bûyayî", p2 = prfx_i .. "bûna", s3 = prfx_i .. "bûya", p3 = prfx_i .. "bûna" } end -- ─────────────────────────────────────────────────────────────── -- Ind. perfect ending. -- ─────────────────────────────────────────────────────────────── getEndings['ime'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1="me", s2="yî", s3="ye", p1="ne", p2="ne", p3="ne"} else ends = {s1="ime", s2="iyî", s3="iye", p1="ine", p2="ine", p3="ine"} end return ends end -- ─────────────────────────────────────────────────────────────── -- Subj. Imperfect ending. -- ─────────────────────────────────────────────────────────────── getEndings['ama'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends -- The doublet in "-iyan" of verbs in -"în" (gerîn/-geriya-, kenîn/-keniya-, ...), -- in the conditional and subjunctive moods, a doublet "yaya" appears; it's removed. -- -yayayî → -yayî; -yaya → -ya if mw.ustring.match(stem, '(ya)$') then ends = {s1="ma", s2="yî", s3="", p1="na", p2="na", p3="na"} elseif mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1="ma", s2="yayî", s3="ya", p1="na", p2="na", p3="na"} else ends = {s1="ama", s2="ayî", s3="a", p1="ana", p2="ana", p3="ana"} end return ends end end -- ============================================================================= -- RULES FOR PREVERBS: "bi-" and "di-" -- There are two preverbs: "bi-" and "di-". These preverbs can change form -- depending on the first letters of the verb’s present stem or past stem. -- ============================================================================= local getPreverb = {} do getPreverb['bi'] = function (opts) opts = opts or {} local stem = opts.stem local verbStruct = opts.verbStruct local overrideBi = opts.overrideBi -- Preverb verbs don't use the preverb "bi-": ra-kirin (ez ê rakim), ve-xwarin (ez ê vexwim) , ... -- But compound verb and simple verbs use it: hez kirin (ez ê hez bi-kim), lê bigirin (ez ê lê bi-girim), ... if (verbStruct == 'preverbVerb') then return '' end if overrideBi then return overrideBi end -- if irreg.dijrezikBi[stem] then return irreg.dijrezikBi[stem] end -- Modification of the preverbe "bi-" according to the last letter of the stem. if mw.ustring.match(stem, '^[aeêiîouû]') then return 'b' end return 'bi' end getPreverb['di'] = function (opts) opts = opts or {} local stem = opts.stem local overrideDi = opts.overrideDi if overrideDi then return overrideDi end -- if irreg.dijrezikDi[stem] then return irreg.dijrezikDi[stem] end -- Modification of the preverbe "di-" according to the last letter of the stem. if mw.ustring.match(stem, '^[ai]') then return 'd' end -- Ex. hatin : stem = -ê- // ez têm if mw.ustring.match(stem, '^[êî]') then return 't' end return 'di' end end -- ============================================================================= -- RULES FOR NEGATION PREFIXES: "na-" and "ne-" -- There are two negation prefixes: "na-" and "ne-". These preverbs can change -- form depending on the first letters of the verb’s present stem or past stem. -- ============================================================================= local getNegPrefix = {} do getNegPrefix['na'] = function (opts) opts = opts or {} local stem = opts.stem local overrideNa = opts.overrideNa if overrideNa then return '<b>' .. overrideNa .. '</b>' end -- if irreg.dijrezikNa[stem] then return irreg.dijrezikNa[stem] end -- Add sufix "-y" before certain vowels. if mw.ustring.match(stem, '^[eêiîouû]') then return '<b>nay</b>' end -- Elision before stems beginning with "a-" (removal of the final "-e"). if mw.ustring.match(stem, '^a') then return '<b>n</b>' end -- Tîpa duyem "-a-" ye (k-a-rîn, z-a-nîn, ...) if mw.ustring.match(stem, '^%wa') then return '<b>ni</b>' end return '<b>na</b>' end getNegPrefix['ne'] = function (opts) opts = opts or {} local stem = opts.stem local tenseName = opts.tenseName local impNegForm = opts.impNegForm local overrideNe = opts.overrideNe if overrideNe then return '<b>' .. overrideNe .. '</b>' end -- if irreg.dijrezikNe[stem] then return irreg.dijrezikNe[stem] end local negPrefix = 'ne' -- There are two forms of construction of the imperative, -- one with the prefix "me-" and the other with the prefix "ne-". if (tenseName == 'impPresent') then negPrefix = (impNegForm == 2) and 'ne' or 'me' end -- Add sufix "-y" before certain vowels. if mw.ustring.match(stem, '^[eêiîouû]') then return '<b>' .. negPrefix .. 'y</b>' end -- Elision before stems beginning with "a-" (removal of the final "-e"). if mw.ustring.match(stem, '^a') then negPrefix = mw.ustring.sub(negPrefix, 1, -2) return '<b>' .. negPrefix .. '</b>' end return '<b>' .. negPrefix .. '</b>' end end -- ============================================================================= -- Standardization of the PREVERBAL PARTICLE -- The proverbial particle "ê" is placed after the personal pronoun. -- ============================================================================= -- If there are no verbal preparticles, return empty table. local function getPreverbParticules(preverbParticle, typeStem, isTransitive) if not preverbParticle then return {s1='', s2='', s3='', p1='', p2='', p3=''} end if preverbParticle == 'ê' then local isErgative = isTransitive and (typeStem == 'past') -- When the personal pronoun ends in a vowel, a "y-" is added before "ê". -- If it's ergative, we use oblique pronouns: "min", "te", ... if isErgative then return {s1='ê/dê', s2='yê/dê', s3='yê/dê', p1='yê/dê', p2='yê/dê', p3='ê/dê'} else return {s1='ê/dê', s2='yê/dê', s3='ê/dê', p1='ê/dê', p2='ê/dê', p3='ê/dê'} end end -- If the verbal preparticle is identical for all pronouns, -- we create a table with the same value. local preverbParticles = {} for _, pers in ipairs(export.order) do preverbParticles[pers] = preverbParticle end return preverbParticles end -- ============================================================================= -- RULES FOR CONSTRUCTING EACH VERB TENSE -- This table lists, for each verb tense, what elements are required to form it: -- - Verb conjugation is built by placing either the preverb "bi-" or "di-" before -- the verb stem (past or present), followed by a personal ending. -- - For the negative form, one of the prefixes "na-" or "ne-" is added as well. -- - In some cases, a preverbal particle such as /ê/ or /dê/ is added before -- the conjugated verb as well. -- Not: - The "negPreverb" (preverb (bi-/di-) for negative tenses) parameter has a -- value different from "nil" only for the Imperfect tense ("negPreverb=di"). -- - The parameter "negPrefix=na" is used only for the present indicative. -- -- Preverb "di", used in: "indPresent"(present stem), "indImperfect"(past stem) -- - Bo neyînî: pêşgira "di-" tenê di nav dema "IndImperfect" de tê bikaranîn. -- Preverb "bi", used in: "indFuture"(present stem), "subPresent"(present stem), -- "subImperfect"(past stem) = "condPresent"(past stem) -- - The prefix "bi-" isn't used in negative forms. -- -- Present stem, used in: "indPresent"(di)(na), -- "indFuture"(bi)(ne) = "subPresent"(bi)(ne) -- -- Past stem, used in: "indPreterite"(-)(ne), "indImperfect"(di)(ne), "indPluperfect"(-)(ne), -- "indPerfect"(-)(ne), "indNwPluperfect"(-)(ne), "indFuturePerfect"(-)(ne), -- "subPreterite"(-)(ne), -- "subImperfect"(bi)(ne) = "condPresent"(bi)(ne), -- "subPluperfect"(-)(ne) = "condPreterite"(-)(ne) -- ============================================================================= -- Some conjugations are identical except that they differ only in the preverbal particle (/ê/, /dê/). -- So, to avoid repeating the same information (and thus risking errors), -- we establish the common part shared between these verbs. local commonRules = { indFuture = { stem = "present", preverb = getPreverb['bi'], negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['present'] }, indFuturePerfect = { stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibim'] }, subImperfect = { stem = "past", preverb = getPreverb['bi'], negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ama'] }, subPluperfect = { stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûma'] } } local mt = { __index = function(t, k) local common = t._common if common then return common[k] end end } -- TENSE AND MOOD CLASSIFICATION TABLE export.tenseClassification = { -- IMPERATIVE MOOD impPresent = setmetatable({ name = "impPresent", nameKu = "raweya fermanî", nameEn = "present imperative", mode = "imperative", _common = commonRules.indFuture, preverbParticle = nil }, mt), -- INDICATIVE MOOD indPresent = { name = "indPresent", nameKu = "dema niha", nameEn = "present", mode = "indicative", stem = "present", preverb = getPreverb['di'], negPreverb = nil, negPrefix = getNegPrefix['na'], endings = getEndings['present'], preverbParticle = nil }, indPreterite = { name = "indPreterite", nameKu = "raboriya sade", nameEn = "simple past", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['past'], preverbParticle = nil }, indImperfect = { name = "indImperfect", nameKu = "raboriya berdest", nameEn = "Imperfect", mode = "indicative", stem = "past", preverb = getPreverb['di'], negPreverb = getPreverb['di'], negPrefix = getNegPrefix['ne'], endings = getEndings['past'], preverbParticle = nil }, indPluperfect = { name = "indPluperfect", nameKu = "raboriya dûr", nameEn = "pluperfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûm'], preverbParticle = nil }, indFuture = setmetatable({ name = "indFuture", nameKu = "dema bê", nameEn = "future", mode = "indicative", _common = commonRules.indFuture, preverbParticle = 'ê' }, mt), indFuturePerfect = setmetatable({ name = "indFuturePerfect", nameKu = "dahatiya pêş", nameEn = "future perfect", mode = "indicative", _common = commonRules.indFuturePerfect, preverbParticle = 'ê' }, mt), -- In some books, the "perfect" and "nonconfirmative pluperfect" tenses -- are classified in the "inferential mood" ("moda neşahidî"). -- Currently we classify them using the indicative mood (at the end). indPerfect = { name = "indPerfect", nameKu = "raboriya dûdar", nameEn = "perfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ime'], preverbParticle = nil }, indNwPluperfect = { name = "indNwPluperfect", nameKu = "çîrokiya boriya dûdar", nameEn = "non-witnessed pluperfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûme'], preverbParticle = nil }, -- SUBJUNCTIVE MOOD subjPresent = setmetatable({ name = "subjPresent", nameKu = "dema nihaya xwestekî", nameEn = "present subjunctive", mode = "subjunctive", _common = commonRules.indFuture, preverbParticle = nil }, mt), subjPreterite = setmetatable({ name = "subjPreterite", nameKu = "dema boriya xwestekî", nameEn = "preterite subjunctive", mode = "subjunctive", _common = commonRules.indFuturePerfect, preverbParticle = nil, }, mt), subjImperfect = setmetatable({ name = "subjImperfect", nameKu = "raboriya bilaniyê", nameEn = "imperfect subjunctive", mode = "subjunctive", _common = commonRules.subImperfect, preverbParticle = nil, }, mt), subjPluperfect = setmetatable({ name = "subjPluperfect", nameKu = "raboriya dûr a bilaniyê", nameEn = "pluperfect subjunctive", mode = "subjunctive", _common = commonRules.subPluperfect, preverbParticle = nil }, mt), -- CONDITIONAL MOOD condPresent = setmetatable({ name = "condPresent", nameKu = "çîrokiya dema nihaya mercî", nameEn = "present conditional", mode = "conditional", _common = commonRules.subImperfect, preverbParticle = 'ê' }, mt), condPreterite = setmetatable({ name = "condPreterite", nameKu = "dema boriya mercî", nameEn = "preterite conditional", mode = "conditional", _common = commonRules.subPluperfect, preverbParticle = 'ê' }, mt), } -- ============================================================================= -- MAIN CONJUGATION FUNCTOIN -- This function returns an array containing the conjugation table for a given -- tense as well as other information about the conjugated verb. -- ============================================================================= function export.conjugate(opts) opts = opts or {} -- Required parameters local tense = opts.tense or error("'tense' required", 2) --One of the two parameters is required: -- - If the tense uses the present stem, indicate "presentStem". -- - If it uses the past stem, indicate "pastStem". local presentStem = opts.presentStem local pastStem = opts.pastStem -- Optional parameters local isTransitive = opts.isTransitive or false -- Indicate if the verb is transitive (true/false) local isNegative = opts.isNegative or false -- Indicate if it's the negative form (true/false) local isCompoundVerb = opts.isCompoundVerb or false -- Indicate if it's a compound verb (true/false) local preSimpleVerb = opts.preSimpleVerb or '' -- The part before the simple verb local postSimpleVerb = opts.postSimpleVerb or '' -- The part after the simple verb -- These parameters are provided when the verb is irregular. -- Allows you to manually modify preverbs ("bi-"" or "di-") -- and negation prefixes ("na-" or "ne-") local overrideBi = opts.overrideBi or nil local overrideDi = opts.overrideDi or nil local overrideNa = opts.overrideNa or nil local overrideNe = opts.overrideNe or nil -- By default, the negation of the imperative is constructed from the prefix "me-"". -- To obtain the second variant, the prefix with "ne-", you must specify "impNegForm=2". local impNegForm = opts.impNegForm or nil -- Access to the classification table and retrieval of verb tense parameters local infoTense = deepCopy(export.tenseClassification[tense], 'copy') or false -- We check that this tense is indeed in table "tenseClassification". if (not infoTense) then return '<span style="color:red">Unknown tense: ' .. tense ..'</span>' end -- We check that one of the two parameters of the stem is given if (infoTense.stem == 'present' and not presentStem) then return '<span style="color:red">presentStem parameter required</span>' elseif (infoTense.stem == 'past' and not pastStem) then return '<span style="color:red">pasttStem parameter required</span>' end -- Choice between the present stem or past stem local stem = (infoTense.stem == 'present') and presentStem or pastStem --──────────────────────────── -- Conjugation construction -- -- ─────────────────────────── local preverb = '' local negPrefix = '' -- Ruturns the verb type: "simpleVerb" or "preverbVerb" or "compoundVerb" local verbStruct = export.verbStruct(isCompoundVerb, preSimpleVerb) if isNegative then negPrefix = infoTense.negPrefix{stem=stem, tenseName=tense, impNegForm=impNegForm, overrideNa=overrideNa, overrideNe=overrideNe} if infoTense.negPreverb then preverb = infoTense.negPreverb{stem=stem, verbStruct=verbStruct, overrideBi=overrideBi, overrideDi=overrideDi} end else if infoTense.preverb then preverb = infoTense.preverb{stem=stem, verbStruct=verbStruct, overrideBi=overrideBi, overrideDi=overrideDi} end end infoTense.conj = {} local spacing = isCompoundVerb and ' ' or '' local endings = infoTense:endings(stem) local preverbParticles = getPreverbParticules(infoTense.preverbParticle, infoTense.stem, isTransitive) local isErgative = isTransitive and (infoTense.stem == 'past') -- Creating the conjugation table for a given tense for _, pers in ipairs(export.order) do local ending local conjSimbleVerb local conjVerb if isErgative then ending = endings.s3 else ending = endings[pers] end -- Adding space after the preverbal particle local preverbParticle = preverbParticles[pers] if preverbParticle ~= '' then preverbParticle = preverbParticle .. ' ' end conjSimbleVerb = negPrefix .. preverb .. stem .. ending -- Adding prefixe and suffixe conjVerb = preSimpleVerb .. spacing .. conjSimbleVerb .. postSimpleVerb -- Spelling correction(îy -> iy) conjVerb = mw.ustring.gsub(conjVerb, 'îy', 'iy') -- Add a link conjVerb = link{term=conjVerb, lang=langKu} -- Addition of the preverbal particle infoTense.conj[pers] = preverbParticle .. conjVerb end -- Imperative if (infoTense.name == 'impPresent') then infoTense.conj.s1 = nil infoTense.conj.s2 = infoTense.conj.s3 infoTense.conj.s3 = nil infoTense.conj.p1 = nil --infoTense.conj.p2 = infoTense.conj.p2 infoTense.conj.p3 = nil end return infoTense end -- ============================================================================= -- END -- ============================================================================= -- Some useful tools -- ============================================================================= -- Returns the list of verb tenses export.tensesList = function() local list = {} for _, tense in pairs(export.tenseClassification) do table.insert(list, tense.name) end return list end -- Concatenation of pronouns and conjugated verbs -- (for a given conjugate tense in all persons of that tense) function export.concatPronomsVerbs(pronoms, conjVerbs) local concatTab = {} for _, pers in ipairs(export.order) do concatTab[pers] = pronoms[pers] .. ' ' .. conjVerbs[pers] end return concatTab end -- ============================================================================= -- ADDITIONAL STEM OF THE PAST AND PRESENT (pastStem2, ... and presentStem2, ...) -- This function does nothing more than add additional parameters for verb stems -- in the past and present tenses. -- Conjugations for the different stems will be separated by "/" -- ============================================================================= function export.conjugateLong(baseOpts, tense, presentStems, pastStems) local opts = baseOpts or {} opts.tense = tense or nil presentStems = presentStems or {} pastStems = pastStems or {} local infoTense = deepCopy(export.tenseClassification[tense], 'copy') or false -- We check that this tense is indeed in table "tenseClassification". if not infoTense then return '<span style="color:red">Unknown tense: ' .. tense ..'</span>' end local stems = (infoTense.stem == 'present') and presentStems or pastStems -- For each verb stem, its conjugation table is calculated and stored in conjTabs. local conjTabs = {} for i = 1, #stems do if stems[i] then if (infoTense.stem == 'past') then opts.pastStem = stems[i] end if (infoTense.stem == 'present') then opts.presentStem = stems[i] end local conj = export.conjugate(opts).conj table.insert(conjTabs, conj) end end -- We concatenate each row of the conjugation tables. local concatConjTabs = {} for _, pers in ipairs(export.order) do local frag = {} for i = 1, #conjTabs do local val = conjTabs[i][pers] if val then table.insert(frag, tostring(val)) end end concatConjTabs[pers] = table.concat(frag, " / ") end infoTense.conj = concatConjTabs return infoTense end -- ==================================================================================== -- VERB CONUGATION IN ALL TENSES WITH PRONOUMS -- ==================================================================================== function export.conjugateAllTenses(baseOpts, presentStems, pastStems, negation, concatPrs) local opts = baseOpts or {} if negation == 'negative' then opts.isNegative = true end -- Concatenation of pronouns and conjugated verbs local concatPronomsVerbs = export.concatPronomsVerbs -- Tenses list local tensesList = export.tensesList() -- Conjugation in all tenses local conjTab = {} for _, tense in ipairs(tensesList) do local infoTense = deepCopy(export.tenseClassification[tense], 'copy') -- We create the conjugation table without the pronouns. conjTab[tense] = deepCopy(export.conjugateLong(opts, tense, presentStems, pastStems), 'copy') -- We concatenate the pronouns and the verbs if "concatPrs" is different of "false" -- (no pronoun for the imperative mood) if (tense ~= 'impPresent' and concatPrs ~= false) then local pronoms = deepCopy(export.conjPronouns(infoTense.stem, infoTense.mode, opts.isTransitive)) conjTab[tense].conj = concatPronomsVerbs(pronoms, conjTab[tense].conj) end end return conjTab end -- ==================================================================================== -- Allows you to obtain a given conjugation from a model. -- Ex. in the template: {{#invoke:ku-tewandin|tew|dem=indPresent|kes=s1}} -- See {{ku-tewîn-lk-niha}} -- ==================================================================================== function export.tew(frame) local args = frame:getParent().args local baseOpts = { isNegative = frame.args['neyînî'] or false, isTransitive = args['form'], isCompoundVerb = args['valahî'] or false, preSimpleVerb = args['pêşgir'] or nil, postSimpleVerb = args['paşgir'] or nil, overrideBi = args['bi'] or nil, overrideDi = args['di'] or nil, overrideNa = args['na'] or nil, overrideNe = args['ne'] or nil, impNegForm = nil } local tense = frame.args['dem'] or nil local pers = frame.args['kes'] or nil local presentStems = {args['niha'], args['niha2'], args['niha3']} local pastStems = {args['borî'], args['borî2'], args['borî3']} -- A few checks if (baseOpts.isTransitive == 'gerguhêz') then baseOpts.isTransitive = true elseif (baseOpts.isTransitive == 'negerguhêz') then baseOpts.isTransitive = false else return '<span style="color:red">form = gerguhêz / negerguhêz</span>' end if (baseOpts.isCompoundVerb == 'erê') then baseOpts.isCompoundVerb = true else baseOpts.isCompoundVerb = false end if (baseOpts.isNegative == 'erê') then baseOpts.isNegative = true end local tabConj = export.conjugateLong(baseOpts, tense, presentStems, pastStems).conj return tabConj[pers] end -- ==================================================================================== -- GET COMMMA SEPARED FORMS -- Bnr. [[MediaWiki:Gadget-QQ.js]] -- ==================================================================================== function export.get_comma_separated_forms(frame) local opts = { presentStem = frame.args['niha'], pastStem = frame.args['borî'], isTransitive = false, isNegative = false, isCompoundVerb = frame['valahî'] or false, preSimpleVerb = frame['pêşgir'] or '', postSimpleVerb = frame['paşgir'] or '', overrideBi = frame['bi'] or nil, overrideDi = frame['di'] or nil, overrideNa = frame['na'] or nil, overrideNe = frame['ne'] or nil, impNegForm = nil, } local function removeTags(tag) tag = mw.ustring.gsub(tag, '%[%[(.+)%|(.+)%]%]', '%2') tag = mw.ustring.gsub(tag, '<b>(.+)</b>', '%1') tag = mw.ustring.gsub(tag, '<span(.*)>(.*)</span>', '%2') return tag end local function concateList(tenseList) local concatList = {} for _, pers in ipairs({"s1", "s2", "s3", "p1"}) do local tense = removeTags(tenseList[pers]) -- Remove tags table.insert(concatList, tense) end return table.concat(concatList, ",") end local tenseList = {'indPresent','indPreterite','indImperfect', 'indPluperfect','indPerfect','indNwPluperfect', 'indFuture','indFuturePerfect', 'subjImperfect','subjPluperfect' } local concatAllTense = {} for i = 1, #tenseList do local tense = tenseList[i] if export.tenseClassification[tense] then opts.tense = tense local conj = shallowCopy(export.conjugate(opts).conj) local concatTense = concateList(conj) table.insert(concatAllTense, concatTense) end end return table.concat(concatAllTense, ",") end return export hr5ux0ol00pl7qyrad5gtievmw01d20 6237076 6237060 2026-06-04T04:09:57Z Ghybu 1393 6237076 Scribunto text/plain -- Modula tewandina lêkerên kurmancî local export = {} -- Load irregular forms table -- local irreg = require('Module:ku-tewandin/dijrêzik') local langKu = require("Modul:languages").getByCode("ku") local link = require('Module:links').language_link local shallowCopy = require("Module:table/shallowCopy") local deepCopy = require("Module:table/deepCopy") -- ============================================================================= -- Pronouns in Kurmanji -- ============================================================================= export.order = {"s1", "s2", "s3", "p1", "p2", "p3"} export.pronouns = { s1 = "ez", p1 = "em", s2 = "tu", p2 = "hûn", s3 = "ew", p3 = "ew" } export.obliquePronouns = { s1 = "min", p1 = "me", s2 = "te", p2 = "we", s3 = "wê/wî", p3 = "wan" } export.agents = { s1 = "te, wî/wê, we, wan", p1 = "te, wî/wê, we, wan", s2 = "min, wî/wê, me, wan", p2 = "min, wî/wê, me, wan", s3 = "min, te, wî/wê, me, we, wan", p3 = "min, te, wî/wê, me, we, wan" } -- Oblique pronoun (green) export.obliquePronounsGreen = { s1 = '<span style="color:green">min</span>', s2 = '<span style="color:green">te</span>', s3 = '<span style="color:green">wê/wî</span>', p1 = '<span style="color:green">me</span>', p2 = '<span style="color:green">we</span>', p3 = '<span style="color:green">wan</span>' } -- ───────────────────────────────────────────────────────────────────────────── -- 1) This function returns correct subject/agent pronoun, ergativity rule: -- - Transitive verbs in past tenses → oblique pronoun (green) = agent -- - All other cases → direct pronoun (no color) = subject -- 2) Also add the subjunctive prefix "(bila)" -- ───────────────────────────────────────────────────────────────────────────── function export.conjPronouns(stemType, mode, isTransitive) local pronouns = shallowCopy(export.pronouns) -- Ergativity in kurdish: transitive verbs that are conjugated with the past tense stem are -- conjugated according to the object, not the subject. -- Therefore, to have an ergative construction, -- the verb must be transitive and its stem must be the stem of the past tense. local isErgative = isTransitive and (stemType == 'past') -- If it's ergative, we use oblique pronouns: "min", "te", ... -- If it's not ergative, we use normal pronouns: "ez", "tu", ... if isErgative then pronouns = shallowCopy(export.obliquePronounsGreen) end -- For the subjunctive mood, we add "(bila)" at the beginning. if mode == 'subjunctive' then local subjPrefix = '<span style="color:gray">(bila)</span>' for _, pers in ipairs(export.order) do pronouns[pers] = subjPrefix .. ' ' .. pronouns[pers] end end return pronouns end -- ============================================================================= -- VERBAL STRUCTURE IN THE INFINITIVE: -- Verbs in the infinitive appear in three main forms: -- 1) Simple verb (indivisible light verb): -- - ex.: "kirin", "çûn", "xwarin", ... -- 2) Verbs with preverbs (preverb + simple verb): -- - ex.: "rakirin" (ra- + kirin), "çêkirin" (çê- + kirin), "vexwarin" (ve- + xwarin), ... -- - Preverb verbs don't use the prefix "bi-" (ez ê rakim , ew ê rake , ...) -- 3) Compound verbs, construction with non-verbal element (the noun is not attached to the verb): -- - Left of the simple verb: "hez kirin" ("hez" + "kirin"), "li dar xistin" ("li dar" + "xistin"), ... -- - Right of the simple verb: "kirin der" ("kirin" + "der"), "girtin ser xwe" ("girtin" + "ser xwe"), ... -- - Compound verbs use the prefix "bi-" (ez ê hez bi-kim , ew ê hez bi-ke ) -- STRUCTURE: preSimpleVerb + spacing + simpleVerb + postSimpleVerb -- EX. kirin: preSimpleVerb=''; spacing=false; simpleVerb='kirin'; postSimpleVerb='' -- rakirin: preSimpleVerb='ra'; spacing=false; simpleVerb='kirin'; postSimpleVerb='' -- hez kirin: preSimpleVerb='hez'; spacing=true; simpleVerb='kirin'; postSimpleVerb='' -- pev çûn: preSimpleVerb='pev'; spacing=true; simpleVerb='çûn'; postSimpleVerb='' -- kirin der: preSimpleVerb=''; spacing=false; simpleVerb='kirin'; postSimpleVerb='der' -- WARNING: Conjugation can vary depending on the type of verb. -- For example, in the future tense,the prefix "bi" is used for compound verbs, -- but not for preverbal verbs, see the function that manages it "tenseRules" table. -- This table does not yet support the mixed case: a verb composed of a noun and a preverb verb. -- ============================================================================= function export.verbStruct(isCompoundVerb, preSimpleVerb) local struct if (preSimpleVerb and preSimpleVerb ~= '' and not isCompoundVerb) then struct = 'preverbVerb' elseif isCompoundVerb then struct = 'compoundVerb' else struct = 'simpleVerb' end return struct end -- ================================================================ -- INFLECTIONAL ENDINGS -- Assigns verb inflectional endings (suffixes) to all tenses -- ================================================================ local getEndings = {} do -- ─────────────────────────────────────────────────────────────── -- Ending using present stem -- ─────────────────────────────────────────────────────────────── getEndings['present'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1='m', s2='yî', s3='', p1='n', p2='n', p3='n'} else ends = {s1='im', s2='î', s3='e', p1='in', p2='in', p3='in'} end return ends end -- ─────────────────────────────────────────────────────────────── -- Ind. preterite + ind. imperfect ending -- ─────────────────────────────────────────────────────────────── getEndings['past'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiouû]$') then ends = {s1='m', s2='yî', s3='', p1='n', p2='n', p3='n'} elseif mw.ustring.match(stem, 'î$') then -- if self.name == 'indImperfect' then -- -- special indicative ind. imperfect rule -- ends = {s1='yam', s2='yayî', s3='ya', p1='yan', p2='yan', p3='yan'} -- end ends = {s1='m', s2='', s3='', p1='n', p2='n', p3='n'} else ends = {s1='im', s2='î', s3='', p1='in', p2='in', p3='in'} end return ends end -- ─────────────────────────────────────────────────────────────── -- Compound endings with auxiliary "bûn" -- Inflectional endings are created by taking the different forms of the -- verb "bûn" (with present stem "-b-" and past stem "-bû-") and -- adding an "i-" prefix before them: "i-b-im", "i-bû-m", "i-bû-me", "i-bû-ma". -- This "i-" varies according to the final letter of the verb stem. -- ─────────────────────────────────────────────────────────────── local function normalize_i(stem) local prfx_i = "i" if mw.ustring.match(stem, "ya$") or mw.ustring.match(stem, "[îû]$") then -- cf. karîn (-karî-) prfx_i = "" elseif mw.ustring.match(stem, '[aeêiou]$') then prfx_i = "yi" end return prfx_i end getEndings['ibim'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bim", p1 = prfx_i .. "bin", s2 = prfx_i .. "bî", p2 = prfx_i .. "bin", s3 = prfx_i .. "be", p3 = prfx_i .. "bin" } end getEndings['ibûm'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûm", p1 = prfx_i .. "bûn", s2 = prfx_i .. "bûyî", p2 = prfx_i .. "bûn", s3 = prfx_i .. "bû", p3 = prfx_i .. "bûn" } end getEndings['ibûme'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûme", p1 = prfx_i .. "bûne", s2 = prfx_i .. "bûyiye", p2 = prfx_i .. "bûne", s3 = prfx_i .. "bûye", p3 = prfx_i .. "bûne" } end getEndings['ibûma'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûma", p1 = prfx_i .. "bûna", s2 = prfx_i .. "bûyayî", p2 = prfx_i .. "bûna", s3 = prfx_i .. "bûya", p3 = prfx_i .. "bûna" } end -- ─────────────────────────────────────────────────────────────── -- Ind. perfect ending. -- ─────────────────────────────────────────────────────────────── getEndings['ime'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1="me", s2="yî", s3="ye", p1="ne", p2="ne", p3="ne"} else ends = {s1="ime", s2="iyî", s3="iye", p1="ine", p2="ine", p3="ine"} end return ends end -- ─────────────────────────────────────────────────────────────── -- Subj. Imperfect ending. -- ─────────────────────────────────────────────────────────────── getEndings['ama'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends -- The doublet in "-iyan" of verbs in -"în" (gerîn/-geriya-, kenîn/-keniya-, ...), -- in the conditional and subjunctive moods, a doublet "yaya" appears; it's removed. -- -yayayî → -yayî; -yaya → -ya if mw.ustring.match(stem, '(ya)$') then ends = {s1="ma", s2="yî", s3="", p1="na", p2="na", p3="na"} elseif mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1="ma", s2="yayî", s3="ya", p1="na", p2="na", p3="na"} else ends = {s1="ama", s2="ayî", s3="a", p1="ana", p2="ana", p3="ana"} end return ends end end -- ============================================================================= -- RULES FOR PREVERBS: "bi-" and "di-" -- There are two preverbs: "bi-" and "di-". These preverbs can change form -- depending on the first letters of the verb’s present stem or past stem. -- ============================================================================= local getPreverb = {} do getPreverb['bi'] = function (opts) opts = opts or {} local stem = opts.stem local verbStruct = opts.verbStruct local overrideBi = opts.overrideBi -- Preverb verbs don't use the preverb "bi-": ra-kirin (ez ê rakim), ve-xwarin (ez ê vexwim) , ... -- But compound verb and simple verbs use it: hez kirin (ez ê hez bi-kim), lê bigirin (ez ê lê bi-girim), ... if (verbStruct == 'preverbVerb') then return '' end if overrideBi then return overrideBi end -- if irreg.dijrezikBi[stem] then return irreg.dijrezikBi[stem] end -- Modification of the preverbe "bi-" according to the last letter of the stem. if mw.ustring.match(stem, '^[aeêiîouû]') then return 'b' end return 'bi' end getPreverb['di'] = function (opts) opts = opts or {} local stem = opts.stem local overrideDi = opts.overrideDi if overrideDi then return overrideDi end -- if irreg.dijrezikDi[stem] then return irreg.dijrezikDi[stem] end -- Modification of the preverbe "di-" according to the last letter of the stem. if mw.ustring.match(stem, '^[ai]') then return 'd' end -- Ex. hatin : stem = -ê- // ez têm if mw.ustring.match(stem, '^[êî]') then return 't' end return 'di' end end -- ============================================================================= -- RULES FOR NEGATION PREFIXES: "na-" and "ne-" -- There are two negation prefixes: "na-" and "ne-". These preverbs can change -- form depending on the first letters of the verb’s present stem or past stem. -- ============================================================================= local getNegPrefix = {} do getNegPrefix['na'] = function (opts) opts = opts or {} local stem = opts.stem local overrideNa = opts.overrideNa if overrideNa then return '<b>' .. overrideNa .. '</b>' end -- if irreg.dijrezikNa[stem] then return irreg.dijrezikNa[stem] end -- Add sufix "-y" before certain vowels. if mw.ustring.match(stem, '^[eêiîouû]') then return '<b>nay</b>' end -- Elision before stems beginning with "a-" (removal of the final "-e"). if mw.ustring.match(stem, '^a') then return '<b>n</b>' end -- Tîpa duyem "-a-" ye (k-a-rîn, z-a-nîn, ...) if mw.ustring.match(stem, '^%wa') then return '<b>ni</b>' end return '<b>na</b>' end getNegPrefix['ne'] = function (opts) opts = opts or {} local stem = opts.stem local tenseName = opts.tenseName local impNegForm = opts.impNegForm local overrideNe = opts.overrideNe if overrideNe then return '<b>' .. overrideNe .. '</b>' end -- if irreg.dijrezikNe[stem] then return irreg.dijrezikNe[stem] end local negPrefix = 'ne' -- There are two forms of construction of the imperative, -- one with the prefix "me-" and the other with the prefix "ne-". if (tenseName == 'impPresent') then negPrefix = (impNegForm == 2) and 'ne' or 'me' end -- Add sufix "-y" before certain vowels. if mw.ustring.match(stem, '^[eêiîouû]') then return '<b>' .. negPrefix .. 'y</b>' end -- Elision before stems beginning with "a-" (removal of the final "-e"). if mw.ustring.match(stem, '^a') then negPrefix = mw.ustring.sub(negPrefix, 1, -2) return '<b>' .. negPrefix .. '</b>' end return '<b>' .. negPrefix .. '</b>' end end -- ============================================================================= -- Standardization of the PREVERBAL PARTICLE -- The proverbial particle "ê" is placed after the personal pronoun. -- ============================================================================= -- If there are no verbal preparticles, return empty table. local function getPreverbParticules(preverbParticle, typeStem, isTransitive) if not preverbParticle then return {s1='', s2='', s3='', p1='', p2='', p3=''} end if preverbParticle == 'ê' then local isErgative = isTransitive and (typeStem == 'past') -- When the personal pronoun ends in a vowel, a "y-" is added before "ê". -- If it's ergative, we use oblique pronouns: "min", "te", ... if isErgative then return {s1='ê/dê', s2='yê/dê', s3='yê/dê', p1='yê/dê', p2='yê/dê', p3='ê/dê'} else return {s1='ê/dê', s2='yê/dê', s3='ê/dê', p1='ê/dê', p2='ê/dê', p3='ê/dê'} end end -- If the verbal preparticle is identical for all pronouns, -- we create a table with the same value. local preverbParticles = {} for _, pers in ipairs(export.order) do preverbParticles[pers] = preverbParticle end return preverbParticles end -- ============================================================================= -- RULES FOR CONSTRUCTING EACH VERB TENSE -- This table lists, for each verb tense, what elements are required to form it: -- - Verb conjugation is built by placing either the preverb "bi-" or "di-" before -- the verb stem (past or present), followed by a personal ending. -- - For the negative form, one of the prefixes "na-" or "ne-" is added as well. -- - In some cases, a preverbal particle such as /ê/ or /dê/ is added before -- the conjugated verb as well. -- Not: - The "negPreverb" (preverb (bi-/di-) for negative tenses) parameter has a -- value different from "nil" only for the Imperfect tense ("negPreverb=di"). -- - The parameter "negPrefix=na" is used only for the present indicative. -- -- Preverb "di", used in: "indPresent"(present stem), "indImperfect"(past stem) -- - Bo neyînî: pêşgira "di-" tenê di nav dema "IndImperfect" de tê bikaranîn. -- Preverb "bi", used in: "indFuture"(present stem), "subPresent"(present stem), -- "subImperfect"(past stem) = "condPresent"(past stem) -- - The prefix "bi-" isn't used in negative forms. -- -- Present stem, used in: "indPresent"(di)(na), -- "indFuture"(bi)(ne) = "subPresent"(bi)(ne) -- -- Past stem, used in: "indPreterite"(-)(ne), "indImperfect"(di)(ne), "indPluperfect"(-)(ne), -- "indPerfect"(-)(ne), "indNwPluperfect"(-)(ne), "indFuturePerfect"(-)(ne), -- "subPreterite"(-)(ne), -- "subImperfect"(bi)(ne) = "condPresent"(bi)(ne), -- "subPluperfect"(-)(ne) = "condPreterite"(-)(ne) -- ============================================================================= -- Some conjugations are identical except that they differ only in the preverbal particle (/ê/, /dê/). -- So, to avoid repeating the same information (and thus risking errors), -- we establish the common part shared between these verbs. local commonRules = { indFuture = { stem = "present", preverb = getPreverb['bi'], negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['present'] }, indFuturePerfect = { stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibim'] }, subImperfect = { stem = "past", preverb = getPreverb['bi'], negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ama'] }, subPluperfect = { stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûma'] } } local mt = { __index = function(t, k) local common = t._common if common then return common[k] end end } -- TENSES CONJUGATION RULES export.tenseRules = { -- IMPERATIVE MOOD impPresent = setmetatable({ name = "impPresent", nameKu = "raweya fermanî", nameEn = "present imperative", mode = "imperative", _common = commonRules.indFuture, preverbParticle = nil }, mt), -- INDICATIVE MOOD indPresent = { name = "indPresent", nameKu = "dema niha", nameEn = "present", mode = "indicative", stem = "present", preverb = getPreverb['di'], negPreverb = nil, negPrefix = getNegPrefix['na'], endings = getEndings['present'], preverbParticle = nil }, indPreterite = { name = "indPreterite", nameKu = "raboriya sade", nameEn = "simple past", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['past'], preverbParticle = nil }, indImperfect = { name = "indImperfect", nameKu = "raboriya berdest", nameEn = "Imperfect", mode = "indicative", stem = "past", preverb = getPreverb['di'], negPreverb = getPreverb['di'], negPrefix = getNegPrefix['ne'], endings = getEndings['past'], preverbParticle = nil }, indPluperfect = { name = "indPluperfect", nameKu = "raboriya dûr", nameEn = "pluperfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûm'], preverbParticle = nil }, indFuture = setmetatable({ name = "indFuture", nameKu = "dema bê", nameEn = "future", mode = "indicative", _common = commonRules.indFuture, preverbParticle = 'ê' }, mt), indFuturePerfect = setmetatable({ name = "indFuturePerfect", nameKu = "dahatiya pêş", nameEn = "future perfect", mode = "indicative", _common = commonRules.indFuturePerfect, preverbParticle = 'ê' }, mt), -- In some books, the "perfect" and "nonconfirmative pluperfect" tenses -- are classified in the "inferential mood" ("moda neşahidî"). -- Currently we classify them using the indicative mood (at the end). indPerfect = { name = "indPerfect", nameKu = "raboriya dûdar", nameEn = "perfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ime'], preverbParticle = nil }, indNwPluperfect = { name = "indNwPluperfect", nameKu = "çîrokiya boriya dûdar", nameEn = "non-witnessed pluperfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûme'], preverbParticle = nil }, -- SUBJUNCTIVE MOOD subjPresent = setmetatable({ name = "subjPresent", nameKu = "dema nihaya xwestekî", nameEn = "present subjunctive", mode = "subjunctive", _common = commonRules.indFuture, preverbParticle = nil }, mt), subjPreterite = setmetatable({ name = "subjPreterite", nameKu = "dema boriya xwestekî", nameEn = "preterite subjunctive", mode = "subjunctive", _common = commonRules.indFuturePerfect, preverbParticle = nil, }, mt), subjImperfect = setmetatable({ name = "subjImperfect", nameKu = "raboriya bilaniyê", nameEn = "imperfect subjunctive", mode = "subjunctive", _common = commonRules.subImperfect, preverbParticle = nil, }, mt), subjPluperfect = setmetatable({ name = "subjPluperfect", nameKu = "raboriya dûr a bilaniyê", nameEn = "pluperfect subjunctive", mode = "subjunctive", _common = commonRules.subPluperfect, preverbParticle = nil }, mt), -- CONDITIONAL MOOD condPresent = setmetatable({ name = "condPresent", nameKu = "çîrokiya dema nihaya mercî", nameEn = "present conditional", mode = "conditional", _common = commonRules.subImperfect, preverbParticle = 'ê' }, mt), condPreterite = setmetatable({ name = "condPreterite", nameKu = "dema boriya mercî", nameEn = "preterite conditional", mode = "conditional", _common = commonRules.subPluperfect, preverbParticle = 'ê' }, mt), } -- ============================================================================= -- MAIN CONJUGATION FUNCTOIN -- This function returns an array containing the conjugation table for a given -- tense as well as other information about the conjugated verb. -- ============================================================================= function export.conjugate(opts) opts = opts or {} -- Required parameters local tense = opts.tense or error("'tense' required", 2) --One of the two parameters is required: -- - If the tense uses the present stem, indicate "presentStem". -- - If it uses the past stem, indicate "pastStem". local presentStem = opts.presentStem local pastStem = opts.pastStem -- Optional parameters local isTransitive = opts.isTransitive or false -- Indicate if the verb is transitive (true/false) local isNegative = opts.isNegative or false -- Indicate if it's the negative form (true/false) local isCompoundVerb = opts.isCompoundVerb or false -- Indicate if it's a compound verb (true/false) local preSimpleVerb = opts.preSimpleVerb or '' -- The part before the simple verb local postSimpleVerb = opts.postSimpleVerb or '' -- The part after the simple verb -- These parameters are provided when the verb is irregular. -- Allows you to manually modify preverbs ("bi-"" or "di-") -- and negation prefixes ("na-" or "ne-") local overrideBi = opts.overrideBi or nil local overrideDi = opts.overrideDi or nil local overrideNa = opts.overrideNa or nil local overrideNe = opts.overrideNe or nil -- By default, the negation of the imperative is constructed from the prefix "me-"". -- To obtain the second variant, the prefix with "ne-", you must specify "impNegForm=2". local impNegForm = opts.impNegForm or nil -- Access to the classification table and retrieval of verb tense parameters local infoTense = deepCopy(export.tenseRules[tense], 'copy') or false -- We check that this tense is indeed in table "tenseRules". if (not infoTense) then return '<span style="color:red">Unknown tense: ' .. tense ..'</span>' end -- We check that one of the two parameters of the stem is given if (infoTense.stem == 'present' and not presentStem) then return '<span style="color:red">presentStem parameter required</span>' elseif (infoTense.stem == 'past' and not pastStem) then return '<span style="color:red">pasttStem parameter required</span>' end -- Choice between the present stem or past stem local stem = (infoTense.stem == 'present') and presentStem or pastStem --──────────────────────────── -- Conjugation construction -- -- ─────────────────────────── local preverb = '' local negPrefix = '' -- Ruturns the verb type: "simpleVerb" or "preverbVerb" or "compoundVerb" local verbStruct = export.verbStruct(isCompoundVerb, preSimpleVerb) if isNegative then negPrefix = infoTense.negPrefix{stem=stem, tenseName=tense, impNegForm=impNegForm, overrideNa=overrideNa, overrideNe=overrideNe} if infoTense.negPreverb then preverb = infoTense.negPreverb{stem=stem, verbStruct=verbStruct, overrideBi=overrideBi, overrideDi=overrideDi} end else if infoTense.preverb then preverb = infoTense.preverb{stem=stem, verbStruct=verbStruct, overrideBi=overrideBi, overrideDi=overrideDi} end end infoTense.conj = {} local spacing = isCompoundVerb and ' ' or '' local endings = infoTense:endings(stem) local preverbParticles = getPreverbParticules(infoTense.preverbParticle, infoTense.stem, isTransitive) local isErgative = isTransitive and (infoTense.stem == 'past') -- Creating the conjugation table for a given tense for _, pers in ipairs(export.order) do local ending local conjSimbleVerb local conjVerb if isErgative then ending = endings.s3 else ending = endings[pers] end -- Adding space after the preverbal particle local preverbParticle = preverbParticles[pers] if preverbParticle ~= '' then preverbParticle = preverbParticle .. ' ' end conjSimbleVerb = negPrefix .. preverb .. stem .. ending -- Adding prefixe and suffixe conjVerb = preSimpleVerb .. spacing .. conjSimbleVerb .. postSimpleVerb -- Spelling correction(îy -> iy) conjVerb = mw.ustring.gsub(conjVerb, 'îy', 'iy') -- Add a link conjVerb = link{term=conjVerb, lang=langKu} -- Addition of the preverbal particle infoTense.conj[pers] = preverbParticle .. conjVerb end -- Imperative if (infoTense.name == 'impPresent') then infoTense.conj.s1 = nil infoTense.conj.s2 = infoTense.conj.s3 infoTense.conj.s3 = nil infoTense.conj.p1 = nil --infoTense.conj.p2 = infoTense.conj.p2 infoTense.conj.p3 = nil end return infoTense end -- ============================================================================= -- END -- ============================================================================= -- Some useful tools -- ============================================================================= -- Returns the list of verb tenses export.tensesList = function() local list = {} for _, tense in pairs(export.tenseRules) do table.insert(list, tense.name) end return list end -- Concatenation of pronouns and conjugated verbs -- (for a given conjugate tense in all persons of that tense) function export.concatPronomsVerbs(pronoms, conjVerbs) local concatTab = {} for _, pers in ipairs(export.order) do concatTab[pers] = pronoms[pers] .. ' ' .. conjVerbs[pers] end return concatTab end -- ============================================================================= -- ADDITIONAL STEM OF THE PAST AND PRESENT (pastStem2, ... and presentStem2, ...) -- This function does nothing more than add additional parameters for verb stems -- in the past and present tenses. -- Conjugations for the different stems will be separated by "/" -- ============================================================================= function export.conjugateLong(baseOpts, tense, presentStems, pastStems) local opts = baseOpts or {} opts.tense = tense or nil presentStems = presentStems or {} pastStems = pastStems or {} local infoTense = deepCopy(export.tenseRules[tense], 'copy') or false -- We check that this tense is indeed in table "tenseRules". if not infoTense then return '<span style="color:red">Unknown tense: ' .. tense ..'</span>' end local stems = (infoTense.stem == 'present') and presentStems or pastStems -- For each verb stem, its conjugation table is calculated and stored in conjTabs. local conjTabs = {} for i = 1, #stems do if stems[i] then if (infoTense.stem == 'past') then opts.pastStem = stems[i] end if (infoTense.stem == 'present') then opts.presentStem = stems[i] end local conj = export.conjugate(opts).conj table.insert(conjTabs, conj) end end -- We concatenate each row of the conjugation tables. local concatConjTabs = {} for _, pers in ipairs(export.order) do local frag = {} for i = 1, #conjTabs do local val = conjTabs[i][pers] if val then table.insert(frag, tostring(val)) end end concatConjTabs[pers] = table.concat(frag, " / ") end infoTense.conj = concatConjTabs return infoTense end -- ==================================================================================== -- VERB CONUGATION IN ALL TENSES WITH PRONOUMS -- ==================================================================================== function export.conjugateAllTenses(baseOpts, presentStems, pastStems, negation, concatPrs) local opts = baseOpts or {} if negation == 'negative' then opts.isNegative = true end -- Concatenation of pronouns and conjugated verbs local concatPronomsVerbs = export.concatPronomsVerbs -- Tenses list local tensesList = export.tensesList() -- Conjugation in all tenses local conjTab = {} for _, tense in ipairs(tensesList) do local infoTense = deepCopy(export.tenseRules[tense], 'copy') -- We create the conjugation table without the pronouns. conjTab[tense] = deepCopy(export.conjugateLong(opts, tense, presentStems, pastStems), 'copy') -- We concatenate the pronouns and the verbs if "concatPrs" is different of "false" -- (no pronoun for the imperative mood) if (tense ~= 'impPresent' and concatPrs ~= false) then local pronoms = deepCopy(export.conjPronouns(infoTense.stem, infoTense.mode, opts.isTransitive)) conjTab[tense].conj = concatPronomsVerbs(pronoms, conjTab[tense].conj) end end return conjTab end -- ==================================================================================== -- Allows you to obtain a given conjugation from a model. -- Ex. in the template: {{#invoke:ku-tewandin|tew|dem=indPresent|kes=s1}} -- See {{ku-tewîn-lk-niha}} -- ==================================================================================== function export.tew(frame) local args = frame:getParent().args local baseOpts = { isNegative = frame.args['neyînî'] or false, isTransitive = args['form'], isCompoundVerb = args['valahî'] or false, preSimpleVerb = args['pêşgir'] or nil, postSimpleVerb = args['paşgir'] or nil, overrideBi = args['bi'] or nil, overrideDi = args['di'] or nil, overrideNa = args['na'] or nil, overrideNe = args['ne'] or nil, impNegForm = nil } local tense = frame.args['dem'] or nil local pers = frame.args['kes'] or nil local presentStems = {args['niha'], args['niha2'], args['niha3']} local pastStems = {args['borî'], args['borî2'], args['borî3']} -- A few checks if (baseOpts.isTransitive == 'gerguhêz') then baseOpts.isTransitive = true elseif (baseOpts.isTransitive == 'negerguhêz') then baseOpts.isTransitive = false else return '<span style="color:red">form = gerguhêz / negerguhêz</span>' end if (baseOpts.isCompoundVerb == 'erê') then baseOpts.isCompoundVerb = true else baseOpts.isCompoundVerb = false end if (baseOpts.isNegative == 'erê') then baseOpts.isNegative = true end local tabConj = export.conjugateLong(baseOpts, tense, presentStems, pastStems).conj return tabConj[pers] end -- ==================================================================================== -- GET COMMMA SEPARED FORMS -- Bnr. [[MediaWiki:Gadget-QQ.js]] -- ==================================================================================== function export.get_comma_separated_forms(frame) local opts = { presentStem = frame.args['niha'], pastStem = frame.args['borî'], isTransitive = false, isNegative = false, isCompoundVerb = frame['valahî'] or false, preSimpleVerb = frame['pêşgir'] or '', postSimpleVerb = frame['paşgir'] or '', overrideBi = frame['bi'] or nil, overrideDi = frame['di'] or nil, overrideNa = frame['na'] or nil, overrideNe = frame['ne'] or nil, impNegForm = nil, } local function removeTags(tag) tag = mw.ustring.gsub(tag, '%[%[(.+)%|(.+)%]%]', '%2') tag = mw.ustring.gsub(tag, '<b>(.+)</b>', '%1') tag = mw.ustring.gsub(tag, '<span(.*)>(.*)</span>', '%2') return tag end local function concateList(tenseList) local concatList = {} for _, pers in ipairs({"s1", "s2", "s3", "p1"}) do local tense = removeTags(tenseList[pers]) -- Remove tags table.insert(concatList, tense) end return table.concat(concatList, ",") end local tenseList = {'indPresent','indPreterite','indImperfect', 'indPluperfect','indPerfect','indNwPluperfect', 'indFuture','indFuturePerfect', 'subjImperfect','subjPluperfect' } local concatAllTense = {} for i = 1, #tenseList do local tense = tenseList[i] if export.tenseRules[tense] then opts.tense = tense local conj = shallowCopy(export.conjugate(opts).conj) local concatTense = concateList(conj) table.insert(concatAllTense, concatTense) end end return table.concat(concatAllTense, ",") end return export sslrqjv9pleke3ujrt3cjwmzqak99x1 6237078 6237076 2026-06-04T04:39:55Z Ghybu 1393 6237078 Scribunto text/plain -- Modula tewandina lêkerên kurmancî local export = {} -- Load irregular forms table -- local irreg = require('Module:ku-tewandin/dijrêzik') local langKu = require("Modul:languages").getByCode("ku") local link = require('Module:links').language_link local shallowCopy = require("Module:table/shallowCopy") local deepCopy = require("Module:table/deepCopy") -- ============================================================================= -- Pronouns in Kurmanji -- ============================================================================= export.order = {"s1", "s2", "s3", "p1", "p2", "p3"} export.pronouns = { s1 = "ez", p1 = "em", s2 = "tu", p2 = "hûn", s3 = "ew", p3 = "ew" } export.obliquePronouns = { s1 = "min", p1 = "me", s2 = "te", p2 = "we", s3 = "wê/wî", p3 = "wan" } export.agents = { s1 = "te, wî/wê, we, wan", p1 = "te, wî/wê, we, wan", s2 = "min, wî/wê, me, wan", p2 = "min, wî/wê, me, wan", s3 = "min, te, wî/wê, me, we, wan", p3 = "min, te, wî/wê, me, we, wan" } -- Oblique pronoun (green) export.obliquePronounsGreen = { s1 = '<span style="color:green">min</span>', s2 = '<span style="color:green">te</span>', s3 = '<span style="color:green">wê/wî</span>', p1 = '<span style="color:green">me</span>', p2 = '<span style="color:green">we</span>', p3 = '<span style="color:green">wan</span>' } -- ───────────────────────────────────────────────────────────────────────────── -- 1) This function returns correct subject/agent pronoun, ergativity rule: -- - Transitive verbs in past tenses → oblique pronoun (green) = agent -- - All other cases → direct pronoun (no color) = subject -- 2) Also add the subjunctive prefix "(bila)" -- ───────────────────────────────────────────────────────────────────────────── function export.conjPronouns(stemType, mode, isTransitive) local pronouns = shallowCopy(export.pronouns) -- Ergativity in kurdish: transitive verbs that are conjugated with the past tense stem are -- conjugated according to the object, not the subject. -- Therefore, to have an ergative construction, -- the verb must be transitive and its stem must be the stem of the past tense. local isErgative = isTransitive and (stemType == 'past') -- If it's ergative, we use oblique pronouns: "min", "te", ... -- If it's not ergative, we use normal pronouns: "ez", "tu", ... if isErgative then pronouns = shallowCopy(export.obliquePronounsGreen) end -- For the subjunctive mood, we add "(bila)" at the beginning. if mode == 'subjunctive' then local subjPrefix = '<span style="color:gray">(bila)</span>' for _, pers in ipairs(export.order) do pronouns[pers] = subjPrefix .. ' ' .. pronouns[pers] end end return pronouns end -- ============================================================================= -- VERBAL STRUCTURE IN THE INFINITIVE: -- Verbs in the infinitive appear in three main forms: -- 1) Simple verb (indivisible light verb): -- - ex.: "kirin", "çûn", "xwarin", ... -- 2) Verbs with preverbs (preverb + simple verb): -- - ex.: "rakirin" (ra- + kirin), "çêkirin" (çê- + kirin), "vexwarin" (ve- + xwarin), ... -- - Preverb verbs don't use the prefix "bi-" (ez ê rakim , ew ê rake , ...) -- 3) Compound verbs, construction with non-verbal element (the noun is not attached to the verb): -- - Left of the simple verb: "hez kirin" ("hez" + "kirin"), "li dar xistin" ("li dar" + "xistin"), ... -- - Right of the simple verb: "kirin der" ("kirin" + "der"), "girtin ser xwe" ("girtin" + "ser xwe"), ... -- - Compound verbs use the prefix "bi-" (ez ê hez bi-kim , ew ê hez bi-ke ) -- STRUCTURE: preSimpleVerb + spacing + simpleVerb + postSimpleVerb -- EX. kirin: preSimpleVerb=''; spacing=false; simpleVerb='kirin'; postSimpleVerb='' -- rakirin: preSimpleVerb='ra'; spacing=false; simpleVerb='kirin'; postSimpleVerb='' -- hez kirin: preSimpleVerb='hez'; spacing=true; simpleVerb='kirin'; postSimpleVerb='' -- pev çûn: preSimpleVerb='pev'; spacing=true; simpleVerb='çûn'; postSimpleVerb='' -- kirin der: preSimpleVerb=''; spacing=false; simpleVerb='kirin'; postSimpleVerb='der' -- WARNING: Conjugation can vary depending on the type of verb. -- For example, in the future tense,the prefix "bi" is used for compound verbs, -- but not for preverbal verbs, see the function that manages it "tenseRules" table. -- This table does not yet support the mixed case: a verb composed of a noun and a preverb verb. -- ============================================================================= function export.verbStruct(isCompoundVerb, preSimpleVerb) local struct if (preSimpleVerb and preSimpleVerb ~= '' and not isCompoundVerb) then struct = 'preverbVerb' elseif isCompoundVerb then struct = 'compoundVerb' else struct = 'simpleVerb' end return struct end -- ================================================================ -- INFLECTIONAL ENDINGS -- Assigns verb inflectional endings (suffixes) to all tenses -- ================================================================ local getEndings = {} do -- ─────────────────────────────────────────────────────────────── -- Ending using present stem -- ─────────────────────────────────────────────────────────────── getEndings['present'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1='m', s2='yî', s3='', p1='n', p2='n', p3='n'} else ends = {s1='im', s2='î', s3='e', p1='in', p2='in', p3='in'} end return ends end -- ─────────────────────────────────────────────────────────────── -- Ind. preterite + ind. imperfect ending -- ─────────────────────────────────────────────────────────────── getEndings['past'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiouû]$') then ends = {s1='m', s2='yî', s3='', p1='n', p2='n', p3='n'} elseif mw.ustring.match(stem, 'î$') then -- if self.name == 'indImperfect' then -- -- special indicative ind. imperfect rule -- ends = {s1='yam', s2='yayî', s3='ya', p1='yan', p2='yan', p3='yan'} -- end ends = {s1='m', s2='', s3='', p1='n', p2='n', p3='n'} else ends = {s1='im', s2='î', s3='', p1='in', p2='in', p3='in'} end return ends end -- ─────────────────────────────────────────────────────────────── -- Compound endings with auxiliary "bûn" -- Inflectional endings are created by taking the different forms of the -- verb "bûn" (with present stem "-b-" and past stem "-bû-") and -- adding an "i-" prefix before them: "i-b-im", "i-bû-m", "i-bû-me", "i-bû-ma". -- This "i-" varies according to the final letter of the verb stem. -- ─────────────────────────────────────────────────────────────── local function normalize_i(stem) local prfx_i = "i" if mw.ustring.match(stem, "ya$") or mw.ustring.match(stem, "[îû]$") then -- cf. karîn (-karî-) prfx_i = "" elseif mw.ustring.match(stem, '[aeêiou]$') then prfx_i = "yi" end return prfx_i end getEndings['ibim'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bim", p1 = prfx_i .. "bin", s2 = prfx_i .. "bî", p2 = prfx_i .. "bin", s3 = prfx_i .. "be", p3 = prfx_i .. "bin" } end getEndings['ibûm'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûm", p1 = prfx_i .. "bûn", s2 = prfx_i .. "bûyî", p2 = prfx_i .. "bûn", s3 = prfx_i .. "bû", p3 = prfx_i .. "bûn" } end getEndings['ibûme'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûme", p1 = prfx_i .. "bûne", s2 = prfx_i .. "bûyiye", p2 = prfx_i .. "bûne", s3 = prfx_i .. "bûye", p3 = prfx_i .. "bûne" } end getEndings['ibûma'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûma", p1 = prfx_i .. "bûna", s2 = prfx_i .. "bûyayî", p2 = prfx_i .. "bûna", s3 = prfx_i .. "bûya", p3 = prfx_i .. "bûna" } end -- ─────────────────────────────────────────────────────────────── -- Ind. perfect ending. -- ─────────────────────────────────────────────────────────────── getEndings['ime'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1="me", s2="yî", s3="ye", p1="ne", p2="ne", p3="ne"} else ends = {s1="ime", s2="iyî", s3="iye", p1="ine", p2="ine", p3="ine"} end return ends end -- ─────────────────────────────────────────────────────────────── -- Subj. Imperfect ending. -- ─────────────────────────────────────────────────────────────── getEndings['ama'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends -- The doublet in "-iyan" of verbs in -"în" (gerîn/-geriya-, kenîn/-keniya-, ...), -- in the conditional and subjunctive moods, a doublet "yaya" appears; it's removed. -- -yayayî → -yayî; -yaya → -ya if mw.ustring.match(stem, '(ya)$') then ends = {s1="ma", s2="yî", s3="", p1="na", p2="na", p3="na"} elseif mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1="ma", s2="yayî", s3="ya", p1="na", p2="na", p3="na"} else ends = {s1="ama", s2="ayî", s3="a", p1="ana", p2="ana", p3="ana"} end return ends end end -- ============================================================================= -- RULES FOR PREVERBS: "bi-" and "di-" -- There are two preverbs: "bi-" and "di-". These preverbs can change form -- depending on the first letters of the verb’s present stem or past stem. -- ============================================================================= local getPreverb = {} do getPreverb['bi'] = function (opts) opts = opts or {} local stem = opts.stem local verbStruct = opts.verbStruct local overrideBi = opts.overrideBi -- Preverb verbs don't use the preverb "bi-": ra-kirin (ez ê rakim), ve-xwarin (ez ê vexwim) , ... -- But compound verb and simple verbs use it: hez kirin (ez ê hez bi-kim), lê bigirin (ez ê lê bi-girim), ... if (verbStruct == 'preverbVerb') then return '' end if overrideBi then return overrideBi end -- if irreg.dijrezikBi[stem] then return irreg.dijrezikBi[stem] end -- Modification of the preverbe "bi-" according to the last letter of the stem. if mw.ustring.match(stem, '^[aeêiîouû]') then return 'b' end return 'bi' end getPreverb['di'] = function (opts) opts = opts or {} local stem = opts.stem local overrideDi = opts.overrideDi if overrideDi then return overrideDi end -- if irreg.dijrezikDi[stem] then return irreg.dijrezikDi[stem] end -- Modification of the preverbe "di-" according to the last letter of the stem. if mw.ustring.match(stem, '^[ai]') then return 'd' end -- Ex. hatin : stem = -ê- // ez têm if mw.ustring.match(stem, '^[êî]') then return 't' end return 'di' end end -- ============================================================================= -- RULES FOR NEGATION PREFIXES: "na-" and "ne-" -- There are two negation prefixes: "na-" and "ne-". These preverbs can change -- form depending on the first letters of the verb’s present stem or past stem. -- ============================================================================= local getNegPrefix = {} do getNegPrefix['na'] = function (opts) opts = opts or {} local stem = opts.stem local overrideNa = opts.overrideNa if overrideNa then return '<b>' .. overrideNa .. '</b>' end -- if irreg.dijrezikNa[stem] then return irreg.dijrezikNa[stem] end -- Add sufix "-y" before certain vowels. if mw.ustring.match(stem, '^[eêiîouû]') then return '<b>nay</b>' end -- Elision before stems beginning with "a-" (removal of the final "-e"). if mw.ustring.match(stem, '^a') then return '<b>n</b>' end -- Tîpa duyem "-a-" ye (k-a-rîn, z-a-nîn, ...) if mw.ustring.match(stem, '^%wa') then return '<b>ni</b>' end return '<b>na</b>' end getNegPrefix['ne'] = function (opts) opts = opts or {} local stem = opts.stem local tenseName = opts.tenseName local impNegForm = opts.impNegForm local overrideNe = opts.overrideNe if overrideNe then return '<b>' .. overrideNe .. '</b>' end -- if irreg.dijrezikNe[stem] then return irreg.dijrezikNe[stem] end local negPrefix = 'ne' -- There are two forms of construction of the imperative, -- one with the prefix "me-" and the other with the prefix "ne-". if (tenseName == 'impPresent') then negPrefix = (impNegForm == 2) and 'ne' or 'me' end -- Add sufix "-y" before certain vowels. if mw.ustring.match(stem, '^[eêiîouû]') then return '<b>' .. negPrefix .. 'y</b>' end -- Elision before stems beginning with "a-" (removal of the final "-e"). if mw.ustring.match(stem, '^a') then negPrefix = mw.ustring.sub(negPrefix, 1, -2) return '<b>' .. negPrefix .. '</b>' end return '<b>' .. negPrefix .. '</b>' end end -- ============================================================================= -- Standardization of the PREVERBAL PARTICLE -- The proverbial particle "ê" is placed after the personal pronoun. -- ============================================================================= -- If there are no verbal preparticles, return empty table. local function getPreverbParticules(preverbParticle, typeStem, isTransitive) if not preverbParticle then return {s1='', s2='', s3='', p1='', p2='', p3=''} end if preverbParticle == 'ê' then local isErgative = isTransitive and (typeStem == 'past') -- When the personal pronoun ends in a vowel, a "y-" is added before "ê". -- If it's ergative, we use oblique pronouns: "min", "te", ... if isErgative then return {s1='ê/dê', s2='yê/dê', s3='yê/dê', p1='yê/dê', p2='yê/dê', p3='ê/dê'} else return {s1='ê/dê', s2='yê/dê', s3='ê/dê', p1='ê/dê', p2='ê/dê', p3='ê/dê'} end end -- If the verbal preparticle is identical for all pronouns, -- we create a table with the same value. local preverbParticles = {} for _, pers in ipairs(export.order) do preverbParticles[pers] = preverbParticle end return preverbParticles end -- ============================================================================= -- RULES FOR CONSTRUCTING EACH VERB TENSE -- This table lists, for each verb tense, what elements are required to form it: -- - Verb conjugation is built by placing either the preverb "bi-" or "di-" before -- the verb stem (past or present), followed by a personal ending. -- - For the negative form, one of the prefixes "na-" or "ne-" is added as well. -- - In some cases, a preverbal particle such as /ê/ or /dê/ is added before -- the conjugated verb as well. -- Not: - The "negPreverb" (preverb (bi-/di-) for negative tenses) parameter has a -- value different from "nil" only for the Imperfect tense ("negPreverb=di"). -- - The parameter "negPrefix=na" is used only for the present indicative. -- -- Preverb "di", used in: "indPresent"(present stem), "indImperfect"(past stem) -- - Bo neyînî: pêşgira "di-" tenê di nav dema "IndImperfect" de tê bikaranîn. -- Preverb "bi", used in: "indFuture"(present stem), "subPresent"(present stem), -- "subImperfect"(past stem) = "condPresent"(past stem) -- - The prefix "bi-" isn't used in negative forms. -- -- Present stem, used in: "indPresent"(di)(na), -- "indFuture"(bi)(ne) = "subPresent"(bi)(ne) -- -- Past stem, used in: "indPreterite"(-)(ne), "indImperfect"(di)(ne), "indPluperfect"(-)(ne), -- "indPerfect"(-)(ne), "indNwPluperfect"(-)(ne), "indFuturePerfect"(-)(ne), -- "subPreterite"(-)(ne), -- "subImperfect"(bi)(ne) = "condPresent"(bi)(ne), -- "subPluperfect"(-)(ne) = "condPreterite"(-)(ne) -- ============================================================================= -- Some conjugations are identical except that they differ only in the preverbal particle (/ê/, /dê/). -- So, to avoid repeating the same information (and thus risking errors), -- we establish the common part shared between these verbs. local sharedTenseRules = { indFuture = { stem = "present", preverb = getPreverb['bi'], negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['present'] }, indFuturePerfect = { stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibim'] }, subImperfect = { stem = "past", preverb = getPreverb['bi'], negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ama'] }, subPluperfect = { stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûma'] } } local mt = { __index = function(t, k) local commonRules = t._commonRules if commonRules then return commonRules[k] end end } -- TENSES CONJUGATION RULES export.tenseRules = { -- IMPERATIVE MOOD impPresent = setmetatable({ name = "impPresent", nameKu = "raweya fermanî", nameEn = "present imperative", mode = "imperative", _commonRules = sharedTenseRules.indFuture, preverbParticle = nil }, mt), -- INDICATIVE MOOD indPresent = { name = "indPresent", nameKu = "dema niha", nameEn = "present", mode = "indicative", stem = "present", preverb = getPreverb['di'], negPreverb = nil, negPrefix = getNegPrefix['na'], endings = getEndings['present'], preverbParticle = nil }, indPreterite = { name = "indPreterite", nameKu = "raboriya sade", nameEn = "simple past", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['past'], preverbParticle = nil }, indImperfect = { name = "indImperfect", nameKu = "raboriya berdest", nameEn = "Imperfect", mode = "indicative", stem = "past", preverb = getPreverb['di'], negPreverb = getPreverb['di'], negPrefix = getNegPrefix['ne'], endings = getEndings['past'], preverbParticle = nil }, indPluperfect = { name = "indPluperfect", nameKu = "raboriya dûr", nameEn = "pluperfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûm'], preverbParticle = nil }, indFuture = setmetatable({ name = "indFuture", nameKu = "dema bê", nameEn = "future", mode = "indicative", _commonRules = sharedTenseRules.indFuture, preverbParticle = 'ê' }, mt), indFuturePerfect = setmetatable({ name = "indFuturePerfect", nameKu = "dahatiya pêş", nameEn = "future perfect", mode = "indicative", _commonRules = sharedTenseRules.indFuturePerfect, preverbParticle = 'ê' }, mt), -- In some books, the "perfect" and "nonconfirmative pluperfect" tenses -- are classified in the "inferential mood" ("moda neşahidî"). -- Currently we classify them using the indicative mood (at the end). indPerfect = { name = "indPerfect", nameKu = "raboriya dûdar", nameEn = "perfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ime'], preverbParticle = nil }, indNwPluperfect = { name = "indNwPluperfect", nameKu = "çîrokiya boriya dûdar", nameEn = "non-witnessed pluperfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûme'], preverbParticle = nil }, -- SUBJUNCTIVE MOOD subjPresent = setmetatable({ name = "subjPresent", nameKu = "dema nihaya xwestekî", nameEn = "present subjunctive", mode = "subjunctive", _commonRules = sharedTenseRules.indFuture, preverbParticle = nil }, mt), subjPreterite = setmetatable({ name = "subjPreterite", nameKu = "dema boriya xwestekî", nameEn = "preterite subjunctive", mode = "subjunctive", _commonRules = sharedTenseRules.indFuturePerfect, preverbParticle = nil, }, mt), subjImperfect = setmetatable({ name = "subjImperfect", nameKu = "raboriya bilaniyê", nameEn = "imperfect subjunctive", mode = "subjunctive", _commonRules = sharedTenseRules.subImperfect, preverbParticle = nil, }, mt), subjPluperfect = setmetatable({ name = "subjPluperfect", nameKu = "raboriya dûr a bilaniyê", nameEn = "pluperfect subjunctive", mode = "subjunctive", _commonRules = sharedTenseRules.subPluperfect, preverbParticle = nil }, mt), -- CONDITIONAL MOOD condPresent = setmetatable({ name = "condPresent", nameKu = "çîrokiya dema nihaya mercî", nameEn = "present conditional", mode = "conditional", _commonRules = sharedTenseRules.subImperfect, preverbParticle = 'ê' }, mt), condPreterite = setmetatable({ name = "condPreterite", nameKu = "dema boriya mercî", nameEn = "preterite conditional", mode = "conditional", _commonRules = sharedTenseRules.subPluperfect, preverbParticle = 'ê' }, mt), } -- ============================================================================= -- MAIN CONJUGATION FUNCTOIN -- This function returns an array containing the conjugation table for a given -- tense as well as other information about the conjugated verb. -- ============================================================================= function export.conjugate(opts) opts = opts or {} -- Required parameters local tense = opts.tense or error("'tense' required", 2) --One of the two parameters is required: -- - If the tense uses the present stem, indicate "presentStem". -- - If it uses the past stem, indicate "pastStem". local presentStem = opts.presentStem local pastStem = opts.pastStem -- Optional parameters local isTransitive = opts.isTransitive or false -- Indicate if the verb is transitive (true/false) local isNegative = opts.isNegative or false -- Indicate if it's the negative form (true/false) local isCompoundVerb = opts.isCompoundVerb or false -- Indicate if it's a compound verb (true/false) local preSimpleVerb = opts.preSimpleVerb or '' -- The part before the simple verb local postSimpleVerb = opts.postSimpleVerb or '' -- The part after the simple verb -- These parameters are provided when the verb is irregular. -- Allows you to manually modify preverbs ("bi-"" or "di-") -- and negation prefixes ("na-" or "ne-") local overrideBi = opts.overrideBi or nil local overrideDi = opts.overrideDi or nil local overrideNa = opts.overrideNa or nil local overrideNe = opts.overrideNe or nil -- By default, the negation of the imperative is constructed from the prefix "me-"". -- To obtain the second variant, the prefix with "ne-", you must specify "impNegForm=2". local impNegForm = opts.impNegForm or nil -- Access to the classification table and retrieval of verb tense parameters local infoTense = deepCopy(export.tenseRules[tense], 'copy') or false -- We check that this tense is indeed in table "tenseRules". if (not infoTense) then return '<span style="color:red">Unknown tense: ' .. tense ..'</span>' end -- We check that one of the two parameters of the stem is given if (infoTense.stem == 'present' and not presentStem) then return '<span style="color:red">presentStem parameter required</span>' elseif (infoTense.stem == 'past' and not pastStem) then return '<span style="color:red">pasttStem parameter required</span>' end -- Choice between the present stem or past stem local stem = (infoTense.stem == 'present') and presentStem or pastStem --──────────────────────────── -- Conjugation construction -- -- ─────────────────────────── local preverb = '' local negPrefix = '' -- Ruturns the verb type: "simpleVerb" or "preverbVerb" or "compoundVerb" local verbStruct = export.verbStruct(isCompoundVerb, preSimpleVerb) if isNegative then negPrefix = infoTense.negPrefix{stem=stem, tenseName=tense, impNegForm=impNegForm, overrideNa=overrideNa, overrideNe=overrideNe} if infoTense.negPreverb then preverb = infoTense.negPreverb{stem=stem, verbStruct=verbStruct, overrideBi=overrideBi, overrideDi=overrideDi} end else if infoTense.preverb then preverb = infoTense.preverb{stem=stem, verbStruct=verbStruct, overrideBi=overrideBi, overrideDi=overrideDi} end end infoTense.conj = {} local spacing = isCompoundVerb and ' ' or '' local endings = infoTense:endings(stem) local preverbParticles = getPreverbParticules(infoTense.preverbParticle, infoTense.stem, isTransitive) local isErgative = isTransitive and (infoTense.stem == 'past') -- Creating the conjugation table for a given tense for _, pers in ipairs(export.order) do local ending local conjSimbleVerb local conjVerb if isErgative then ending = endings.s3 else ending = endings[pers] end -- Adding space after the preverbal particle local preverbParticle = preverbParticles[pers] if preverbParticle ~= '' then preverbParticle = preverbParticle .. ' ' end conjSimbleVerb = negPrefix .. preverb .. stem .. ending -- Adding prefixe and suffixe conjVerb = preSimpleVerb .. spacing .. conjSimbleVerb .. postSimpleVerb -- Spelling correction(îy -> iy) conjVerb = mw.ustring.gsub(conjVerb, 'îy', 'iy') -- Add a link conjVerb = link{term=conjVerb, lang=langKu} -- Addition of the preverbal particle infoTense.conj[pers] = preverbParticle .. conjVerb end -- Imperative if (infoTense.name == 'impPresent') then infoTense.conj.s1 = nil infoTense.conj.s2 = infoTense.conj.s3 infoTense.conj.s3 = nil infoTense.conj.p1 = nil --infoTense.conj.p2 = infoTense.conj.p2 infoTense.conj.p3 = nil end return infoTense end -- ============================================================================= -- END -- ============================================================================= -- Some useful tools -- ============================================================================= -- Returns the list of verb tenses export.tensesList = function() local list = {} for _, tense in pairs(export.tenseRules) do table.insert(list, tense.name) end return list end -- Concatenation of pronouns and conjugated verbs -- (for a given conjugate tense in all persons of that tense) function export.concatPronomsVerbs(pronoms, conjVerbs) local concatTab = {} for _, pers in ipairs(export.order) do concatTab[pers] = pronoms[pers] .. ' ' .. conjVerbs[pers] end return concatTab end -- ============================================================================= -- ADDITIONAL STEM OF THE PAST AND PRESENT (pastStem2, ... and presentStem2, ...) -- This function does nothing more than add additional parameters for verb stems -- in the past and present tenses. -- Conjugations for the different stems will be separated by "/" -- ============================================================================= function export.conjugateLong(baseOpts, tense, presentStems, pastStems) local opts = baseOpts or {} opts.tense = tense or nil presentStems = presentStems or {} pastStems = pastStems or {} local infoTense = deepCopy(export.tenseRules[tense], 'copy') or false -- We check that this tense is indeed in table "tenseRules". if not infoTense then return '<span style="color:red">Unknown tense: ' .. tense ..'</span>' end local stems = (infoTense.stem == 'present') and presentStems or pastStems -- For each verb stem, its conjugation table is calculated and stored in conjTabs. local conjTabs = {} for i = 1, #stems do if stems[i] then if (infoTense.stem == 'past') then opts.pastStem = stems[i] end if (infoTense.stem == 'present') then opts.presentStem = stems[i] end local conj = export.conjugate(opts).conj table.insert(conjTabs, conj) end end -- We concatenate each row of the conjugation tables. local concatConjTabs = {} for _, pers in ipairs(export.order) do local frag = {} for i = 1, #conjTabs do local val = conjTabs[i][pers] if val then table.insert(frag, tostring(val)) end end concatConjTabs[pers] = table.concat(frag, " / ") end infoTense.conj = concatConjTabs return infoTense end -- ==================================================================================== -- VERB CONUGATION IN ALL TENSES WITH PRONOUMS -- ==================================================================================== function export.conjugateAllTenses(baseOpts, presentStems, pastStems, negation, concatPrs) local opts = baseOpts or {} if negation == 'negative' then opts.isNegative = true end -- Concatenation of pronouns and conjugated verbs local concatPronomsVerbs = export.concatPronomsVerbs -- Tenses list local tensesList = export.tensesList() -- Conjugation in all tenses local conjTab = {} for _, tense in ipairs(tensesList) do local infoTense = deepCopy(export.tenseRules[tense], 'copy') -- We create the conjugation table without the pronouns. conjTab[tense] = deepCopy(export.conjugateLong(opts, tense, presentStems, pastStems), 'copy') -- We concatenate the pronouns and the verbs if "concatPrs" is different of "false" -- (no pronoun for the imperative mood) if (tense ~= 'impPresent' and concatPrs ~= false) then local pronoms = deepCopy(export.conjPronouns(infoTense.stem, infoTense.mode, opts.isTransitive)) conjTab[tense].conj = concatPronomsVerbs(pronoms, conjTab[tense].conj) end end return conjTab end -- ==================================================================================== -- Allows you to obtain a given conjugation from a model. -- Ex. in the template: {{#invoke:ku-tewandin|tew|dem=indPresent|kes=s1}} -- See {{ku-tewîn-lk-niha}} -- ==================================================================================== function export.tew(frame) local args = frame:getParent().args local baseOpts = { isNegative = frame.args['neyînî'] or false, isTransitive = args['form'], isCompoundVerb = args['valahî'] or false, preSimpleVerb = args['pêşgir'] or nil, postSimpleVerb = args['paşgir'] or nil, overrideBi = args['bi'] or nil, overrideDi = args['di'] or nil, overrideNa = args['na'] or nil, overrideNe = args['ne'] or nil, impNegForm = nil } local tense = frame.args['dem'] or nil local pers = frame.args['kes'] or nil local presentStems = {args['niha'], args['niha2'], args['niha3']} local pastStems = {args['borî'], args['borî2'], args['borî3']} -- A few checks if (baseOpts.isTransitive == 'gerguhêz') then baseOpts.isTransitive = true elseif (baseOpts.isTransitive == 'negerguhêz') then baseOpts.isTransitive = false else return '<span style="color:red">form = gerguhêz / negerguhêz</span>' end if (baseOpts.isCompoundVerb == 'erê') then baseOpts.isCompoundVerb = true else baseOpts.isCompoundVerb = false end if (baseOpts.isNegative == 'erê') then baseOpts.isNegative = true end local tabConj = export.conjugateLong(baseOpts, tense, presentStems, pastStems).conj return tabConj[pers] end -- ==================================================================================== -- GET COMMMA SEPARED FORMS -- Bnr. [[MediaWiki:Gadget-QQ.js]] -- ==================================================================================== function export.get_comma_separated_forms(frame) local opts = { presentStem = frame.args['niha'], pastStem = frame.args['borî'], isTransitive = false, isNegative = false, isCompoundVerb = frame['valahî'] or false, preSimpleVerb = frame['pêşgir'] or '', postSimpleVerb = frame['paşgir'] or '', overrideBi = frame['bi'] or nil, overrideDi = frame['di'] or nil, overrideNa = frame['na'] or nil, overrideNe = frame['ne'] or nil, impNegForm = nil, } local function removeTags(tag) tag = mw.ustring.gsub(tag, '%[%[(.+)%|(.+)%]%]', '%2') tag = mw.ustring.gsub(tag, '<b>(.+)</b>', '%1') tag = mw.ustring.gsub(tag, '<span(.*)>(.*)</span>', '%2') return tag end local function concateList(tenseList) local concatList = {} for _, pers in ipairs({"s1", "s2", "s3", "p1"}) do local tense = removeTags(tenseList[pers]) -- Remove tags table.insert(concatList, tense) end return table.concat(concatList, ",") end local tenseList = {'indPresent','indPreterite','indImperfect', 'indPluperfect','indPerfect','indNwPluperfect', 'indFuture','indFuturePerfect', 'subjImperfect','subjPluperfect' } local concatAllTense = {} for i = 1, #tenseList do local tense = tenseList[i] if export.tenseRules[tense] then opts.tense = tense local conj = shallowCopy(export.conjugate(opts).conj) local concatTense = concateList(conj) table.insert(concatAllTense, concatTense) end end return table.concat(concatAllTense, ",") end return export 2j1fidi5yvncw8no99uaggbfqy8k1ir Modul:dara kategoriyan/ferhengokkatbike 828 876248 6237081 6102962 2026-06-04T05:26:26Z Wikihez 7344 local tewin = require('Modul:ku-tewîn-nav').tew_nobold --Xeletî dide hatiye rakirin 6237081 Scribunto text/plain local export = {} local label_data = require("Modul:dara kategoriyan/ferhengokkatbike/dane") local b = require("Modul:bingeh") local tewin = require('Modul:ku-tewîn-nav').tew_nobold --Xeletî dide hatiye rakirin -- Category object local Category = {} Category.__index = Category function Category.new_main(frame) local self = setmetatable({}, Category) local params = { [1] = {}, [2] = {required = true}, ["sc"] = {}, } args = require("Modul:parameters").process(frame:getParent().args, params) self._info = {code = args[1], label = args[2]} self:initCommon() if not self._data then return nil end return self end function Category.new(info) for key, val in pairs(info) do if not (key == "code" or key == "label") then error("Parametreya “" .. key .. "” nayê zanîn.") end end local self = setmetatable({}, Category) self._info = info if not self._info.label then error("No label was specified.") end self:initCommon() if not self._data then error("The label “" .. self._info.label .. "” does not exist.") end return self end export.new = Category.new export.new_main = Category.new_main function Category:initCommon() if self._info.code then self._lang = require("Modul:languages").getByCode(self._info.code) or error("The language code “" .. self._info.code .. "” is not valid.") end -- Convert label to lowercase if possible local lowercase_label = mw.getContentLanguage():lcfirst(self._info.label) -- Check if the label exists local labels = label_data["LABELS"] if labels[lowercase_label] then self._info.label = lowercase_label end self._data = labels[self._info.label] -- Go through handlers if not self._data then for _, handler in ipairs(label_data["HANDLERS"]) do self._data = handler.handler(self._info.label) if self._data then self._data.edit = handler.module break end end end end function Category:getInfo() return self._info end function Category:getBreadcrumbName() return self._info.label end function Category:getDataModule() return self._data["edit"] end function Category:canBeEmpty() if self._lang then return false else return true end end function Category:isHidden() local isHidden = self._data["isHidden"] if isHidden then return true else return false end end function Category:getCategoryName() if self._lang then return mw.getContentLanguage():ucfirst(self._info.label) .. " bi " .. self._lang:getCanonicalName() else return mw.getContentLanguage():ucfirst(self._info.label) end end local function replace_special_descriptions(desc) -- TODO: Should probably find a better way to do this local descriptionFormats = {-- default û default girdek "mê" ne, def-n û def-n girdek nêr e! ["default"] = "Peyvên {{{langname}}} têkildarî {{{label_lc}}}.", ["default girdek"] = "Peyvên {{{langname}}} têkildarî {{{label_uc}}}.", ["def-n girdek"] = "Peyvên {{{langname}}} têkildarî {{{label-n_uc}}}.", ["def-n"] = "Peyvên {{{langname}}} têkildarî {{{label-n_lc}}}.", ["default with topic"] = "{{{langname}}} terms related to {{{label_lc}}} topics.", ["default-set"] = "{{{langname}}} terms for various {{{label_lc}}}.", } return descriptionFormats[desc] or desc end local function expand_description(desc, cat) if cat._lang then desc = desc:gsub("{{{langname}}}", cat._lang:getCanonicalName()) desc = desc:gsub("{{{langcode}}}", cat._lang:getCode()) desc = "<strong style=\"font-size:normal; font-weight:normal;\">" .. desc:gsub("{{{langcat}}}", cat._lang:getCategoryName()) .. "</strong>" end if desc:find("{{{label_uc}}}") then local label_entry_name = mw.getContentLanguage():ucfirst(cat._info.label) local label_entry = mw.title.new(label_entry_name) if label_entry.exists then --desc = desc:gsub("{{{label_uc}}}", "[[" .. label_entry_name .. "|" .. tewin(label_entry_name, 'mê', 'def_obl_s') desc = desc:gsub("{{{label_uc}}}", "[[" .. label_entry_name .. "]]") else desc = desc:gsub("{{{label_uc}}}", label_entry_name) end end if desc:find("{{{label_lc}}}") then local label_entry_name = mw.getContentLanguage():lcfirst(cat._info.label) local label_entry = mw.title.new(label_entry_name) if label_entry.exists then --desc = desc:gsub("{{{label_lc}}}", "[[" .. label_entry_name .. "|" .. tewin(label_entry_name, 'mê', 'def_obl_s') desc = desc:gsub("{{{label_lc}}}", "[[" .. label_entry_name .. "]]") else desc = desc:gsub("{{{label_lc}}}", label_entry_name) end end if desc:find("{{{label-n_uc}}}") then local label_entry_name = mw.getContentLanguage():ucfirst(cat._info.label) local label_entry = mw.title.new(label_entry_name) if label_entry.exists then desc = desc:gsub("{{{label-n_uc}}}", "[[" .. label_entry_name .. "|" ..mw.getCurrentFrame():expandTemplate{title = "y2", args = { label_entry_name, "î", }} .. "]]") else desc = desc:gsub("{{{label-n_uc}}}", label_entry_name) end end if desc:find("{{{label-n_lc}}}") then local label_entry_name = mw.getContentLanguage():lcfirst(cat._info.label) local label_entry = mw.title.new(label_entry_name) if label_entry.exists then desc = desc:gsub("{{{label-n_lc}}}", "[[" .. label_entry_name .. "|" ..mw.getCurrentFrame():expandTemplate{title = "y2", args = { label_entry_name, "î", }} .. "]]") else desc = desc:gsub("{{{label-n_lc}}}", label_entry_name) end end return desc end function Category:getDescription() if self._lang then local desc = self._data["description"] desc = replace_special_descriptions(desc) if desc then return expand_description(desc, self) end else if not self._lang and self._info.label == "lîsteya ferhengan" then return "Lîsteya ferhengan li gorî ziman û mijaran." elseif not self._lang and self._info.label == "rêziman" then return "Lîsteya hemû kategoriyên rêzimanê li gorî beşa rêzimanî û zimanan." elseif not self._lang and self._info.label == "deng" then return "Lîsteya zimanên bi dosyaya dengî." elseif not self._lang and self._info.label == "bilêvkirina IPAyê" then return "Lîsteya zimanên bi bilêvkirina [[IPA]]yê." elseif not self._lang and self._info.label == "werger" then return "Lîsteya hemû wergerên kurmancî û zimanên din." elseif not self._lang and self._info.label == "etîmolojî" then return "Lîsteya hemû binkategoriyên etîmolojiyê." end local eninfo = mw.clone(self._info) eninfo.code = "ku" local ku = Category.new(eninfo) local desc = self._data["description"] desc = replace_special_descriptions(desc) if desc then desc = desc:gsub("^{{{langname}}} ", "") desc = desc:gsub("^{{{langcode}}} ", "") desc = desc:gsub("^{{{langcat}}} ", "") desc = desc:gsub("%.$", "") desc = expand_description(desc, self) else desc = self._info.label end local umbrella = self._data["umbrella"] if umbrella == true then return "<i>" .. mw.getContentLanguage():ucfirst(self._info.label) .. " </i>mijara sereke ya vê kategoriyê ye. Li vir bin kategoriyên taybet tên lîstekirin. \n\n" .. "Ji bo dîtina hemû kategoriyên li gorî zimanan binêre [[:Kategorî:" .. mw.getContentLanguage():ucfirst(self._info.label) .. " li gorî zimanan]].\n\n" .. "Ji bo kategoriya kurmancî binêre [[:Kategorî:" .. ku:getCategoryName() .. "]]." end return "<i>" .. mw.getContentLanguage():ucfirst(self._info.label) .. " </i>mijara sereke ya vê kategoriyê ye. \n\n".. "Ji bo kategoriya kurmancî binêre [[:Kategorî:" .. ku:getCategoryName() .. "]]." end end function Category:getParents() local parents = self._data["parents"] local inSerkategori = self._data["inSerkategori"] if inSerkategori and not self._lang then return {{ name = "Kategorî:!Serkategorî", sort = self._info.label:gsub("all ", "") }} end if not parents or #parents == 0 then return nil end local ret = {} local is_set = false if self._info.label == "rêziman" then is_set = true end for key, parent in ipairs(parents) do parent = mw.clone(parent) if type(parent) ~= "table" then parent = {name = parent} end if not parent.sort then parent.sort = self._info.label end if self._lang then parent.sort = parent.sort:gsub("{{{langname}}}", self._lang:getCanonicalName()) parent.sort = parent.sort:gsub("{{{langcat}}}", self._lang:getCategoryName()) elseif parent.sort:find("{{{langname}}}") or parent.sort:find("{{{langcat}}}") or parent.template == "zimankatbike" then return nil end if not self._lang then parent.sort = parent.sort end if parent.name and parent.name:find("^Kategorî:") then if self._lang then parent.name = parent.name:gsub("{{{langname}}}", self._lang:getCanonicalName()) parent.name = parent.name:gsub("{{{langcat}}}", self._lang:getCategoryName()) elseif parent.name:find("{{{langname}}}") or parent.name:find("{{{langcat}}}") or parent.template == "zimankatbike" then return nil end else if parent.name == "lîsteya ferhengan" then is_set = true end local pinfo = mw.clone(self._info) pinfo.label = parent.name if parent.template then parent.name = require("Modul:dara kategoriyan/" .. parent.template).new(pinfo) else parent.name = Category.new(pinfo) end end table.insert(ret, parent) end local naveModule = self._data["edit"] if self._info.label ~= "lîsteya ferhengan" and self._info.label ~= "hemû mijar" and (naveModule == "Modul:dara kategoriyan/ferhengokkatbike/dane/ferhengok" or naveModule == "Modul:dara kategoriyan/ferhengokkatbike/dane/mane") then local pinfo = mw.clone(self._info) pinfo.label = "hemû mijar" table.insert(ret, {name = Category.new(pinfo), sort = self._info.label}) end return ret end function Category:getChildren() return nil end function Category:getUmbrella() local umbrella = self._data["umbrella"] if self._lang and umbrella == true then return "Kategorî:" .. b.ucfirst(self._info.label) .. " li gorî zimanan" elseif not self._lang then return nil end --[[ if self._info.label == "etîmolojî" then return "Kategorî:Etîmolojî li gorî zimanan" elseif not self._lang then return nil end ]]-- local uinfo = mw.clone(self._info) uinfo.code = nil return Category.new(uinfo) end return export 198f0vsob6ar95u0xjlbbxswrbavwsx Modul:ku-tewandin/tablo/ceribandin 828 1325207 6237080 6236183 2026-06-04T04:58:33Z Ghybu 1393 6237080 Scribunto text/plain -- [[Wîkîferheng:ceribandin]] -- [[Template:ku-tewandin/ceribandin]] -- [[Template:ku-tewandin/ceribandin/style.css]] local conj = require('Modul:ku-tewandin/ceribandin') local export = {} function export.tablo(frame) local args = frame:getParent().args local baseOpts = { isTransitive = false, isCompoundVerb = args['valahî'] or false, preSimpleVerb = args['pêşgir'] or '', postSimpleVerb = args['paşgir'] or '', overrideBi = args['bi'] or nil, overrideDi = args['di'] or nil, overrideNa = args['na'] or nil, overrideNe = args['ne'] or nil, impNegForm = nil } local presentStems = {args['niha'], args['niha2'], args['niha3']} local pastStems = {args['borî'], args['borî2'], args['borî3']} local transitivity = args['form'] if (transitivity ~= 'gerguhêz' and transitivity ~= 'negerguhêz') then return '<span style="color:red">form = gerghuhêz / negerguhêz</span>' end if (baseOpts.isCompoundVerb == 'erê') then baseOpts.isCompoundVerb = true else baseOpts.isCompoundVerb = false end -- Conjugation table in all tenses local concatPrs = false local conjTab = conj.conjugateAllTenses(baseOpts, presentStems, pastStems, 'positive', concatPrs) -- Negatives conjugations table local negConjTab = conj.conjugateAllTenses(baseOpts, presentStems, pastStems, 'negative', concatPrs) -- Construction of conjugation table whose dimensions change depending on -- whether it is a transitive verb or not; and whether there is a preverbParticle (yes or no). -- First, we create the table header, then the body (content). local function tenseTableHeader(tense) local tabHeader = function(col) local header = '\n! id="' .. conjTab[tense].name .. '"' .. 'class="' .. conjTab[tense].stem .. '-stem tense-table-title" colspan="'.. col .. '" |' .. conjTab[tense].nameKu .. '- <small><i>-{'.. conjTab[tense].nameEn ..'}-</i></small>' .. '\n|-' return header end local preverbParticle = '' local tabH = tabHeader(4) if conjTab[tense].preverbParticle == "ê" then tabH = tabHeader(5) preverbParticle = '\n! class="agent-title" | ' end local tenseHeader = tabHeader(2) .. '\n! class="negative" | Erênî' ..'\n! class="positive" | Neyînî' .. '\n|-' if (conjTab[tense].stem == "past" and transitivity == "gerguhêz") then tenseHeader = tabH .. '\n! class="agent-title" | Biker <span class="toggle-width">zêde <span class="arrow">›</span></span>' .. preverbParticle .. '\n! class="object-title" | Berkar' .. '\n! class="negative" | Erênî' .. '\n! class="positive" | Neyînî' .. '\n|-' end return tenseHeader end local function tenseTableBody(tense, pers) local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle, conjTab[tense].stem, false) local bila = '' if conjTab[tense].mode == "subjunctive" then bila = '<span style="color:gray">(bila) </span>' end local preverbParticle = '' if conjTab[tense].preverbParticle == "ê" then preverbParticle = '\n| class="particle" | (y)ê/dê' end local body = '\n|' .. bila .. conj.pronouns[pers] .. ' ' .. preverbParticules[pers] .. ' ' .. conjTab[tense].conj[pers] .. '\n|' .. bila .. conj.pronouns[pers] .. ' ' .. preverbParticules[pers] .. ' ' .. negConjTab[tense].conj[pers] .. '\n|-' if (conjTab[tense].stem == "past" and transitivity == "gerguhêz") then body = '\n| class="agent" |' .. bila .. conj.agents[pers] .. preverbParticle .. '\n| class="object" |' .. conj.pronouns[pers] .. '\n|' .. conjTab[tense].conj[pers] .. '\n|' .. negConjTab[tense].conj[pers] .. '\n|-' end return body end -- Construction of the conjugation table for a given tense: the header -- and the body are combined. local function conjugateTable(tense) local tenseBody = '' local tenseHeader = tenseTableHeader(tense) for _, pers in ipairs(conj.order) do tenseBody = tenseBody .. tenseTableBody(tense, pers) end local tab = '\n{| cellpadding="2" class="tense-table"' .. '\n|-' .. tenseHeader .. tenseBody .. '\n|}' return tab end --Retrieving some parameters for creating the main table header local verb = args[1] local preSimpleVerb = args['pêşgir'] or '' local postSimpleVerb = args['paşgir'] or '' -- Cureyê lêkerê local verbStruc = conj.verbStruct(baseOpts.isCompoundVerb, baseOpts.preSimpleVerb) if (verbStruc == 'preverbVerb') then verbStruc = 'pêkhatî' elseif (verbStruc == 'compoundVerb') then verbStruc = 'hevedudanî' else verbStruc = 'xwerû' end local prsStemsFormat = {} for _, stem in ipairs(presentStems) do if stem then prsStemsFormat[#prsStemsFormat+1] = preSimpleVerb .. '-' .. stem ..'-' end end local pstStemsFormat = {} for _, stem in ipairs(pastStems) do if stem then pstStemsFormat[#pstStemsFormat+1] = preSimpleVerb .. '-' .. stem ..'-' end end local prsStems = table.concat(prsStemsFormat, ' / ') .. postSimpleVerb local pstStems = table.concat(pstStemsFormat, ' / ') .. postSimpleVerb return '{| align="center" class="conj-table"' .. '\n|-' .. '\n| colspan="8" class="title" | Tewandina lêkera [[' .. verb .. ']]<br><span style="font-weight:normal;">(' .. verbStruc .. ', ' .. transitivity .. ')</span>' .. '\n|-' .. '\n! colspan="2" class="present-stem" | Rehê dema niha' .. '\n! colspan="6" style="font-weight:normal; text-align:center; border-bottom:dotted 1px grey;" | ' .. prsStems .. '\n|-' .. '\n! colspan="2" class="past-stem" | Rehê dema borî' .. '\n! colspan="6" style="font-weight:normal; text-align:center;" | ' .. pstStems .. '\n|-' .. '\n|' .. '\n|-' .. '\n| colspan="8" id="imp" class="mood" | Raweya fermanî - <small><i>Imperative</i></small>' .. '\n|-' .. '\n| colspan="8" valign="top" | ' .. '\n{| cellpadding="2" class="tense-table"' .. '\n|-' .. '\n! class="negative" | Erênî' .. '\n! class="positive" | Neyînî' .. '\n|-' .. '\n| <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2 .. '\n| <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2 .. '\n|-' .. '\n| <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2 .. '\n| <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2 ..'\n|}' .. '\n|-' .. '\n| colspan="8" id="ind" class="mood" | Raweya pêşkerî - <small><i>Indicative</i></small>' .. '\n|-' .. '\n| colspan="4" valign="top" | ' .. conjugateTable('indPresent') .. '\n| colspan="4" valign="top" | ' .. conjugateTable('indPreterite') .. '\n|-' .. '\n| colspan="4" valign="top" | ' .. conjugateTable('indImperfect') .. '\n| colspan="4" valign="top" | ' .. conjugateTable('indPluperfect') .. '\n|-' .. '\n| colspan="4" valign="top" | ' .. conjugateTable('indFuture') .. '\n| colspan="4" valign="top" | ' .. conjugateTable('indFuturePerfect') .. '\n|-' .. '\n| colspan="4" valign="top" | ' .. conjugateTable('indPerfect') .. '\n| colspan="4" valign="top" | ' .. conjugateTable('indNwPluperfect') .. '\n|-' .. '\n| colspan="8" id="subj" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>' .. '\n|-' .. '\n| colspan="4" valign="top" | ' .. conjugateTable('subjPresent') .. '\n| colspan="4" valign="top" | ' .. conjugateTable('subjPreterite') .. '\n|-' .. '\n| colspan="4" valign="top" | ' .. conjugateTable('subjImperfect') .. '\n| colspan="4" valign="top" | ' .. conjugateTable('subjPluperfect') .. '\n|-' .. '\n| colspan="8" id="cond" class="mood" | Raweya mercî - <small><i>Conditional</i></small>' .. '\n|-' .. '\n| colspan="4" valign="top" | ' .. conjugateTable('condPresent') .. '\n| colspan="4" valign="top" | ' .. conjugateTable('condPreterite') .. '\n|}' end return export b297xivpmua51gl2suby9492chs0kfb Modul:ku-tewandin/ceribandin 828 1356654 6237062 6236983 2026-06-03T17:36:23Z Ghybu 1393 6237062 Scribunto text/plain -- Modula tewandina lêkerên kurmancî local export = {} -- Load irregular forms table -- local irreg = require('Module:ku-tewandin/dijrêzik') local langKu = require("Modul:languages").getByCode("ku") local link = require('Module:links').language_link local shallowCopy = require("Module:table/shallowCopy") local deepCopy = require("Module:table/deepCopy") -- ============================================================================= -- Pronouns in Kurmanji -- ============================================================================= export.order = {"s1", "s2", "s3", "p1", "p2", "p3"} export.pronouns = { s1 = "ez", p1 = "em", s2 = "tu", p2 = "hûn", s3 = "ew", p3 = "ew" } export.obliquePronouns = { s1 = "min", p1 = "me", s2 = "te", p2 = "we", s3 = "wê/wî", p3 = "wan" } export.agents = { s1 = "te, wî, wê, we, wan", p1 = "te, wî, wê, we, wan", s2 = "min, wî, wê, me, wan", p2 = "min, wî, wê, me, wan", s3 = "min, te, wî, wê, me, we, wan", p3 = "min, te, wî, wê, me, we, wan" } -- Oblique pronoun (green) export.obliquePronounsGreen = { s1 = '<span style="color:green">min</span>', s2 = '<span style="color:green">te</span>', s3 = '<span style="color:green">wê/wî</span>', p1 = '<span style="color:green">me</span>', p2 = '<span style="color:green">we</span>', p3 = '<span style="color:green">wan</span>' } -- ───────────────────────────────────────────────────────────────────────────── -- 1) This function returns correct subject/agent pronoun, ergativity rule: -- - Transitive verbs in past tenses → oblique pronoun (green) = agent -- - All other cases → direct pronoun (no color) = subject -- 2) Also add the subjunctive prefix "(bila)" -- ───────────────────────────────────────────────────────────────────────────── function export.conjPronouns(stemType, mode, isTransitive) local pronouns = shallowCopy(export.pronouns) -- Ergativity in kurdish: transitive verbs that are conjugated with the past tense stem are -- conjugated according to the object, not the subject. -- Therefore, to have an ergative construction, -- the verb must be transitive and its stem must be the stem of the past tense. local isErgative = isTransitive and (stemType == 'past') -- If it's ergative, we use oblique pronouns: "min", "te", ... -- If it's not ergative, we use normal pronouns: "ez", "tu", ... if isErgative then pronouns = shallowCopy(export.obliquePronounsGreen) end -- For the subjunctive mood, we add "(bila)" at the beginning. if mode == 'subjunctive' then local subjPrefix = '<span style="color:gray">(bila)</span>' for _, pers in ipairs(export.order) do pronouns[pers] = subjPrefix .. ' ' .. pronouns[pers] end end return pronouns end -- ============================================================================= -- VERBAL STRUCTURE IN THE INFINITIVE: -- Verbs in the infinitive appear in three main forms: -- 1) Simple verb (indivisible light verb): -- - ex.: "kirin", "çûn", "xwarin", ... -- 2) Verbs with preverbs (preverb + simple verb): -- - ex.: "rakirin" (ra- + kirin), "çêkirin" (çê- + kirin), "vexwarin" (ve- + xwarin), ... -- - Preverb verbs don't use the prefix "bi-" (ez ê rakim , ew ê rake , ...) -- 3) Compound verbs, construction with non-verbal element (the noun is not attached to the verb): -- - Left of the simple verb: "hez kirin" ("hez" + "kirin"), "li dar xistin" ("li dar" + "xistin"), ... -- - Right of the simple verb: "kirin der" ("kirin" + "der"), "girtin ser xwe" ("girtin" + "ser xwe"), ... -- - Compound verbs use the prefix "bi-" (ez ê hez bi-kim , ew ê hez bi-ke ) -- STRUCTURE: preSimpleVerb + spacing + simpleVerb + postSimpleVerb -- EX. kirin: preSimpleVerb=''; spacing=false; simpleVerb='kirin'; postSimpleVerb='' -- rakirin: preSimpleVerb='ra'; spacing=false; simpleVerb='kirin'; postSimpleVerb='' -- hez kirin: preSimpleVerb='hez'; spacing=true; simpleVerb='kirin'; postSimpleVerb='' -- pev çûn: preSimpleVerb='pev'; spacing=true; simpleVerb='çûn'; postSimpleVerb='' -- kirin der: preSimpleVerb=''; spacing=false; simpleVerb='kirin'; postSimpleVerb='der' -- WARNING: Conjugation can vary depending on the type of verb. -- For example, in the future tense,the prefix "bi" is used for compound verbs, -- but not for preverbal verbs, see the function that manages it "tenseClassification" table. -- This table does not yet support the mixed case: a verb composed of a noun and a preverb verb. -- ============================================================================= function export.verbStruct(isCompoundVerb, preSimpleVerb) local struct if (preSimpleVerb and preSimpleVerb ~= '' and not isCompoundVerb) then struct = 'preverbVerb' elseif isCompoundVerb then struct = 'compoundVerb' else struct = 'simpleVerb' end return struct end -- ================================================================ -- INFLECTIONAL ENDINGS -- Assigns verb inflectional endings (suffixes) to all tenses -- ================================================================ local getEndings = {} do -- ─────────────────────────────────────────────────────────────── -- Ending using present stem -- ─────────────────────────────────────────────────────────────── getEndings['present'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1='m', s2='yî', s3='', p1='n', p2='n', p3='n'} else ends = {s1='im', s2='î', s3='e', p1='in', p2='in', p3='in'} end return ends end -- ─────────────────────────────────────────────────────────────── -- Ind. preterite + ind. imperfect ending -- ─────────────────────────────────────────────────────────────── getEndings['past'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiouû]$') then ends = {s1='m', s2='yî', s3='', p1='n', p2='n', p3='n'} elseif mw.ustring.match(stem, 'î$') then -- if self.name == 'indImperfect' then -- -- special indicative ind. imperfect rule -- ends = {s1='yam', s2='yayî', s3='ya', p1='yan', p2='yan', p3='yan'} -- end ends = {s1='m', s2='', s3='', p1='n', p2='n', p3='n'} else ends = {s1='im', s2='î', s3='', p1='in', p2='in', p3='in'} end return ends end -- ─────────────────────────────────────────────────────────────── -- Compound endings with auxiliary "bûn" -- Inflectional endings are created by taking the different forms of the -- verb "bûn" (with present stem "-b-" and past stem "-bû-") and -- adding an "i-" prefix before them: "i-b-im", "i-bû-m", "i-bû-me", "i-bû-ma". -- This "i-" varies according to the final letter of the verb stem. -- ─────────────────────────────────────────────────────────────── local function normalize_i(stem) local prfx_i = "i" if mw.ustring.match(stem, "ya$") or mw.ustring.match(stem, "[îû]$") then -- cf. karîn (-karî-) prfx_i = "" elseif mw.ustring.match(stem, '[aeêiou]$') then prfx_i = "yi" end return prfx_i end getEndings['ibim'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bim", p1 = prfx_i .. "bin", s2 = prfx_i .. "bî", p2 = prfx_i .. "bin", s3 = prfx_i .. "be", p3 = prfx_i .. "bin" } end getEndings['ibûm'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûm", p1 = prfx_i .. "bûn", s2 = prfx_i .. "bûyî", p2 = prfx_i .. "bûn", s3 = prfx_i .. "bû", p3 = prfx_i .. "bûn" } end getEndings['ibûme'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûme", p1 = prfx_i .. "bûne", s2 = prfx_i .. "bûyiye", p2 = prfx_i .. "bûne", s3 = prfx_i .. "bûye", p3 = prfx_i .. "bûne" } end getEndings['ibûma'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûma", p1 = prfx_i .. "bûna", s2 = prfx_i .. "bûyayî", p2 = prfx_i .. "bûna", s3 = prfx_i .. "bûya", p3 = prfx_i .. "bûna" } end -- ─────────────────────────────────────────────────────────────── -- Ind. perfect ending. -- ─────────────────────────────────────────────────────────────── getEndings['ime'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1="me", s2="yî", s3="ye", p1="ne", p2="ne", p3="ne"} else ends = {s1="ime", s2="iyî", s3="iye", p1="ine", p2="ine", p3="ine"} end return ends end -- ─────────────────────────────────────────────────────────────── -- Subj. Imperfect ending. -- ─────────────────────────────────────────────────────────────── getEndings['ama'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends -- The doublet in "-iyan" of verbs in -"în" (gerîn/-geriya-, kenîn/-keniya-, ...), -- in the conditional and subjunctive moods, a doublet "yaya" appears; it's removed. -- -yayayî → -yayî; -yaya → -ya if mw.ustring.match(stem, '(ya)$') then ends = {s1="ma", s2="yî", s3="", p1="na", p2="na", p3="na"} elseif mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1="ma", s2="yayî", s3="ya", p1="na", p2="na", p3="na"} else ends = {s1="ama", s2="ayî", s3="a", p1="ana", p2="ana", p3="ana"} end return ends end end -- ============================================================================= -- RULES FOR PREVERBS: "bi-" and "di-" -- There are two preverbs: "bi-" and "di-". These preverbs can change form -- depending on the first letters of the verb’s present stem or past stem. -- ============================================================================= local getPreverb = {} do getPreverb['bi'] = function (opts) opts = opts or {} local stem = opts.stem local verbStruct = opts.verbStruct local overrideBi = opts.overrideBi -- Preverb verbs don't use the preverb "bi-": ra-kirin (ez ê rakim), ve-xwarin (ez ê vexwim) , ... -- But compound verb and simple verbs use it: hez kirin (ez ê hez bi-kim), lê bigirin (ez ê lê bi-girim), ... if (verbStruct == 'preverbVerb') then return '' end if overrideBi then return overrideBi end -- if irreg.dijrezikBi[stem] then return irreg.dijrezikBi[stem] end -- Modification of the preverbe "bi-" according to the last letter of the stem. if mw.ustring.match(stem, '^[aeêiîouû]') then return 'b' end return 'bi' end getPreverb['di'] = function (opts) opts = opts or {} local stem = opts.stem local overrideDi = opts.overrideDi if overrideDi then return overrideDi end -- if irreg.dijrezikDi[stem] then return irreg.dijrezikDi[stem] end -- Modification of the preverbe "di-" according to the last letter of the stem. if mw.ustring.match(stem, '^[ai]') then return 'd' end -- Ex. hatin : stem = -ê- // ez têm if mw.ustring.match(stem, '^[êî]') then return 't' end return 'di' end end -- ============================================================================= -- RULES FOR NEGATION PREFIXES: "na-" and "ne-" -- There are two negation prefixes: "na-" and "ne-". These preverbs can change -- form depending on the first letters of the verb’s present stem or past stem. -- ============================================================================= local getNegPrefix = {} do getNegPrefix['na'] = function (opts) opts = opts or {} local stem = opts.stem local overrideNa = opts.overrideNa if overrideNa then return '<b>' .. overrideNa .. '</b>' end -- if irreg.dijrezikNa[stem] then return irreg.dijrezikNa[stem] end -- Add sufix "-y" before certain vowels. if mw.ustring.match(stem, '^[eêiîouû]') then return '<b>nay</b>' end -- Elision before stems beginning with "a-" (removal of the final "-e"). if mw.ustring.match(stem, '^a') then return '<b>n</b>' end -- Tîpa duyem "-a-" ye (k-a-rîn, z-a-nîn, ...) if mw.ustring.match(stem, '^%wa') then return '<b>ni</b>' end return '<b>na</b>' end getNegPrefix['ne'] = function (opts) opts = opts or {} local stem = opts.stem local tenseName = opts.tenseName local impNegForm = opts.impNegForm local overrideNe = opts.overrideNe if overrideNe then return '<b>' .. overrideNe .. '</b>' end -- if irreg.dijrezikNe[stem] then return irreg.dijrezikNe[stem] end local negPrefix = 'ne' -- There are two forms of construction of the imperative, -- one with the prefix "me-" and the other with the prefix "ne-". if (tenseName == 'impPresent') then negPrefix = (impNegForm == 2) and 'ne' or 'me' end -- Add sufix "-y" before certain vowels. if mw.ustring.match(stem, '^[eêiîouû]') then return '<b>' .. negPrefix .. 'y</b>' end -- Elision before stems beginning with "a-" (removal of the final "-e"). if mw.ustring.match(stem, '^a') then negPrefix = mw.ustring.sub(negPrefix, 1, -2) return '<b>' .. negPrefix .. '</b>' end return '<b>' .. negPrefix .. '</b>' end end -- ============================================================================= -- Standardization of the PREVERBAL PARTICLE -- The proverbial particle "ê" is placed after the personal pronoun. -- ============================================================================= -- If there are no verbal preparticles, return empty table. function export.getPreverbParticules(preverbParticle, typeStem, isTransitive) if not preverbParticle then return {s1='', s2='', s3='', p1='', p2='', p3=''} end if preverbParticle == 'ê' then local isErgative = isTransitive and (typeStem == 'past') -- When the personal pronoun ends in a vowel, a "y-" is added before "ê". -- If it's ergative, we use oblique pronouns: "min", "te", ... if isErgative then return {s1='ê/dê', s2='yê/dê', s3='yê/dê', p1='yê/dê', p2='yê/dê', p3='ê/dê'} else return {s1='ê/dê', s2='yê/dê', s3='ê/dê', p1='ê/dê', p2='ê/dê', p3='ê/dê'} end end -- If the verbal preparticle is identical for all pronouns, -- we create a table with the same value. local preverbParticles = {} for _, pers in ipairs(export.order) do preverbParticles[pers] = preverbParticle end return preverbParticles end -- ============================================================================= -- RULES FOR CONSTRUCTING EACH VERB TENSE -- This table lists, for each verb tense, what elements are required to form it: -- - Verb conjugation is built by placing either the preverb "bi-" or "di-" before -- the verb stem (past or present), followed by a personal ending. -- - For the negative form, one of the prefixes "na-" or "ne-" is added as well. -- - In some cases, a preverbal particle such as /ê/ or /dê/ is added before -- the conjugated verb as well. -- Not: - The "negPreverb" (preverb (bi-/di-) for negative tenses) parameter has a -- value different from "nil" only for the Imperfect tense ("negPreverb=di"). -- - The parameter "negPrefix=na" is used only for the present indicative. -- -- Preverb "di", used in: "indPresent"(present stem), "indImperfect"(past stem) -- - Bo neyînî: pêşgira "di-" tenê di nav dema "IndImperfect" de tê bikaranîn. -- Preverb "bi", used in: "indFuture"(present stem), "subPresent"(present stem), -- "subImperfect"(past stem) = "condPresent"(past stem) -- - The prefix "bi-" isn't used in negative forms. -- -- Present stem, used in: "indPresent"(di)(na), -- "indFuture"(bi)(ne) = "subPresent"(bi)(ne) -- -- Past stem, used in: "indPreterite"(-)(ne), "indImperfect"(di)(ne), "indPluperfect"(-)(ne), -- "indPerfect"(-)(ne), "indNwPluperfect"(-)(ne), "indFuturePerfect"(-)(ne), -- "subPreterite"(-)(ne), -- "subImperfect"(bi)(ne) = "condPresent"(bi)(ne), -- "subPluperfect"(-)(ne) = "condPreterite"(-)(ne) -- ============================================================================= -- Some conjugations are identical except that they differ only in the preverbal particle (/ê/, /dê/). -- So, to avoid repeating the same information (and thus risking errors), -- we establish the common part shared between these verbs. local commonRules = { indFuture = { stem = "present", preverb = getPreverb['bi'], negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['present'] }, indFuturePerfect = { stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibim'] }, subImperfect = { stem = "past", preverb = getPreverb['bi'], negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ama'] }, subPluperfect = { stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûma'] } } local mt = { __index = function(t, k) local common = t._common if common then return common[k] end end } -- TENSE AND MOOD CLASSIFICATION TABLE export.tenseClassification = { -- IMPERATIVE MOOD impPresent = setmetatable({ name = "impPresent", nameKu = "raweya fermanî", nameEn = "present imperative", mode = "imperative", _common = commonRules.indFuture, preverbParticle = nil }, mt), -- INDICATIVE MOOD indPresent = { name = "indPresent", nameKu = "dema niha", nameEn = "present", mode = "indicative", stem = "present", preverb = getPreverb['di'], negPreverb = nil, negPrefix = getNegPrefix['na'], endings = getEndings['present'], preverbParticle = nil }, indPreterite = { name = "indPreterite", nameKu = "raboriya sade", nameEn = "simple past", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['past'], preverbParticle = nil }, indImperfect = { name = "indImperfect", nameKu = "raboriya berdest", nameEn = "Imperfect", mode = "indicative", stem = "past", preverb = getPreverb['di'], negPreverb = getPreverb['di'], negPrefix = getNegPrefix['ne'], endings = getEndings['past'], preverbParticle = nil }, indPluperfect = { name = "indPluperfect", nameKu = "raboriya dûr", nameEn = "pluperfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûm'], preverbParticle = nil }, indFuture = setmetatable({ name = "indFuture", nameKu = "dema bê", nameEn = "future", mode = "indicative", _common = commonRules.indFuture, preverbParticle = 'ê' }, mt), indFuturePerfect = setmetatable({ name = "indFuturePerfect", nameKu = "dahatiya pêş", nameEn = "future perfect", mode = "indicative", _common = commonRules.indFuturePerfect, preverbParticle = 'ê' }, mt), -- In some books, the "perfect" and "nonconfirmative pluperfect" tenses -- are classified in the "inferential mood" ("moda neşahidî"). -- Currently we classify them using the indicative mood (at the end). indPerfect = { name = "indPerfect", nameKu = "raboriya dûdar", nameEn = "perfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ime'], preverbParticle = nil }, indNwPluperfect = { name = "indNwPluperfect", nameKu = "çîrokiya boriya dûdar", nameEn = "non-witnessed pluperfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûme'], preverbParticle = nil }, -- SUBJUNCTIVE MOOD subjPresent = setmetatable({ name = "subjPresent", nameKu = "dema nihaya xwestekî", nameEn = "present subjunctive", mode = "subjunctive", _common = commonRules.indFuture, preverbParticle = nil }, mt), subjPreterite = setmetatable({ name = "subjPreterite", nameKu = "dema boriya xwestekî", nameEn = "preterite subjunctive", mode = "subjunctive", _common = commonRules.indFuturePerfect, preverbParticle = nil, }, mt), subjImperfect = setmetatable({ name = "subjImperfect", nameKu = "raboriya bilaniyê", nameEn = "imperfect subjunctive", mode = "subjunctive", _common = commonRules.subImperfect, preverbParticle = nil, }, mt), subjPluperfect = setmetatable({ name = "subjPluperfect", nameKu = "raboriya dûr a bilaniyê", nameEn = "pluperfect subjunctive", mode = "subjunctive", _common = commonRules.subPluperfect, preverbParticle = nil }, mt), -- CONDITIONAL MOOD condPresent = setmetatable({ name = "condPresent", nameKu = "çîrokiya dema nihaya mercî", nameEn = "present conditional", mode = "conditional", _common = commonRules.subImperfect, preverbParticle = 'ê' }, mt), condPreterite = setmetatable({ name = "condPreterite", nameKu = "dema boriya mercî", nameEn = "preterite conditional", mode = "conditional", _common = commonRules.subPluperfect, preverbParticle = 'ê' }, mt), } -- ============================================================================= -- MAIN CONJUGATION FUNCTOIN -- This function returns an array containing the conjugation table for a given -- tense as well as other information about the conjugated verb. -- ============================================================================= function export.conjugate(opts) opts = opts or {} -- Required parameters local tense = opts.tense or error("'tense' required", 2) --One of the two parameters is required: -- - If the tense uses the present stem, indicate "presentStem". -- - If it uses the past stem, indicate "pastStem". local presentStem = opts.presentStem local pastStem = opts.pastStem -- Optional parameters local isTransitive = opts.isTransitive or false -- Indicate if the verb is transitive (true/false) local isNegative = opts.isNegative or false -- Indicate if it's the negative form (true/false) local isCompoundVerb = opts.isCompoundVerb or false -- Indicate if it's a compound verb (true/false) local preSimpleVerb = opts.preSimpleVerb or '' -- The part before the simple verb local postSimpleVerb = opts.postSimpleVerb or '' -- The part after the simple verb -- These parameters are provided when the verb is irregular. -- Allows you to manually modify preverbs ("bi-"" or "di-") -- and negation prefixes ("na-" or "ne-") local overrideBi = opts.overrideBi or nil local overrideDi = opts.overrideDi or nil local overrideNa = opts.overrideNa or nil local overrideNe = opts.overrideNe or nil -- By default, the negation of the imperative is constructed from the prefix "me-"". -- To obtain the second variant, the prefix with "ne-", you must specify "impNegForm=2". local impNegForm = opts.impNegForm or nil -- Access to the classification table and retrieval of verb tense parameters local infoTense = deepCopy(export.tenseClassification[tense], 'copy') or false -- We check that this tense is indeed in table "tenseClassification". if (not infoTense) then return '<span style="color:red">Unknown tense: ' .. tense ..'</span>' end -- We check that one of the two parameters of the stem is given if (infoTense.stem == 'present' and not presentStem) then return '<span style="color:red">presentStem parameter required</span>' elseif (infoTense.stem == 'past' and not pastStem) then return '<span style="color:red">pasttStem parameter required</span>' end -- Choice between the present stem or past stem local stem = (infoTense.stem == 'present') and presentStem or pastStem --──────────────────────────── -- Conjugation construction -- -- ─────────────────────────── local preverb = '' local negPrefix = '' -- Ruturns the verb type: "simpleVerb" or "preverbVerb" or "compoundVerb" local verbStruct = export.verbStruct(isCompoundVerb, preSimpleVerb) if isNegative then negPrefix = infoTense.negPrefix{stem=stem, tenseName=tense, impNegForm=impNegForm, overrideNa=overrideNa, overrideNe=overrideNe} if infoTense.negPreverb then preverb = infoTense.negPreverb{stem=stem, verbStruct=verbStruct, overrideBi=overrideBi, overrideDi=overrideDi} end else if infoTense.preverb then preverb = infoTense.preverb{stem=stem, verbStruct=verbStruct, overrideBi=overrideBi, overrideDi=overrideDi} end end infoTense.conj = {} local spacing = isCompoundVerb and ' ' or '' local endings = infoTense:endings(stem) -- local preverbParticles = export.getPreverbParticules(infoTense.preverbParticle, infoTense.stem, isTransitive) local isErgative = isTransitive and (infoTense.stem == 'past') -- Creating the conjugation table for a given tense for _, pers in ipairs(export.order) do local ending local conjSimbleVerb local conjVerb if isErgative then ending = endings.s3 else ending = endings[pers] end -- Adding space after the preverbal particle --[[ local preverbParticle = preverbParticles[pers] if preverbParticle ~= '' then preverbParticle = preverbParticle .. ' ' end --]] conjSimbleVerb = negPrefix .. preverb .. stem .. ending -- Adding prefixe and suffixe conjVerb = preSimpleVerb .. spacing .. conjSimbleVerb .. postSimpleVerb -- Spelling correction(îy -> iy) conjVerb = mw.ustring.gsub(conjVerb, 'îy', 'iy') -- Add a link conjVerb = link{term=conjVerb, lang=langKu} -- Addition of the preverbal particle -- infoTense.conj[pers] = preverbParticle .. conjVerb infoTense.conj[pers] = conjVerb end -- Imperative if (infoTense.name == 'impPresent') then infoTense.conj.s1 = nil infoTense.conj.s2 = infoTense.conj.s3 infoTense.conj.s3 = nil infoTense.conj.p1 = nil --infoTense.conj.p2 = infoTense.conj.p2 infoTense.conj.p3 = nil end return infoTense end -- ============================================================================= -- END -- ============================================================================= -- Some useful tools -- ============================================================================= -- Returns the list of verb tenses export.tensesList = function() local list = {} for _, tense in pairs(export.tenseClassification) do table.insert(list, tense.name) end return list end -- Concatenation of pronouns and conjugated verbs -- (for a given conjugate tense in all persons of that tense) function export.concatPronomsVerbs(pronoms, conjVerbs) local concatTab = {} for _, pers in ipairs(export.order) do concatTab[pers] = pronoms[pers] .. ' ' .. conjVerbs[pers] end return concatTab end -- ============================================================================= -- ADDITIONAL STEM OF THE PAST AND PRESENT (pastStem2, ... and presentStem2, ...) -- This function does nothing more than add additional parameters for verb stems -- in the past and present tenses. -- Conjugations for the different stems will be separated by "/" -- ============================================================================= function export.conjugateLong(baseOpts, tense, presentStems, pastStems) local opts = baseOpts or {} opts.tense = tense or nil presentStems = presentStems or {} pastStems = pastStems or {} local infoTense = deepCopy(export.tenseClassification[tense], 'copy') or false -- We check that this tense is indeed in table "tenseClassification". if not infoTense then return '<span style="color:red">Unknown tense: ' .. tense ..'</span>' end local stems = (infoTense.stem == 'present') and presentStems or pastStems -- For each verb stem, its conjugation table is calculated and stored in conjTabs. local conjTabs = {} for i = 1, #stems do if stems[i] then if (infoTense.stem == 'past') then opts.pastStem = stems[i] end if (infoTense.stem == 'present') then opts.presentStem = stems[i] end local conj = export.conjugate(opts).conj table.insert(conjTabs, conj) end end -- We concatenate each row of the conjugation tables. local concatConjTabs = {} for _, pers in ipairs(export.order) do local frag = {} for i = 1, #conjTabs do local val = conjTabs[i][pers] if val then table.insert(frag, tostring(val)) end end concatConjTabs[pers] = table.concat(frag, " / ") end infoTense.conj = concatConjTabs return infoTense end -- ==================================================================================== -- VERB CONUGATION IN ALL TENSES WITH PRONOUMS -- ==================================================================================== function export.conjugateAllTenses(baseOpts, presentStems, pastStems, negation, concatPrs) local opts = baseOpts or {} if negation == 'negative' then opts.isNegative = true end -- Concatenation of pronouns and conjugated verbs local concatPronomsVerbs = export.concatPronomsVerbs -- Tenses list local tensesList = export.tensesList() -- Conjugation in all tenses local conjTab = {} for _, tense in ipairs(tensesList) do local infoTense = deepCopy(export.tenseClassification[tense], 'copy') -- We create the conjugation table without the pronouns. conjTab[tense] = deepCopy(export.conjugateLong(opts, tense, presentStems, pastStems), 'copy') -- We concatenate the pronouns and the verbs if "concatPrs" is different of "false" -- (no pronoun for the imperative mood) if (tense ~= 'impPresent' and concatPrs ~= false) then local pronoms = deepCopy(export.conjPronouns(infoTense.stem, infoTense.mode, opts.isTransitive)) conjTab[tense].conj = concatPronomsVerbs(pronoms, conjTab[tense].conj) end end return conjTab end -- ==================================================================================== -- Allows you to obtain a given conjugation from a model. -- Ex. in the template: {{#invoke:ku-tewandin|tew|dem=indPresent|kes=s1}} -- See {{ku-tewîn-lk-niha}} -- ==================================================================================== function export.tew(frame) local args = frame:getParent().args local baseOpts = { isNegative = frame.args['neyînî'] or false, isTransitive = args['form'], isCompoundVerb = args['valahî'] or false, preSimpleVerb = args['pêşgir'] or nil, postSimpleVerb = args['paşgir'] or nil, overrideBi = args['bi'] or nil, overrideDi = args['di'] or nil, overrideNa = args['na'] or nil, overrideNe = args['ne'] or nil, impNegForm = nil } local tense = frame.args['dem'] or nil local pers = frame.args['kes'] or nil local presentStems = {args['niha'], args['niha2'], args['niha3']} local pastStems = {args['borî'], args['borî2'], args['borî3']} -- A few checks if (baseOpts.isTransitive == 'gerguhêz') then baseOpts.isTransitive = true elseif (baseOpts.isTransitive == 'negerguhêz') then baseOpts.isTransitive = false else return '<span style="color:red">form = gerguhêz / negerguhêz</span>' end if (baseOpts.isCompoundVerb == 'erê') then baseOpts.isCompoundVerb = true else baseOpts.isCompoundVerb = false end if (baseOpts.isNegative == 'erê') then baseOpts.isNegative = true end local tabConj = export.conjugateLong(baseOpts, tense, presentStems, pastStems).conj return tabConj[pers] end -- ==================================================================================== -- GET COMMMA SEPARED FORMS -- ==================================================================================== function export.get_comma_separated_forms(frame) local opts = { presentStem = frame.args['niha'], pastStem = frame.args['borî'], isTransitive = false, isNegative = false, isCompoundVerb = frame['valahî'] or false, preSimpleVerb = frame['pêşgir'] or '', postSimpleVerb = frame['paşgir'] or '', overrideBi = frame['bi'] or nil, overrideDi = frame['di'] or nil, overrideNa = frame['na'] or nil, overrideNe = frame['ne'] or nil, impNegForm = nil, } local function removeTags(tag) tag = mw.ustring.gsub(tag, '%[%[(.+)%|(.+)%]%]', '%2') tag = mw.ustring.gsub(tag, '<b>(.+)</b>', '%1') tag = mw.ustring.gsub(tag, '<span(.*)>(.*)</span>', '%2') return tag end local function concateList(tenseList) local concatList = {} for _, pers in ipairs({"s1", "s2", "s3", "p1"}) do local tense = removeTags(tenseList[pers]) -- Remove tags table.insert(concatList, tense) end return table.concat(concatList, ",") end local tenseList = {'indPresent','indPreterite','indImperfect', 'indPluperfect','indPerfect','indNwPluperfect', 'indFuture','indFuturePerfect', 'subjImperfect','subjPluperfect' } local concatAllTense = {} for i = 1, #tenseList do local tense = tenseList[i] if export.tenseClassification[tense] then opts.tense = tense local conj = shallowCopy(export.conjugate(opts).conj) local concatTense = concateList(conj) table.insert(concatAllTense, concatTense) end end return table.concat(concatAllTense, ",") end return export 0xntf4osodozuea2fky18je0zawh6jq 6237077 6237062 2026-06-04T04:11:13Z Ghybu 1393 6237077 Scribunto text/plain -- Modula tewandina lêkerên kurmancî local export = {} -- Load irregular forms table -- local irreg = require('Module:ku-tewandin/dijrêzik') local langKu = require("Modul:languages").getByCode("ku") local link = require('Module:links').language_link local shallowCopy = require("Module:table/shallowCopy") local deepCopy = require("Module:table/deepCopy") -- ============================================================================= -- Pronouns in Kurmanji -- ============================================================================= export.order = {"s1", "s2", "s3", "p1", "p2", "p3"} export.pronouns = { s1 = "ez", p1 = "em", s2 = "tu", p2 = "hûn", s3 = "ew", p3 = "ew" } export.obliquePronouns = { s1 = "min", p1 = "me", s2 = "te", p2 = "we", s3 = "wê/wî", p3 = "wan" } export.agents = { s1 = "te, wî, wê, we, wan", p1 = "te, wî, wê, we, wan", s2 = "min, wî, wê, me, wan", p2 = "min, wî, wê, me, wan", s3 = "min, te, wî, wê, me, we, wan", p3 = "min, te, wî, wê, me, we, wan" } -- Oblique pronoun (green) export.obliquePronounsGreen = { s1 = '<span style="color:green">min</span>', s2 = '<span style="color:green">te</span>', s3 = '<span style="color:green">wê/wî</span>', p1 = '<span style="color:green">me</span>', p2 = '<span style="color:green">we</span>', p3 = '<span style="color:green">wan</span>' } -- ───────────────────────────────────────────────────────────────────────────── -- 1) This function returns correct subject/agent pronoun, ergativity rule: -- - Transitive verbs in past tenses → oblique pronoun (green) = agent -- - All other cases → direct pronoun (no color) = subject -- 2) Also add the subjunctive prefix "(bila)" -- ───────────────────────────────────────────────────────────────────────────── function export.conjPronouns(stemType, mode, isTransitive) local pronouns = shallowCopy(export.pronouns) -- Ergativity in kurdish: transitive verbs that are conjugated with the past tense stem are -- conjugated according to the object, not the subject. -- Therefore, to have an ergative construction, -- the verb must be transitive and its stem must be the stem of the past tense. local isErgative = isTransitive and (stemType == 'past') -- If it's ergative, we use oblique pronouns: "min", "te", ... -- If it's not ergative, we use normal pronouns: "ez", "tu", ... if isErgative then pronouns = shallowCopy(export.obliquePronounsGreen) end -- For the subjunctive mood, we add "(bila)" at the beginning. if mode == 'subjunctive' then local subjPrefix = '<span style="color:gray">(bila)</span>' for _, pers in ipairs(export.order) do pronouns[pers] = subjPrefix .. ' ' .. pronouns[pers] end end return pronouns end -- ============================================================================= -- VERBAL STRUCTURE IN THE INFINITIVE: -- Verbs in the infinitive appear in three main forms: -- 1) Simple verb (indivisible light verb): -- - ex.: "kirin", "çûn", "xwarin", ... -- 2) Verbs with preverbs (preverb + simple verb): -- - ex.: "rakirin" (ra- + kirin), "çêkirin" (çê- + kirin), "vexwarin" (ve- + xwarin), ... -- - Preverb verbs don't use the prefix "bi-" (ez ê rakim , ew ê rake , ...) -- 3) Compound verbs, construction with non-verbal element (the noun is not attached to the verb): -- - Left of the simple verb: "hez kirin" ("hez" + "kirin"), "li dar xistin" ("li dar" + "xistin"), ... -- - Right of the simple verb: "kirin der" ("kirin" + "der"), "girtin ser xwe" ("girtin" + "ser xwe"), ... -- - Compound verbs use the prefix "bi-" (ez ê hez bi-kim , ew ê hez bi-ke ) -- STRUCTURE: preSimpleVerb + spacing + simpleVerb + postSimpleVerb -- EX. kirin: preSimpleVerb=''; spacing=false; simpleVerb='kirin'; postSimpleVerb='' -- rakirin: preSimpleVerb='ra'; spacing=false; simpleVerb='kirin'; postSimpleVerb='' -- hez kirin: preSimpleVerb='hez'; spacing=true; simpleVerb='kirin'; postSimpleVerb='' -- pev çûn: preSimpleVerb='pev'; spacing=true; simpleVerb='çûn'; postSimpleVerb='' -- kirin der: preSimpleVerb=''; spacing=false; simpleVerb='kirin'; postSimpleVerb='der' -- WARNING: Conjugation can vary depending on the type of verb. -- For example, in the future tense,the prefix "bi" is used for compound verbs, -- but not for preverbal verbs, see the function that manages it "tenseRules" table. -- This table does not yet support the mixed case: a verb composed of a noun and a preverb verb. -- ============================================================================= function export.verbStruct(isCompoundVerb, preSimpleVerb) local struct if (preSimpleVerb and preSimpleVerb ~= '' and not isCompoundVerb) then struct = 'preverbVerb' elseif isCompoundVerb then struct = 'compoundVerb' else struct = 'simpleVerb' end return struct end -- ================================================================ -- INFLECTIONAL ENDINGS -- Assigns verb inflectional endings (suffixes) to all tenses -- ================================================================ local getEndings = {} do -- ─────────────────────────────────────────────────────────────── -- Ending using present stem -- ─────────────────────────────────────────────────────────────── getEndings['present'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1='m', s2='yî', s3='', p1='n', p2='n', p3='n'} else ends = {s1='im', s2='î', s3='e', p1='in', p2='in', p3='in'} end return ends end -- ─────────────────────────────────────────────────────────────── -- Ind. preterite + ind. imperfect ending -- ─────────────────────────────────────────────────────────────── getEndings['past'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiouû]$') then ends = {s1='m', s2='yî', s3='', p1='n', p2='n', p3='n'} elseif mw.ustring.match(stem, 'î$') then -- if self.name == 'indImperfect' then -- -- special indicative ind. imperfect rule -- ends = {s1='yam', s2='yayî', s3='ya', p1='yan', p2='yan', p3='yan'} -- end ends = {s1='m', s2='', s3='', p1='n', p2='n', p3='n'} else ends = {s1='im', s2='î', s3='', p1='in', p2='in', p3='in'} end return ends end -- ─────────────────────────────────────────────────────────────── -- Compound endings with auxiliary "bûn" -- Inflectional endings are created by taking the different forms of the -- verb "bûn" (with present stem "-b-" and past stem "-bû-") and -- adding an "i-" prefix before them: "i-b-im", "i-bû-m", "i-bû-me", "i-bû-ma". -- This "i-" varies according to the final letter of the verb stem. -- ─────────────────────────────────────────────────────────────── local function normalize_i(stem) local prfx_i = "i" if mw.ustring.match(stem, "ya$") or mw.ustring.match(stem, "[îû]$") then -- cf. karîn (-karî-) prfx_i = "" elseif mw.ustring.match(stem, '[aeêiou]$') then prfx_i = "yi" end return prfx_i end getEndings['ibim'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bim", p1 = prfx_i .. "bin", s2 = prfx_i .. "bî", p2 = prfx_i .. "bin", s3 = prfx_i .. "be", p3 = prfx_i .. "bin" } end getEndings['ibûm'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûm", p1 = prfx_i .. "bûn", s2 = prfx_i .. "bûyî", p2 = prfx_i .. "bûn", s3 = prfx_i .. "bû", p3 = prfx_i .. "bûn" } end getEndings['ibûme'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûme", p1 = prfx_i .. "bûne", s2 = prfx_i .. "bûyiye", p2 = prfx_i .. "bûne", s3 = prfx_i .. "bûye", p3 = prfx_i .. "bûne" } end getEndings['ibûma'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûma", p1 = prfx_i .. "bûna", s2 = prfx_i .. "bûyayî", p2 = prfx_i .. "bûna", s3 = prfx_i .. "bûya", p3 = prfx_i .. "bûna" } end -- ─────────────────────────────────────────────────────────────── -- Ind. perfect ending. -- ─────────────────────────────────────────────────────────────── getEndings['ime'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1="me", s2="yî", s3="ye", p1="ne", p2="ne", p3="ne"} else ends = {s1="ime", s2="iyî", s3="iye", p1="ine", p2="ine", p3="ine"} end return ends end -- ─────────────────────────────────────────────────────────────── -- Subj. Imperfect ending. -- ─────────────────────────────────────────────────────────────── getEndings['ama'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends -- The doublet in "-iyan" of verbs in -"în" (gerîn/-geriya-, kenîn/-keniya-, ...), -- in the conditional and subjunctive moods, a doublet "yaya" appears; it's removed. -- -yayayî → -yayî; -yaya → -ya if mw.ustring.match(stem, '(ya)$') then ends = {s1="ma", s2="yî", s3="", p1="na", p2="na", p3="na"} elseif mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1="ma", s2="yayî", s3="ya", p1="na", p2="na", p3="na"} else ends = {s1="ama", s2="ayî", s3="a", p1="ana", p2="ana", p3="ana"} end return ends end end -- ============================================================================= -- RULES FOR PREVERBS: "bi-" and "di-" -- There are two preverbs: "bi-" and "di-". These preverbs can change form -- depending on the first letters of the verb’s present stem or past stem. -- ============================================================================= local getPreverb = {} do getPreverb['bi'] = function (opts) opts = opts or {} local stem = opts.stem local verbStruct = opts.verbStruct local overrideBi = opts.overrideBi -- Preverb verbs don't use the preverb "bi-": ra-kirin (ez ê rakim), ve-xwarin (ez ê vexwim) , ... -- But compound verb and simple verbs use it: hez kirin (ez ê hez bi-kim), lê bigirin (ez ê lê bi-girim), ... if (verbStruct == 'preverbVerb') then return '' end if overrideBi then return overrideBi end -- if irreg.dijrezikBi[stem] then return irreg.dijrezikBi[stem] end -- Modification of the preverbe "bi-" according to the last letter of the stem. if mw.ustring.match(stem, '^[aeêiîouû]') then return 'b' end return 'bi' end getPreverb['di'] = function (opts) opts = opts or {} local stem = opts.stem local overrideDi = opts.overrideDi if overrideDi then return overrideDi end -- if irreg.dijrezikDi[stem] then return irreg.dijrezikDi[stem] end -- Modification of the preverbe "di-" according to the last letter of the stem. if mw.ustring.match(stem, '^[ai]') then return 'd' end -- Ex. hatin : stem = -ê- // ez têm if mw.ustring.match(stem, '^[êî]') then return 't' end return 'di' end end -- ============================================================================= -- RULES FOR NEGATION PREFIXES: "na-" and "ne-" -- There are two negation prefixes: "na-" and "ne-". These preverbs can change -- form depending on the first letters of the verb’s present stem or past stem. -- ============================================================================= local getNegPrefix = {} do getNegPrefix['na'] = function (opts) opts = opts or {} local stem = opts.stem local overrideNa = opts.overrideNa if overrideNa then return '<b>' .. overrideNa .. '</b>' end -- if irreg.dijrezikNa[stem] then return irreg.dijrezikNa[stem] end -- Add sufix "-y" before certain vowels. if mw.ustring.match(stem, '^[eêiîouû]') then return '<b>nay</b>' end -- Elision before stems beginning with "a-" (removal of the final "-e"). if mw.ustring.match(stem, '^a') then return '<b>n</b>' end -- Tîpa duyem "-a-" ye (k-a-rîn, z-a-nîn, ...) if mw.ustring.match(stem, '^%wa') then return '<b>ni</b>' end return '<b>na</b>' end getNegPrefix['ne'] = function (opts) opts = opts or {} local stem = opts.stem local tenseName = opts.tenseName local impNegForm = opts.impNegForm local overrideNe = opts.overrideNe if overrideNe then return '<b>' .. overrideNe .. '</b>' end -- if irreg.dijrezikNe[stem] then return irreg.dijrezikNe[stem] end local negPrefix = 'ne' -- There are two forms of construction of the imperative, -- one with the prefix "me-" and the other with the prefix "ne-". if (tenseName == 'impPresent') then negPrefix = (impNegForm == 2) and 'ne' or 'me' end -- Add sufix "-y" before certain vowels. if mw.ustring.match(stem, '^[eêiîouû]') then return '<b>' .. negPrefix .. 'y</b>' end -- Elision before stems beginning with "a-" (removal of the final "-e"). if mw.ustring.match(stem, '^a') then negPrefix = mw.ustring.sub(negPrefix, 1, -2) return '<b>' .. negPrefix .. '</b>' end return '<b>' .. negPrefix .. '</b>' end end -- ============================================================================= -- Standardization of the PREVERBAL PARTICLE -- The proverbial particle "ê" is placed after the personal pronoun. -- ============================================================================= -- If there are no verbal preparticles, return empty table. function export.getPreverbParticules(preverbParticle, typeStem, isTransitive) if not preverbParticle then return {s1='', s2='', s3='', p1='', p2='', p3=''} end if preverbParticle == 'ê' then local isErgative = isTransitive and (typeStem == 'past') -- When the personal pronoun ends in a vowel, a "y-" is added before "ê". -- If it's ergative, we use oblique pronouns: "min", "te", ... if isErgative then return {s1='ê/dê', s2='yê/dê', s3='yê/dê', p1='yê/dê', p2='yê/dê', p3='ê/dê'} else return {s1='ê/dê', s2='yê/dê', s3='ê/dê', p1='ê/dê', p2='ê/dê', p3='ê/dê'} end end -- If the verbal preparticle is identical for all pronouns, -- we create a table with the same value. local preverbParticles = {} for _, pers in ipairs(export.order) do preverbParticles[pers] = preverbParticle end return preverbParticles end -- ============================================================================= -- RULES FOR CONSTRUCTING EACH VERB TENSE -- This table lists, for each verb tense, what elements are required to form it: -- - Verb conjugation is built by placing either the preverb "bi-" or "di-" before -- the verb stem (past or present), followed by a personal ending. -- - For the negative form, one of the prefixes "na-" or "ne-" is added as well. -- - In some cases, a preverbal particle such as /ê/ or /dê/ is added before -- the conjugated verb as well. -- Not: - The "negPreverb" (preverb (bi-/di-) for negative tenses) parameter has a -- value different from "nil" only for the Imperfect tense ("negPreverb=di"). -- - The parameter "negPrefix=na" is used only for the present indicative. -- -- Preverb "di", used in: "indPresent"(present stem), "indImperfect"(past stem) -- - Bo neyînî: pêşgira "di-" tenê di nav dema "IndImperfect" de tê bikaranîn. -- Preverb "bi", used in: "indFuture"(present stem), "subPresent"(present stem), -- "subImperfect"(past stem) = "condPresent"(past stem) -- - The prefix "bi-" isn't used in negative forms. -- -- Present stem, used in: "indPresent"(di)(na), -- "indFuture"(bi)(ne) = "subPresent"(bi)(ne) -- -- Past stem, used in: "indPreterite"(-)(ne), "indImperfect"(di)(ne), "indPluperfect"(-)(ne), -- "indPerfect"(-)(ne), "indNwPluperfect"(-)(ne), "indFuturePerfect"(-)(ne), -- "subPreterite"(-)(ne), -- "subImperfect"(bi)(ne) = "condPresent"(bi)(ne), -- "subPluperfect"(-)(ne) = "condPreterite"(-)(ne) -- ============================================================================= -- Some conjugations are identical except that they differ only in the preverbal particle (/ê/, /dê/). -- So, to avoid repeating the same information (and thus risking errors), -- we establish the common part shared between these verbs. local commonRules = { indFuture = { stem = "present", preverb = getPreverb['bi'], negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['present'] }, indFuturePerfect = { stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibim'] }, subImperfect = { stem = "past", preverb = getPreverb['bi'], negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ama'] }, subPluperfect = { stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûma'] } } local mt = { __index = function(t, k) local common = t._common if common then return common[k] end end } -- TENSE AND MOOD CLASSIFICATION TABLE export.tenseRules = { -- IMPERATIVE MOOD impPresent = setmetatable({ name = "impPresent", nameKu = "raweya fermanî", nameEn = "present imperative", mode = "imperative", _common = commonRules.indFuture, preverbParticle = nil }, mt), -- INDICATIVE MOOD indPresent = { name = "indPresent", nameKu = "dema niha", nameEn = "present", mode = "indicative", stem = "present", preverb = getPreverb['di'], negPreverb = nil, negPrefix = getNegPrefix['na'], endings = getEndings['present'], preverbParticle = nil }, indPreterite = { name = "indPreterite", nameKu = "raboriya sade", nameEn = "simple past", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['past'], preverbParticle = nil }, indImperfect = { name = "indImperfect", nameKu = "raboriya berdest", nameEn = "Imperfect", mode = "indicative", stem = "past", preverb = getPreverb['di'], negPreverb = getPreverb['di'], negPrefix = getNegPrefix['ne'], endings = getEndings['past'], preverbParticle = nil }, indPluperfect = { name = "indPluperfect", nameKu = "raboriya dûr", nameEn = "pluperfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûm'], preverbParticle = nil }, indFuture = setmetatable({ name = "indFuture", nameKu = "dema bê", nameEn = "future", mode = "indicative", _common = commonRules.indFuture, preverbParticle = 'ê' }, mt), indFuturePerfect = setmetatable({ name = "indFuturePerfect", nameKu = "dahatiya pêş", nameEn = "future perfect", mode = "indicative", _common = commonRules.indFuturePerfect, preverbParticle = 'ê' }, mt), -- In some books, the "perfect" and "nonconfirmative pluperfect" tenses -- are classified in the "inferential mood" ("moda neşahidî"). -- Currently we classify them using the indicative mood (at the end). indPerfect = { name = "indPerfect", nameKu = "raboriya dûdar", nameEn = "perfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ime'], preverbParticle = nil }, indNwPluperfect = { name = "indNwPluperfect", nameKu = "çîrokiya boriya dûdar", nameEn = "non-witnessed pluperfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûme'], preverbParticle = nil }, -- SUBJUNCTIVE MOOD subjPresent = setmetatable({ name = "subjPresent", nameKu = "dema nihaya xwestekî", nameEn = "present subjunctive", mode = "subjunctive", _common = commonRules.indFuture, preverbParticle = nil }, mt), subjPreterite = setmetatable({ name = "subjPreterite", nameKu = "dema boriya xwestekî", nameEn = "preterite subjunctive", mode = "subjunctive", _common = commonRules.indFuturePerfect, preverbParticle = nil, }, mt), subjImperfect = setmetatable({ name = "subjImperfect", nameKu = "raboriya bilaniyê", nameEn = "imperfect subjunctive", mode = "subjunctive", _common = commonRules.subImperfect, preverbParticle = nil, }, mt), subjPluperfect = setmetatable({ name = "subjPluperfect", nameKu = "raboriya dûr a bilaniyê", nameEn = "pluperfect subjunctive", mode = "subjunctive", _common = commonRules.subPluperfect, preverbParticle = nil }, mt), -- CONDITIONAL MOOD condPresent = setmetatable({ name = "condPresent", nameKu = "çîrokiya dema nihaya mercî", nameEn = "present conditional", mode = "conditional", _common = commonRules.subImperfect, preverbParticle = 'ê' }, mt), condPreterite = setmetatable({ name = "condPreterite", nameKu = "dema boriya mercî", nameEn = "preterite conditional", mode = "conditional", _common = commonRules.subPluperfect, preverbParticle = 'ê' }, mt), } -- ============================================================================= -- MAIN CONJUGATION FUNCTOIN -- This function returns an array containing the conjugation table for a given -- tense as well as other information about the conjugated verb. -- ============================================================================= function export.conjugate(opts) opts = opts or {} -- Required parameters local tense = opts.tense or error("'tense' required", 2) --One of the two parameters is required: -- - If the tense uses the present stem, indicate "presentStem". -- - If it uses the past stem, indicate "pastStem". local presentStem = opts.presentStem local pastStem = opts.pastStem -- Optional parameters local isTransitive = opts.isTransitive or false -- Indicate if the verb is transitive (true/false) local isNegative = opts.isNegative or false -- Indicate if it's the negative form (true/false) local isCompoundVerb = opts.isCompoundVerb or false -- Indicate if it's a compound verb (true/false) local preSimpleVerb = opts.preSimpleVerb or '' -- The part before the simple verb local postSimpleVerb = opts.postSimpleVerb or '' -- The part after the simple verb -- These parameters are provided when the verb is irregular. -- Allows you to manually modify preverbs ("bi-"" or "di-") -- and negation prefixes ("na-" or "ne-") local overrideBi = opts.overrideBi or nil local overrideDi = opts.overrideDi or nil local overrideNa = opts.overrideNa or nil local overrideNe = opts.overrideNe or nil -- By default, the negation of the imperative is constructed from the prefix "me-"". -- To obtain the second variant, the prefix with "ne-", you must specify "impNegForm=2". local impNegForm = opts.impNegForm or nil -- Access to the classification table and retrieval of verb tense parameters local infoTense = deepCopy(export.tenseRules[tense], 'copy') or false -- We check that this tense is indeed in table "tenseRules". if (not infoTense) then return '<span style="color:red">Unknown tense: ' .. tense ..'</span>' end -- We check that one of the two parameters of the stem is given if (infoTense.stem == 'present' and not presentStem) then return '<span style="color:red">presentStem parameter required</span>' elseif (infoTense.stem == 'past' and not pastStem) then return '<span style="color:red">pasttStem parameter required</span>' end -- Choice between the present stem or past stem local stem = (infoTense.stem == 'present') and presentStem or pastStem --──────────────────────────── -- Conjugation construction -- -- ─────────────────────────── local preverb = '' local negPrefix = '' -- Ruturns the verb type: "simpleVerb" or "preverbVerb" or "compoundVerb" local verbStruct = export.verbStruct(isCompoundVerb, preSimpleVerb) if isNegative then negPrefix = infoTense.negPrefix{stem=stem, tenseName=tense, impNegForm=impNegForm, overrideNa=overrideNa, overrideNe=overrideNe} if infoTense.negPreverb then preverb = infoTense.negPreverb{stem=stem, verbStruct=verbStruct, overrideBi=overrideBi, overrideDi=overrideDi} end else if infoTense.preverb then preverb = infoTense.preverb{stem=stem, verbStruct=verbStruct, overrideBi=overrideBi, overrideDi=overrideDi} end end infoTense.conj = {} local spacing = isCompoundVerb and ' ' or '' local endings = infoTense:endings(stem) -- local preverbParticles = export.getPreverbParticules(infoTense.preverbParticle, infoTense.stem, isTransitive) local isErgative = isTransitive and (infoTense.stem == 'past') -- Creating the conjugation table for a given tense for _, pers in ipairs(export.order) do local ending local conjSimbleVerb local conjVerb if isErgative then ending = endings.s3 else ending = endings[pers] end -- Adding space after the preverbal particle --[[ local preverbParticle = preverbParticles[pers] if preverbParticle ~= '' then preverbParticle = preverbParticle .. ' ' end --]] conjSimbleVerb = negPrefix .. preverb .. stem .. ending -- Adding prefixe and suffixe conjVerb = preSimpleVerb .. spacing .. conjSimbleVerb .. postSimpleVerb -- Spelling correction(îy -> iy) conjVerb = mw.ustring.gsub(conjVerb, 'îy', 'iy') -- Add a link conjVerb = link{term=conjVerb, lang=langKu} -- Addition of the preverbal particle -- infoTense.conj[pers] = preverbParticle .. conjVerb infoTense.conj[pers] = conjVerb end -- Imperative if (infoTense.name == 'impPresent') then infoTense.conj.s1 = nil infoTense.conj.s2 = infoTense.conj.s3 infoTense.conj.s3 = nil infoTense.conj.p1 = nil --infoTense.conj.p2 = infoTense.conj.p2 infoTense.conj.p3 = nil end return infoTense end -- ============================================================================= -- END -- ============================================================================= -- Some useful tools -- ============================================================================= -- Returns the list of verb tenses export.tensesList = function() local list = {} for _, tense in pairs(export.tenseRules) do table.insert(list, tense.name) end return list end -- Concatenation of pronouns and conjugated verbs -- (for a given conjugate tense in all persons of that tense) function export.concatPronomsVerbs(pronoms, conjVerbs) local concatTab = {} for _, pers in ipairs(export.order) do concatTab[pers] = pronoms[pers] .. ' ' .. conjVerbs[pers] end return concatTab end -- ============================================================================= -- ADDITIONAL STEM OF THE PAST AND PRESENT (pastStem2, ... and presentStem2, ...) -- This function does nothing more than add additional parameters for verb stems -- in the past and present tenses. -- Conjugations for the different stems will be separated by "/" -- ============================================================================= function export.conjugateLong(baseOpts, tense, presentStems, pastStems) local opts = baseOpts or {} opts.tense = tense or nil presentStems = presentStems or {} pastStems = pastStems or {} local infoTense = deepCopy(export.tenseRules[tense], 'copy') or false -- We check that this tense is indeed in table "tenseRules". if not infoTense then return '<span style="color:red">Unknown tense: ' .. tense ..'</span>' end local stems = (infoTense.stem == 'present') and presentStems or pastStems -- For each verb stem, its conjugation table is calculated and stored in conjTabs. local conjTabs = {} for i = 1, #stems do if stems[i] then if (infoTense.stem == 'past') then opts.pastStem = stems[i] end if (infoTense.stem == 'present') then opts.presentStem = stems[i] end local conj = export.conjugate(opts).conj table.insert(conjTabs, conj) end end -- We concatenate each row of the conjugation tables. local concatConjTabs = {} for _, pers in ipairs(export.order) do local frag = {} for i = 1, #conjTabs do local val = conjTabs[i][pers] if val then table.insert(frag, tostring(val)) end end concatConjTabs[pers] = table.concat(frag, " / ") end infoTense.conj = concatConjTabs return infoTense end -- ==================================================================================== -- VERB CONUGATION IN ALL TENSES WITH PRONOUMS -- ==================================================================================== function export.conjugateAllTenses(baseOpts, presentStems, pastStems, negation, concatPrs) local opts = baseOpts or {} if negation == 'negative' then opts.isNegative = true end -- Concatenation of pronouns and conjugated verbs local concatPronomsVerbs = export.concatPronomsVerbs -- Tenses list local tensesList = export.tensesList() -- Conjugation in all tenses local conjTab = {} for _, tense in ipairs(tensesList) do local infoTense = deepCopy(export.tenseRules[tense], 'copy') -- We create the conjugation table without the pronouns. conjTab[tense] = deepCopy(export.conjugateLong(opts, tense, presentStems, pastStems), 'copy') -- We concatenate the pronouns and the verbs if "concatPrs" is different of "false" -- (no pronoun for the imperative mood) if (tense ~= 'impPresent' and concatPrs ~= false) then local pronoms = deepCopy(export.conjPronouns(infoTense.stem, infoTense.mode, opts.isTransitive)) conjTab[tense].conj = concatPronomsVerbs(pronoms, conjTab[tense].conj) end end return conjTab end -- ==================================================================================== -- Allows you to obtain a given conjugation from a model. -- Ex. in the template: {{#invoke:ku-tewandin|tew|dem=indPresent|kes=s1}} -- See {{ku-tewîn-lk-niha}} -- ==================================================================================== function export.tew(frame) local args = frame:getParent().args local baseOpts = { isNegative = frame.args['neyînî'] or false, isTransitive = args['form'], isCompoundVerb = args['valahî'] or false, preSimpleVerb = args['pêşgir'] or nil, postSimpleVerb = args['paşgir'] or nil, overrideBi = args['bi'] or nil, overrideDi = args['di'] or nil, overrideNa = args['na'] or nil, overrideNe = args['ne'] or nil, impNegForm = nil } local tense = frame.args['dem'] or nil local pers = frame.args['kes'] or nil local presentStems = {args['niha'], args['niha2'], args['niha3']} local pastStems = {args['borî'], args['borî2'], args['borî3']} -- A few checks if (baseOpts.isTransitive == 'gerguhêz') then baseOpts.isTransitive = true elseif (baseOpts.isTransitive == 'negerguhêz') then baseOpts.isTransitive = false else return '<span style="color:red">form = gerguhêz / negerguhêz</span>' end if (baseOpts.isCompoundVerb == 'erê') then baseOpts.isCompoundVerb = true else baseOpts.isCompoundVerb = false end if (baseOpts.isNegative == 'erê') then baseOpts.isNegative = true end local tabConj = export.conjugateLong(baseOpts, tense, presentStems, pastStems).conj return tabConj[pers] end -- ==================================================================================== -- GET COMMMA SEPARED FORMS -- ==================================================================================== function export.get_comma_separated_forms(frame) local opts = { presentStem = frame.args['niha'], pastStem = frame.args['borî'], isTransitive = false, isNegative = false, isCompoundVerb = frame['valahî'] or false, preSimpleVerb = frame['pêşgir'] or '', postSimpleVerb = frame['paşgir'] or '', overrideBi = frame['bi'] or nil, overrideDi = frame['di'] or nil, overrideNa = frame['na'] or nil, overrideNe = frame['ne'] or nil, impNegForm = nil, } local function removeTags(tag) tag = mw.ustring.gsub(tag, '%[%[(.+)%|(.+)%]%]', '%2') tag = mw.ustring.gsub(tag, '<b>(.+)</b>', '%1') tag = mw.ustring.gsub(tag, '<span(.*)>(.*)</span>', '%2') return tag end local function concateList(tenseList) local concatList = {} for _, pers in ipairs({"s1", "s2", "s3", "p1"}) do local tense = removeTags(tenseList[pers]) -- Remove tags table.insert(concatList, tense) end return table.concat(concatList, ",") end local tenseList = {'indPresent','indPreterite','indImperfect', 'indPluperfect','indPerfect','indNwPluperfect', 'indFuture','indFuturePerfect', 'subjImperfect','subjPluperfect' } local concatAllTense = {} for i = 1, #tenseList do local tense = tenseList[i] if export.tenseRules[tense] then opts.tense = tense local conj = shallowCopy(export.conjugate(opts).conj) local concatTense = concateList(conj) table.insert(concatAllTense, concatTense) end end return table.concat(concatAllTense, ",") end return export 2ri2wilma2wya8f3faynaz03hq9ygbi 6237079 6237077 2026-06-04T04:48:04Z Ghybu 1393 6237079 Scribunto text/plain -- Modula tewandina lêkerên kurmancî local export = {} -- Load irregular forms table -- local irreg = require('Module:ku-tewandin/dijrêzik') local langKu = require("Modul:languages").getByCode("ku") local link = require('Module:links').language_link local shallowCopy = require("Module:table/shallowCopy") local deepCopy = require("Module:table/deepCopy") -- ============================================================================= -- Pronouns in Kurmanji -- ============================================================================= export.order = {"s1", "s2", "s3", "p1", "p2", "p3"} export.pronouns = { s1 = "ez", p1 = "em", s2 = "tu", p2 = "hûn", s3 = "ew", p3 = "ew" } export.obliquePronouns = { s1 = "min", p1 = "me", s2 = "te", p2 = "we", s3 = "wê/wî", p3 = "wan" } export.agents = { s1 = "te, wî, wê, we, wan", p1 = "te, wî, wê, we, wan", s2 = "min, wî, wê, me, wan", p2 = "min, wî, wê, me, wan", s3 = "min, te, wî, wê, me, we, wan", p3 = "min, te, wî, wê, me, we, wan" } -- Oblique pronoun (green) export.obliquePronounsGreen = { s1 = '<span style="color:green">min</span>', s2 = '<span style="color:green">te</span>', s3 = '<span style="color:green">wê/wî</span>', p1 = '<span style="color:green">me</span>', p2 = '<span style="color:green">we</span>', p3 = '<span style="color:green">wan</span>' } -- ───────────────────────────────────────────────────────────────────────────── -- 1) This function returns correct subject/agent pronoun, ergativity rule: -- - Transitive verbs in past tenses → oblique pronoun (green) = agent -- - All other cases → direct pronoun (no color) = subject -- 2) Also add the subjunctive prefix "(bila)" -- ───────────────────────────────────────────────────────────────────────────── function export.conjPronouns(stemType, mode, isTransitive) local pronouns = shallowCopy(export.pronouns) -- Ergativity in kurdish: transitive verbs that are conjugated with the past tense stem are -- conjugated according to the object, not the subject. -- Therefore, to have an ergative construction, -- the verb must be transitive and its stem must be the stem of the past tense. local isErgative = isTransitive and (stemType == 'past') -- If it's ergative, we use oblique pronouns: "min", "te", ... -- If it's not ergative, we use normal pronouns: "ez", "tu", ... if isErgative then pronouns = shallowCopy(export.obliquePronounsGreen) end -- For the subjunctive mood, we add "(bila)" at the beginning. if mode == 'subjunctive' then local subjPrefix = '<span style="color:gray">(bila)</span>' for _, pers in ipairs(export.order) do pronouns[pers] = subjPrefix .. ' ' .. pronouns[pers] end end return pronouns end -- ============================================================================= -- VERBAL STRUCTURE IN THE INFINITIVE: -- Verbs in the infinitive appear in three main forms: -- 1) Simple verb (indivisible light verb): -- - ex.: "kirin", "çûn", "xwarin", ... -- 2) Verbs with preverbs (preverb + simple verb): -- - ex.: "rakirin" (ra- + kirin), "çêkirin" (çê- + kirin), "vexwarin" (ve- + xwarin), ... -- - Preverb verbs don't use the prefix "bi-" (ez ê rakim , ew ê rake , ...) -- 3) Compound verbs, construction with non-verbal element (the noun is not attached to the verb): -- - Left of the simple verb: "hez kirin" ("hez" + "kirin"), "li dar xistin" ("li dar" + "xistin"), ... -- - Right of the simple verb: "kirin der" ("kirin" + "der"), "girtin ser xwe" ("girtin" + "ser xwe"), ... -- - Compound verbs use the prefix "bi-" (ez ê hez bi-kim , ew ê hez bi-ke ) -- STRUCTURE: preSimpleVerb + spacing + simpleVerb + postSimpleVerb -- EX. kirin: preSimpleVerb=''; spacing=false; simpleVerb='kirin'; postSimpleVerb='' -- rakirin: preSimpleVerb='ra'; spacing=false; simpleVerb='kirin'; postSimpleVerb='' -- hez kirin: preSimpleVerb='hez'; spacing=true; simpleVerb='kirin'; postSimpleVerb='' -- pev çûn: preSimpleVerb='pev'; spacing=true; simpleVerb='çûn'; postSimpleVerb='' -- kirin der: preSimpleVerb=''; spacing=false; simpleVerb='kirin'; postSimpleVerb='der' -- WARNING: Conjugation can vary depending on the type of verb. -- For example, in the future tense,the prefix "bi" is used for compound verbs, -- but not for preverbal verbs, see the function that manages it "tenseRules" table. -- This table does not yet support the mixed case: a verb composed of a noun and a preverb verb. -- ============================================================================= function export.verbStruct(isCompoundVerb, preSimpleVerb) local struct if (preSimpleVerb and preSimpleVerb ~= '' and not isCompoundVerb) then struct = 'preverbVerb' elseif isCompoundVerb then struct = 'compoundVerb' else struct = 'simpleVerb' end return struct end -- ================================================================ -- INFLECTIONAL ENDINGS -- Assigns verb inflectional endings (suffixes) to all tenses -- ================================================================ local getEndings = {} do -- ─────────────────────────────────────────────────────────────── -- Ending using present stem -- ─────────────────────────────────────────────────────────────── getEndings['present'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1='m', s2='yî', s3='', p1='n', p2='n', p3='n'} else ends = {s1='im', s2='î', s3='e', p1='in', p2='in', p3='in'} end return ends end -- ─────────────────────────────────────────────────────────────── -- Ind. preterite + ind. imperfect ending -- ─────────────────────────────────────────────────────────────── getEndings['past'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiouû]$') then ends = {s1='m', s2='yî', s3='', p1='n', p2='n', p3='n'} elseif mw.ustring.match(stem, 'î$') then -- if self.name == 'indImperfect' then -- -- special indicative ind. imperfect rule -- ends = {s1='yam', s2='yayî', s3='ya', p1='yan', p2='yan', p3='yan'} -- end ends = {s1='m', s2='', s3='', p1='n', p2='n', p3='n'} else ends = {s1='im', s2='î', s3='', p1='in', p2='in', p3='in'} end return ends end -- ─────────────────────────────────────────────────────────────── -- Compound endings with auxiliary "bûn" -- Inflectional endings are created by taking the different forms of the -- verb "bûn" (with present stem "-b-" and past stem "-bû-") and -- adding an "i-" prefix before them: "i-b-im", "i-bû-m", "i-bû-me", "i-bû-ma". -- This "i-" varies according to the final letter of the verb stem. -- ─────────────────────────────────────────────────────────────── local function normalize_i(stem) local prfx_i = "i" if mw.ustring.match(stem, "ya$") or mw.ustring.match(stem, "[îû]$") then -- cf. karîn (-karî-) prfx_i = "" elseif mw.ustring.match(stem, '[aeêiou]$') then prfx_i = "yi" end return prfx_i end getEndings['ibim'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bim", p1 = prfx_i .. "bin", s2 = prfx_i .. "bî", p2 = prfx_i .. "bin", s3 = prfx_i .. "be", p3 = prfx_i .. "bin" } end getEndings['ibûm'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûm", p1 = prfx_i .. "bûn", s2 = prfx_i .. "bûyî", p2 = prfx_i .. "bûn", s3 = prfx_i .. "bû", p3 = prfx_i .. "bûn" } end getEndings['ibûme'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûme", p1 = prfx_i .. "bûne", s2 = prfx_i .. "bûyiye", p2 = prfx_i .. "bûne", s3 = prfx_i .. "bûye", p3 = prfx_i .. "bûne" } end getEndings['ibûma'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local prfx_i = normalize_i(stem) return { s1 = prfx_i .. "bûma", p1 = prfx_i .. "bûna", s2 = prfx_i .. "bûyayî", p2 = prfx_i .. "bûna", s3 = prfx_i .. "bûya", p3 = prfx_i .. "bûna" } end -- ─────────────────────────────────────────────────────────────── -- Ind. perfect ending. -- ─────────────────────────────────────────────────────────────── getEndings['ime'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends if mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1="me", s2="yî", s3="ye", p1="ne", p2="ne", p3="ne"} else ends = {s1="ime", s2="iyî", s3="iye", p1="ine", p2="ine", p3="ine"} end return ends end -- ─────────────────────────────────────────────────────────────── -- Subj. Imperfect ending. -- ─────────────────────────────────────────────────────────────── getEndings['ama'] = function(self, stem) -- self: reserved for future use (was used before, might be needed again) local _ = self -- delete the warning (unused argument) local ends -- The doublet in "-iyan" of verbs in -"în" (gerîn/-geriya-, kenîn/-keniya-, ...), -- in the conditional and subjunctive moods, a doublet "yaya" appears; it's removed. -- -yayayî → -yayî; -yaya → -ya if mw.ustring.match(stem, '(ya)$') then ends = {s1="ma", s2="yî", s3="", p1="na", p2="na", p3="na"} elseif mw.ustring.match(stem, '[aeêiîouû]$') then ends = {s1="ma", s2="yayî", s3="ya", p1="na", p2="na", p3="na"} else ends = {s1="ama", s2="ayî", s3="a", p1="ana", p2="ana", p3="ana"} end return ends end end -- ============================================================================= -- RULES FOR PREVERBS: "bi-" and "di-" -- There are two preverbs: "bi-" and "di-". These preverbs can change form -- depending on the first letters of the verb’s present stem or past stem. -- ============================================================================= local getPreverb = {} do getPreverb['bi'] = function (opts) opts = opts or {} local stem = opts.stem local verbStruct = opts.verbStruct local overrideBi = opts.overrideBi -- Preverb verbs don't use the preverb "bi-": ra-kirin (ez ê rakim), ve-xwarin (ez ê vexwim) , ... -- But compound verb and simple verbs use it: hez kirin (ez ê hez bi-kim), lê bigirin (ez ê lê bi-girim), ... if (verbStruct == 'preverbVerb') then return '' end if overrideBi then return overrideBi end -- if irreg.dijrezikBi[stem] then return irreg.dijrezikBi[stem] end -- Modification of the preverbe "bi-" according to the last letter of the stem. if mw.ustring.match(stem, '^[aeêiîouû]') then return 'b' end return 'bi' end getPreverb['di'] = function (opts) opts = opts or {} local stem = opts.stem local overrideDi = opts.overrideDi if overrideDi then return overrideDi end -- if irreg.dijrezikDi[stem] then return irreg.dijrezikDi[stem] end -- Modification of the preverbe "di-" according to the last letter of the stem. if mw.ustring.match(stem, '^[ai]') then return 'd' end -- Ex. hatin : stem = -ê- // ez têm if mw.ustring.match(stem, '^[êî]') then return 't' end return 'di' end end -- ============================================================================= -- RULES FOR NEGATION PREFIXES: "na-" and "ne-" -- There are two negation prefixes: "na-" and "ne-". These preverbs can change -- form depending on the first letters of the verb’s present stem or past stem. -- ============================================================================= local getNegPrefix = {} do getNegPrefix['na'] = function (opts) opts = opts or {} local stem = opts.stem local overrideNa = opts.overrideNa if overrideNa then return '<b>' .. overrideNa .. '</b>' end -- if irreg.dijrezikNa[stem] then return irreg.dijrezikNa[stem] end -- Add sufix "-y" before certain vowels. if mw.ustring.match(stem, '^[eêiîouû]') then return '<b>nay</b>' end -- Elision before stems beginning with "a-" (removal of the final "-e"). if mw.ustring.match(stem, '^a') then return '<b>n</b>' end -- Tîpa duyem "-a-" ye (k-a-rîn, z-a-nîn, ...) if mw.ustring.match(stem, '^%wa') then return '<b>ni</b>' end return '<b>na</b>' end getNegPrefix['ne'] = function (opts) opts = opts or {} local stem = opts.stem local tenseName = opts.tenseName local impNegForm = opts.impNegForm local overrideNe = opts.overrideNe if overrideNe then return '<b>' .. overrideNe .. '</b>' end -- if irreg.dijrezikNe[stem] then return irreg.dijrezikNe[stem] end local negPrefix = 'ne' -- There are two forms of construction of the imperative, -- one with the prefix "me-" and the other with the prefix "ne-". if (tenseName == 'impPresent') then negPrefix = (impNegForm == 2) and 'ne' or 'me' end -- Add sufix "-y" before certain vowels. if mw.ustring.match(stem, '^[eêiîouû]') then return '<b>' .. negPrefix .. 'y</b>' end -- Elision before stems beginning with "a-" (removal of the final "-e"). if mw.ustring.match(stem, '^a') then negPrefix = mw.ustring.sub(negPrefix, 1, -2) return '<b>' .. negPrefix .. '</b>' end return '<b>' .. negPrefix .. '</b>' end end -- ============================================================================= -- Standardization of the PREVERBAL PARTICLE -- The proverbial particle "ê" is placed after the personal pronoun. -- ============================================================================= -- If there are no verbal preparticles, return empty table. function export.getPreverbParticules(preverbParticle, typeStem, isTransitive) if not preverbParticle then return {s1='', s2='', s3='', p1='', p2='', p3=''} end if preverbParticle == 'ê' then local isErgative = isTransitive and (typeStem == 'past') -- When the personal pronoun ends in a vowel, a "y-" is added before "ê". -- If it's ergative, we use oblique pronouns: "min", "te", ... if isErgative then return {s1='ê/dê', s2='yê/dê', s3='yê/dê', p1='yê/dê', p2='yê/dê', p3='ê/dê'} else return {s1='ê/dê', s2='yê/dê', s3='ê/dê', p1='ê/dê', p2='ê/dê', p3='ê/dê'} end end -- If the verbal preparticle is identical for all pronouns, -- we create a table with the same value. local preverbParticles = {} for _, pers in ipairs(export.order) do preverbParticles[pers] = preverbParticle end return preverbParticles end -- ============================================================================= -- RULES FOR CONSTRUCTING EACH VERB TENSE -- This table lists, for each verb tense, what elements are required to form it: -- - Verb conjugation is built by placing either the preverb "bi-" or "di-" before -- the verb stem (past or present), followed by a personal ending. -- - For the negative form, one of the prefixes "na-" or "ne-" is added as well. -- - In some cases, a preverbal particle such as /ê/ or /dê/ is added before -- the conjugated verb as well. -- Not: - The "negPreverb" (preverb (bi-/di-) for negative tenses) parameter has a -- value different from "nil" only for the Imperfect tense ("negPreverb=di"). -- - The parameter "negPrefix=na" is used only for the present indicative. -- -- Preverb "di", used in: "indPresent"(present stem), "indImperfect"(past stem) -- - Bo neyînî: pêşgira "di-" tenê di nav dema "IndImperfect" de tê bikaranîn. -- Preverb "bi", used in: "indFuture"(present stem), "subPresent"(present stem), -- "subImperfect"(past stem) = "condPresent"(past stem) -- - The prefix "bi-" isn't used in negative forms. -- -- Present stem, used in: "indPresent"(di)(na), -- "indFuture"(bi)(ne) = "subPresent"(bi)(ne) -- -- Past stem, used in: "indPreterite"(-)(ne), "indImperfect"(di)(ne), "indPluperfect"(-)(ne), -- "indPerfect"(-)(ne), "indNwPluperfect"(-)(ne), "indFuturePerfect"(-)(ne), -- "subPreterite"(-)(ne), -- "subImperfect"(bi)(ne) = "condPresent"(bi)(ne), -- "subPluperfect"(-)(ne) = "condPreterite"(-)(ne) -- ============================================================================= -- Some conjugations are identical except that they differ only in the preverbal particle (/ê/, /dê/). -- So, to avoid repeating the same information (and thus risking errors), -- we establish the common part shared between these verbs. local sharedTenseRules = { indFuture = { stem = "present", preverb = getPreverb['bi'], negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['present'] }, indFuturePerfect = { stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibim'] }, subImperfect = { stem = "past", preverb = getPreverb['bi'], negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ama'] }, subPluperfect = { stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûma'] } } local mt = { __index = function(t, k) local commonRules = t._commonRules if commonRules then return commonRules[k] end end } -- TENSES CONJUGATION RULES export.tenseRules = { -- IMPERATIVE MOOD impPresent = setmetatable({ name = "impPresent", nameKu = "raweya fermanî", nameEn = "present imperative", mode = "imperative", _commonRules = sharedTenseRules.indFuture, preverbParticle = nil }, mt), -- INDICATIVE MOOD indPresent = { name = "indPresent", nameKu = "dema niha", nameEn = "present", mode = "indicative", stem = "present", preverb = getPreverb['di'], negPreverb = nil, negPrefix = getNegPrefix['na'], endings = getEndings['present'], preverbParticle = nil }, indPreterite = { name = "indPreterite", nameKu = "raboriya sade", nameEn = "simple past", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['past'], preverbParticle = nil }, indImperfect = { name = "indImperfect", nameKu = "raboriya berdest", nameEn = "Imperfect", mode = "indicative", stem = "past", preverb = getPreverb['di'], negPreverb = getPreverb['di'], negPrefix = getNegPrefix['ne'], endings = getEndings['past'], preverbParticle = nil }, indPluperfect = { name = "indPluperfect", nameKu = "raboriya dûr", nameEn = "pluperfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûm'], preverbParticle = nil }, indFuture = setmetatable({ name = "indFuture", nameKu = "dema bê", nameEn = "future", mode = "indicative", _commonRules = sharedTenseRules.indFuture, preverbParticle = 'ê' }, mt), indFuturePerfect = setmetatable({ name = "indFuturePerfect", nameKu = "dahatiya pêş", nameEn = "future perfect", mode = "indicative", _commonRules = sharedTenseRules.indFuturePerfect, preverbParticle = 'ê' }, mt), -- In some books, the "perfect" and "nonconfirmative pluperfect" tenses -- are classified in the "inferential mood" ("moda neşahidî"). -- Currently we classify them using the indicative mood (at the end). indPerfect = { name = "indPerfect", nameKu = "raboriya dûdar", nameEn = "perfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ime'], preverbParticle = nil }, indNwPluperfect = { name = "indNwPluperfect", nameKu = "çîrokiya boriya dûdar", nameEn = "non-witnessed pluperfect", mode = "indicative", stem = "past", preverb = nil, negPreverb = nil, negPrefix = getNegPrefix['ne'], endings = getEndings['ibûme'], preverbParticle = nil }, -- SUBJUNCTIVE MOOD subjPresent = setmetatable({ name = "subjPresent", nameKu = "dema nihaya xwestekî", nameEn = "present subjunctive", mode = "subjunctive", _commonRules = sharedTenseRules.indFuture, preverbParticle = nil }, mt), subjPreterite = setmetatable({ name = "subjPreterite", nameKu = "dema boriya xwestekî", nameEn = "preterite subjunctive", mode = "subjunctive", _commonRules = sharedTenseRules.indFuturePerfect, preverbParticle = nil, }, mt), subjImperfect = setmetatable({ name = "subjImperfect", nameKu = "raboriya bilaniyê", nameEn = "imperfect subjunctive", mode = "subjunctive", _commonRules = sharedTenseRules.subImperfect, preverbParticle = nil, }, mt), subjPluperfect = setmetatable({ name = "subjPluperfect", nameKu = "raboriya dûr a bilaniyê", nameEn = "pluperfect subjunctive", mode = "subjunctive", _commonRules = sharedTenseRules.subPluperfect, preverbParticle = nil }, mt), -- CONDITIONAL MOOD condPresent = setmetatable({ name = "condPresent", nameKu = "çîrokiya dema nihaya mercî", nameEn = "present conditional", mode = "conditional", _commonRules = sharedTenseRules.subImperfect, preverbParticle = 'ê' }, mt), condPreterite = setmetatable({ name = "condPreterite", nameKu = "dema boriya mercî", nameEn = "preterite conditional", mode = "conditional", _commonRules = sharedTenseRules.subPluperfect, preverbParticle = 'ê' }, mt), } -- ============================================================================= -- MAIN CONJUGATION FUNCTOIN -- This function returns an array containing the conjugation table for a given -- tense as well as other information about the conjugated verb. -- ============================================================================= function export.conjugate(opts) opts = opts or {} -- Required parameters local tense = opts.tense or error("'tense' required", 2) --One of the two parameters is required: -- - If the tense uses the present stem, indicate "presentStem". -- - If it uses the past stem, indicate "pastStem". local presentStem = opts.presentStem local pastStem = opts.pastStem -- Optional parameters local isTransitive = opts.isTransitive or false -- Indicate if the verb is transitive (true/false) local isNegative = opts.isNegative or false -- Indicate if it's the negative form (true/false) local isCompoundVerb = opts.isCompoundVerb or false -- Indicate if it's a compound verb (true/false) local preSimpleVerb = opts.preSimpleVerb or '' -- The part before the simple verb local postSimpleVerb = opts.postSimpleVerb or '' -- The part after the simple verb -- These parameters are provided when the verb is irregular. -- Allows you to manually modify preverbs ("bi-"" or "di-") -- and negation prefixes ("na-" or "ne-") local overrideBi = opts.overrideBi or nil local overrideDi = opts.overrideDi or nil local overrideNa = opts.overrideNa or nil local overrideNe = opts.overrideNe or nil -- By default, the negation of the imperative is constructed from the prefix "me-"". -- To obtain the second variant, the prefix with "ne-", you must specify "impNegForm=2". local impNegForm = opts.impNegForm or nil -- Access to the classification table and retrieval of verb tense parameters local infoTense = deepCopy(export.tenseRules[tense], 'copy') or false -- We check that this tense is indeed in table "tenseRules". if (not infoTense) then return '<span style="color:red">Unknown tense: ' .. tense ..'</span>' end -- We check that one of the two parameters of the stem is given if (infoTense.stem == 'present' and not presentStem) then return '<span style="color:red">presentStem parameter required</span>' elseif (infoTense.stem == 'past' and not pastStem) then return '<span style="color:red">pasttStem parameter required</span>' end -- Choice between the present stem or past stem local stem = (infoTense.stem == 'present') and presentStem or pastStem --──────────────────────────── -- Conjugation construction -- -- ─────────────────────────── local preverb = '' local negPrefix = '' -- Ruturns the verb type: "simpleVerb" or "preverbVerb" or "compoundVerb" local verbStruct = export.verbStruct(isCompoundVerb, preSimpleVerb) if isNegative then negPrefix = infoTense.negPrefix{stem=stem, tenseName=tense, impNegForm=impNegForm, overrideNa=overrideNa, overrideNe=overrideNe} if infoTense.negPreverb then preverb = infoTense.negPreverb{stem=stem, verbStruct=verbStruct, overrideBi=overrideBi, overrideDi=overrideDi} end else if infoTense.preverb then preverb = infoTense.preverb{stem=stem, verbStruct=verbStruct, overrideBi=overrideBi, overrideDi=overrideDi} end end infoTense.conj = {} local spacing = isCompoundVerb and ' ' or '' local endings = infoTense:endings(stem) -- local preverbParticles = export.getPreverbParticules(infoTense.preverbParticle, infoTense.stem, isTransitive) local isErgative = isTransitive and (infoTense.stem == 'past') -- Creating the conjugation table for a given tense for _, pers in ipairs(export.order) do local ending local conjSimbleVerb local conjVerb if isErgative then ending = endings.s3 else ending = endings[pers] end -- Adding space after the preverbal particle --[[ local preverbParticle = preverbParticles[pers] if preverbParticle ~= '' then preverbParticle = preverbParticle .. ' ' end --]] conjSimbleVerb = negPrefix .. preverb .. stem .. ending -- Adding prefixe and suffixe conjVerb = preSimpleVerb .. spacing .. conjSimbleVerb .. postSimpleVerb -- Spelling correction(îy -> iy) conjVerb = mw.ustring.gsub(conjVerb, 'îy', 'iy') -- Add a link conjVerb = link{term=conjVerb, lang=langKu} -- Addition of the preverbal particle -- infoTense.conj[pers] = preverbParticle .. conjVerb infoTense.conj[pers] = conjVerb end -- Imperative if (infoTense.name == 'impPresent') then infoTense.conj.s1 = nil infoTense.conj.s2 = infoTense.conj.s3 infoTense.conj.s3 = nil infoTense.conj.p1 = nil --infoTense.conj.p2 = infoTense.conj.p2 infoTense.conj.p3 = nil end return infoTense end -- ============================================================================= -- END -- ============================================================================= -- Some useful tools -- ============================================================================= -- Returns the list of verb tenses export.tensesList = function() local list = {} for _, tense in pairs(export.tenseRules) do table.insert(list, tense.name) end return list end -- Concatenation of pronouns and conjugated verbs -- (for a given conjugate tense in all persons of that tense) function export.concatPronomsVerbs(pronoms, conjVerbs) local concatTab = {} for _, pers in ipairs(export.order) do concatTab[pers] = pronoms[pers] .. ' ' .. conjVerbs[pers] end return concatTab end -- ============================================================================= -- ADDITIONAL STEM OF THE PAST AND PRESENT (pastStem2, ... and presentStem2, ...) -- This function does nothing more than add additional parameters for verb stems -- in the past and present tenses. -- Conjugations for the different stems will be separated by "/" -- ============================================================================= function export.conjugateLong(baseOpts, tense, presentStems, pastStems) local opts = baseOpts or {} opts.tense = tense or nil presentStems = presentStems or {} pastStems = pastStems or {} local infoTense = deepCopy(export.tenseRules[tense], 'copy') or false -- We check that this tense is indeed in table "tenseRules". if not infoTense then return '<span style="color:red">Unknown tense: ' .. tense ..'</span>' end local stems = (infoTense.stem == 'present') and presentStems or pastStems -- For each verb stem, its conjugation table is calculated and stored in conjTabs. local conjTabs = {} for i = 1, #stems do if stems[i] then if (infoTense.stem == 'past') then opts.pastStem = stems[i] end if (infoTense.stem == 'present') then opts.presentStem = stems[i] end local conj = export.conjugate(opts).conj table.insert(conjTabs, conj) end end -- We concatenate each row of the conjugation tables. local concatConjTabs = {} for _, pers in ipairs(export.order) do local frag = {} for i = 1, #conjTabs do local val = conjTabs[i][pers] if val then table.insert(frag, tostring(val)) end end concatConjTabs[pers] = table.concat(frag, " / ") end infoTense.conj = concatConjTabs return infoTense end -- ==================================================================================== -- VERB CONUGATION IN ALL TENSES WITH PRONOUMS -- ==================================================================================== function export.conjugateAllTenses(baseOpts, presentStems, pastStems, negation, concatPrs) local opts = baseOpts or {} if negation == 'negative' then opts.isNegative = true end -- Concatenation of pronouns and conjugated verbs local concatPronomsVerbs = export.concatPronomsVerbs -- Tenses list local tensesList = export.tensesList() -- Conjugation in all tenses local conjTab = {} for _, tense in ipairs(tensesList) do local infoTense = deepCopy(export.tenseRules[tense], 'copy') -- We create the conjugation table without the pronouns. conjTab[tense] = deepCopy(export.conjugateLong(opts, tense, presentStems, pastStems), 'copy') -- We concatenate the pronouns and the verbs if "concatPrs" is different of "false" -- (no pronoun for the imperative mood) if (tense ~= 'impPresent' and concatPrs ~= false) then local pronoms = deepCopy(export.conjPronouns(infoTense.stem, infoTense.mode, opts.isTransitive)) conjTab[tense].conj = concatPronomsVerbs(pronoms, conjTab[tense].conj) end end return conjTab end -- ==================================================================================== -- Allows you to obtain a given conjugation from a model. -- Ex. in the template: {{#invoke:ku-tewandin|tew|dem=indPresent|kes=s1}} -- See {{ku-tewîn-lk-niha}} -- ==================================================================================== function export.tew(frame) local args = frame:getParent().args local baseOpts = { isNegative = frame.args['neyînî'] or false, isTransitive = args['form'], isCompoundVerb = args['valahî'] or false, preSimpleVerb = args['pêşgir'] or nil, postSimpleVerb = args['paşgir'] or nil, overrideBi = args['bi'] or nil, overrideDi = args['di'] or nil, overrideNa = args['na'] or nil, overrideNe = args['ne'] or nil, impNegForm = nil } local tense = frame.args['dem'] or nil local pers = frame.args['kes'] or nil local presentStems = {args['niha'], args['niha2'], args['niha3']} local pastStems = {args['borî'], args['borî2'], args['borî3']} -- A few checks if (baseOpts.isTransitive == 'gerguhêz') then baseOpts.isTransitive = true elseif (baseOpts.isTransitive == 'negerguhêz') then baseOpts.isTransitive = false else return '<span style="color:red">form = gerguhêz / negerguhêz</span>' end if (baseOpts.isCompoundVerb == 'erê') then baseOpts.isCompoundVerb = true else baseOpts.isCompoundVerb = false end if (baseOpts.isNegative == 'erê') then baseOpts.isNegative = true end local tabConj = export.conjugateLong(baseOpts, tense, presentStems, pastStems).conj return tabConj[pers] end -- ==================================================================================== -- GET COMMMA SEPARED FORMS -- ==================================================================================== function export.get_comma_separated_forms(frame) local opts = { presentStem = frame.args['niha'], pastStem = frame.args['borî'], isTransitive = false, isNegative = false, isCompoundVerb = frame['valahî'] or false, preSimpleVerb = frame['pêşgir'] or '', postSimpleVerb = frame['paşgir'] or '', overrideBi = frame['bi'] or nil, overrideDi = frame['di'] or nil, overrideNa = frame['na'] or nil, overrideNe = frame['ne'] or nil, impNegForm = nil, } local function removeTags(tag) tag = mw.ustring.gsub(tag, '%[%[(.+)%|(.+)%]%]', '%2') tag = mw.ustring.gsub(tag, '<b>(.+)</b>', '%1') tag = mw.ustring.gsub(tag, '<span(.*)>(.*)</span>', '%2') return tag end local function concateList(tenseList) local concatList = {} for _, pers in ipairs({"s1", "s2", "s3", "p1"}) do local tense = removeTags(tenseList[pers]) -- Remove tags table.insert(concatList, tense) end return table.concat(concatList, ",") end local tenseList = {'indPresent','indPreterite','indImperfect', 'indPluperfect','indPerfect','indNwPluperfect', 'indFuture','indFuturePerfect', 'subjImperfect','subjPluperfect' } local concatAllTense = {} for i = 1, #tenseList do local tense = tenseList[i] if export.tenseRules[tense] then opts.tense = tense local conj = shallowCopy(export.conjugate(opts).conj) local concatTense = concateList(conj) table.insert(concatAllTense, concatTense) end end return table.concat(concatAllTense, ",") end return export sgch36p8g0rf3a9kyi54v1eq606m6pr Modul:ku-tewandin/tabloGotar 828 1357097 6237061 6236982 2026-06-03T17:33:13Z Ghybu 1393 6237061 Scribunto text/plain -- ==================================================================================== -- Modula tabloya gotaran, bikaranîn: {{ku-tewîn-lk}} -- Ji bo tabloya mezin, bnr. [[Modul:ku-tewandin/tablo]] -- Ji bo stîla vê tabloyê, bnr. {{ku-tewîn-nav/style.css}} -- ==================================================================================== local export = {} local conj = require('Modul:ku-tewandin') function export.tew(frame) local args = frame:getParent().args local baseOpts = { isTransitive = args['form'], isNegative = false, isCompoundVerb = args['valahî'] or false, preSimpleVerb = args['pêşgir'] or nil, postSimpleVerb = args['paşgir'] or nil, overrideBi = args['bi'] or nil, overrideDi = args['di'] or nil, overrideNa = args['na'] or nil, overrideNe = args['ne'] or nil, impNegForm = nil } local presentStems = {args['niha'], args['niha2'], args['niha3']} local pastStems = {args['borî'], args['borî2'], args['borî3']} if (baseOpts.isTransitive == 'gerguhêz') then baseOpts.isTransitive = true elseif (baseOpts.isTransitive == 'negerguhêz') then baseOpts.isTransitive = false else return '<span style="color:red">form = gerguhêz / negerguhêz</span>' end if (baseOpts.isCompoundVerb == 'erê') then baseOpts.isCompoundVerb = true else baseOpts.isCompoundVerb = false end -- Retrieving conjugation tables for different tenses local indPresent = conj.conjugateLong(baseOpts, 'indPresent', presentStems, pastStems).conj local impPresent = conj.conjugateLong(baseOpts, 'impPresent', presentStems, pastStems).conj local indPreterite = conj.conjugateLong(baseOpts, 'indPreterite', presentStems, pastStems).conj -- Past pronouns for preterite tense local prtPronouns = conj.conjPronouns('past', 'indicative', baseOpts.isTransitive) -- ========================================================================= -- TABLE -- ========================================================================= -- Construction of the verbal stems for the table title ("rehNiha" and "rehBori") local verb = args[1] or mw.title.getCurrentTitle().subpageText local transitivity = args['form'] local preSimpleVerb = args['pêşgir'] or '' local postSimpleVerb = args['paşgir'] or '' local sameConjAs = args['wekî'] or nil local prsStemsFormat = {} for _, stem in ipairs(presentStems) do if stem then prsStemsFormat[#prsStemsFormat+1] = preSimpleVerb .. '-' .. stem ..'-' end end local pstStemsFormat = {} for _, stem in ipairs(pastStems) do if stem then pstStemsFormat[#pstStemsFormat+1] = preSimpleVerb .. '-' .. stem ..'-' end end local prsStems = table.concat(prsStemsFormat, ' / ') .. postSimpleVerb local pstStems = table.concat(pstStemsFormat, ' / ') .. postSimpleVerb -- Formata "Raweya pêşkerî" (RP.) local indTitle = '<span style="cursor:help;" title="Raweya pêşkerî">' .. '<span style="border-bottom: 1px dotted #555555; ">RP.</span>' .. '</span>' local function nobold(str) return '<span style="font-weight:normal;"> '.. str .. '</span>' end -- Preloads [[Şablon:ku-tewandin/preload]] local function preloadUrl(title, preload) local params = { args['form'], args['niha'], args['niha2'] or nil, args['niha3'] or nil, args['borî'], args['borî2'] or nil, args['pêşgir'] or nil, args['valahî'] or nil, args['paşgir'] or nil } local query = { action = 'edit', preload = preload, ['preloadparams'] = params } local url = mw.uri.fullUrl(title, query) url = '<span class="plainlinks">[' .. tostring(url) .. ' <span style="color:#9f3526">'.. title .. '</span>' .. ']</span>' return url end -- Formên din local otherConjForms if (mw.title.new(verb, 'Tewandin').exists == true) then otherConjForms = '[['.. 'Tewandin:'.. verb ..']]' elseif sameConjAs then otherConjForms = 'wekî [['.. 'Tewandin:' .. sameConjAs ..']]' else otherConjForms = preloadUrl('Tewandin:' .. verb, 'Şablon:ku-tewandin/preload') end return '{| class="wikitable tablo-flip tewandin-tablo mw-collapsible"' .. '\n! colspan="3" class="row-flip tewandin-header" |' .. verb .. ' ' .. nobold('('.. transitivity .. '</span>)') .. '\n|-' .. '\n! colspan="3" class="tewandin-header3" align="center" style="font-size:85%;" |' .. nobold('Rehê dema niha:') .. ' ' .. prsStems .. '\n|-' .. '\n! rowspan="5" |' .. indTitle .. '<br>Niha' .. '\n|-' .. '\n| width="60" |ez' .. '\n| width="100" |' .. indPresent.s1 .. '\n|-' .. '\n| tu' .. '\n|' .. indPresent.s2 .. '\n|-' .. '\n| ew' .. '\n|' .. indPresent.s3 .. '\n|-' .. '\n| em, hûn, ew' .. '\n| ' .. indPresent.p1 .. '\n|-' .. '\n! rowspan="2" | Fermanî' .. '\n| width="60" | <small>Yekjimar</small>' .. '\n| width="100" |' .. impPresent.s2 .. '\n|-' .. '\n| width="60" | <small>Pirjimar</small>' .. '\n| width="100" |' .. impPresent.p2 .. '\n|-' .. '\n! colspan="3" class="tewandin-header3" align="center" style="font-size:85%;" |' .. nobold('Rehê dema borî:') .. ' ' .. pstStems .. '\n|-' .. '\n! rowspan="5" |'.. indTitle ..'<br>Boriya<br>sade' .. '\n|-' .. '\n|' .. prtPronouns.s1 .. '\n|' .. indPreterite.s1 .. '\n|-' .. '\n|' .. prtPronouns.s2 .. '\n|' .. indPreterite.s2 .. '\n|-' .. '\n|' .. prtPronouns.s3 .. '\n|' .. indPreterite.s3 .. '\n|-' .. '\n|' .. prtPronouns.p1 .. ', ' .. prtPronouns.p2 .. ', ' .. prtPronouns.p3 .. '\n|' .. indPreterite.p1 .. '\n|-' .. '\n| colspan="3" style="text-align:center; background-color:#transparent;" |' .. 'Formên din: [[Wêne:1rightarrow.png|15px|link=]]' .. otherConjForms .. '\n|}' end return export sd8he4fh4stvbj59e6po1r9fhl8jlyz gong 0 1357291 6237082 6237025 2026-06-04T09:29:08Z Bikarhêner 3719 /* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re 6237082 wikitext text/x-wiki == {{ziman|ku}} == === Bilêvkirin === * {{ku-IPA}} * {{ku-kîte}} === Navdêr === {{ku-tewîn-nav|gong|mê}} {{navdêr|ku|z=m}} # [[roniya|Roniya]] [[wekî]] [[çember]] a [[dora]] [[heyvê]], [[xeleka]] [[gilover]] a li dora heyvê. #: {{mk|ku|Eniya te girover e mîtanî '''gonga''' dora hîvê ye.<ref> Dengbêj Nîhatê Agirî https://www.youtube.com/watch?v=w2tHOVqCINg&list=RDw2tHOVqCINg&start_radio=1</ref>}} ==== Etîmolojî ==== {{ji?|ku}} ==== Werger ==== {{werger-ser}} * {{Z|tr}}: {{W+|tr|hale}} {{werger-bin}} o10nkvbn4n47h4uiqa824wenk6mse9h Kategorî:Rûpelên bi 3 madeyan 14 1357294 6237064 2026-06-03T19:59:34Z Wikihez 7344 Rûpel bi "{{katbike}}" hat çêkirin 6237064 wikitext text/x-wiki {{katbike}} 1dpx16ue3vl1l6c1hkqu0q6ftpl2ezh