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 etmek|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 etme}}, {{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 etmek|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 etme}}, {{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 etmek|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 etme}}, {{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 etmek|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 etme}}, {{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 etmek|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 etme}}, {{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 etmek|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 etme}}, {{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