Wîkîferheng
kuwiktionary
https://ku.wiktionary.org/wiki/Destp%C3%AAk
MediaWiki 1.47.0-wmf.3
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
bera
0
8135
6235986
6232260
2026-05-24T07:11:09Z
Ferhengvan
16
/* Etîmolojî */
6235986
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* ''Navdêr'' {{ku-IPA}}
=== Rengdêr ===
{{rengdêr|ku}}, {{r-ya req}}
# [[heqîqet]], [[rastî]].
#: ''Tiştê ku me bawer nedikir '''bera''' derket.''
#: ''Tu '''bera''' dibêjî.''
# [[rastîn]]
#: Ev ne çîçekeka '''bera''' ye, çêkirî ye.
==== Herwiha ====
* [[berra]]
* [[birra]]
==== Jê ====
* [[beratî]]
* [[berahî]]
* [[to bera]]
* [[serberahî]]
* [[serberavan]]
* [[serberavanî]]
==== Etîmolojî ====
Bi ihtimaleke mezin kurtkirina "bi rastî, be rastî". lê herwiha bide ber {{hv|la|vērus}}, {{hv|de|wahr}}, {{hv|ang|wǣr}}, {{hv|nl|waar}}, gişt ji {{hv|ine-pro|*weh₁ros}} ji {{q|ine-pro|*weh₁-||bera, rastîn}}. W-yên pêşîn bi kurmancî yan dibin B yan jî G, binêre [[baran]], [[gur]] û her wekî din.
==== Werger ====
{{werger-ser}}
* {{Z|fa}}: {{W+|fa|راستی !}}
* {{Z|en}}: {{W+|en|genuinely}}
* {{Z|tr}}: {{W-|tr|yok canım}}, {{W+|tr|essah}}, {{W+|tr|filum}}, {{W+|tr|hakikat}}, {{W+|tr|hakikaten}}, {{W+|tr|hakiki}}, {{W+|tr|ola}}, {{W+|tr|sadık}}, {{W+|tr|sahi}}, {{W+|tr|sahici}}, {{W+|tr|sahih}}, {{W+|tr|filvaki|guman=erê}}
{{werger-bin}}
=== Hoker 1 ===
{{hoker|ku}}, {{r-ya req}}
# [[bi rastî]]
#* {{bêmînak|ku}}
=== Hoker 2 ===
{{hoker|ku}}, {{r-ya nerm}}
# {{guherto|ku|bila}}
#* {{bêmînak|ku}}
== {{ziman|zza}} ==
==== Mane ====
# [[adet]], [[tore]]<ref>http://www.kovarabir.com/wp-content/uploads/Ferheng%C3%AA-Dimil%C3%AE-%C3%BB-Kurmanc%C3%AE-B-b.pdf</ref>
=== Çavkanî ===
{{çavkanî}}
== {{ziman|eu}} ==
=== Cînav ===
{{cînav|eu}}
# [[ew#ku|ew]]
#* {{bêmînak|eu}}
== {{ziman|ang}} ==
=== Navdêr ===
{{navdêr|ang|z=n}}
# {{f|ang|heywan}} [[hirç#ku|hirç]]
#* {{bêmînak|ang}}
5pnmsoievwkhhxrrksq9venlqnp2cs0
pahin
0
15730
6235947
5753732
2026-05-23T20:40:50Z
Bikarhêner
3719
Ji bo maneya "pîsatîya sewalan, zibil"ê binêrin kelîmeya "peyn"ê.
6235947
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Rengdêr ===
{{rengdêr|ku}}
# {{guharto|ku|pahn|w=berfire}}
fnzad40w6jmis0r2obb14qv96wlu1lw
pahn
0
15731
6235944
5688031
2026-05-23T20:31:32Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235944
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Rengdêr ===
{{rengdêr|ku}}
# {{guharto|ku|pan}}
0nwvmhldg90rmj50rfknskvtjyygq40
pehin
0
15732
6235945
5711494
2026-05-23T20:31:57Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235945
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Rengdêr ===
{{rengdêr|ku}}
# {{guharto|ku|pan|pan (1)}}
ko4whaf7u7aboex8jkgln9l15z809r8
6235946
6235945
2026-05-23T20:32:05Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235946
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Rengdêr ===
{{rengdêr|ku}}
# {{guharto|ku|pan}}
0nwvmhldg90rmj50rfknskvtjyygq40
paḧin
0
15733
6235949
5688058
2026-05-23T20:41:47Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235949
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Rengdêr ===
{{rengdêr|ku}}
# {{guharto|ku|pan}}
0nwvmhldg90rmj50rfknskvtjyygq40
paḧn
0
15734
6235950
5711493
2026-05-23T20:41:59Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235950
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Rengdêr ===
{{rengdêr|ku}}
# {{guharto|ku|pan}}
0nwvmhldg90rmj50rfknskvtjyygq40
peḧin
0
15735
6235951
5711543
2026-05-23T20:42:54Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235951
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Rengdêr ===
{{rengdêr|ku}}
# {{guharto|ku|pan}}
0nwvmhldg90rmj50rfknskvtjyygq40
peḧn
0
15736
6235952
5688101
2026-05-23T20:43:05Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235952
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Rengdêr ===
{{rengdêr|ku}}
# {{guharto|ku|pan}}
0nwvmhldg90rmj50rfknskvtjyygq40
reh
0
18500
6235981
6103515
2026-05-24T07:06:07Z
Ferhengvan
16
/* Navdêr 1 */
6235981
wikitext
text/x-wiki
{{bnr-h|Reh}}
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Navdêr 1 ===
{{ku-tewîn-nav|reh|nêr}}
[[Wêne:Primary and secondary cotton roots.jpg|thumb|'''Rehên''' darekê.]]
{{navdêr|ku|z=m}}
# {{f|ku|riweknasî}} [[parçe|Parçeyên]] [[jêrîn]] yên [[riwek]]an (bi taybetî yên di [[bin]] [[ax]]ê ve).
#: {{hevmane|ku|kok|rewa|rîş|ripî|riç|cille}}
# [[binyat|Binyat]], [[bingeh]], [[serekanî]], [[esil]], [[esas]].
#* {{bêmînak|ku}}
# {{f|ku|zimannasî}} [[parçe|Parçeya]] [[peyv]]an ya herî [[biçûk]]
#* {{jêder-malper|ku|jêgirtin=Pêşpirtik pirtikên wisan in ku tên berî peyva xwerû yan '''rehê''' peyvê yan jî peyva ku ji xwe hin pirtikên din pê ve hene|nivîskar={{w|Husein Muhammed}}|sernav=Pirtikrêzî anku morfotaksî|url=https://zimannas.wordpress.com/2015/12/12/pirtikrezi-anku-morfotaksi/|malper=zimannas.wordpress.com|dîrok=12.12.2015}}
#* {{jêder-malper|ku|jêgirtin=Da-hat-û (da: paşdaçek, hat: '''rehê''' dema borî ya lêkera hatinê, û: gîhanek) Çi têkilîya vê bi dema bê ra heye? De were îca safî bike!|nivîskar=Ewdil Ararat|sernav=Ji bo weqfa Mezopotamyayê II|url=http://www.rojnameyakurdistan.com/ku/makale/Ji_bo_weqfa_Mezopotamyay%C3%AA_II|malper=Rojnameya Kurdistan|dîrok=21.05.2017}}
#* {{jêder-malper|ku|jêgirtin=Dema kirde diyar be jî, veşartî be jî bi paşgira kesane ya tê pey '''rehê''' lêkerê, xwe diyar dike û têgihîştinê dide çêkirin.|nivîskar=Hesen Huseyin Deniz|sernav=Di Zimanê Kurdî de Hevok û Erka Hevokan di Vegotinê de|url=http://www.pen-kurd.org/kurdi/hesen-deniz/di-zimane-kurdi-de-hevok-u-erka-hevokan.html|malper=pen-kurd.org}}
#* {{jêder|ku|jêgirtin=Min got ku kûçikê wî ji tuxmekî baş, ji '''reheke''' kûçikên xweşik bû.|''[[w:Biyanî|Biyanî]]'', {{w|Albert Camus}}, Weşanên {{w|Nûdem}}}}
# {{f|ku|nivîsbarî}} [[birêveber]]a [[pergala xebatê|pergalên xebatê]] (bi gelemperî ya [[Linux]]ê)
#* {{bêmînak|ku}}
==== Ji wêjeya klasîk ====
* {{jêder|ku|{{Jêgirtin/Melayê Cizîrî/Dîwana Melayê Cizirî}}|jêgirtin=Dê du siyeh sirmeyê çehvên xwe kit<br />Xakê '''rehê''' yarê seba her sebah<br />Toz û xubara seherê ber çimen}}
==== Bikaranîn ====
* {{mj|lêker}} [[ji reh kirin]]: ji koka wê / wî [[birîn]] yan [[piçandin]]
* {{mj|navdêr}} [[jirehkirin]]
* {{mj|rengdêr}} [[jirehkirî]]
==== Jê ====
{{kol3|ku
| bêreh
| bêrehî
| bêrehîtî
| bêrehtî
| bireh
| birehî
| birehîtî
| birehtî
| rehandin
| rehandî
| rehdar
| rehdarî
| rehdarîtî
| rehdartî
| rehder
| rehderî
| rehderîtî
| rehdertî
| rehdêr
| rehdêrî
| rehdêrîtî
| rehdêrtî
| rehik
| rehiyayî
| rehî
| rehîn
| rehîner
| rehk
| rewik
}}
==== Etîmolojî ====
Ji {{ji|ine-pro|ku|-}} {{recons|ine-pro|wréh₂ds}} (reh), [[hevreh]]a soranî {{g|ckb|ڕهگ|tr=reg}}, farisî {{g|fa|ریشه|tr=rîşe}}, yûnaniya kevn [[ῥίζα]] (rihîza), latînî [[radix]], fransî [[racine]], îngilîzî [[root]] û [[wort]], swêdî [[rot]] û [[ört]], albanî [[rrënjë]]. Ji heman rehî: [[rih]] / [[rî]], [[rêv]].
==== Bi zaravayên din ====
* {{Z|ckb}}: [[reg]], [[rêşe]]
* Feylî/Kelhurî: rîşe, reg
* Zazakî: kok, ristim, rîşe, reya
==== Werger ====
{{werger-ser}}
* {{Z|ace}}: {{W-|ace|ukheue}}
* {{Z|aa}}: {{W-|aa|rimid}}
* {{Z|af}}: {{W+|af|wortel}}
* {{Z|akl}}: {{W-|akl|gamot}}
* {{Z|sq}}: {{W+|sq|rrënjë|m}}
* {{Z|de}}: {{W+|de|Wurzel|m}}, {{W+|de|Wurzeln|p}}
* {{Z|alt}}: {{W-|alt|тамыр}}, {{W-|alt|јылтыс}}
* {{Z|an}}: {{W+|an|radiz}}
* {{Z|rup}}: {{W-|rup|arãdãtsinã|m}}, {{W-|rup|zãrãtsinã|m}}, {{W-|rup|rãdãtsinã|m}}
* {{Z|aer}}: {{W-|aer|artekerre}}
* {{Z|as}}: {{W-|as|শিয়া}}, {{W-|as|শিপা}}
* {{Z|bno}}: {{W-|bno|gamot}}
* {{Z|ast}}: {{W+|ast|raíz|m}}
* {{Z|az}}: {{W+|az|kök}}
* {{Z|xkl}}: {{W-|xkl|lakat}}
* {{Z|ban}}: {{W-|ban|akah}}
* {{Z|eu}}: {{W-|eu|sustrai}}, {{W-|eu|zuztar}}, {{W-|eu|erro}}
* {{Z|ba}}: {{W-|ba|тамыр}}
* {{Z|be}}: {{W+|be|ко́рань|n}}
* {{Z|bn}}: {{W+|bn|মূল}}
* Berberî:
*: {{Z|shi}}: {{W-|shi|azɣwr|n}}
* {{Z|bpz}}: {{W-|bpz|oka}}
* {{Z|bny}}: {{W-|bny|waka}}
* {{Z|bg}}: {{W+|bg|ко́рен|n}}
* {{Z|my}}: {{W+|my|အမြစ်}}
* {{Z|ccc}}: {{W-|ccc|ijtishi}}
* {{Z|cjm}}: {{W-|cjm|ꨀꨉꨩ|tr=agha'}}, {{W-|cjm|ꨉꨩ|tr=gha'}}, {{W-|cjm|ꨂꨉꨩ|tr=ưgha'}}
* {{Z|ce}}: {{W-|ce|орам}}
* {{Z|cs}}: {{W+|cs|kořen|n}}
* {{Z|chr}}: {{W-|chr|ᎤᎿᏍᏕᏜ}}
* {{Z|ny}}: {{W-|ny|muzu}}
* {{Z|zh}}:
*: {{Z|cmn}}: {{W+|cmn|根|tr=gēn}}
* {{Z|cho}}: {{W-|cho|akshish}}
* {{Z|dlm}}: {{W-|dlm|radaica|m}}
* {{Z|da}}: {{W+|da|rod|g}}
* {{Z|duu}}: {{W-|duu|vng'reu}}, {{W-|duu|shing'reu}}
* {{Z|ovd}}: {{W-|ovd|ruota|m}}
* {{Z|id}}: {{W+|id|akar}}
* {{Z|ar}}: {{W+|ar|جَذْر|n}}
*: {{Z|arz}}: {{W-|arz|جدر|n|tr=gedr}}
*: {{Z|apc}}: {{W-|apc|شرش|n|tr=šereš}}
*: {{Z|acm}}: {{W-|acm|عرگ|n|tr=ʕereg}}
*: {{Z|ary}}: {{W-|ary|جدر|n|tr=ždər}}
*: {{Z|ajp}}: {{W-|ajp|شرش|n|tr=šorš}}
* {{Z|hy}}: {{W+|hy|արմատ}}
* {{Z|eo}}: {{W+|eo|radiko}}
* {{Z|et}}: {{W+|et|juur}}
* {{Z|gez}}: {{W-|gez|ሥርው}}
* {{Z|evn}}: {{W-|evn|ңиңтэ}}
* {{Z|fa}}: {{W+|fa|ریشه|tr=riše}}
* {{Z|fo}}: {{W+|fo|rót|m}}
* {{Z|fi}}: {{W+|fi|juuri}}, {{W-|fi|puunjuuri}}
* {{Z|fr}}: {{W+|fr|racine|m}}
* {{Z|fur}}: {{W-|fur|lidrîs}}
* {{Z|fy}}: {{W+|fy|woartel}}
* {{Z|gd}}: {{W-|gd|freumh|n}}
* {{Z|gl}}: {{W+|gl|raíz|m}}
* {{Z|got}}: {{W-|got|𐍅𐌰𐌿𐍂𐍄𐍃|m}}
* {{Z|ka}}: {{W-|ka|ფესვი}}, {{W-|ka|ძირი}}
* {{Z|gn}}: {{W-|gn|[[tapo]]}}
* {{Z|ht}}: {{W-|ht|rasin}}
* {{Z|haw}}: {{W-|haw|aʻa}}
* {{Z|mba}}: {{W-|mba|gamot}}
* {{Z|hi}}: {{W+|hi|जड़}}
* {{Z|mww}}: {{W-|mww|cag}}
* {{Z|nl}}: {{W+|nl|wortel|n}}
* {{Z|he}}: {{W+|he|שורש|n|tr=shóresh}}
* {{Z|ang}}: {{W-|ang|wyrttruma|n}}
* {{Z|enm}}: {{W-|enm|rote}}, {{W-|enm|more}}
* {{Z|en}}: {{W+|en|root}}
* {{Z|izh}}: {{W-|izh|juuri}}
* {{Z|ill}}: {{W-|ill|waged}}
* {{Z|ga}}: {{W-|ga|fréamh|m}}
* {{Z|isd}}: {{W-|isd|xamut}}
* {{Z|it}}: {{W+|it|radice|m}}
* {{Z|ium}}: {{W-|ium|nzungh}}
* {{Z|is}}: {{W+|is|rót|m}}
* {{Z|ja}}: {{W+|ja|根|tr=ね, ne}}
* {{Z|jv}}: {{W-|jv|oyot}}
* {{Z|kl}}: {{W-|kl|sorlak}}
* {{Z|kzx}}: {{W-|kzx|waar}}
* {{Z|xbr}}: {{W-|xbr|amu}}
* {{Z|kmc}}: {{W-|kmc|sangp}}
* {{Z|kn}}: {{W+|kn|ಬೇರು}}
* {{Z|csb}}: {{W-|csb|kòrzéń}}
* {{Z|ca}}: {{W+|ca|arrel|m}}
* {{Z|qu}}: {{W+|qu|machu}}, {{W-|qu|saphi}}, {{W+|qu|sapi}}
* {{Z|ky}}: {{W+|ky|тамыр}}
* {{Z|kg}}: {{W-|kg|mwanzi}}
* {{Z|kij}}: {{W-|kij|uula}}
* {{Z|kpv}}: {{W-|kpv|вуж}}
* {{Z|ko}}: {{W+|ko|뿌리}}
* {{Z|lbe}}: {{W-|lbe|бакӏ}}, {{W-|lbe|бакӏру}}
* {{Z|ltg}}: {{W-|ltg|sakne|m}}, {{W-|ltg|saknis|m-p}}
* {{Z|la}}: {{W-|la|rādīx|m}}
* {{Z|lv}}: {{W+|lv|sakne|m}}, {{W-|lv|saknes|m-p}}
* {{Z|lo}}: {{W-|lo|ຮາກ}}
* {{Z|lez}}: {{W-|lez|пун}}
* {{Z|lij}}: {{W-|lij|radiccia|m}}, {{W-|lij|reixe|m}}
* {{Z|lt}}: {{W+|lt|šaknis}}
* {{Z|liv}}: {{W-|liv|jūŗ}}
* {{Z|lmo}}: {{W-|lmo|radis|m}}
* {{Z|khb}}: {{W-|khb|ᦣᦱᧅ}}
* {{Z|luy}}: {{W-|luy|kumuzizi}}
* {{Z|lb}}: {{W-|lb|Wuerzel|m}}
* {{Z|mdh}}: {{W-|mdh|dalig}}, {{W-|mdh|bekaw}}
* Malay:
*: {{Z|ms}}: {{W-|ms|اکر}}
*: Rûmî: {{W+|ms|akar}}
* {{Z|mk}}: {{W-|mk|корен|n}}
* {{Z|ml}}: {{W+|ml|വേര്}}
* {{Z|mt}}: {{W-|mt|għerq|n}}
* {{Z|mnc}}: {{W-|mnc|ᡩᠠ}}
* {{Z|mns-nor}}: {{W-|mns-nor|та̄р}}
* {{Z|mi}}: {{W-|mi|aka}}, {{W-|mi|akaaka}}
* {{Z|mrw}}: {{W-|mrw|bekaw}}
* Marî:
*: {{Z|mhr}}: {{W-|mhr|вож}}
* {{Z|hu}}: {{W+|hu|gyökér}}
* {{Z|mel}}: {{W-|mel|akah}}
* {{Z|egy}}: {{W-egy|wꜣb|h=wA-A-b-Hn|n}}
* {{Z|min}}: {{W-|min|ure'}}
* {{Z|mn}}: {{W+|mn|үндэс}}
* {{Z|mnw}}: {{W-|mnw|ရိုဟ်}}
* {{Z|nci}}: {{W-|nci|nelhuatl}}
* {{Z|nah}}: {{W-|nah|nelhuatl}}
* {{Z|gld}}: {{W-|gld|дачан}}
* {{Z|nap}}: {{W-|nap|ràdeca|m}}
* {{Z|nv}}: {{W-|nv|akétłʼóól}}
* {{Z|nds}}: {{W-|nds|Wortel|m}}
* {{Z|ne}}: {{W+|ne|जरा}}
* {{Z|nia}}: {{W-|nia|wa'a}}
* {{Z|nrf}}: {{W-|nrf|raichinne}}, {{W-|nrf|réchinne}}
* {{Z|no}}:
*: {{Z|nb}}: {{W+|nb|rot|n|m}}
*: {{Z|nn}}: {{W+|nn|rot|m}}
* {{Z|oj}}: {{W-|oj|ojiibik}}
* {{Z|ryu}}: {{W-|ryu|根|tr=にー, nī}}
* {{Z|oc}}: {{W+|oc|raiç|m}}, {{W+|oc|rasic|m}}
* {{Z|or}}: {{W-|or|ଜଡି}}
* {{Z|om}}: {{W-|om|hidda}}, {{W-|om|hundee}}
* {{Z|ug}}: {{W-|ug|يىلتىز}}
* {{Z|uz}}: {{W+|uz|ildiz}}
* {{Z|pac}}: {{W-|pac|reaih}}, {{W-|pac|riêih}}
* {{Z|ple}}: {{W-|ple|waka}}
* {{Z|pap}}: {{W-|pap|rais}}
* {{Z|ps}}: {{W+|ps|جذر|n|tr=ǰazr}}, {{W+|ps|جرړه|m|tr=ǰárṛa}}
* {{Z|pms}}: {{W-|pms|rèis|m}}, {{W-|pms|radis|m}}
* {{Z|ppl}}: {{W-|ppl|nelwat}}
* {{Z|pl}}: {{W+|pl|korzeń|n}}
* {{Z|pt}}: {{W+|pt|raiz|m}}
* {{Z|kk}}: {{W-|kk|тамыр}}, {{W-|kk|түбір}}
* {{Z|rap}}: {{W-|rap|aka}}
* {{Z|rhg}}: {{W-|rhg|cém}}
* {{Z|rgn}}: {{W-|rgn|radìșa|m}}, {{W-|rgn|ràdga|m}}
* {{Z|rm}}: {{W-|rm|ragisch|m}}, {{W-|rm|risch|m}}, {{W-|rm|rieisch|m}}
* {{Z|ro}}: {{W+|ro|rădăcină|m}}
* {{Z|ru}}: {{W+|ru|ко́рень|n}}, {{W+|ru|ко́рни|n-p}}, {{W+|ru|коре́нья|p}}
* {{Z|ksw}}: {{W-|ksw|အဂံၢ်}}
* {{Z|skb}}: {{W-|skb|ร̄าก}}
* {{Z|se}}: {{W-|se|ruohtas}}
* {{Z|sc}}: {{W-|sc|radichina|m}}, {{W-|sc|arraighina}}, {{W-|sc|raichina}}
* {{Z|sas}}: {{W-|sas|akah}}
* {{Z|ceb}}: {{W-|ceb|gamot}}
* {{Z|scn}}: {{W+|scn|ràdica|m}}, {{W+|scn|ràdiga|m}}, {{W+|scn|ràrica|m}}
* {{Z|sh}}:
*: Kirîlî: {{W-|sh|ко̏ре̄н|n}}, {{W-|sh|ко̏рије̄н|n}}
*: Latînî: {{W+|sh|kȍrēn|n}}, {{W+|sh|kȍrijēn|n}}
* {{Z|cu}}:
*: Kirîlî: {{W-|cu|корєнь|n}}
* {{Z|sk}}: {{W-|sk|koreň|n}}
* {{Z|sl}}: {{W+|sl|korenina|m}}
* {{Z|so}}: {{W+|so|xiddid}}
* Sorbî:
*: {{Z|dsb}}: {{W-|dsb|kórjeń|n}}
*: {{Z|hsb}}: {{W-|hsb|korjeń|n}}
* {{Z|es}}: {{W+|es|raíz|m}}
* {{Z|sw}}: {{W+|sw|mzizi}}
* {{Z|sv}}: {{W+|sv|rot|g}}
* {{Z|shn}}: {{W-|shn|ႁၢၵ်ႈ}}
* {{Z|tg}}: {{W+|tg|реша}}
* {{Z|mvv}}: {{W-|mvv|bakat}}
* {{Z|tl}}: {{W-|tl|urat}}, {{W+|tl|ugat}}
* {{Z|ty}}: {{W-|ty|aʻa}}
* {{Z|ta}}: {{W+|ta|வேர்}}
* {{Z|rif}}: {{W-|rif|aẓwar|n}}
* {{Z|tsg}}: {{W-|tsg|gamut}}
* {{Z|nod}}: {{W-|nod|ᩁᩣ᩠ᨠ}}
* {{Z|th}}: {{W+|th|ราก}}
* {{Z|te}}: {{W+|te|వేరు}}
* {{Z|tft}}: {{W-|tft|utu}}
* {{Z|tt}}: {{W+|tt|тамыр}}
* {{Z|tet}}: {{W-|tet|abut}}
* {{Z|tr}}: {{W+|tr|kök}}
* {{Z|tk}}: {{W-|tk|kök}}
* {{Z|bo}}: {{W-|bo|རྩ་བ}}
* {{Z|tkl}}: {{W-|tkl|aka}}
* {{Z|to}}: {{W-|to|aka}}
* {{Z|txb}}: {{W-|txb|witsako}}
* {{Z|udi}}: {{W-|udi|тум}}
* {{Z|udm}}: {{W-|udm|выжы}}
* {{Z|uga}}: {{W-|uga|𐎌𐎗𐎌}}
* {{Z|ur}}: {{W-|ur|جڑ|tr=jaṛ}}
* {{Z|uk}}: {{W+|uk|ко́рінь|n}}, {{W-|uk|корі́ння|nt}}
* {{Z|vec}}: {{W+|vec|raixa|m}}, {{W-|vec|rais}}
* {{Z|vi}}: {{W+|vi|rễ}}
* {{Z|vo}}: {{W+|vo|vul}}
* {{Z|wa}}: {{W+|wa|raecene|m}}
* {{Z|cy}}: {{W+|cy|gwraidd|n}}
* {{Z|km}}: {{W+|km|ឫស|tr=rɨh}}
* {{Z|yai}}: {{W-|yai|риша}}
* {{Z|yka}}: {{W-|yka|gamut}}
* {{Z|sah}}: {{W-|sah|силис}}
* {{Z|jmd}}: {{W-|jmd|wakar}}
* {{Z|yi}}: {{W-|yi|וואָרצל|n}}
* {{Z|ii}}: {{W-|ii|ꐴ}}
* {{Z|grk-mar}}: {{W-|grk-mar|ри́за|m}}
* {{Z|el}}: {{W+|el|ρίζα|m}}
*: Kevn: {{W-|grc|ῥίζα|m}}
* {{Z|zea}}: {{W-|zea|wortel|n}}
* {{Z|za}}: {{W-|za|rag}}
* {{Z|zu}}: {{W-|zu|impande|c9|c10}}
* {{Z|khi-kun}}: {{W-|khi-kun|daŋ}}
* {{Z|nmn}}: {{W-|nmn|ǃkʻqái}}
{{werger-bin}}
:{{werger çavkanî|en|root|beş=Ev qismê Wergerê|oldid=75944632}}
=== Navdêr 2 ===
{{navdêr|ku|z=n}}
# ''Binêre'': '''[[rî]]'''
37kcjcaszofrel52sws1gd9nfljdm9z
6235982
6235981
2026-05-24T07:07:26Z
Ferhengvan
16
/* Navdêr 1 */
6235982
wikitext
text/x-wiki
{{bnr-h|Reh}}
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Navdêr 1 ===
{{ku-tewîn-nav|reh|mê}}
[[Wêne:Primary and secondary cotton roots.jpg|thumb|'''Rehên''' darekê.]]
{{navdêr|ku|z=mn}}
# {{f|ku|riweknasî}} [[parçe|Parçeyên]] [[jêrîn]] yên [[riwek]]an (bi taybetî yên di [[bin]] [[ax]]ê ve).
#: {{hevmane|ku|kok|rewa|rîş|ripî|riç|cille}}
# [[binyat|Binyat]], [[bingeh]], [[serekanî]], [[esil]], [[esas]].
#* {{bêmînak|ku}}
# {{f|ku|zimannasî}} [[parçe|Parçeya]] [[peyv]]an ya herî [[biçûk]]
#* {{jêder-malper|ku|jêgirtin=Pêşpirtik pirtikên wisan in ku tên berî peyva xwerû yan '''rehê''' peyvê yan jî peyva ku ji xwe hin pirtikên din pê ve hene|nivîskar={{w|Husein Muhammed}}|sernav=Pirtikrêzî anku morfotaksî|url=https://zimannas.wordpress.com/2015/12/12/pirtikrezi-anku-morfotaksi/|malper=zimannas.wordpress.com|dîrok=12.12.2015}}
#* {{jêder-malper|ku|jêgirtin=Da-hat-û (da: paşdaçek, hat: '''rehê''' dema borî ya lêkera hatinê, û: gîhanek) Çi têkilîya vê bi dema bê ra heye? De were îca safî bike!|nivîskar=Ewdil Ararat|sernav=Ji bo weqfa Mezopotamyayê II|url=http://www.rojnameyakurdistan.com/ku/makale/Ji_bo_weqfa_Mezopotamyay%C3%AA_II|malper=Rojnameya Kurdistan|dîrok=21.05.2017}}
#* {{jêder-malper|ku|jêgirtin=Dema kirde diyar be jî, veşartî be jî bi paşgira kesane ya tê pey '''rehê''' lêkerê, xwe diyar dike û têgihîştinê dide çêkirin.|nivîskar=Hesen Huseyin Deniz|sernav=Di Zimanê Kurdî de Hevok û Erka Hevokan di Vegotinê de|url=http://www.pen-kurd.org/kurdi/hesen-deniz/di-zimane-kurdi-de-hevok-u-erka-hevokan.html|malper=pen-kurd.org}}
#* {{jêder|ku|jêgirtin=Min got ku kûçikê wî ji tuxmekî baş, ji '''reheke''' kûçikên xweşik bû.|''[[w:Biyanî|Biyanî]]'', {{w|Albert Camus}}, Weşanên {{w|Nûdem}}}}
# {{f|ku|nivîsbarî}} [[birêveber]]a [[pergala xebatê|pergalên xebatê]] (bi gelemperî ya [[Linux]]ê)
#* {{bêmînak|ku}}
==== Ji wêjeya klasîk ====
* {{jêder|ku|{{Jêgirtin/Melayê Cizîrî/Dîwana Melayê Cizirî}}|jêgirtin=Dê du siyeh sirmeyê çehvên xwe kit<br />Xakê '''rehê''' yarê seba her sebah<br />Toz û xubara seherê ber çimen}}
==== Bikaranîn ====
* {{mj|lêker}} [[ji reh kirin]]: ji koka wê / wî [[birîn]] yan [[piçandin]]
* {{mj|navdêr}} [[jirehkirin]]
* {{mj|rengdêr}} [[jirehkirî]]
==== Jê ====
{{kol3|ku
| bêreh
| bêrehî
| bêrehîtî
| bêrehtî
| bireh
| birehî
| birehîtî
| birehtî
| rehandin
| rehandî
| rehdar
| rehdarî
| rehdarîtî
| rehdartî
| rehder
| rehderî
| rehderîtî
| rehdertî
| rehdêr
| rehdêrî
| rehdêrîtî
| rehdêrtî
| rehik
| rehiyayî
| rehî
| rehîn
| rehîner
| rehk
| rewik
}}
==== Etîmolojî ====
Ji {{ji|ine-pro|ku|-}} {{recons|ine-pro|wréh₂ds}} (reh), [[hevreh]]a soranî {{g|ckb|ڕهگ|tr=reg}}, farisî {{g|fa|ریشه|tr=rîşe}}, yûnaniya kevn [[ῥίζα]] (rihîza), latînî [[radix]], fransî [[racine]], îngilîzî [[root]] û [[wort]], swêdî [[rot]] û [[ört]], albanî [[rrënjë]]. Ji heman rehî: [[rih]] / [[rî]], [[rêv]].
==== Bi zaravayên din ====
* {{Z|ckb}}: [[reg]], [[rêşe]]
* Feylî/Kelhurî: rîşe, reg
* Zazakî: kok, ristim, rîşe, reya
==== Werger ====
{{werger-ser}}
* {{Z|ace}}: {{W-|ace|ukheue}}
* {{Z|aa}}: {{W-|aa|rimid}}
* {{Z|af}}: {{W+|af|wortel}}
* {{Z|akl}}: {{W-|akl|gamot}}
* {{Z|sq}}: {{W+|sq|rrënjë|m}}
* {{Z|de}}: {{W+|de|Wurzel|m}}, {{W+|de|Wurzeln|p}}
* {{Z|alt}}: {{W-|alt|тамыр}}, {{W-|alt|јылтыс}}
* {{Z|an}}: {{W+|an|radiz}}
* {{Z|rup}}: {{W-|rup|arãdãtsinã|m}}, {{W-|rup|zãrãtsinã|m}}, {{W-|rup|rãdãtsinã|m}}
* {{Z|aer}}: {{W-|aer|artekerre}}
* {{Z|as}}: {{W-|as|শিয়া}}, {{W-|as|শিপা}}
* {{Z|bno}}: {{W-|bno|gamot}}
* {{Z|ast}}: {{W+|ast|raíz|m}}
* {{Z|az}}: {{W+|az|kök}}
* {{Z|xkl}}: {{W-|xkl|lakat}}
* {{Z|ban}}: {{W-|ban|akah}}
* {{Z|eu}}: {{W-|eu|sustrai}}, {{W-|eu|zuztar}}, {{W-|eu|erro}}
* {{Z|ba}}: {{W-|ba|тамыр}}
* {{Z|be}}: {{W+|be|ко́рань|n}}
* {{Z|bn}}: {{W+|bn|মূল}}
* Berberî:
*: {{Z|shi}}: {{W-|shi|azɣwr|n}}
* {{Z|bpz}}: {{W-|bpz|oka}}
* {{Z|bny}}: {{W-|bny|waka}}
* {{Z|bg}}: {{W+|bg|ко́рен|n}}
* {{Z|my}}: {{W+|my|အမြစ်}}
* {{Z|ccc}}: {{W-|ccc|ijtishi}}
* {{Z|cjm}}: {{W-|cjm|ꨀꨉꨩ|tr=agha'}}, {{W-|cjm|ꨉꨩ|tr=gha'}}, {{W-|cjm|ꨂꨉꨩ|tr=ưgha'}}
* {{Z|ce}}: {{W-|ce|орам}}
* {{Z|cs}}: {{W+|cs|kořen|n}}
* {{Z|chr}}: {{W-|chr|ᎤᎿᏍᏕᏜ}}
* {{Z|ny}}: {{W-|ny|muzu}}
* {{Z|zh}}:
*: {{Z|cmn}}: {{W+|cmn|根|tr=gēn}}
* {{Z|cho}}: {{W-|cho|akshish}}
* {{Z|dlm}}: {{W-|dlm|radaica|m}}
* {{Z|da}}: {{W+|da|rod|g}}
* {{Z|duu}}: {{W-|duu|vng'reu}}, {{W-|duu|shing'reu}}
* {{Z|ovd}}: {{W-|ovd|ruota|m}}
* {{Z|id}}: {{W+|id|akar}}
* {{Z|ar}}: {{W+|ar|جَذْر|n}}
*: {{Z|arz}}: {{W-|arz|جدر|n|tr=gedr}}
*: {{Z|apc}}: {{W-|apc|شرش|n|tr=šereš}}
*: {{Z|acm}}: {{W-|acm|عرگ|n|tr=ʕereg}}
*: {{Z|ary}}: {{W-|ary|جدر|n|tr=ždər}}
*: {{Z|ajp}}: {{W-|ajp|شرش|n|tr=šorš}}
* {{Z|hy}}: {{W+|hy|արմատ}}
* {{Z|eo}}: {{W+|eo|radiko}}
* {{Z|et}}: {{W+|et|juur}}
* {{Z|gez}}: {{W-|gez|ሥርው}}
* {{Z|evn}}: {{W-|evn|ңиңтэ}}
* {{Z|fa}}: {{W+|fa|ریشه|tr=riše}}
* {{Z|fo}}: {{W+|fo|rót|m}}
* {{Z|fi}}: {{W+|fi|juuri}}, {{W-|fi|puunjuuri}}
* {{Z|fr}}: {{W+|fr|racine|m}}
* {{Z|fur}}: {{W-|fur|lidrîs}}
* {{Z|fy}}: {{W+|fy|woartel}}
* {{Z|gd}}: {{W-|gd|freumh|n}}
* {{Z|gl}}: {{W+|gl|raíz|m}}
* {{Z|got}}: {{W-|got|𐍅𐌰𐌿𐍂𐍄𐍃|m}}
* {{Z|ka}}: {{W-|ka|ფესვი}}, {{W-|ka|ძირი}}
* {{Z|gn}}: {{W-|gn|[[tapo]]}}
* {{Z|ht}}: {{W-|ht|rasin}}
* {{Z|haw}}: {{W-|haw|aʻa}}
* {{Z|mba}}: {{W-|mba|gamot}}
* {{Z|hi}}: {{W+|hi|जड़}}
* {{Z|mww}}: {{W-|mww|cag}}
* {{Z|nl}}: {{W+|nl|wortel|n}}
* {{Z|he}}: {{W+|he|שורש|n|tr=shóresh}}
* {{Z|ang}}: {{W-|ang|wyrttruma|n}}
* {{Z|enm}}: {{W-|enm|rote}}, {{W-|enm|more}}
* {{Z|en}}: {{W+|en|root}}
* {{Z|izh}}: {{W-|izh|juuri}}
* {{Z|ill}}: {{W-|ill|waged}}
* {{Z|ga}}: {{W-|ga|fréamh|m}}
* {{Z|isd}}: {{W-|isd|xamut}}
* {{Z|it}}: {{W+|it|radice|m}}
* {{Z|ium}}: {{W-|ium|nzungh}}
* {{Z|is}}: {{W+|is|rót|m}}
* {{Z|ja}}: {{W+|ja|根|tr=ね, ne}}
* {{Z|jv}}: {{W-|jv|oyot}}
* {{Z|kl}}: {{W-|kl|sorlak}}
* {{Z|kzx}}: {{W-|kzx|waar}}
* {{Z|xbr}}: {{W-|xbr|amu}}
* {{Z|kmc}}: {{W-|kmc|sangp}}
* {{Z|kn}}: {{W+|kn|ಬೇರು}}
* {{Z|csb}}: {{W-|csb|kòrzéń}}
* {{Z|ca}}: {{W+|ca|arrel|m}}
* {{Z|qu}}: {{W+|qu|machu}}, {{W-|qu|saphi}}, {{W+|qu|sapi}}
* {{Z|ky}}: {{W+|ky|тамыр}}
* {{Z|kg}}: {{W-|kg|mwanzi}}
* {{Z|kij}}: {{W-|kij|uula}}
* {{Z|kpv}}: {{W-|kpv|вуж}}
* {{Z|ko}}: {{W+|ko|뿌리}}
* {{Z|lbe}}: {{W-|lbe|бакӏ}}, {{W-|lbe|бакӏру}}
* {{Z|ltg}}: {{W-|ltg|sakne|m}}, {{W-|ltg|saknis|m-p}}
* {{Z|la}}: {{W-|la|rādīx|m}}
* {{Z|lv}}: {{W+|lv|sakne|m}}, {{W-|lv|saknes|m-p}}
* {{Z|lo}}: {{W-|lo|ຮາກ}}
* {{Z|lez}}: {{W-|lez|пун}}
* {{Z|lij}}: {{W-|lij|radiccia|m}}, {{W-|lij|reixe|m}}
* {{Z|lt}}: {{W+|lt|šaknis}}
* {{Z|liv}}: {{W-|liv|jūŗ}}
* {{Z|lmo}}: {{W-|lmo|radis|m}}
* {{Z|khb}}: {{W-|khb|ᦣᦱᧅ}}
* {{Z|luy}}: {{W-|luy|kumuzizi}}
* {{Z|lb}}: {{W-|lb|Wuerzel|m}}
* {{Z|mdh}}: {{W-|mdh|dalig}}, {{W-|mdh|bekaw}}
* Malay:
*: {{Z|ms}}: {{W-|ms|اکر}}
*: Rûmî: {{W+|ms|akar}}
* {{Z|mk}}: {{W-|mk|корен|n}}
* {{Z|ml}}: {{W+|ml|വേര്}}
* {{Z|mt}}: {{W-|mt|għerq|n}}
* {{Z|mnc}}: {{W-|mnc|ᡩᠠ}}
* {{Z|mns-nor}}: {{W-|mns-nor|та̄р}}
* {{Z|mi}}: {{W-|mi|aka}}, {{W-|mi|akaaka}}
* {{Z|mrw}}: {{W-|mrw|bekaw}}
* Marî:
*: {{Z|mhr}}: {{W-|mhr|вож}}
* {{Z|hu}}: {{W+|hu|gyökér}}
* {{Z|mel}}: {{W-|mel|akah}}
* {{Z|egy}}: {{W-egy|wꜣb|h=wA-A-b-Hn|n}}
* {{Z|min}}: {{W-|min|ure'}}
* {{Z|mn}}: {{W+|mn|үндэс}}
* {{Z|mnw}}: {{W-|mnw|ရိုဟ်}}
* {{Z|nci}}: {{W-|nci|nelhuatl}}
* {{Z|nah}}: {{W-|nah|nelhuatl}}
* {{Z|gld}}: {{W-|gld|дачан}}
* {{Z|nap}}: {{W-|nap|ràdeca|m}}
* {{Z|nv}}: {{W-|nv|akétłʼóól}}
* {{Z|nds}}: {{W-|nds|Wortel|m}}
* {{Z|ne}}: {{W+|ne|जरा}}
* {{Z|nia}}: {{W-|nia|wa'a}}
* {{Z|nrf}}: {{W-|nrf|raichinne}}, {{W-|nrf|réchinne}}
* {{Z|no}}:
*: {{Z|nb}}: {{W+|nb|rot|n|m}}
*: {{Z|nn}}: {{W+|nn|rot|m}}
* {{Z|oj}}: {{W-|oj|ojiibik}}
* {{Z|ryu}}: {{W-|ryu|根|tr=にー, nī}}
* {{Z|oc}}: {{W+|oc|raiç|m}}, {{W+|oc|rasic|m}}
* {{Z|or}}: {{W-|or|ଜଡି}}
* {{Z|om}}: {{W-|om|hidda}}, {{W-|om|hundee}}
* {{Z|ug}}: {{W-|ug|يىلتىز}}
* {{Z|uz}}: {{W+|uz|ildiz}}
* {{Z|pac}}: {{W-|pac|reaih}}, {{W-|pac|riêih}}
* {{Z|ple}}: {{W-|ple|waka}}
* {{Z|pap}}: {{W-|pap|rais}}
* {{Z|ps}}: {{W+|ps|جذر|n|tr=ǰazr}}, {{W+|ps|جرړه|m|tr=ǰárṛa}}
* {{Z|pms}}: {{W-|pms|rèis|m}}, {{W-|pms|radis|m}}
* {{Z|ppl}}: {{W-|ppl|nelwat}}
* {{Z|pl}}: {{W+|pl|korzeń|n}}
* {{Z|pt}}: {{W+|pt|raiz|m}}
* {{Z|kk}}: {{W-|kk|тамыр}}, {{W-|kk|түбір}}
* {{Z|rap}}: {{W-|rap|aka}}
* {{Z|rhg}}: {{W-|rhg|cém}}
* {{Z|rgn}}: {{W-|rgn|radìșa|m}}, {{W-|rgn|ràdga|m}}
* {{Z|rm}}: {{W-|rm|ragisch|m}}, {{W-|rm|risch|m}}, {{W-|rm|rieisch|m}}
* {{Z|ro}}: {{W+|ro|rădăcină|m}}
* {{Z|ru}}: {{W+|ru|ко́рень|n}}, {{W+|ru|ко́рни|n-p}}, {{W+|ru|коре́нья|p}}
* {{Z|ksw}}: {{W-|ksw|အဂံၢ်}}
* {{Z|skb}}: {{W-|skb|ร̄าก}}
* {{Z|se}}: {{W-|se|ruohtas}}
* {{Z|sc}}: {{W-|sc|radichina|m}}, {{W-|sc|arraighina}}, {{W-|sc|raichina}}
* {{Z|sas}}: {{W-|sas|akah}}
* {{Z|ceb}}: {{W-|ceb|gamot}}
* {{Z|scn}}: {{W+|scn|ràdica|m}}, {{W+|scn|ràdiga|m}}, {{W+|scn|ràrica|m}}
* {{Z|sh}}:
*: Kirîlî: {{W-|sh|ко̏ре̄н|n}}, {{W-|sh|ко̏рије̄н|n}}
*: Latînî: {{W+|sh|kȍrēn|n}}, {{W+|sh|kȍrijēn|n}}
* {{Z|cu}}:
*: Kirîlî: {{W-|cu|корєнь|n}}
* {{Z|sk}}: {{W-|sk|koreň|n}}
* {{Z|sl}}: {{W+|sl|korenina|m}}
* {{Z|so}}: {{W+|so|xiddid}}
* Sorbî:
*: {{Z|dsb}}: {{W-|dsb|kórjeń|n}}
*: {{Z|hsb}}: {{W-|hsb|korjeń|n}}
* {{Z|es}}: {{W+|es|raíz|m}}
* {{Z|sw}}: {{W+|sw|mzizi}}
* {{Z|sv}}: {{W+|sv|rot|g}}
* {{Z|shn}}: {{W-|shn|ႁၢၵ်ႈ}}
* {{Z|tg}}: {{W+|tg|реша}}
* {{Z|mvv}}: {{W-|mvv|bakat}}
* {{Z|tl}}: {{W-|tl|urat}}, {{W+|tl|ugat}}
* {{Z|ty}}: {{W-|ty|aʻa}}
* {{Z|ta}}: {{W+|ta|வேர்}}
* {{Z|rif}}: {{W-|rif|aẓwar|n}}
* {{Z|tsg}}: {{W-|tsg|gamut}}
* {{Z|nod}}: {{W-|nod|ᩁᩣ᩠ᨠ}}
* {{Z|th}}: {{W+|th|ราก}}
* {{Z|te}}: {{W+|te|వేరు}}
* {{Z|tft}}: {{W-|tft|utu}}
* {{Z|tt}}: {{W+|tt|тамыр}}
* {{Z|tet}}: {{W-|tet|abut}}
* {{Z|tr}}: {{W+|tr|kök}}
* {{Z|tk}}: {{W-|tk|kök}}
* {{Z|bo}}: {{W-|bo|རྩ་བ}}
* {{Z|tkl}}: {{W-|tkl|aka}}
* {{Z|to}}: {{W-|to|aka}}
* {{Z|txb}}: {{W-|txb|witsako}}
* {{Z|udi}}: {{W-|udi|тум}}
* {{Z|udm}}: {{W-|udm|выжы}}
* {{Z|uga}}: {{W-|uga|𐎌𐎗𐎌}}
* {{Z|ur}}: {{W-|ur|جڑ|tr=jaṛ}}
* {{Z|uk}}: {{W+|uk|ко́рінь|n}}, {{W-|uk|корі́ння|nt}}
* {{Z|vec}}: {{W+|vec|raixa|m}}, {{W-|vec|rais}}
* {{Z|vi}}: {{W+|vi|rễ}}
* {{Z|vo}}: {{W+|vo|vul}}
* {{Z|wa}}: {{W+|wa|raecene|m}}
* {{Z|cy}}: {{W+|cy|gwraidd|n}}
* {{Z|km}}: {{W+|km|ឫស|tr=rɨh}}
* {{Z|yai}}: {{W-|yai|риша}}
* {{Z|yka}}: {{W-|yka|gamut}}
* {{Z|sah}}: {{W-|sah|силис}}
* {{Z|jmd}}: {{W-|jmd|wakar}}
* {{Z|yi}}: {{W-|yi|וואָרצל|n}}
* {{Z|ii}}: {{W-|ii|ꐴ}}
* {{Z|grk-mar}}: {{W-|grk-mar|ри́за|m}}
* {{Z|el}}: {{W+|el|ρίζα|m}}
*: Kevn: {{W-|grc|ῥίζα|m}}
* {{Z|zea}}: {{W-|zea|wortel|n}}
* {{Z|za}}: {{W-|za|rag}}
* {{Z|zu}}: {{W-|zu|impande|c9|c10}}
* {{Z|khi-kun}}: {{W-|khi-kun|daŋ}}
* {{Z|nmn}}: {{W-|nmn|ǃkʻqái}}
{{werger-bin}}
:{{werger çavkanî|en|root|beş=Ev qismê Wergerê|oldid=75944632}}
=== Navdêr 2 ===
{{navdêr|ku|z=n}}
# ''Binêre'': '''[[rî]]'''
6suxn5c0wpwiqmot7w708s7hc89rrz2
6235983
6235982
2026-05-24T07:07:44Z
Ferhengvan
16
/* Navdêr 1 */
6235983
wikitext
text/x-wiki
{{bnr-h|Reh}}
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Navdêr 1 ===
{{ku-tewîn-nav|reh|mê}}
[[Wêne:Primary and secondary cotton roots.jpg|thumb|'''Rehên''' darekê.]]
{{navdêr|ku|z=nm}}
# {{f|ku|riweknasî}} [[parçe|Parçeyên]] [[jêrîn]] yên [[riwek]]an (bi taybetî yên di [[bin]] [[ax]]ê ve).
#: {{hevmane|ku|kok|rewa|rîş|ripî|riç|cille}}
# [[binyat|Binyat]], [[bingeh]], [[serekanî]], [[esil]], [[esas]].
#* {{bêmînak|ku}}
# {{f|ku|zimannasî}} [[parçe|Parçeya]] [[peyv]]an ya herî [[biçûk]]
#* {{jêder-malper|ku|jêgirtin=Pêşpirtik pirtikên wisan in ku tên berî peyva xwerû yan '''rehê''' peyvê yan jî peyva ku ji xwe hin pirtikên din pê ve hene|nivîskar={{w|Husein Muhammed}}|sernav=Pirtikrêzî anku morfotaksî|url=https://zimannas.wordpress.com/2015/12/12/pirtikrezi-anku-morfotaksi/|malper=zimannas.wordpress.com|dîrok=12.12.2015}}
#* {{jêder-malper|ku|jêgirtin=Da-hat-û (da: paşdaçek, hat: '''rehê''' dema borî ya lêkera hatinê, û: gîhanek) Çi têkilîya vê bi dema bê ra heye? De were îca safî bike!|nivîskar=Ewdil Ararat|sernav=Ji bo weqfa Mezopotamyayê II|url=http://www.rojnameyakurdistan.com/ku/makale/Ji_bo_weqfa_Mezopotamyay%C3%AA_II|malper=Rojnameya Kurdistan|dîrok=21.05.2017}}
#* {{jêder-malper|ku|jêgirtin=Dema kirde diyar be jî, veşartî be jî bi paşgira kesane ya tê pey '''rehê''' lêkerê, xwe diyar dike û têgihîştinê dide çêkirin.|nivîskar=Hesen Huseyin Deniz|sernav=Di Zimanê Kurdî de Hevok û Erka Hevokan di Vegotinê de|url=http://www.pen-kurd.org/kurdi/hesen-deniz/di-zimane-kurdi-de-hevok-u-erka-hevokan.html|malper=pen-kurd.org}}
#* {{jêder|ku|jêgirtin=Min got ku kûçikê wî ji tuxmekî baş, ji '''reheke''' kûçikên xweşik bû.|''[[w:Biyanî|Biyanî]]'', {{w|Albert Camus}}, Weşanên {{w|Nûdem}}}}
# {{f|ku|nivîsbarî}} [[birêveber]]a [[pergala xebatê|pergalên xebatê]] (bi gelemperî ya [[Linux]]ê)
#* {{bêmînak|ku}}
==== Ji wêjeya klasîk ====
* {{jêder|ku|{{Jêgirtin/Melayê Cizîrî/Dîwana Melayê Cizirî}}|jêgirtin=Dê du siyeh sirmeyê çehvên xwe kit<br />Xakê '''rehê''' yarê seba her sebah<br />Toz û xubara seherê ber çimen}}
==== Bikaranîn ====
* {{mj|lêker}} [[ji reh kirin]]: ji koka wê / wî [[birîn]] yan [[piçandin]]
* {{mj|navdêr}} [[jirehkirin]]
* {{mj|rengdêr}} [[jirehkirî]]
==== Jê ====
{{kol3|ku
| bêreh
| bêrehî
| bêrehîtî
| bêrehtî
| bireh
| birehî
| birehîtî
| birehtî
| rehandin
| rehandî
| rehdar
| rehdarî
| rehdarîtî
| rehdartî
| rehder
| rehderî
| rehderîtî
| rehdertî
| rehdêr
| rehdêrî
| rehdêrîtî
| rehdêrtî
| rehik
| rehiyayî
| rehî
| rehîn
| rehîner
| rehk
| rewik
}}
==== Etîmolojî ====
Ji {{ji|ine-pro|ku|-}} {{recons|ine-pro|wréh₂ds}} (reh), [[hevreh]]a soranî {{g|ckb|ڕهگ|tr=reg}}, farisî {{g|fa|ریشه|tr=rîşe}}, yûnaniya kevn [[ῥίζα]] (rihîza), latînî [[radix]], fransî [[racine]], îngilîzî [[root]] û [[wort]], swêdî [[rot]] û [[ört]], albanî [[rrënjë]]. Ji heman rehî: [[rih]] / [[rî]], [[rêv]].
==== Bi zaravayên din ====
* {{Z|ckb}}: [[reg]], [[rêşe]]
* Feylî/Kelhurî: rîşe, reg
* Zazakî: kok, ristim, rîşe, reya
==== Werger ====
{{werger-ser}}
* {{Z|ace}}: {{W-|ace|ukheue}}
* {{Z|aa}}: {{W-|aa|rimid}}
* {{Z|af}}: {{W+|af|wortel}}
* {{Z|akl}}: {{W-|akl|gamot}}
* {{Z|sq}}: {{W+|sq|rrënjë|m}}
* {{Z|de}}: {{W+|de|Wurzel|m}}, {{W+|de|Wurzeln|p}}
* {{Z|alt}}: {{W-|alt|тамыр}}, {{W-|alt|јылтыс}}
* {{Z|an}}: {{W+|an|radiz}}
* {{Z|rup}}: {{W-|rup|arãdãtsinã|m}}, {{W-|rup|zãrãtsinã|m}}, {{W-|rup|rãdãtsinã|m}}
* {{Z|aer}}: {{W-|aer|artekerre}}
* {{Z|as}}: {{W-|as|শিয়া}}, {{W-|as|শিপা}}
* {{Z|bno}}: {{W-|bno|gamot}}
* {{Z|ast}}: {{W+|ast|raíz|m}}
* {{Z|az}}: {{W+|az|kök}}
* {{Z|xkl}}: {{W-|xkl|lakat}}
* {{Z|ban}}: {{W-|ban|akah}}
* {{Z|eu}}: {{W-|eu|sustrai}}, {{W-|eu|zuztar}}, {{W-|eu|erro}}
* {{Z|ba}}: {{W-|ba|тамыр}}
* {{Z|be}}: {{W+|be|ко́рань|n}}
* {{Z|bn}}: {{W+|bn|মূল}}
* Berberî:
*: {{Z|shi}}: {{W-|shi|azɣwr|n}}
* {{Z|bpz}}: {{W-|bpz|oka}}
* {{Z|bny}}: {{W-|bny|waka}}
* {{Z|bg}}: {{W+|bg|ко́рен|n}}
* {{Z|my}}: {{W+|my|အမြစ်}}
* {{Z|ccc}}: {{W-|ccc|ijtishi}}
* {{Z|cjm}}: {{W-|cjm|ꨀꨉꨩ|tr=agha'}}, {{W-|cjm|ꨉꨩ|tr=gha'}}, {{W-|cjm|ꨂꨉꨩ|tr=ưgha'}}
* {{Z|ce}}: {{W-|ce|орам}}
* {{Z|cs}}: {{W+|cs|kořen|n}}
* {{Z|chr}}: {{W-|chr|ᎤᎿᏍᏕᏜ}}
* {{Z|ny}}: {{W-|ny|muzu}}
* {{Z|zh}}:
*: {{Z|cmn}}: {{W+|cmn|根|tr=gēn}}
* {{Z|cho}}: {{W-|cho|akshish}}
* {{Z|dlm}}: {{W-|dlm|radaica|m}}
* {{Z|da}}: {{W+|da|rod|g}}
* {{Z|duu}}: {{W-|duu|vng'reu}}, {{W-|duu|shing'reu}}
* {{Z|ovd}}: {{W-|ovd|ruota|m}}
* {{Z|id}}: {{W+|id|akar}}
* {{Z|ar}}: {{W+|ar|جَذْر|n}}
*: {{Z|arz}}: {{W-|arz|جدر|n|tr=gedr}}
*: {{Z|apc}}: {{W-|apc|شرش|n|tr=šereš}}
*: {{Z|acm}}: {{W-|acm|عرگ|n|tr=ʕereg}}
*: {{Z|ary}}: {{W-|ary|جدر|n|tr=ždər}}
*: {{Z|ajp}}: {{W-|ajp|شرش|n|tr=šorš}}
* {{Z|hy}}: {{W+|hy|արմատ}}
* {{Z|eo}}: {{W+|eo|radiko}}
* {{Z|et}}: {{W+|et|juur}}
* {{Z|gez}}: {{W-|gez|ሥርው}}
* {{Z|evn}}: {{W-|evn|ңиңтэ}}
* {{Z|fa}}: {{W+|fa|ریشه|tr=riše}}
* {{Z|fo}}: {{W+|fo|rót|m}}
* {{Z|fi}}: {{W+|fi|juuri}}, {{W-|fi|puunjuuri}}
* {{Z|fr}}: {{W+|fr|racine|m}}
* {{Z|fur}}: {{W-|fur|lidrîs}}
* {{Z|fy}}: {{W+|fy|woartel}}
* {{Z|gd}}: {{W-|gd|freumh|n}}
* {{Z|gl}}: {{W+|gl|raíz|m}}
* {{Z|got}}: {{W-|got|𐍅𐌰𐌿𐍂𐍄𐍃|m}}
* {{Z|ka}}: {{W-|ka|ფესვი}}, {{W-|ka|ძირი}}
* {{Z|gn}}: {{W-|gn|[[tapo]]}}
* {{Z|ht}}: {{W-|ht|rasin}}
* {{Z|haw}}: {{W-|haw|aʻa}}
* {{Z|mba}}: {{W-|mba|gamot}}
* {{Z|hi}}: {{W+|hi|जड़}}
* {{Z|mww}}: {{W-|mww|cag}}
* {{Z|nl}}: {{W+|nl|wortel|n}}
* {{Z|he}}: {{W+|he|שורש|n|tr=shóresh}}
* {{Z|ang}}: {{W-|ang|wyrttruma|n}}
* {{Z|enm}}: {{W-|enm|rote}}, {{W-|enm|more}}
* {{Z|en}}: {{W+|en|root}}
* {{Z|izh}}: {{W-|izh|juuri}}
* {{Z|ill}}: {{W-|ill|waged}}
* {{Z|ga}}: {{W-|ga|fréamh|m}}
* {{Z|isd}}: {{W-|isd|xamut}}
* {{Z|it}}: {{W+|it|radice|m}}
* {{Z|ium}}: {{W-|ium|nzungh}}
* {{Z|is}}: {{W+|is|rót|m}}
* {{Z|ja}}: {{W+|ja|根|tr=ね, ne}}
* {{Z|jv}}: {{W-|jv|oyot}}
* {{Z|kl}}: {{W-|kl|sorlak}}
* {{Z|kzx}}: {{W-|kzx|waar}}
* {{Z|xbr}}: {{W-|xbr|amu}}
* {{Z|kmc}}: {{W-|kmc|sangp}}
* {{Z|kn}}: {{W+|kn|ಬೇರು}}
* {{Z|csb}}: {{W-|csb|kòrzéń}}
* {{Z|ca}}: {{W+|ca|arrel|m}}
* {{Z|qu}}: {{W+|qu|machu}}, {{W-|qu|saphi}}, {{W+|qu|sapi}}
* {{Z|ky}}: {{W+|ky|тамыр}}
* {{Z|kg}}: {{W-|kg|mwanzi}}
* {{Z|kij}}: {{W-|kij|uula}}
* {{Z|kpv}}: {{W-|kpv|вуж}}
* {{Z|ko}}: {{W+|ko|뿌리}}
* {{Z|lbe}}: {{W-|lbe|бакӏ}}, {{W-|lbe|бакӏру}}
* {{Z|ltg}}: {{W-|ltg|sakne|m}}, {{W-|ltg|saknis|m-p}}
* {{Z|la}}: {{W-|la|rādīx|m}}
* {{Z|lv}}: {{W+|lv|sakne|m}}, {{W-|lv|saknes|m-p}}
* {{Z|lo}}: {{W-|lo|ຮາກ}}
* {{Z|lez}}: {{W-|lez|пун}}
* {{Z|lij}}: {{W-|lij|radiccia|m}}, {{W-|lij|reixe|m}}
* {{Z|lt}}: {{W+|lt|šaknis}}
* {{Z|liv}}: {{W-|liv|jūŗ}}
* {{Z|lmo}}: {{W-|lmo|radis|m}}
* {{Z|khb}}: {{W-|khb|ᦣᦱᧅ}}
* {{Z|luy}}: {{W-|luy|kumuzizi}}
* {{Z|lb}}: {{W-|lb|Wuerzel|m}}
* {{Z|mdh}}: {{W-|mdh|dalig}}, {{W-|mdh|bekaw}}
* Malay:
*: {{Z|ms}}: {{W-|ms|اکر}}
*: Rûmî: {{W+|ms|akar}}
* {{Z|mk}}: {{W-|mk|корен|n}}
* {{Z|ml}}: {{W+|ml|വേര്}}
* {{Z|mt}}: {{W-|mt|għerq|n}}
* {{Z|mnc}}: {{W-|mnc|ᡩᠠ}}
* {{Z|mns-nor}}: {{W-|mns-nor|та̄р}}
* {{Z|mi}}: {{W-|mi|aka}}, {{W-|mi|akaaka}}
* {{Z|mrw}}: {{W-|mrw|bekaw}}
* Marî:
*: {{Z|mhr}}: {{W-|mhr|вож}}
* {{Z|hu}}: {{W+|hu|gyökér}}
* {{Z|mel}}: {{W-|mel|akah}}
* {{Z|egy}}: {{W-egy|wꜣb|h=wA-A-b-Hn|n}}
* {{Z|min}}: {{W-|min|ure'}}
* {{Z|mn}}: {{W+|mn|үндэс}}
* {{Z|mnw}}: {{W-|mnw|ရိုဟ်}}
* {{Z|nci}}: {{W-|nci|nelhuatl}}
* {{Z|nah}}: {{W-|nah|nelhuatl}}
* {{Z|gld}}: {{W-|gld|дачан}}
* {{Z|nap}}: {{W-|nap|ràdeca|m}}
* {{Z|nv}}: {{W-|nv|akétłʼóól}}
* {{Z|nds}}: {{W-|nds|Wortel|m}}
* {{Z|ne}}: {{W+|ne|जरा}}
* {{Z|nia}}: {{W-|nia|wa'a}}
* {{Z|nrf}}: {{W-|nrf|raichinne}}, {{W-|nrf|réchinne}}
* {{Z|no}}:
*: {{Z|nb}}: {{W+|nb|rot|n|m}}
*: {{Z|nn}}: {{W+|nn|rot|m}}
* {{Z|oj}}: {{W-|oj|ojiibik}}
* {{Z|ryu}}: {{W-|ryu|根|tr=にー, nī}}
* {{Z|oc}}: {{W+|oc|raiç|m}}, {{W+|oc|rasic|m}}
* {{Z|or}}: {{W-|or|ଜଡି}}
* {{Z|om}}: {{W-|om|hidda}}, {{W-|om|hundee}}
* {{Z|ug}}: {{W-|ug|يىلتىز}}
* {{Z|uz}}: {{W+|uz|ildiz}}
* {{Z|pac}}: {{W-|pac|reaih}}, {{W-|pac|riêih}}
* {{Z|ple}}: {{W-|ple|waka}}
* {{Z|pap}}: {{W-|pap|rais}}
* {{Z|ps}}: {{W+|ps|جذر|n|tr=ǰazr}}, {{W+|ps|جرړه|m|tr=ǰárṛa}}
* {{Z|pms}}: {{W-|pms|rèis|m}}, {{W-|pms|radis|m}}
* {{Z|ppl}}: {{W-|ppl|nelwat}}
* {{Z|pl}}: {{W+|pl|korzeń|n}}
* {{Z|pt}}: {{W+|pt|raiz|m}}
* {{Z|kk}}: {{W-|kk|тамыр}}, {{W-|kk|түбір}}
* {{Z|rap}}: {{W-|rap|aka}}
* {{Z|rhg}}: {{W-|rhg|cém}}
* {{Z|rgn}}: {{W-|rgn|radìșa|m}}, {{W-|rgn|ràdga|m}}
* {{Z|rm}}: {{W-|rm|ragisch|m}}, {{W-|rm|risch|m}}, {{W-|rm|rieisch|m}}
* {{Z|ro}}: {{W+|ro|rădăcină|m}}
* {{Z|ru}}: {{W+|ru|ко́рень|n}}, {{W+|ru|ко́рни|n-p}}, {{W+|ru|коре́нья|p}}
* {{Z|ksw}}: {{W-|ksw|အဂံၢ်}}
* {{Z|skb}}: {{W-|skb|ร̄าก}}
* {{Z|se}}: {{W-|se|ruohtas}}
* {{Z|sc}}: {{W-|sc|radichina|m}}, {{W-|sc|arraighina}}, {{W-|sc|raichina}}
* {{Z|sas}}: {{W-|sas|akah}}
* {{Z|ceb}}: {{W-|ceb|gamot}}
* {{Z|scn}}: {{W+|scn|ràdica|m}}, {{W+|scn|ràdiga|m}}, {{W+|scn|ràrica|m}}
* {{Z|sh}}:
*: Kirîlî: {{W-|sh|ко̏ре̄н|n}}, {{W-|sh|ко̏рије̄н|n}}
*: Latînî: {{W+|sh|kȍrēn|n}}, {{W+|sh|kȍrijēn|n}}
* {{Z|cu}}:
*: Kirîlî: {{W-|cu|корєнь|n}}
* {{Z|sk}}: {{W-|sk|koreň|n}}
* {{Z|sl}}: {{W+|sl|korenina|m}}
* {{Z|so}}: {{W+|so|xiddid}}
* Sorbî:
*: {{Z|dsb}}: {{W-|dsb|kórjeń|n}}
*: {{Z|hsb}}: {{W-|hsb|korjeń|n}}
* {{Z|es}}: {{W+|es|raíz|m}}
* {{Z|sw}}: {{W+|sw|mzizi}}
* {{Z|sv}}: {{W+|sv|rot|g}}
* {{Z|shn}}: {{W-|shn|ႁၢၵ်ႈ}}
* {{Z|tg}}: {{W+|tg|реша}}
* {{Z|mvv}}: {{W-|mvv|bakat}}
* {{Z|tl}}: {{W-|tl|urat}}, {{W+|tl|ugat}}
* {{Z|ty}}: {{W-|ty|aʻa}}
* {{Z|ta}}: {{W+|ta|வேர்}}
* {{Z|rif}}: {{W-|rif|aẓwar|n}}
* {{Z|tsg}}: {{W-|tsg|gamut}}
* {{Z|nod}}: {{W-|nod|ᩁᩣ᩠ᨠ}}
* {{Z|th}}: {{W+|th|ราก}}
* {{Z|te}}: {{W+|te|వేరు}}
* {{Z|tft}}: {{W-|tft|utu}}
* {{Z|tt}}: {{W+|tt|тамыр}}
* {{Z|tet}}: {{W-|tet|abut}}
* {{Z|tr}}: {{W+|tr|kök}}
* {{Z|tk}}: {{W-|tk|kök}}
* {{Z|bo}}: {{W-|bo|རྩ་བ}}
* {{Z|tkl}}: {{W-|tkl|aka}}
* {{Z|to}}: {{W-|to|aka}}
* {{Z|txb}}: {{W-|txb|witsako}}
* {{Z|udi}}: {{W-|udi|тум}}
* {{Z|udm}}: {{W-|udm|выжы}}
* {{Z|uga}}: {{W-|uga|𐎌𐎗𐎌}}
* {{Z|ur}}: {{W-|ur|جڑ|tr=jaṛ}}
* {{Z|uk}}: {{W+|uk|ко́рінь|n}}, {{W-|uk|корі́ння|nt}}
* {{Z|vec}}: {{W+|vec|raixa|m}}, {{W-|vec|rais}}
* {{Z|vi}}: {{W+|vi|rễ}}
* {{Z|vo}}: {{W+|vo|vul}}
* {{Z|wa}}: {{W+|wa|raecene|m}}
* {{Z|cy}}: {{W+|cy|gwraidd|n}}
* {{Z|km}}: {{W+|km|ឫស|tr=rɨh}}
* {{Z|yai}}: {{W-|yai|риша}}
* {{Z|yka}}: {{W-|yka|gamut}}
* {{Z|sah}}: {{W-|sah|силис}}
* {{Z|jmd}}: {{W-|jmd|wakar}}
* {{Z|yi}}: {{W-|yi|וואָרצל|n}}
* {{Z|ii}}: {{W-|ii|ꐴ}}
* {{Z|grk-mar}}: {{W-|grk-mar|ри́за|m}}
* {{Z|el}}: {{W+|el|ρίζα|m}}
*: Kevn: {{W-|grc|ῥίζα|m}}
* {{Z|zea}}: {{W-|zea|wortel|n}}
* {{Z|za}}: {{W-|za|rag}}
* {{Z|zu}}: {{W-|zu|impande|c9|c10}}
* {{Z|khi-kun}}: {{W-|khi-kun|daŋ}}
* {{Z|nmn}}: {{W-|nmn|ǃkʻqái}}
{{werger-bin}}
:{{werger çavkanî|en|root|beş=Ev qismê Wergerê|oldid=75944632}}
=== Navdêr 2 ===
{{navdêr|ku|z=n}}
# ''Binêre'': '''[[rî]]'''
5uz45pouyfcgic9r60t0trtjnlp38jj
6235984
6235983
2026-05-24T07:07:57Z
Ferhengvan
16
/* Navdêr 1 */
6235984
wikitext
text/x-wiki
{{bnr-h|Reh}}
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Navdêr 1 ===
{{ku-tewîn-nav|reh|mê}}
[[Wêne:Primary and secondary cotton roots.jpg|thumb|'''Rehên''' darekê.]]
{{navdêr|ku|z=mn}}
# {{f|ku|riweknasî}} [[parçe|Parçeyên]] [[jêrîn]] yên [[riwek]]an (bi taybetî yên di [[bin]] [[ax]]ê ve).
#: {{hevmane|ku|kok|rewa|rîş|ripî|riç|cille}}
# [[binyat|Binyat]], [[bingeh]], [[serekanî]], [[esil]], [[esas]].
#* {{bêmînak|ku}}
# {{f|ku|zimannasî}} [[parçe|Parçeya]] [[peyv]]an ya herî [[biçûk]]
#* {{jêder-malper|ku|jêgirtin=Pêşpirtik pirtikên wisan in ku tên berî peyva xwerû yan '''rehê''' peyvê yan jî peyva ku ji xwe hin pirtikên din pê ve hene|nivîskar={{w|Husein Muhammed}}|sernav=Pirtikrêzî anku morfotaksî|url=https://zimannas.wordpress.com/2015/12/12/pirtikrezi-anku-morfotaksi/|malper=zimannas.wordpress.com|dîrok=12.12.2015}}
#* {{jêder-malper|ku|jêgirtin=Da-hat-û (da: paşdaçek, hat: '''rehê''' dema borî ya lêkera hatinê, û: gîhanek) Çi têkilîya vê bi dema bê ra heye? De were îca safî bike!|nivîskar=Ewdil Ararat|sernav=Ji bo weqfa Mezopotamyayê II|url=http://www.rojnameyakurdistan.com/ku/makale/Ji_bo_weqfa_Mezopotamyay%C3%AA_II|malper=Rojnameya Kurdistan|dîrok=21.05.2017}}
#* {{jêder-malper|ku|jêgirtin=Dema kirde diyar be jî, veşartî be jî bi paşgira kesane ya tê pey '''rehê''' lêkerê, xwe diyar dike û têgihîştinê dide çêkirin.|nivîskar=Hesen Huseyin Deniz|sernav=Di Zimanê Kurdî de Hevok û Erka Hevokan di Vegotinê de|url=http://www.pen-kurd.org/kurdi/hesen-deniz/di-zimane-kurdi-de-hevok-u-erka-hevokan.html|malper=pen-kurd.org}}
#* {{jêder|ku|jêgirtin=Min got ku kûçikê wî ji tuxmekî baş, ji '''reheke''' kûçikên xweşik bû.|''[[w:Biyanî|Biyanî]]'', {{w|Albert Camus}}, Weşanên {{w|Nûdem}}}}
# {{f|ku|nivîsbarî}} [[birêveber]]a [[pergala xebatê|pergalên xebatê]] (bi gelemperî ya [[Linux]]ê)
#* {{bêmînak|ku}}
==== Ji wêjeya klasîk ====
* {{jêder|ku|{{Jêgirtin/Melayê Cizîrî/Dîwana Melayê Cizirî}}|jêgirtin=Dê du siyeh sirmeyê çehvên xwe kit<br />Xakê '''rehê''' yarê seba her sebah<br />Toz û xubara seherê ber çimen}}
==== Bikaranîn ====
* {{mj|lêker}} [[ji reh kirin]]: ji koka wê / wî [[birîn]] yan [[piçandin]]
* {{mj|navdêr}} [[jirehkirin]]
* {{mj|rengdêr}} [[jirehkirî]]
==== Jê ====
{{kol3|ku
| bêreh
| bêrehî
| bêrehîtî
| bêrehtî
| bireh
| birehî
| birehîtî
| birehtî
| rehandin
| rehandî
| rehdar
| rehdarî
| rehdarîtî
| rehdartî
| rehder
| rehderî
| rehderîtî
| rehdertî
| rehdêr
| rehdêrî
| rehdêrîtî
| rehdêrtî
| rehik
| rehiyayî
| rehî
| rehîn
| rehîner
| rehk
| rewik
}}
==== Etîmolojî ====
Ji {{ji|ine-pro|ku|-}} {{recons|ine-pro|wréh₂ds}} (reh), [[hevreh]]a soranî {{g|ckb|ڕهگ|tr=reg}}, farisî {{g|fa|ریشه|tr=rîşe}}, yûnaniya kevn [[ῥίζα]] (rihîza), latînî [[radix]], fransî [[racine]], îngilîzî [[root]] û [[wort]], swêdî [[rot]] û [[ört]], albanî [[rrënjë]]. Ji heman rehî: [[rih]] / [[rî]], [[rêv]].
==== Bi zaravayên din ====
* {{Z|ckb}}: [[reg]], [[rêşe]]
* Feylî/Kelhurî: rîşe, reg
* Zazakî: kok, ristim, rîşe, reya
==== Werger ====
{{werger-ser}}
* {{Z|ace}}: {{W-|ace|ukheue}}
* {{Z|aa}}: {{W-|aa|rimid}}
* {{Z|af}}: {{W+|af|wortel}}
* {{Z|akl}}: {{W-|akl|gamot}}
* {{Z|sq}}: {{W+|sq|rrënjë|m}}
* {{Z|de}}: {{W+|de|Wurzel|m}}, {{W+|de|Wurzeln|p}}
* {{Z|alt}}: {{W-|alt|тамыр}}, {{W-|alt|јылтыс}}
* {{Z|an}}: {{W+|an|radiz}}
* {{Z|rup}}: {{W-|rup|arãdãtsinã|m}}, {{W-|rup|zãrãtsinã|m}}, {{W-|rup|rãdãtsinã|m}}
* {{Z|aer}}: {{W-|aer|artekerre}}
* {{Z|as}}: {{W-|as|শিয়া}}, {{W-|as|শিপা}}
* {{Z|bno}}: {{W-|bno|gamot}}
* {{Z|ast}}: {{W+|ast|raíz|m}}
* {{Z|az}}: {{W+|az|kök}}
* {{Z|xkl}}: {{W-|xkl|lakat}}
* {{Z|ban}}: {{W-|ban|akah}}
* {{Z|eu}}: {{W-|eu|sustrai}}, {{W-|eu|zuztar}}, {{W-|eu|erro}}
* {{Z|ba}}: {{W-|ba|тамыр}}
* {{Z|be}}: {{W+|be|ко́рань|n}}
* {{Z|bn}}: {{W+|bn|মূল}}
* Berberî:
*: {{Z|shi}}: {{W-|shi|azɣwr|n}}
* {{Z|bpz}}: {{W-|bpz|oka}}
* {{Z|bny}}: {{W-|bny|waka}}
* {{Z|bg}}: {{W+|bg|ко́рен|n}}
* {{Z|my}}: {{W+|my|အမြစ်}}
* {{Z|ccc}}: {{W-|ccc|ijtishi}}
* {{Z|cjm}}: {{W-|cjm|ꨀꨉꨩ|tr=agha'}}, {{W-|cjm|ꨉꨩ|tr=gha'}}, {{W-|cjm|ꨂꨉꨩ|tr=ưgha'}}
* {{Z|ce}}: {{W-|ce|орам}}
* {{Z|cs}}: {{W+|cs|kořen|n}}
* {{Z|chr}}: {{W-|chr|ᎤᎿᏍᏕᏜ}}
* {{Z|ny}}: {{W-|ny|muzu}}
* {{Z|zh}}:
*: {{Z|cmn}}: {{W+|cmn|根|tr=gēn}}
* {{Z|cho}}: {{W-|cho|akshish}}
* {{Z|dlm}}: {{W-|dlm|radaica|m}}
* {{Z|da}}: {{W+|da|rod|g}}
* {{Z|duu}}: {{W-|duu|vng'reu}}, {{W-|duu|shing'reu}}
* {{Z|ovd}}: {{W-|ovd|ruota|m}}
* {{Z|id}}: {{W+|id|akar}}
* {{Z|ar}}: {{W+|ar|جَذْر|n}}
*: {{Z|arz}}: {{W-|arz|جدر|n|tr=gedr}}
*: {{Z|apc}}: {{W-|apc|شرش|n|tr=šereš}}
*: {{Z|acm}}: {{W-|acm|عرگ|n|tr=ʕereg}}
*: {{Z|ary}}: {{W-|ary|جدر|n|tr=ždər}}
*: {{Z|ajp}}: {{W-|ajp|شرش|n|tr=šorš}}
* {{Z|hy}}: {{W+|hy|արմատ}}
* {{Z|eo}}: {{W+|eo|radiko}}
* {{Z|et}}: {{W+|et|juur}}
* {{Z|gez}}: {{W-|gez|ሥርው}}
* {{Z|evn}}: {{W-|evn|ңиңтэ}}
* {{Z|fa}}: {{W+|fa|ریشه|tr=riše}}
* {{Z|fo}}: {{W+|fo|rót|m}}
* {{Z|fi}}: {{W+|fi|juuri}}, {{W-|fi|puunjuuri}}
* {{Z|fr}}: {{W+|fr|racine|m}}
* {{Z|fur}}: {{W-|fur|lidrîs}}
* {{Z|fy}}: {{W+|fy|woartel}}
* {{Z|gd}}: {{W-|gd|freumh|n}}
* {{Z|gl}}: {{W+|gl|raíz|m}}
* {{Z|got}}: {{W-|got|𐍅𐌰𐌿𐍂𐍄𐍃|m}}
* {{Z|ka}}: {{W-|ka|ფესვი}}, {{W-|ka|ძირი}}
* {{Z|gn}}: {{W-|gn|[[tapo]]}}
* {{Z|ht}}: {{W-|ht|rasin}}
* {{Z|haw}}: {{W-|haw|aʻa}}
* {{Z|mba}}: {{W-|mba|gamot}}
* {{Z|hi}}: {{W+|hi|जड़}}
* {{Z|mww}}: {{W-|mww|cag}}
* {{Z|nl}}: {{W+|nl|wortel|n}}
* {{Z|he}}: {{W+|he|שורש|n|tr=shóresh}}
* {{Z|ang}}: {{W-|ang|wyrttruma|n}}
* {{Z|enm}}: {{W-|enm|rote}}, {{W-|enm|more}}
* {{Z|en}}: {{W+|en|root}}
* {{Z|izh}}: {{W-|izh|juuri}}
* {{Z|ill}}: {{W-|ill|waged}}
* {{Z|ga}}: {{W-|ga|fréamh|m}}
* {{Z|isd}}: {{W-|isd|xamut}}
* {{Z|it}}: {{W+|it|radice|m}}
* {{Z|ium}}: {{W-|ium|nzungh}}
* {{Z|is}}: {{W+|is|rót|m}}
* {{Z|ja}}: {{W+|ja|根|tr=ね, ne}}
* {{Z|jv}}: {{W-|jv|oyot}}
* {{Z|kl}}: {{W-|kl|sorlak}}
* {{Z|kzx}}: {{W-|kzx|waar}}
* {{Z|xbr}}: {{W-|xbr|amu}}
* {{Z|kmc}}: {{W-|kmc|sangp}}
* {{Z|kn}}: {{W+|kn|ಬೇರು}}
* {{Z|csb}}: {{W-|csb|kòrzéń}}
* {{Z|ca}}: {{W+|ca|arrel|m}}
* {{Z|qu}}: {{W+|qu|machu}}, {{W-|qu|saphi}}, {{W+|qu|sapi}}
* {{Z|ky}}: {{W+|ky|тамыр}}
* {{Z|kg}}: {{W-|kg|mwanzi}}
* {{Z|kij}}: {{W-|kij|uula}}
* {{Z|kpv}}: {{W-|kpv|вуж}}
* {{Z|ko}}: {{W+|ko|뿌리}}
* {{Z|lbe}}: {{W-|lbe|бакӏ}}, {{W-|lbe|бакӏру}}
* {{Z|ltg}}: {{W-|ltg|sakne|m}}, {{W-|ltg|saknis|m-p}}
* {{Z|la}}: {{W-|la|rādīx|m}}
* {{Z|lv}}: {{W+|lv|sakne|m}}, {{W-|lv|saknes|m-p}}
* {{Z|lo}}: {{W-|lo|ຮາກ}}
* {{Z|lez}}: {{W-|lez|пун}}
* {{Z|lij}}: {{W-|lij|radiccia|m}}, {{W-|lij|reixe|m}}
* {{Z|lt}}: {{W+|lt|šaknis}}
* {{Z|liv}}: {{W-|liv|jūŗ}}
* {{Z|lmo}}: {{W-|lmo|radis|m}}
* {{Z|khb}}: {{W-|khb|ᦣᦱᧅ}}
* {{Z|luy}}: {{W-|luy|kumuzizi}}
* {{Z|lb}}: {{W-|lb|Wuerzel|m}}
* {{Z|mdh}}: {{W-|mdh|dalig}}, {{W-|mdh|bekaw}}
* Malay:
*: {{Z|ms}}: {{W-|ms|اکر}}
*: Rûmî: {{W+|ms|akar}}
* {{Z|mk}}: {{W-|mk|корен|n}}
* {{Z|ml}}: {{W+|ml|വേര്}}
* {{Z|mt}}: {{W-|mt|għerq|n}}
* {{Z|mnc}}: {{W-|mnc|ᡩᠠ}}
* {{Z|mns-nor}}: {{W-|mns-nor|та̄р}}
* {{Z|mi}}: {{W-|mi|aka}}, {{W-|mi|akaaka}}
* {{Z|mrw}}: {{W-|mrw|bekaw}}
* Marî:
*: {{Z|mhr}}: {{W-|mhr|вож}}
* {{Z|hu}}: {{W+|hu|gyökér}}
* {{Z|mel}}: {{W-|mel|akah}}
* {{Z|egy}}: {{W-egy|wꜣb|h=wA-A-b-Hn|n}}
* {{Z|min}}: {{W-|min|ure'}}
* {{Z|mn}}: {{W+|mn|үндэс}}
* {{Z|mnw}}: {{W-|mnw|ရိုဟ်}}
* {{Z|nci}}: {{W-|nci|nelhuatl}}
* {{Z|nah}}: {{W-|nah|nelhuatl}}
* {{Z|gld}}: {{W-|gld|дачан}}
* {{Z|nap}}: {{W-|nap|ràdeca|m}}
* {{Z|nv}}: {{W-|nv|akétłʼóól}}
* {{Z|nds}}: {{W-|nds|Wortel|m}}
* {{Z|ne}}: {{W+|ne|जरा}}
* {{Z|nia}}: {{W-|nia|wa'a}}
* {{Z|nrf}}: {{W-|nrf|raichinne}}, {{W-|nrf|réchinne}}
* {{Z|no}}:
*: {{Z|nb}}: {{W+|nb|rot|n|m}}
*: {{Z|nn}}: {{W+|nn|rot|m}}
* {{Z|oj}}: {{W-|oj|ojiibik}}
* {{Z|ryu}}: {{W-|ryu|根|tr=にー, nī}}
* {{Z|oc}}: {{W+|oc|raiç|m}}, {{W+|oc|rasic|m}}
* {{Z|or}}: {{W-|or|ଜଡି}}
* {{Z|om}}: {{W-|om|hidda}}, {{W-|om|hundee}}
* {{Z|ug}}: {{W-|ug|يىلتىز}}
* {{Z|uz}}: {{W+|uz|ildiz}}
* {{Z|pac}}: {{W-|pac|reaih}}, {{W-|pac|riêih}}
* {{Z|ple}}: {{W-|ple|waka}}
* {{Z|pap}}: {{W-|pap|rais}}
* {{Z|ps}}: {{W+|ps|جذر|n|tr=ǰazr}}, {{W+|ps|جرړه|m|tr=ǰárṛa}}
* {{Z|pms}}: {{W-|pms|rèis|m}}, {{W-|pms|radis|m}}
* {{Z|ppl}}: {{W-|ppl|nelwat}}
* {{Z|pl}}: {{W+|pl|korzeń|n}}
* {{Z|pt}}: {{W+|pt|raiz|m}}
* {{Z|kk}}: {{W-|kk|тамыр}}, {{W-|kk|түбір}}
* {{Z|rap}}: {{W-|rap|aka}}
* {{Z|rhg}}: {{W-|rhg|cém}}
* {{Z|rgn}}: {{W-|rgn|radìșa|m}}, {{W-|rgn|ràdga|m}}
* {{Z|rm}}: {{W-|rm|ragisch|m}}, {{W-|rm|risch|m}}, {{W-|rm|rieisch|m}}
* {{Z|ro}}: {{W+|ro|rădăcină|m}}
* {{Z|ru}}: {{W+|ru|ко́рень|n}}, {{W+|ru|ко́рни|n-p}}, {{W+|ru|коре́нья|p}}
* {{Z|ksw}}: {{W-|ksw|အဂံၢ်}}
* {{Z|skb}}: {{W-|skb|ร̄าก}}
* {{Z|se}}: {{W-|se|ruohtas}}
* {{Z|sc}}: {{W-|sc|radichina|m}}, {{W-|sc|arraighina}}, {{W-|sc|raichina}}
* {{Z|sas}}: {{W-|sas|akah}}
* {{Z|ceb}}: {{W-|ceb|gamot}}
* {{Z|scn}}: {{W+|scn|ràdica|m}}, {{W+|scn|ràdiga|m}}, {{W+|scn|ràrica|m}}
* {{Z|sh}}:
*: Kirîlî: {{W-|sh|ко̏ре̄н|n}}, {{W-|sh|ко̏рије̄н|n}}
*: Latînî: {{W+|sh|kȍrēn|n}}, {{W+|sh|kȍrijēn|n}}
* {{Z|cu}}:
*: Kirîlî: {{W-|cu|корєнь|n}}
* {{Z|sk}}: {{W-|sk|koreň|n}}
* {{Z|sl}}: {{W+|sl|korenina|m}}
* {{Z|so}}: {{W+|so|xiddid}}
* Sorbî:
*: {{Z|dsb}}: {{W-|dsb|kórjeń|n}}
*: {{Z|hsb}}: {{W-|hsb|korjeń|n}}
* {{Z|es}}: {{W+|es|raíz|m}}
* {{Z|sw}}: {{W+|sw|mzizi}}
* {{Z|sv}}: {{W+|sv|rot|g}}
* {{Z|shn}}: {{W-|shn|ႁၢၵ်ႈ}}
* {{Z|tg}}: {{W+|tg|реша}}
* {{Z|mvv}}: {{W-|mvv|bakat}}
* {{Z|tl}}: {{W-|tl|urat}}, {{W+|tl|ugat}}
* {{Z|ty}}: {{W-|ty|aʻa}}
* {{Z|ta}}: {{W+|ta|வேர்}}
* {{Z|rif}}: {{W-|rif|aẓwar|n}}
* {{Z|tsg}}: {{W-|tsg|gamut}}
* {{Z|nod}}: {{W-|nod|ᩁᩣ᩠ᨠ}}
* {{Z|th}}: {{W+|th|ราก}}
* {{Z|te}}: {{W+|te|వేరు}}
* {{Z|tft}}: {{W-|tft|utu}}
* {{Z|tt}}: {{W+|tt|тамыр}}
* {{Z|tet}}: {{W-|tet|abut}}
* {{Z|tr}}: {{W+|tr|kök}}
* {{Z|tk}}: {{W-|tk|kök}}
* {{Z|bo}}: {{W-|bo|རྩ་བ}}
* {{Z|tkl}}: {{W-|tkl|aka}}
* {{Z|to}}: {{W-|to|aka}}
* {{Z|txb}}: {{W-|txb|witsako}}
* {{Z|udi}}: {{W-|udi|тум}}
* {{Z|udm}}: {{W-|udm|выжы}}
* {{Z|uga}}: {{W-|uga|𐎌𐎗𐎌}}
* {{Z|ur}}: {{W-|ur|جڑ|tr=jaṛ}}
* {{Z|uk}}: {{W+|uk|ко́рінь|n}}, {{W-|uk|корі́ння|nt}}
* {{Z|vec}}: {{W+|vec|raixa|m}}, {{W-|vec|rais}}
* {{Z|vi}}: {{W+|vi|rễ}}
* {{Z|vo}}: {{W+|vo|vul}}
* {{Z|wa}}: {{W+|wa|raecene|m}}
* {{Z|cy}}: {{W+|cy|gwraidd|n}}
* {{Z|km}}: {{W+|km|ឫស|tr=rɨh}}
* {{Z|yai}}: {{W-|yai|риша}}
* {{Z|yka}}: {{W-|yka|gamut}}
* {{Z|sah}}: {{W-|sah|силис}}
* {{Z|jmd}}: {{W-|jmd|wakar}}
* {{Z|yi}}: {{W-|yi|וואָרצל|n}}
* {{Z|ii}}: {{W-|ii|ꐴ}}
* {{Z|grk-mar}}: {{W-|grk-mar|ри́за|m}}
* {{Z|el}}: {{W+|el|ρίζα|m}}
*: Kevn: {{W-|grc|ῥίζα|m}}
* {{Z|zea}}: {{W-|zea|wortel|n}}
* {{Z|za}}: {{W-|za|rag}}
* {{Z|zu}}: {{W-|zu|impande|c9|c10}}
* {{Z|khi-kun}}: {{W-|khi-kun|daŋ}}
* {{Z|nmn}}: {{W-|nmn|ǃkʻqái}}
{{werger-bin}}
:{{werger çavkanî|en|root|beş=Ev qismê Wergerê|oldid=75944632}}
=== Navdêr 2 ===
{{navdêr|ku|z=n}}
# ''Binêre'': '''[[rî]]'''
6suxn5c0wpwiqmot7w708s7hc89rrz2
doskî
0
24623
6235928
6132163
2026-05-23T15:10:09Z
Bikarhêner
3719
6235928
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Serenav ===
{{serenav|ku|z=m}}
# [[hoz|Hoz]]ek anku [[eşîr]]ek [[kurd]] e li [[Behdînan]] û [[Colemêrg]]ê.
#* {{jêder|ku|jêgirtin=Li Gevera Çolemêrgê Arif Çobanê ji eşîra Doskî ku zewicî û bavê şeş zarokan e, keça bi navê H.A (19) a ji eşîra [[ertoşî|ertoşiyan]] direvîne û dibe sedemê şerekî mezin.|Lotikxane.com, 9/2006}}
=== Navdêr 1 ===
{{navdêr|ku|z=mn}}
# Kesê ji wê [[hoz]]ê anku [[eşîr]]ê.
#* {{bêmînak|ku}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# [[devok|Devok]]a ku ji aliyê kesên ji vê eşîrê ve tê [[xeberdan]].
#* {{bêmînak|ku}}
=== Herwiha ===
* {{hw|ku|dostikî}}
* {{hw|ku|dostkî}}
=== Etîmolojî ===
{{bêetîmolojî}}
=== Werger ===
{{werger-ser}}
{{werger-bin}}
{{mijar|ku|Eşîrên kurdan|Devokên kurdî}}
4n9g1zgsflnn0k44tswb82gd6p344xv
ertoşî
0
24624
6235932
6132164
2026-05-23T15:10:22Z
Bikarhêner
3719
Rastkirin
6235932
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Serenav ===
{{serenav|ku|z=m}}
# [[hoz|Hoz]]ek anku [[eşîr]]ek [[kurd]] e li [[Behdînan]] û [[Colemêrg]]ê.
#* {{bêmînak|ku}}
=== Navdêr 1 ===
{{navdêr|ku|z=mn}}
# {{f|ku|mê û nêr}} Kesê ji wê [[hoz]]ê anku [[eşîr]]ê.
#* {{bêmînak|ku}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# [[devok|Devok]]a ku ji aliyê kesên ji vê eşîrê ve tê [[xeberdan]].
==== Herwiha ====
* {{hw|ku|ertûşî}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
{{mijar|ku|Eşîrên kurdan}}
p9tu8zve49n5ywkw792bt300h5hrc9t
jîrkî
0
40887
6235931
6134670
2026-05-23T15:10:19Z
Bikarhêner
3719
6235931
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Hoker ===
{{hoker|ku}}
# {{f|ku|devokî}} [[ji]] [[dema ku]] ... [[ve]], [[j'cirkû]]
#* {{jêder|ku|jêgirtin=birano kî ji we gotina `jîrkî` bi kar tîne... li ba me bi wateya `ji dema ku` tê.... ew di pirtûka Celadet Bedirxan û Roger Lescot derbas dibe... Lê ji bilî Efrînê min li tu der ew nebîst.... "Jîrkî ez hatim vî bajarî, min tu polîsek nedît. ango: ji dema ku ez hatim vî bajarî."|Azad Ekkaş di koma "Zimanê Kurdî" ya li ser [[Rûname]]yê de, 1/2012}}
#* {{jêder|ku|jêgirtin=Jîrkî bi devoka Efrînê - û herweha ku nêzîkî herêma Behdînan û devoka Zizîrê ye - ji aliyê ku "û" dibe "î" mînak zeytûn > zeytîn, tembûr > tembîr - dibe hemberî peyva `j`cirkû` ya ku li Kobaniyê tê bikaranîn. Di nerîna min de jî ew asîmîlasyona van peyva ye "ji-cara-ku".|Memo Seyda di heman komê de}}
#* {{jêder|ku|jêgirtin=Li cem me [=li [[Çewlig]]ê / [[Bîngol]]ê ] cîrkî an jî cîkî heye tê wateya "ji dema tiştek lê bûyiye vir ve" tê karanîn.|Jiyan Alpîranî di heman komê de}}
==== Herwiha ====
{{kol3|ku|cure=Herwiha
|cîkî
|cîrkî
|jîkî
|jirku
|jir ku
}}
==== Etîmolojî ====
{{bêetîmolojî}}
==== Werger ====
{{werger-ser}}
* {{Z|en}}: {{W|en|since}}, {{W|en|cannily|guman=erê}}, {{W|en|indigene|guman=erê}}, {{W|en|perspicaciously|guman=erê}}, {{W|en|sagaciously|guman=erê}}, {{W|en|shrewdly|guman=erê}}, {{W|en|smartly|guman=erê}}
{{werger-bin}}
=== Navdêr ===
{{ku-tewîn-nav|jîrkî|mê}}
{{navdêr|ku|z=m}}
# [[eşîr|Eşîr]]ek [[kurd]] e û bi taybetî li [[Bakurê Kurdistanê]] [[jîn|dijî]].
#* {{jêder|ku|jêgirtin=Heta ko PKKyiyan bela xwe di serokê eşîra jîrkiyan Tahir Adiyamanî de neda bû wî ranehiştibû sîleha dewleta tirkan û ew wekî dostê KDPyê dihat zanîn û gelek alîkarî jî bi hereketa başûrê Kurdistanê re kiribû.|Nefel.com, 7/2007}}
==== Etîmolojî ====
{{bêetîmolojî}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
=== Navdêr ===
{{navdêr|ku|z=mn}}
# Kesê ji wê [[eşîr]]ê.
#* {{bêmînak|ku}}
==== Etîmolojî ====
{{bêetîmolojî}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
{{mijar|ku|Eşîrên kurdan}}
3byuq6p0c5nlp3q7um8l5c7oixt1lnd
milîlître
0
53040
6235911
6137450
2026-05-23T12:49:36Z
Bikarhêner
3719
'== {{ziman|ku}} == === Navdêr === {{navdêr|ku|z=m}} # {{guharto|ku|mîlîlître}}' ket şûna rûpelê.
6235911
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|z=m}}
# {{guharto|ku|mîlîlître}}
fwiunfearf3g9ipiestbnuxx23lhp5k
goyî
0
60675
6235930
6138509
2026-05-23T15:10:16Z
Bikarhêner
3719
6235930
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Serenav ===
{{serenav|ku|z=m}}
# [[hoz|Hoz]] û [[eşîr]]ek [[kurd]] e li [[Bakurê Kurdistanê]] li [[nêzîk]]î [[tixûb]]ê [[Başûrê Kurdistanê]].
#* {{bêmînak|ku}}
=== Navdêr 1 ===
{{ku-tewîn-nav|goyî|mê û nêr}}
{{navdêr|ku|z=mn}}
# Kesê ji wê [[hoz]] û [[eşîr]]ê.
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# [[devok|Devok]]a wê [[hoz]] û [[eşîr]]ê ku yek ji [[taybetmendî|taybetmendiyên]] wê yên [[serekî]] ew e ku herfa '''a''' dibe '''o''': ''dor'' (dar), ''hot bîro min'' (hat bîra min)
==== Herwiha ====
* {{hw|ku|goyan}}
* {{hw|ku|goyanî}}
==== Bide ber ====
* {{g|ku|goyîn}}
==== Binere herwiha ====
* {{g|ku|gewda}}
* {{g|ku|boselî}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
{{mijar|ku|Eşîrên kurdan|Devokên kurdî}}
8wz2q03x58wk1wvwufh6nsphf5r1744
aşna fişne
0
125508
6235920
4606263
2026-05-23T14:58:55Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235920
wikitext
text/x-wiki
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# dostik (dostê veşarî)
# {{f|ku|argo}} [[dostiktî]] (ya veşarî)
ekgzhkoh8gkhp3670uueym41z8l7u7b
6235921
6235920
2026-05-23T14:59:05Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235921
wikitext
text/x-wiki
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# dostik (dostê veşarî)
# {{f|tr|argo}} [[dostiktî]] (ya veşarî)
00rar9656bv8qzextjpj0e7c0oek131
mililitre
0
154414
6235915
4619342
2026-05-23T12:54:29Z
Bikarhêner
3719
6235915
wikitext
text/x-wiki
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# [[mîlîlître]]
==== Etîmolojî ====
Ji {{ji|fr|tr|millilitre}}.
h4h5so4ppbmik9ruh0kk2cnlrx4wmvo
militarist
0
154423
6235916
6046040
2026-05-23T13:03:32Z
Bikarhêner
3719
[[Bikarhêner:Wikihez/templateScript.js|TS]]: Ji [[en:militarist|en.wikt]]
6235916
wikitext
text/x-wiki
{{binêre herwiha|Militarist}}
== {{ziman|en}} ==
=== Bilêvkirin ===
* {{IPA|en|/ˈmɪl.ɪ.tə.ɹɪst/|a=RP}}
* {{deng|en|LL-Q1860 (eng)-Vealhurl-militarist.wav|Deng|dever=Başûrê Îngilistanê, QY}}
* {{IPA|en|/ˈmɪl.ə.tə.ɹɪst/|[ˈmɪl.ə.ɾə.ɹɪst]|dever=amerîkî}}
* {{IPA|en|/ˈmɪl.ɪ.tə.ɹɪst/|/ˈmɪl.ɪ.tɹɪst/|dever=awistralî}}
=== Navdêr ===
{{en-navdêr}}
# [[mîlîtarîst]]
==== Dijmane ====
* {{g|en|pacifist}}
==== Jê ====
{{col|en|antimilitarist|militaristic}}
==== Têkildar ====
* {{g|en|militarism}}
* {{g|en|militant}}
* {{g|en|bellicist}}
==== Etîmolojî ====
Ji {{paş|en|military|-ist}}.
=== Rengdêr ===
{{en-rengdêr}}
# {{hevmaneya|en|militaristic}}.
== {{ziman|tr}} ==
=== Rengdêr ===
{{rengdêr|tr}}
# [[artêşparêz]], [[serbazgir]], [[milîtarîst]]
3l434hssg14ef0v8fm28jtutuzjiwnu
mîlîlître
0
186074
6235912
5711324
2026-05-23T12:51:30Z
Bikarhêner
3719
6235912
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{ku-tewîn-nav|mîlîlître|mê|guherto=hemû}}
{{navdêr|ku|z=m}}
# [[0]], 001 [[lître]]
#: {{nim|ku|1 000 mîlîlître 1 lître ye.}}
==== Herwiha ====
* {{hw|ku|milîlître}}
==== Sembol ====
* [[ml]]
==== Etîmolojî ====
Ji {{qertaf|ku|mîlî-|lître}}.
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Milliliter|n}}
* {{Z|ast}}: {{W-|ast|milillitru|n}}
* {{Z|bn}}: {{W-|bn|মিলিলিটার}}
* {{Z|bg}}: {{W+|bg|милилитър|n}}
* {{Z|my}}: {{W-|my|မီလီလီတာ}}
* {{Z|cs}}: {{W+|cs|mililitr|n}}
* {{Z|zh}}:
*: {{Z|cmn}}: {{W+|cmn|毫升|tr=háoshēng}}
* {{Z|da}}: {{W-|da|milliliter|g}}
* {{Z|et}}: {{W-|et|milliliiter}}
* {{Z|fi}}: {{W+|fi|millilitra}}
* {{Z|fr}}: {{W+|fr|millilitre|n}}
* {{Z|gl}}: {{W+|gl|mililitro|n}}
* {{Z|nl}}: {{W+|nl|milliliter}}
* {{Z|en}}: {{W+|en|millilitre}}
* {{Z|ia}}: {{W-|ia|mililitro}}
* {{Z|it}}: {{W+|it|millilitro|n}}
* {{Z|is}}: {{W-|is|millilítri|n}}
* {{Z|ja}}: {{W+|ja|ミリリットル|tr=miririttoru}}
* {{Z|ca}}: {{W-|ca|mil·lilitre|n}}
* {{Z|hu}}: {{W+|hu|milliliter}}
* {{Z|no}}:
*: {{Z|nb}}: {{W-|nb|milliliter|n}}
*: {{Z|nn}}: {{W-|nn|milliliter|n}}
* {{Z|pl}}: {{W+|pl|mililitr|n}}
* {{Z|pt}}: {{W+|pt|mililitro|n}}
* {{Z|ro}}: {{W+|ro|mililitru|n}}
* {{Z|ru}}: {{W+|ru|миллили́тр|n}}
* {{Z|sk}}: {{W-|sk|mililiter|n}}
* {{Z|es}}: {{W+|es|mililitro|n}}
* {{Z|sw}}: {{W-|sw|mililita}}
* {{Z|sv}}: {{W+|sv|milliliter|g}}
* {{Z|tl}}: {{W-|tl|mililitro}}
* {{Z|th}}: {{W-|th|มิลลิลิตร}}
* {{Z|te}}: {{W-|te|మిల్లీలీటరు}}
* {{Z|km}}: {{W-|km|មីលីលីត្រ}}
* {{Z|yi}}: {{W-|yi|מיליליטער|n}}
* {{Z|yo}}: {{W-|yo|mìlílítà}}
* {{Z|el}}: {{W+|el|χιλιοστόλιτρο|nt}}
{{werger-bin}}
:{{werger çavkanî|en|millilitre|beş=Ev qismê Wergerê|oldid=77639114}}
dr0g68hlbwy435abu7zfq3vmm1m7fcs
6235913
6235912
2026-05-23T12:52:49Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235913
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{ku-tewîn-nav|mîlîlître|mê|guherto=hemû}}
{{navdêr|ku|z=m}}
# 0,001 [[lître]]
#: {{nim|ku|1 000 mîlîlître 1 lître ye.}}
==== Herwiha ====
* {{hw|ku|milîlître}}
==== Sembol ====
* [[ml]]
==== Etîmolojî ====
Ji {{qertaf|ku|mîlî-|lître}}.
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Milliliter|n}}
* {{Z|ast}}: {{W-|ast|milillitru|n}}
* {{Z|bn}}: {{W-|bn|মিলিলিটার}}
* {{Z|bg}}: {{W+|bg|милилитър|n}}
* {{Z|my}}: {{W-|my|မီလီလီတာ}}
* {{Z|cs}}: {{W+|cs|mililitr|n}}
* {{Z|zh}}:
*: {{Z|cmn}}: {{W+|cmn|毫升|tr=háoshēng}}
* {{Z|da}}: {{W-|da|milliliter|g}}
* {{Z|et}}: {{W-|et|milliliiter}}
* {{Z|fi}}: {{W+|fi|millilitra}}
* {{Z|fr}}: {{W+|fr|millilitre|n}}
* {{Z|gl}}: {{W+|gl|mililitro|n}}
* {{Z|nl}}: {{W+|nl|milliliter}}
* {{Z|en}}: {{W+|en|millilitre}}
* {{Z|ia}}: {{W-|ia|mililitro}}
* {{Z|it}}: {{W+|it|millilitro|n}}
* {{Z|is}}: {{W-|is|millilítri|n}}
* {{Z|ja}}: {{W+|ja|ミリリットル|tr=miririttoru}}
* {{Z|ca}}: {{W-|ca|mil·lilitre|n}}
* {{Z|hu}}: {{W+|hu|milliliter}}
* {{Z|no}}:
*: {{Z|nb}}: {{W-|nb|milliliter|n}}
*: {{Z|nn}}: {{W-|nn|milliliter|n}}
* {{Z|pl}}: {{W+|pl|mililitr|n}}
* {{Z|pt}}: {{W+|pt|mililitro|n}}
* {{Z|ro}}: {{W+|ro|mililitru|n}}
* {{Z|ru}}: {{W+|ru|миллили́тр|n}}
* {{Z|sk}}: {{W-|sk|mililiter|n}}
* {{Z|es}}: {{W+|es|mililitro|n}}
* {{Z|sw}}: {{W-|sw|mililita}}
* {{Z|sv}}: {{W+|sv|milliliter|g}}
* {{Z|tl}}: {{W-|tl|mililitro}}
* {{Z|th}}: {{W-|th|มิลลิลิตร}}
* {{Z|te}}: {{W-|te|మిల్లీలీటరు}}
* {{Z|km}}: {{W-|km|មីលីលីត្រ}}
* {{Z|yi}}: {{W-|yi|מיליליטער|n}}
* {{Z|yo}}: {{W-|yo|mìlílítà}}
* {{Z|el}}: {{W+|el|χιλιοστόλιτρο|nt}}
{{werger-bin}}
:{{werger çavkanî|en|millilitre|beş=Ev qismê Wergerê|oldid=77639114}}
jk21yw8s74oz8uasz6xku75ugv1eoqy
6235914
6235913
2026-05-23T12:53:01Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235914
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{ku-tewîn-nav|mîlîlître|mê|guherto=hemû}}
{{navdêr|ku|z=m}}
# 0,001 [[lître]]
#: {{nim|ku|1000 '''mîlîlître''' 1 lître ye.}}
==== Herwiha ====
* {{hw|ku|milîlître}}
==== Sembol ====
* [[ml]]
==== Etîmolojî ====
Ji {{qertaf|ku|mîlî-|lître}}.
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Milliliter|n}}
* {{Z|ast}}: {{W-|ast|milillitru|n}}
* {{Z|bn}}: {{W-|bn|মিলিলিটার}}
* {{Z|bg}}: {{W+|bg|милилитър|n}}
* {{Z|my}}: {{W-|my|မီလီလီတာ}}
* {{Z|cs}}: {{W+|cs|mililitr|n}}
* {{Z|zh}}:
*: {{Z|cmn}}: {{W+|cmn|毫升|tr=háoshēng}}
* {{Z|da}}: {{W-|da|milliliter|g}}
* {{Z|et}}: {{W-|et|milliliiter}}
* {{Z|fi}}: {{W+|fi|millilitra}}
* {{Z|fr}}: {{W+|fr|millilitre|n}}
* {{Z|gl}}: {{W+|gl|mililitro|n}}
* {{Z|nl}}: {{W+|nl|milliliter}}
* {{Z|en}}: {{W+|en|millilitre}}
* {{Z|ia}}: {{W-|ia|mililitro}}
* {{Z|it}}: {{W+|it|millilitro|n}}
* {{Z|is}}: {{W-|is|millilítri|n}}
* {{Z|ja}}: {{W+|ja|ミリリットル|tr=miririttoru}}
* {{Z|ca}}: {{W-|ca|mil·lilitre|n}}
* {{Z|hu}}: {{W+|hu|milliliter}}
* {{Z|no}}:
*: {{Z|nb}}: {{W-|nb|milliliter|n}}
*: {{Z|nn}}: {{W-|nn|milliliter|n}}
* {{Z|pl}}: {{W+|pl|mililitr|n}}
* {{Z|pt}}: {{W+|pt|mililitro|n}}
* {{Z|ro}}: {{W+|ro|mililitru|n}}
* {{Z|ru}}: {{W+|ru|миллили́тр|n}}
* {{Z|sk}}: {{W-|sk|mililiter|n}}
* {{Z|es}}: {{W+|es|mililitro|n}}
* {{Z|sw}}: {{W-|sw|mililita}}
* {{Z|sv}}: {{W+|sv|milliliter|g}}
* {{Z|tl}}: {{W-|tl|mililitro}}
* {{Z|th}}: {{W-|th|มิลลิลิตร}}
* {{Z|te}}: {{W-|te|మిల్లీలీటరు}}
* {{Z|km}}: {{W-|km|មីលីលីត្រ}}
* {{Z|yi}}: {{W-|yi|מיליליטער|n}}
* {{Z|yo}}: {{W-|yo|mìlílítà}}
* {{Z|el}}: {{W+|el|χιλιοστόλιτρο|nt}}
{{werger-bin}}
:{{werger çavkanî|en|millilitre|beş=Ev qismê Wergerê|oldid=77639114}}
99kbvh1gmiy5pgrrmyh6sa0ykkofxrn
Ûrmiye
0
279244
6235918
6141505
2026-05-23T14:53:06Z
Bikarhêner
3719
6235918
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Serenav ===
{{wp|Ûrmiye}}
[[Wêne:Urmia County.PNG|thumb|180px|{{legend2|#ff8040}} Şaristana Ûrmiyeyê]]
{{serenav|ku|z=m}}
# {{bajar|ku|koord=37.5494,45.0697}} Bajarek li [[Rojhilatê Kurdistanê]] ye û navenda parêzgeha [[Azerbaycana Rojava]]yê ye.
# [[bexş|Bexş]]eke girêdayî şaristana Ûrmiyeyê ye.
# [[şaristan|Şaristan]]eke girêdayî pârêzgeha [[Azerbaycana Rojava]]yê ye.
==== Herwiha ====
* [[Wirmê]]
* [[Urmê]]
* [[Urumê]]
* [[Ûrmîye]]
==== Etîmolojî ====
{{ji?}}
==== Werger ====
{{werger-ser}}
* {{Z|fa}}: {{W+|fa|ارومیه}}
* {{Z|en}}: {{W+|en|Urmia}}
* {{Z|tr}}: {{W-|tr|Urmiye}}
{{werger-bin}}
{{mijar|ku|bajar}}
rb5kmcmjg5c4lkkx7qqizhbed2jug63
6235919
6235918
2026-05-23T14:54:15Z
Bikarhêner
3719
6235919
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Serenav ===
{{wp|Ûrmiye}}
[[Wêne:Urmia County.PNG|thumb|180px|{{legend2|#ff8040}} Şaristana Ûrmiyeyê]]
{{serenav|ku|z=m}}
# {{bajar|ku|koord=37.5494,45.0697}} Bajarek li [[Rojhilatê Kurdistanê]] ye û navenda parêzgeha [[Azerbaycana Rojava]]yê ye.
# [[bexş|Bexş]]eke girêdayî şaristana Ûrmiyeyê ye.
# [[şaristan|Şaristan]]eke girêdayî pârêzgeha [[Azerbaycana Rojava]]yê ye.
==== Herwiha ====
{{kol3|ku|cure=Herwiha
|Wirmê
|Urmê
|Urumê
|Ûrmîye
}}
==== Etîmolojî ====
{{ji?}}
==== Werger ====
{{werger-ser}}
* {{Z|fa}}: {{W+|fa|ارومیه}}
* {{Z|en}}: {{W+|en|Urmia}}
* {{Z|tr}}: {{W-|tr|Urmiye}}
{{werger-bin}}
{{mijar|ku|bajar}}
7ty9fkhldhk1i4fjupymdbtmb4fkb3e
کود
0
295674
6235948
4584159
2026-05-23T20:41:24Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235948
wikitext
text/x-wiki
== {{ziman|fa}} ==
=== Navdêr ===
{{navdêr|fa|tr=}}
# [[sergîn]], [[zibil]], [[peyn]]
syytunyv5pewmu01by0wnl8jcfk1jl5
şikak
0
444657
6235929
6178953
2026-05-23T15:10:12Z
Bikarhêner
3719
6235929
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku|z=m}}
# [[şikber]], [[dilreş]], [[dilxişûş]], [[gumanker]], [[gumanza]], [[şupeker]]
#* {{bêmînak|ku}}
==== Etîmolojî ====
Ji {{qertaf|ku|şik|-ak}}.
==== Werger ====
{{werger-ser}}
* {{Z|en}}: {{W-|en|distrulltful}}
* {{Z|tr}}: {{W+|tr|şüpheci}}
{{werger-bin}}
=== Serenav ===
{{wp|Şikak}}
{{serenav|ku|z=m}}
# [[eşîr|Eşîrek]] ji eşîrê kurdên [[Ûrmiye|Ûrmîye]]yê.
#* {{bêmînak|ku}}
==== Jê ====
* {{g|ku|şikakî}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
{{mijar|ku|Eşîrên kurdan}}
bwh3tblp1b94vujb5ci4pwih5ac86le
6235933
6235929
2026-05-23T15:12:54Z
Bikarhêner
3719
/* */ bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re
6235933
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku|z=mn}}
# [[şikber]], [[dilreş]], [[dilxişûş]], [[gumanker]], [[gumanza]], [[şupeker]]
#* {{bêmînak|ku}}
==== Etîmolojî ====
Ji {{qertaf|ku|şik|-ak}}.
==== Werger ====
{{werger-ser}}
* {{Z|en}}: {{W-|en|distrulltful}}
* {{Z|tr}}: {{W+|tr|şüpheci}}
{{werger-bin}}
=== Serenav ===
{{wp|Şikak}}
{{serenav|ku|z=m}}
# [[eşîr|Eşîrek]] ji eşîrê kurdên [[Ûrmiye|Ûrmîye]]yê.
#* {{bêmînak|ku}}
==== Jê ====
* {{g|ku|şikakî}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
{{mijar|ku|Eşîrên kurdan}}
8m7f96o3bd04ant2zdi8cp1fttovgrd
Gotûbêj:reh
1
842123
6235985
6235005
2026-05-24T07:08:33Z
Ferhengvan
16
/* Zayend */ Bersiv
6235985
wikitext
text/x-wiki
== Zayend ==
nêr an mê?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 04:41, 23 gulan 2020 (UTC)
:{{ragihandin|Ghybu}} Her du jî tê bikaranîn (Google [https://www.google.com/search?rlz=1C1GCEA_enTR880TR880&sxsrf=ALeKk002ZjbonE9Hrq0yclbxvwKzs3FUMQ%3A1590873334329&ei=9szSXsjdE4GD8gLb_bPoBg&q=%22kurd%C3%AE%22+and+%22reha+w%C3%AA%22&oq=%22kurd%C3%AE%22+and+%22reha+w%C3%AA%22&gs_lcp=CgZwc3ktYWIQAzIHCCMQrgIQJ1DSIFi0IWC0ImgAcAB4AIAB9AGIAaoDkgEFMC4xLjGYAQCgAQGqAQdnd3Mtd2l6&sclient=psy-ab&ved=0ahUKEwjIsOb_wNzpAhWBgVwKHdv-DG0Q4dUDCAw&uact=5 1] û Google [https://www.google.com/search?q=%22kurd%C3%AE%22+and+%22reh%C3%AA+w%C3%AA%22&rlz=1C1GCEA_enTR880TR880&oq=%22kurd%C3%AE%22+and+%22reh%C3%AA+w%C3%AA%22&aqs=chrome..69i57.2151j0j9&sourceid=chrome&ie=UTF-8 2]) lê hem Chyet hem jî Zana Farqînî dibêje mê ye loma bila mê bimîne.--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 21:20, 30 gulan 2020 (UTC)
::{{r|Balyozxane}} Vitira: [https://www.google.com/search?rlz=1C1GCEA_enTR880TR880&ei=ftDSXqeTO8akaeSltugH&q=%22reh%C3%AA+l%C3%AAker%C3%AA%22+-wiktionary&oq=%22reh%C3%AA+l%C3%AAker%C3%AA%22+-wiktionary&gs_lcp=CgZwc3ktYWIQAzoFCCEQoAFQnx9Yvz1gpktoAHAAeACAAVuIAbcFkgECMTOYAQCgAQGqAQdnd3Mtd2l6&sclient=psy-ab&ved=0ahUKEwinypWvxNzpAhVGUhoKHeSSDX0Q4dUDCAs&uact=5 rehê lêkerê] (100 encam) / [https://www.google.com/search?rlz=1C1GCEA_enTR880TR880&ei=idDSXvGKDYfqasbPhaAM&q=%22reha+l%C3%AAker%C3%AA%22+-wiktionary&oq=%22reha+l%C3%AAker%C3%AA%22+-wiktionary&gs_lcp=CgZwc3ktYWIQA1Cm8QJYpvECYKj3AmgAcAB4AIABN4gBZJIBATKYAQCgAQGqAQdnd3Mtd2l6&sclient=psy-ab&ved=0ahUKEwix84a0xNzpAhUHtRoKHcZnAcQQ4dUDCAs&uact=5 reha lêkerê] (tencê 6 encam)--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:32, 30 gulan 2020 (UTC)
:::{{r|Ghybu}} Xuya ye di zimannasiyê de awayê nêr zêdetir tê bikaranîn. Bi wî terhî [https://ku.wiktionary.org/w/index.php?title=reh&diff=3977964&oldid=3972029 1] çêkin? --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 22:02, 30 gulan 2020 (UTC)
{{silav|Ferhengvan}}. Min [https://ku.wiktionary.org/w/index.php?title=reh&diff=prev&oldid=5415725 va] fêm nekir. Li jor cinsê peyvê wekî ''mê'' hatiye nivîsandin feqet di nav mînakan de jî wekî ''nêr'' hatiye bikaranîn. Nayê fêm kirin, bi min were cuda kirin an jî sedem were nivîsandin.[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:59, 12 gulan 2026 (UTC)
:Merheba {{r|Ghybu}}, li gor devokan mê (devokên navendî) yan nêr e (devokên rojhilatî). [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 07:08, 24 gulan 2026 (UTC)
kivozqumx1oerjmh2zxh7yfdd2e7gaw
Gotûbêja Wîkîferhengê:Daxwazên standardkirinê
5
845897
6235942
6235681
2026-05-23T19:59:43Z
Bikarhêner
3719
/* Ferhanga standart êdî Onlayn e. */ Bersiv
6235942
wikitext
text/x-wiki
== Bikaranîna şablonan ==
{{silav|Guherto}}. Ji kerema xwe şablona {{ş|standardkirin}} tevlî rûpelên ku dixwazî bên standardkirin bike daku haya kesên din jî ji nîqaşa li ser peyvê hebe.Bnr. <code>{{ş|standardkirin}}</code> (ya kurt <code>{{ş|ds}}</code> bo mînak bnr. '''[[şaneşîn]]'''--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 23:21, 1 tebax 2020 (UTC)
== Rê û rêbaza standardkirinê dê çawa be? ==
Ji kerema xwe herin '''[[Gotûbêja Wîkîferhengê:Rêzikên standardkirinê]]''' û fikrên xwe yên li ser şart û mercên standardkirinê binivîsin. Heta '''[[Wîkîferheng:Rêzikên standardkirinê]]''' amade nabe, kes nikare li ser standardkirina peyvekê biryarek bide.--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 21:55, 4 tebax 2020 (UTC)
== Pişkok ==
{{silav|Balyozxane}}, çi bû ji pişkoka daxwaz-çêkirinê? -- [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 12:57, 16 tebax 2020 (UTC)
:{{r|Guherto}}, Çawa çi bû? Li wir e: [[Wîkîferheng:Daxwazên_standardkirinê#bişkok]]--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 15:20, 16 tebax 2020 (UTC)
::{{r|Balyozxane}} Te min şaş fêm kir, ez pişkoka ku yek pêlê dikir ji bo çêkirina daxwaza-standardkirineke nû. Hew heye û ji bonî wê divê her cara ku ez peyvekê lê zêde bikim yeke kevn kopî bikim û duvre biguherim. -- [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 16:48, 16 tebax 2020 (UTC)
:::{{r|Guherto}} Min xwest bişkoka ku di şablona {{ş|standarkirin}} de bi kar bînî. bnr
{{şx|ds|rind|rond}}
Dibînî bişkoka '''(+)''' dema pêlî wê dikî bi otomatîkî hem preload dibe hem jî kategorîze girin li gorî parametreya 1em dbe. Ez dibêm em şablonê bi kar bînin çêtir e. lê ku tu dibêjî nabe, ez şablonê bi kar nayînim hingê dîsa çêkim bişkokê--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 17:54, 16 tebax 2020 (UTC)
::::{{r|Balyozxane}} Bere weke te bê, bi wî awayî ez ê hew ji bîr kim lê zêde bikim :) -- [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 17:57, 16 tebax 2020 (UTC)
:::::{{r|Guherto}} Law dema çêdikî here gotarê û wisa dest pê bike. Mirov çawa ji bîr dike tiştek wisa? :D --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 18:01, 16 tebax 2020 (UTC)
::::::Min serê xwe gelekî bi lêzêdekirina {{ş|ds}} ne diêşand :| -- [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 18:03, 16 tebax 2020 (UTC)
::::::{{r|Guherto}} Min ferq kir :D lê ji bo agahdarkirina bikarhênerên din, ew şablon giring e. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 18:09, 16 tebax 2020 (UTC)
== Şablona nû ==
Silav {{r|Guherto|Bikarhêner}} Min şablonek çêkir. Ku rêzikên standardkirinê werin pejirandin em dikarin bi kar bînin. Dema kesekî/ê standardkirina rûpelekê li Daxwazên standardkirinê zêde kir, bila bikarhênerek bi şablona {{ş|rfk}} standarda komxebatê nîşan bide. Mînak:
* <code>{{ş|rfk|şaneşîn|r=456}}</code> → {{rfk|şaneşîn}}
Ku standarda peyvekê di pirtûkê de tune be hingê divê wisa bikaranîn:
* <code><nowiki>{{rfk|}}</nowiki></code> → {{rfk|}}
:--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 20:41, 9 îlon 2020 (UTC)
{{r|Balyozxane}} Pismam, şablonek rind e. Lê eger têde rûpel jî hebe hê rindtir be.[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:27, 15 îlon 2020 (UTC)
:{{r|Rewiye tine}} Temam. {{çêbû}} --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 19:33, 15 îlon 2020 (UTC)
== Çavkanî ==
{{silav|Rewiye tine}}. Bersiva [https://ku.wiktionary.org/w/index.php?title=W%C3%AEk%C3%AEferheng:Daxwaz%C3%AAn_standardkirin%C3%AA&diff=4287689&oldid=4287487 1]. Çavkanî divê tenê ferheng, kovara zimannasiyê (mîna Kovara kurmancî ya Enstîtuya Parîsê) an pirtûkên rastnivîsînê bin.--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 23:19, 13 îlon 2020 (UTC)
:{{silav|Balyozxane}} kovara zimannasîyê? Kovarên wêjeye tê qebul kirin? Mînak di destê min de kovara ''wêje û rexne'' heye. Çi kovar dikevin kategorîya zimannasîyê? [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 08:43, 14 îlon 2020 (UTC)
::{{r|Rewiye tine}} Kovara wêje û rexne çawa ye nizanim lê ji navê wê qey ez dibêjim li ser wêjeyê ye ne li ser ziman e :D Ji bo vê pirsê Çi kovar dikevin kategorîya zimannasîyê? binêre {{kovara kurmancî|hejmar=47|sernav=Peyvên kurdî-îranî di yûnanî de|nivîskar=Rojda AZÎZOGLU|r=6}}--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 11:11, 14 îlon 2020 (UTC)
:::{{silav|Balyozxane}}. Pismam ma her tişt zimannasîyê re ne têkîldar e? Ez dibêm tu behsa kovarên li ser kelîman dikî?[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 17:58, 14 îlon 2020 (UTC)
::::{{silav|Rewiye tine}}. Erê lê her kovar û pirtûk jî nabin çavkanî. Hingê diviya em li hemû pirtûkan binihêrtina. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 18:35, 14 îlon 2020 (UTC)
::::: Ku cem te ferheng tune bin dikarî ferhengên min li vir bibînî.--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 20:47, 14 îlon 2020 (UTC)
::::::{{r|Rewiye tine}}--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 20:47, 14 îlon 2020 (UTC)
:::::::{{silav|Balyozxane}} Ji bo ferhengan gelek spas. Kitêbên rêzimanê dikarin bibin çavkanî?[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 20:56, 14 îlon 2020 (UTC)
::::::::{{silav|Rewiye tine}}. [[Wîkîferheng:Rêzikên standardkirinê|Rêzikên standardkirinê]] de wisa dibêje: ''Derbarê awayê peyvekê de çiqas zêde çavkaniyên '''kitêb''' an '''ferhengên rastnivîsînê''', '''ferheng''' û '''kovarên zimannasiyê''' hebin, ew awa wek awayê standard tên pejirandin.'' Loma ez dibêjim na, gelo birêz {{r|Bikarhêner}} çi difikire? Kitêbên rêzimanê tê pejirandin?--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 11:37, 15 îlon 2020 (UTC)
:{{silav|Balyozxane}}, te Ferhenga Birûskî ji kû derê peyde kir? Qet weke ya li Google Booksê xuya nake û nivîsên erebî gelekî ecêb in. Ez dizanim ku te ji min re ne şand lê ez hêjî wan daxistim, spas ji bonî danhevoka te :) -- [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 17:00, 15 îlon 2020 (UTC)
::{{silav|Guherto}}. Hevalê hevalekî min jê re şand, wî jî ji min re şand. Nizanim çawa ''scan'' kirine lê peyvên erebî berevajî dixuyin {{=D}}--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 17:02, 15 îlon 2020 (UTC)
{{r|Balyozxane}} ferhengên etîmolojiye tê qebûl kirin? Biya min wexta em peyvek standart hilbijêrin em dikarin etîmolojiyê peyvê jî binêrin.[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 17:12, 15 îlon 2020 (UTC)
:{{r|Rewiye tine}} Erê hemû ferheng tê qebûlkirin. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 17:14, 15 îlon 2020 (UTC)
:{{r|Rewiye tine}} Bi vî awayî bike bes e.:
* '''şîrîn''' → {{ferhenga etîmolojîyê|r=264}}
:--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 18:05, 15 îlon 2020 (UTC)
== Dem û hejmara peyvan ji bo standartkirinê ==
{{r|Guherto|Balyozxane}} Birakno,niha ez lê dinêrim gelek peyv hene ji bo standartkirine. Û me gotîye;
'''Ku di du hefteyan (hêrî zêde mehekê) de ti kes dest bi nîqaşê nekir, awayê standard ya vê pirtûkê tê pêjirandin.'''. Tişta yêkemîn hin peyv hene heftîyek, mehek zêdetir derbas bûye kes fikrê xwe nenivîsîye. Biya min divê mirov her meh mînak deh an bîst heb peyv hilbijire û ev hilbijartin jî li gor rêbazek be ne çêtir e? Mesela em ji herfa A destpê bikin? Tişta duyemîn biya min ev karê standardîzasyonê divê bi nîqaşê be. Kesek bi serêxwe bide bistîne ne baş e. Ji bo vî eger peyv hindik bin biya min yê zêdetir bikarîner fikra xwe bidin nîşan. Wisa be yê hêj kêf be. Hûn çi difikirin?[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 22:08, 16 îlon 2020 (UTC)
:{{silav|Rewiye tine}}. Bi ya min nîqaş ne hewce ye ji ber ku me got ''Derbarê awayê peyvekê de çiqas zêde çavkaniyên kitêb an ferhengên rastnivîsînê, ferheng û kovarên zimannasiyê hebin, ew awa wek awayê standard tên pejirandin.'' Loma em qasî ji destê me tê em çavkanî lê zêde bikin û piştî 3 hefteyan em binêrin di çavkaniyan de kîjan herî zêde hatiye bikaranîn. Û dema mehek xilas bû, em guherandinan çêkin. Dîsa jî erê divê em gelek pevy hema bi rfk venekin. Piştî 10-15 peyvên em bisekinin daku herkes karibin çavkaniyên xwe nîşan bidin. Herwiha em li gorî lîsteya naverokê herin dê çêtir be. Yanî heta peyvên li jor xilas nabin bila yên din bi rfk-yê ji bo gotûbêjê venekin. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 22:17, 16 îlon 2020 (UTC)
::{{r|Guherto|Balyozxane}} Baş e. Pirsgirekek din peyvên hevedudanî ne. Eger em peyvên herî sade hilbijêrin yê ne çêtir be? Ji xwe mirov yên sade standardîze bike ê din jî çareser dibin.--[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 22:31, 16 îlon 2020 (UTC)
:::{{r|Rewiye tine}} Erê, em ya herî sade standard bikin, dûre yên hevedudanî jî li gorî standardê biguherînin lê dîsa jî haya me ji çavkaniyan hebe ji ber ku hin peyv karibin ji forma xwe ya sade cuda bin. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 22:39, 16 îlon 2020 (UTC)
:{{r|Hakîmo|Rewiye tine}} Silav, ez fêm nakim ma hûn çima "{{erê}}" bi kar tînin, ev ne pirseke a yan na ye. -- [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 16:53, 17 îlon 2020 (UTC)
:{{r|Guherto}} Brako, ev peyvên di ferhenga standart de tunebe anjî mirov dijî peyva standart yê vê ferhengê be divê dengê xwe bide. Min wisa fam kir.[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 21:00, 17 îlon 2020 (UTC)
::{{r|Guherto}} Erê, min jî. :D -- [[Bikarhêner:Hakîmo|Hakîmo]] ([[Gotûbêja bikarhêner:Hakîmo|gotûbêj]]) 11:14, 18 îlon 2020 (UTC)
::: {{r|Guherto|Balyozxane|Hakîmo|Rewiye tine}} Bi ya min wekî me di rûpelê de jî diyar kiriye. Ger îtirazek nîn be bila rasterast awayê di ferhenga ku me bijartiye de bibe ya standard lê bila ji nîqaş / îtirazê re vekirî be. Nexwe em nikarin wan tev peyvan (peyvên ji bo standardkirinê) bi carekê peyda bikin. -- [[Bikarhêner:Bikarhêner|Bikarhêner]] ([[Gotûbêja bikarhêner:Bikarhêner|gotûbêj]]) 10:41, 20 îlon 2020 (UTC)
::: {{r|Guherto|Balyozxane|Hakîmo|bikarhêner}} em peyvên herî xwerû û herî zêde tên bikaranîn serê ewil standardîze bikin ne çêtir e?--[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 17:39, 20 îlon 2020 (UTC)
::::{{r|Rewiye tine}} Erê lê em li gor lîsteya xwe darin niha. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 23:05, 20 îlon 2020 (UTC)
== Ji bo rastnivîsînê Ferhanga Kurdî-Tirkî ya Nû(Pîvanê vê ferhengê) ==
Ji bo hilbijartina bêjeyên sereke me bala xwe daye ser van pîvanan:<br>
a)Ji van varyantan kîjan di kurmancîyê de zêdetir tê bikaranîn?<br>
b)Kijan ji wan deforme nebûye, yan jî kêmtir deforme bûye?<br>
c)Kijan ji wan di zaravayên din yên kurdîyê de tê bikaranîn yan ji nêzikî bêjeya wan e?<br>
ç)Kîjan ji wan, zêdetir nêzîkî bêjeya zimanên din yên îranî ye?<br>
d)Kijan ji wan, zêdetir nêzîkî bêjeya zimanên hindoewropayî yên din e?<br>
e)Heke bêje ji zimanên bîyanî ketibe nav kurmancîyê, kîjan ji wan varyantan zêdetir nêzîkî taybetmendîyên kurmancîyê, yan jî bi giști zimanê kurdî ye? Kijan ji wan wekî “esil'ê wê bêjeya zimanê bîyanî ye yan jî zêdetir nêzîkî wê ye?(Rupel:24)
Min got bila ev jî vir be belkî alîkarîya me bike.[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 07:59, 21 îlon 2020 (UTC)
== Ferhengên Online ==
{{r|Balyozxane|Bikarhêner}} Ferhengên online çavkanî tê hesibandin?
:{{r|Rewiye tine}} Bi ya min nabin. Glosbe [https://tr.glosbe.com/] û turkcekurtcesozluk [https://turkcekurtcesozluk.com/] jixwe kopîkirina ji ferhenga Zana farqînî û ji wîkîferhengê ne. loma ne hewce ne. Ew kurdishdictionary [https://www.thekurdishdictionary.com/en] nizanim çawa ye kî amade dike ji ber anonîmbûna wan jî ez naxwazim wana qebûl bikin. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 14:51, 22 îlon 2020 (UTC)
:{{silav|Balyozxane}}, tu vê yekê şaş dizanê. Wîkîferheng berî hin salan bi rîya Cyrusbotê re ji turkcekurtcesozluk gelek peyv kopî kir, ew ji pêşî de li wir hebûn. -- [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 17:14, 22 îlon 2020 (UTC)
::{{silav|Guherto}} Beşa kurdî-tirkî û tirkî-kurdî ya wê ferhengê ji Zana Farqînî, beşa kurmancî-kurmancî ji wîkîferhengê ye. :/ --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 17:16, 22 îlon 2020 (UTC)
:::Binêre [https://ku.wiktionary.org/w/index.php?title=Taybet:Contributions/Cyrusbot&dir=prev&offset=20121119230402&limit=500&target=Cyrusbot vir]. Hemû ji wê malperê ne. -- [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 17:20, 22 îlon 2020 (UTC)
:::[https://ku.wiktionary.org/w/index.php?title=Taybet:Contributions/Cyrusbot&dir=prev&offset=20121220922734&limit=500&target=Cyrusbot Elmanî], [https://ku.wiktionary.org/w/index.php?title=Taybet:Contributions/Cyrusbot&offset=20130601102051&limit=500&target=Cyrusbot înglîzî], [https://ku.wiktionary.org/w/index.php?title=Taybet:Contributions/Cyrusbot&dir=prev&offset=20140201231242&limit=500&target=Cyrusbot 2]. Qeteke mezin ji vê ferhengê ji wir kopîkirî ye. -- [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 17:23, 22 îlon 2020 (UTC)
:::: {{r|Balyozxane|Guherto|Rewiye tine}} Bi ya min ger ferhengên onlayn jî pêbawer bin dikarin bibin çavkaniyekê. {{r|Balyozxane}} Bnr [https://www.thekurdishdictionary.com/en/about vir]. -- [[Bikarhêner:Bikarhêner|Bikarhêner]] ([[Gotûbêja bikarhêner:Bikarhêner|gotûbêj]]) 20:28, 22 îlon 2020 (UTC)
== Arşîvkirin ==
{{r|Guherto|Hakîmo|Balyozxane| Bikarhêner}} Xurtno, ma piştî em kelîmeyek standardîze bikin li wîkîferhengê zêde nakin?
:{{r|Rewiye tine}} Arşîvkirin ji bo gotûbêjê ye. Piştî standardkirinê em ê gotûbêja Daxwazên standardkirinê li gotûbêja peyva sereke lê zêde bikin. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 14:48, 22 îlon 2020 (UTC)
== Nîşandana peyvên standart ==
{{r|Bikarhêner|Guherto|Hakîmo|Balyozxane}} Quwet be ji were. Biya min piştî kelîmeyek hat standart kirin divê em cem kelîme bêjin peyva standar ev e. Eger em wisa nenivisîn gelek mirov nizanin ev kelîme kelîmeyek standart e.
'''ev kelîme guhertoyê vî kelîme ye''' tene vî şeklî terê nake.
Yê cardin kîjan kelîme dilê wî be yê wî bikarbîne. Hevalek di gotubejek de parve kirîbû. Wikî ferhenga fransizî de peyva standart herî jor tê nivîsîn. Varyantên din jî jêr dinivîsin. Divê em peyva standart gelek balkeş bidin nîşan ku hemû kes wî peyvî bikarbîne. Mînak standart binivîsin, an rengê biguherînin, jor binivîsin hwd. Wek tirk dibêjin divê em kelîma standart bikin çavên wan.[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 21:38, 24 îlon 2020 (UTC)
:{{r|Rewiye tine}} Em şablona {{ş|rastnivîs}} jî dikarin bi kar bînin û lîsteyeke peyvên hatine standardkirin jî çêkin? Mînak [https://ku.wiktionary.org/w/index.php?title=%C5%9Fahni%C5%9F%C3%AEn&diff=prev&oldid=4446959] Çawa ye? --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 21:56, 24 îlon 2020 (UTC)
:: {{r|Rewiye tine|Balyozxane}} Bi ya min ewqasî derxistin pêş hewce nake. Jixwe ''"guhertoyeke x"'' tê maneya ku ya standard ''peyva x'' e. Zêdetir jî li ser peyvan hewce nake. Lê ji bo ku ya standard were bikaranîn mirov dikare wek danezanekî li Destpêkê beşeke zêde bike. -- [[Bikarhêner:Bikarhêner|Bikarhêner]] ([[Gotûbêja bikarhêner:Bikarhêner|gotûbêj]]) 22:07, 24 îlon 2020 (UTC)
:::{{r|Bikarhêner}} Tu wisa xweş mana dikî lê hema ez ji xwe mînak bidim. Min çend wext tişta wek te got fam nedikir. Vê davîyê min meseleya guhertoyê fam kir. Herwiha çend kes destpêkê dixwîne? Ji xwe tu mektebê tunin em kelîma wir wek standart bidin hînkirin. Ne derên wek vir be nexwe kû? Eger kesek îtaraz bike bila kerem bike arşîvê binêre û pîvanên me binêre. Divê em nehelin keda me avê here.--[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 22:40, 24 îlon 2020 (UTC)
:{{r|Balyozxane}} Tu bi Xwedê kî mebêje "rastnivîs" çunkî kurmanciya nûjen ne zimanê rastnivîsî ye, lê zimanê guhartoyên peyvan en ku li ser Internetê zêdetir hatine bikaranîn e. -- [[Bikarhêner:Hakîmo|Hakîmo]] ([[Gotûbêja bikarhêner:Hakîmo|gotûbêj]]) 07:15, 26 îlon 2020 (UTC)
::{{r|Hakîmo}} Em ê "rastnivîs" bibêjin ji ber ku ne tenê li ser înternetê em li ferhengên heyî dinêrin. Ew jî dibêjin rastnivîs loma rastnivîsê :/ --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 07:18, 26 îlon 2020 (UTC)
:::{{r|Balyozxane}} Ez li ser kirmanciya rastnivîsî gelek dixebitim; hemî kirmanc çavkaniyên min in, yanî ez ne xweperist im o nabêjim, divêt devoka min bibite ya standard. Ez guh nadime çavkaniyên Internetê ji ber ku her kes bi nivîsîna kirmancî nizanin o ji ber wê varyantên wan en peyvan bi der nakevin. Bi îzna Xwedê ez dê di paşerojê da ferhengeke xwe ye rastnivîsê biweşînim. -- [[Bikarhêner:Hakîmo|Hakîmo]] ([[Gotûbêja bikarhêner:Hakîmo|gotûbêj]]) 07:31, 26 îlon 2020 (UTC)
::::{{r|Hakîmo}} Mala te ava ji bo keda te! Te kengî weşand, ez ê bi kêf û dilxweşî ferhenga te jî li vir bi kar bînim înşelle. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 07:33, 26 îlon 2020 (UTC)
::::{{r|Bikarhêner|Guherto|Hakîmo|Balyozxane}} Li gor min em nikarin di destpêkê de bidin nîşan çimkî peşîya mesela standartîzekirinê, hinik peyva hilbijartine û varyantên din wek guherto nivîsîne. Divê karê niha em dikin û yên kevin hatine kirin werin cuda kirin. Peşnîyara Balyozxane baş e. Lê, gor min em di gotara peyvê de jî şewazikî standartbûna peyvê bidin nîşan. Em dikarin bêşa herwiha danin jêr. Deqenê varyantên din zû bû zû xuya neke. Bila dawîyê be. Em dikarin ji bo kelîma standart Audio danin. Em dikarin kelîma standart kîte bikin; mînak '''şa-ne-şîn'''. Em dikarin zayend tenê di kelîma standart de bidin nîşan hwd. Yanê kelîma standart bi van şêwazan derxin pêş. Wexta kesek lê binêre divê fam bike, hîs bike ku kelîma stadart ev e.[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 09:17, 27 îlon 2020 (UTC)
:::::{{r|Rewiye tine}} Na lo wan peşniyazên te qet ne baş in. Di rûpela guhertoyeke peyvekê de divê van agahiyên hebin: navdêr/lêker û hwd, zayenda peyvê, peyvên jê çêbûyî, ku hebe deng. Ewqas bes e.--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 23:40, 27 îlon 2020 (UTC)
:::::{{r|Balyozxane}} Divê navbera gotarên kelîmaya standart û varyentên din çi ferq hebe? Yanê eger ferq tunebe em çire varyantan standart dikin? Tu herî ji bo hemû varyantan, eynî tayîbetîyan danî bawerke yê gel li gor keyfa xwe varyantek hibijire û wî binîvîse. Li gor min gotara peyva standart hinek cuda be. Lê çawa? Hûn çi peşnîyar dikin?--{{bêîmze|Rewiye tine}}
== Hilbijartina peyvên were standartkirin ==
{{r|Balyozxane|Ghybu|Bikarhêner}} Silav rêhevalno. Diyare ku di halêhazir de divê hezaran kelîme were standartkirin. Ez hez dikim kelîmeyan bi dilê xwe hilbijêrim û wisa standart bikim. Vî avayî dibe ku bêhtir motîve bim. Ez naxwazim li gor we lîsteyê herim. Hûn çi dibêjin?--[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 16:40, 8 adar 2021 (UTC)
:{{silav|Rewiye tine}} Ne pêwîst e li gor lîsteyê herî, kîjanî dixwazî dest pê bike. :) --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane|gotûbêj]]) 18:12, 8 adar 2021 (UTC)
::{{r|Balyozxane}} Divê stratejîyek me hebe. Divê em pêşî kelîmeyên zêde tê bikaranîn standardîze bikin.--[[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:15, 9 adar 2021 (UTC)
== Ferhanga standart êdî Onlayn e. ==
Merhaba. Min berîya vê behs kirîbû. Ferhenga standart wekî onlîne êdî ber destê me ye. Lînk li vir e: https://www.ferhengkurdi.com/
Piştî vê hêvî dikim peyvên di vê ferhengî de em bikaribin bi hêsanî derbasî li vir bikin.@[[Bikarhêner:Bikarhêner|Bikarhêner]]@[[Bikarhêner:Ghybu|Ghybu]]@[[Bikarhêner:Ferhengvan|Ferhengvan]] [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 16:07, 17 gulan 2026 (UTC)
:Merheba. Belê haya min jê heye. Ihtîmal e ku hevalên me jî dîtibin. Ferhengeke kalîtedar e. Lê belê neqlkirina temamê malûmatên li wir ber bi Wîkîferhengê ve wê bibe îxlala mafê telîfê. Feqet em karin ji bo standardkirina kelîme/madeyên li vir vê ferhengê ji bo xwe wek çavkanîya esas bigirin. Ger di vê ferhengê de nîn be, em li ferhenga "Ji bo Rastnivîsînê Ferhenga Kurdî (Kurmancî)-Tirkî ya Nû" binêrin. Dibe ku ji bo vê yekê dengdanekê lazim be. -- [[Bikarhêner:Bikarhêner|Bikarhêner]] ([[Gotûbêja bikarhêner:Bikarhêner|gotûbêj]]) 17:02, 17 gulan 2026 (UTC)
::Roj baş. Ji xwe ev ferhenga onlaynê, derbaskirina peyvên vê ferhengê ye: ''Ji bo Rastnivîsînê Ferhenga Kurdî (Kurmancî)-Tirkî ya Nû''. Wekî din min yek ji amedekarê vê ferhengê "Ji bo Rastnivîsînê Ferhenga Kurdî (Kurmancî)-Tirkî ya Nû" axivî, gote min: ''Eger hûn bixwazin ez dikarim bi formata pdf û word jî bidim we''. Gelo mirov dikare di carekê de van peyvan derbasî li vir bike? Alîyê teknolojî vê îmkan heye? Wekî te got helbet pêşîyê divê em dengdanek çêkin. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 08:14, 18 gulan 2026 (UTC)
:::Ez nabejim raste rast vê ferhengê derbasî wîkîferhengê bikin, ez di derheqê standîsazyonê de diaxivim. Ji xwe ew jî gelek dixwazin bi alîkararî ya wîkîferhengê bibin. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 08:18, 18 gulan 2026 (UTC)
::::{{r|Rewiye tine}} Deng bi [[w:en:Speech synthesis|senteza dengî]] hatine çêkirin? [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 20:07, 19 gulan 2026 (UTC)
:::::Bi qasî ku tê xuyan, deng wisa hatine çêkirin. {{r|Ghybu}} Em dengdanekê li dar bixin? -- [[Bikarhêner:Bikarhêner|Bikarhêner]] ([[Gotûbêja bikarhêner:Bikarhêner|gotûbêj]]) 19:59, 23 gulan 2026 (UTC)
0knodrvzchwtm62f7hcqr5uc6wdqz4x
meistens
0
973125
6235943
6106747
2026-05-23T20:29:09Z
Bikarhêner
3719
6235943
wikitext
text/x-wiki
== {{ziman|de}} ==
=== Bilêvkirin ===
* {{deng|de|LL-Q188 (deu)-Natschoba-meistens.wav|Deng|dever=Almanya}}
=== Hoker ===
{{hoker|de}}
# [[bi piranî]], [[exlebî|exlebê caran]], [[ekserî]], hema hema, bi asayî
ltjoclzro3p0rr4cra3750wrimv0ek4
Modul:ku-tewandin/tablo/ceribandin
828
1325207
6235924
6235906
2026-05-23T15:07:09Z
Ghybu
1393
6235924
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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 header(tense)
local tabHeaderTense = function(col)
local header = '\n! id="' .. conjTab[tense].name .. '"'
.. 'class="' .. conjTab[tense].stem .. '-stem" colspan="'.. col .. '" |'
.. conjTab[tense].nameKu
.. '- <small><i>-{'.. conjTab[tense].nameEn ..'}-</i></small>'
.. '\n|-'
return header
end
local preverbParticle = ''
local tabTense = tabHeaderTense(4)
if conjTab[tense].preverbParticle == "ê" then
tabTense = tabHeaderTense(5)
preverbParticle = '\n! class="agent-title" | '
end
local tabHeader = tabHeaderTense(2)
.. '\n! class="ereni" | Erênî'
..'\n! class="neyini"| Neyînî'
.. '\n|-'
if (conjTab[tense].stem == "past" and form == "gerguhêz") then
tabHeader = tabTense
.. '\n! class="agent-title" | Biker <span class="toggle-width">zêde <span class="arrow">›</span></span>'
.. preverbParticle
.. '\n! class="object-title"| Berkar'
.. '\n! class="ereni" | Erênî'
.. '\n! class="neyini" | Neyînî'
.. '\n|-'
end
return tabHeader
end
local function body(tense, pers)
local bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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"|<span style="float:right;color:black"> (y)ê/dê </span>'
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 form == "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
-- Tablo
local function conjugateTable(tense)
local tenses = ''
local header = header(tense)
for _, pers in ipairs(conj.order) do
tenses = tenses .. body(tense, pers)
end
local tab = '\n{| cellpadding="2" class="tense-table" style="width:100%; border-collapse:collapse;"'
.. '\n|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. header
.. tenses
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| cellspacing="0" cellpadding="4" align="center" class="tewandin-tablo" style="border-collapse:collapse;"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small;text-align:center;color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! class="tablo-ser" colspan="8" align="center" | Tewandina lêkera [['.. leker .. ']]<br/><span style="font-weight:normal;">(' .. cure .. ', ' .. form .. ')</span><br/>'
.. '\n|-'
.. '\n! colspan="4" style="border-bottom:dotted 1px grey;" |'
.. '\n! class="present-stem" colspan="2" style="border-bottom:solid 1px grey;" | Dema niha'
.. '\n! class="past-stem" colspan="2" style="border-bottom:solid 1px grey;" | Dema borî'
.. '\n|-'
.. '\n! colspan="4" style="text-align:right; font-weight:bold; border-bottom:dotted 1px grey;" | Reh'
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="imperative" class="rawe" colspan="8" | Raweya fermanî - <small><i>-{Imperative}-</i></small>'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n|-'
.. '\n! colspan="4" class="ereni" | Erênî'
.. '\n! colspan="4" class="neyini" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="indicative" class="rawe" colspan="8" align="center" | Raweya pêşkerî (daxuyanî) - <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('indNCPluperfect')
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="subjunctive" class="rawe" colspan="8" | Raweya xwestekî (bilanî, daxwazî) - <small><i>-{Subjunctive}-</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPluperfect')
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="conditional" class="rawe" colspan="8" | Raweya mercî (hekînî) - <small><i>-{Conditional}-</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('condPresent')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('condPreterite')
..'\n|}'
end
return export
gz5246gcy27s1l8qzl9nff1ynqzfgz0
6235925
6235924
2026-05-23T15:08:28Z
Ghybu
1393
6235925
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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 header(tense)
local tabHeaderTense = function(col)
local header = '\n! id="' .. conjTab[tense].name .. '"'
.. 'class="' .. conjTab[tense].stem .. '-stem" colspan="'.. col .. '" |'
.. conjTab[tense].nameKu
.. '- <small><i>-{'.. conjTab[tense].nameEn ..'}-</i></small>'
.. '\n|-'
return header
end
local preverbParticle = ''
local tabTense = tabHeaderTense(4)
if conjTab[tense].preverbParticle == "ê" then
tabTense = tabHeaderTense(5)
preverbParticle = '\n! class="agent-title" | '
end
local tabHeader = tabHeaderTense(2)
.. '\n! class="ereni" | Erênî'
..'\n! class="neyini"| Neyînî'
.. '\n|-'
if (conjTab[tense].stem == "past" and form == "gerguhêz") then
tabHeader = tabTense
.. '\n! class="agent-title" | Biker <span class="toggle-width">zêde <span class="arrow">›</span></span>'
.. preverbParticle
.. '\n! class="object-title"| Berkar'
.. '\n! class="ereni" | Erênî'
.. '\n! class="neyini" | Neyînî'
.. '\n|-'
end
return tabHeader
end
local function body(tense, pers)
local bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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"|<span style="float:right;color:black"> (y)ê/dê </span>'
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 form == "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
-- Tablo
local function conjugateTable(tense)
local tenses = ''
local header = header(tense)
for _, pers in ipairs(conj.order) do
tenses = tenses .. body(tense, pers)
end
local tab = '\n{| cellpadding="2" class="tense-table" style="width:100%; border-collapse:collapse;"'
.. '\n|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. header
.. tenses
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| cellspacing="0" cellpadding="4" align="center" class="tewandin-tablo" style="border-collapse:collapse;"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small;text-align:center;color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! class="tablo-ser" colspan="8" align="center" | Tewandina lêkera [['.. leker .. ']]<br/><span style="font-weight:normal;">(' .. cure .. ', ' .. form .. ')</span><br/>'
.. '\n|-'
.. '\n! colspan="4" style="border-bottom:dotted 1px grey;" |'
.. '\n! class="present-stem" colspan="2" style="border-bottom:solid 1px grey;" | Dema niha'
.. '\n! class="past-stem" colspan="2" style="border-bottom:solid 1px grey;" | Dema borî'
.. '\n|-'
.. '\n! colspan="4" style="text-align:right; font-weight:bold; border-bottom:dotted 1px grey;" | Reh'
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="imperative" class="rawe" colspan="8" | Raweya fermanî - <small><i>-{Imperative}-</i></small>'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n|-'
.. '\n! colspan="4" class="ereni" | Erênî'
.. '\n! colspan="4" class="neyini" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="indicative" class="rawe" colspan="8" align="center" | Raweya pêşkerî (daxuyanî) - <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('indNCPluperfect')
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="subjunctive" class="rawe" colspan="8" | Raweya xwestekî (bilanî, daxwazî) - <small><i>-{Subjunctive}-</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPluperfect')
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="conditional" class="rawe" colspan="8" | Raweya mercî (hekînî) - <small><i>-{Conditional}-</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('condPresent')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('condPreterite')
..'\n|}'
end
return export
bdx2fn9fwgth8b14evxapjhtndrjoh8
6235935
6235925
2026-05-23T17:48:14Z
Ghybu
1393
6235935
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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 header(tense)
local tabHeaderTense = function(col)
local header = '\n! id="' .. conjTab[tense].name .. '"'
.. 'class="' .. conjTab[tense].stem .. '-stem" colspan="'.. col .. '" |'
.. conjTab[tense].nameKu
.. '- <small><i>-{'.. conjTab[tense].nameEn ..'}-</i></small>'
.. '\n|-'
return header
end
local preverbParticle = ''
local tabTense = tabHeaderTense(4)
if conjTab[tense].preverbParticle == "ê" then
tabTense = tabHeaderTense(5)
preverbParticle = '\n! class="agent-title" | '
end
local tabHeader = tabHeaderTense(2)
.. '\n! class="ereni" | Erênî'
..'\n! class="neyini"| Neyînî'
.. '\n|-'
if (conjTab[tense].stem == "past" and form == "gerguhêz") then
tabHeader = tabTense
.. '\n! class="agent-title" | Biker <span class="toggle-width">zêde <span class="arrow">›</span></span>'
.. preverbParticle
.. '\n! class="object-title"| Berkar'
.. '\n! class="ereni" | Erênî'
.. '\n! class="neyini" | Neyînî'
.. '\n|-'
end
return tabHeader
end
local function body(tense, pers)
local bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
local function conjugateTable(tense)
local tenses = ''
local header = header(tense)
for _, pers in ipairs(conj.order) do
tenses = tenses .. body(tense, pers)
end
local tab = '\n{| cellpadding="2" class="tense-table" style="width:100%; border-collapse:collapse;"'
.. '\n|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. header
.. tenses
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| cellspacing="0" cellpadding="4" align="center" class="tewandin-tablo" style="border-collapse:collapse;"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small;text-align:center;color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! class="tablo-ser" colspan="8" align="center" | Tewandina lêkera [['.. leker .. ']]<br/><span style="font-weight:normal;">(' .. cure .. ', ' .. form .. ')</span><br/>'
.. '\n|-'
.. '\n! colspan="4" style="border-bottom:dotted 1px grey;" |'
.. '\n! class="present-stem" colspan="2" style="border-bottom:solid 1px grey;" | Dema niha'
.. '\n! class="past-stem" colspan="2" style="border-bottom:solid 1px grey;" | Dema borî'
.. '\n|-'
.. '\n! colspan="4" style="text-align:right; font-weight:bold; border-bottom:dotted 1px grey;" | Reh'
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="imperative" class="rawe" colspan="8" | Raweya fermanî - <small><i>-{Imperative}-</i></small>'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n|-'
.. '\n! colspan="4" class="ereni" | Erênî'
.. '\n! colspan="4" class="neyini" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="indicative" class="rawe" colspan="8" align="center" | Raweya pêşkerî (daxuyanî) - <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('indNCPluperfect')
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="subjunctive" class="rawe" colspan="8" | Raweya xwestekî (bilanî, daxwazî) - <small><i>-{Subjunctive}-</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPluperfect')
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="conditional" class="rawe" colspan="8" | Raweya mercî (hekînî) - <small><i>-{Conditional}-</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('condPresent')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('condPreterite')
..'\n|}'
end
return export
pfjo84z6osceo37hcq2156128s7m8fn
6235937
6235935
2026-05-23T18:39:40Z
Ghybu
1393
6235937
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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 header(tense)
local tabHeaderTense = function(col)
local header = '\n! id="' .. conjTab[tense].name .. '"'
.. 'class="' .. conjTab[tense].stem .. '-stem" colspan="'.. col .. '" |'
.. conjTab[tense].nameKu
.. '- <small><i>-{'.. conjTab[tense].nameEn ..'}-</i></small>'
.. '\n|-'
return header
end
local preverbParticle = ''
local tabTense = tabHeaderTense(4)
if conjTab[tense].preverbParticle == "ê" then
tabTense = tabHeaderTense(5)
preverbParticle = '\n! class="agent-title" | '
end
local tabHeader = tabHeaderTense(2)
.. '\n! class="ereni" | Erênî'
..'\n! class="neyini"| Neyînî'
.. '\n|-'
if (conjTab[tense].stem == "past" and form == "gerguhêz") then
tabHeader = tabTense
.. '\n! class="agent-title" | Biker <span class="toggle-width">zêde <span class="arrow">›</span></span>'
.. preverbParticle
.. '\n! class="object-title"| Berkar'
.. '\n! class="ereni" | Erênî'
.. '\n! class="neyini" | Neyînî'
.. '\n|-'
end
return tabHeader
end
local function body(tense, pers)
local bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
local function conjugateTable(tense)
local tenses = ''
local header = header(tense)
for _, pers in ipairs(conj.order) do
tenses = tenses .. body(tense, pers)
end
local tab = '\n{| cellpadding="2" class="tense-table" style="width:100%; border-collapse:collapse;"'
.. '\n|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. header
.. tenses
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="tewandin-tablo"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small;text-align:center;color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! class="tablo-ser" colspan="8" align="center" | Tewandina lêkera [['.. leker .. ']]<br/><span style="font-weight:normal;">(' .. cure .. ', ' .. form .. ')</span><br/>'
.. '\n|-'
.. '\n! colspan="4" style="border-bottom:dotted 1px grey;" |'
.. '\n! class="present-stem" colspan="2" style="border-bottom:solid 1px grey;" | Dema niha'
.. '\n! class="past-stem" colspan="2" style="border-bottom:solid 1px grey;" | Dema borî'
.. '\n|-'
.. '\n! colspan="4" style="text-align:right; font-weight:bold; border-bottom:dotted 1px grey;" | Reh'
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="imperative" class="rawe" colspan="8" | Raweya fermanî - <small><i>-{Imperative}-</i></small>'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n|-'
.. '\n! colspan="4" class="ereni" | Erênî'
.. '\n! colspan="4" class="neyini" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="indicative" class="rawe" colspan="8" align="center" | Raweya pêşkerî (daxuyanî) - <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('indNCPluperfect')
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="subjunctive" class="rawe" colspan="8" | Raweya xwestekî (bilanî, daxwazî) - <small><i>-{Subjunctive}-</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPluperfect')
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="conditional" class="rawe" colspan="8" | Raweya mercî (hekînî) - <small><i>-{Conditional}-</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('condPresent')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('condPreterite')
..'\n|}'
end
return export
1ocjd89luemuenc4zh1fat4lb6skwju
6235940
6235937
2026-05-23T19:26:43Z
Ghybu
1393
6235940
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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 header(tense)
local tabHeaderTense = function(col)
local header = '\n! id="' .. conjTab[tense].name .. '"'
.. 'class="' .. conjTab[tense].stem .. '-stem" colspan="'.. col .. '" |'
.. conjTab[tense].nameKu
.. '- <small><i>-{'.. conjTab[tense].nameEn ..'}-</i></small>'
.. '\n|-'
return header
end
local preverbParticle = ''
local tabTense = tabHeaderTense(4)
if conjTab[tense].preverbParticle == "ê" then
tabTense = tabHeaderTense(5)
preverbParticle = '\n! class="agent-title" | '
end
local tabHeader = tabHeaderTense(2)
.. '\n! class="ereni" | Erênî'
..'\n! class="neyini"| Neyînî'
.. '\n|-'
if (conjTab[tense].stem == "past" and form == "gerguhêz") then
tabHeader = tabTense
.. '\n! class="agent-title" | Biker <span class="toggle-width">zêde <span class="arrow">›</span></span>'
.. preverbParticle
.. '\n! class="object-title"| Berkar'
.. '\n! class="ereni" | Erênî'
.. '\n! class="neyini" | Neyînî'
.. '\n|-'
end
return tabHeader
end
local function body(tense, pers)
local bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
local function conjugateTable(tense)
local tenses = ''
local header = header(tense)
for _, pers in ipairs(conj.order) do
tenses = tenses .. body(tense, pers)
end
local tab = '\n{| cellpadding="2" class="tense-table"'
.. '\n|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. header
.. tenses
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="tewandin-tablo"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small;text-align:center;color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! class="tablo-ser" colspan="8" align="center" | Tewandina lêkera [['.. leker .. ']]<br/><span style="font-weight:normal;">(' .. cure .. ', ' .. form .. ')</span><br/>'
.. '\n|-'
.. '\n! colspan="4" style="border-bottom:dotted 1px grey;" |'
.. '\n! class="present-stem" colspan="2" style="border-bottom:solid 1px grey;" | Dema niha'
.. '\n! class="past-stem" colspan="2" style="border-bottom:solid 1px grey;" | Dema borî'
.. '\n|-'
.. '\n! colspan="4" style="text-align:right; font-weight:bold; border-bottom:dotted 1px grey;" | Reh'
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="imperative" class="rawe" colspan="8" | Raweya fermanî - <small><i>-{Imperative}-</i></small>'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n|-'
.. '\n! colspan="4" class="ereni" | Erênî'
.. '\n! colspan="4" class="neyini" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="indicative" class="rawe" colspan="8" align="center" | Raweya pêşkerî (daxuyanî) - <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('indNCPluperfect')
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="subjunctive" class="rawe" colspan="8" | Raweya xwestekî (bilanî, daxwazî) - <small><i>-{Subjunctive}-</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('subPluperfect')
.. '\n|- style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. '\n! id="conditional" class="rawe" colspan="8" | Raweya mercî (hekînî) - <small><i>-{Conditional}-</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" |' .. conjugateTable('condPresent')
.. '\n| colspan="4" valign="top" |' .. conjugateTable('condPreterite')
..'\n|}'
end
return export
34w6ambpxoixoxptlik1k7aca56mjgk
6235953
6235940
2026-05-23T22:45:20Z
Ghybu
1393
6235953
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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 header(tense)
local tabHeaderTense = function(col)
local header = '\n! id="' .. conjTab[tense].name .. '"'
.. 'class="' .. conjTab[tense].stem .. '-stem" colspan="'.. col .. '" |'
.. conjTab[tense].nameKu
.. '- <small><i>-{'.. conjTab[tense].nameEn ..'}-</i></small>'
.. '\n|-'
return header
end
local preverbParticle = ''
local tabTense = tabHeaderTense(4)
if conjTab[tense].preverbParticle == "ê" then
tabTense = tabHeaderTense(5)
preverbParticle = '\n! class="agent-title" | '
end
local tabHeader = tabHeaderTense(2)
.. '\n! class="ereni" | Erênî'
..'\n! class="neyini"| Neyînî'
.. '\n|-'
if (conjTab[tense].stem == "past" and form == "gerguhêz") then
tabHeader = tabTense
.. '\n! class="agent-title" | Biker <span class="toggle-width">zêde <span class="arrow">›</span></span>'
.. preverbParticle
.. '\n! class="object-title"| Berkar'
.. '\n! class="ereni" | Erênî'
.. '\n! class="neyini" | Neyînî'
.. '\n|-'
end
return tabHeader
end
local function body(tense, pers)
local bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
local function conjugateTable(tense)
local tenses = ''
local header = header(tense)
for _, pers in ipairs(conj.order) do
tenses = tenses .. body(tense, pers)
end
local tab = '\n{| cellpadding="2" class="tense-table"'
.. '\n|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. header
.. tenses
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="tewandin-tablo"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small;text-align:center;color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n! colspan="8" style="text-align:center; border-top:2px solid grey; border-bottom:2px solid grey;" | Tewandina lêkera [[' .. leker .. ']]<br/><small>(' .. cure .. ', ' .. form .. ')</small>'
.. '\n|-'
.. '\n! colspan="4" style="border-bottom:dotted 1px grey;" |'
.. '\n! colspan="2" class="present-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema niha'
.. '\n! colspan="2" class="past-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema borî'
.. '\n|-'
.. '\n! colspan="4" style="text-align:right; font-weight:bold; border-bottom:dotted 1px grey;" | Reh'
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n! colspan="8" id="imperative" class="mood" | Raweya fermanî - <small><i>Imperative</i></small>'
.. '\n|-'
.. '\n! colspan="4" class="ereni" style="text-align:center;" | Erênî'
.. '\n! colspan="4" class="neyini" style="text-align:center;" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n! colspan="8" id="indicative" 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('indNCPluperfect')
.. '\n|-'
.. '\n! colspan="8" id="subjunctive" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\n|-'
.. '\n! colspan="8" id="conditional" 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
ha2q4d8hffel6xjmrbtbphkxjieufjb
6235954
6235953
2026-05-23T22:57:12Z
Ghybu
1393
6235954
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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 header(tense)
local tabHeaderTense = function(col)
local header = '\n! id="' .. conjTab[tense].name .. '"'
.. 'class="' .. conjTab[tense].stem .. '-stem" colspan="'.. col .. '" |'
.. conjTab[tense].nameKu
.. '- <small><i>-{'.. conjTab[tense].nameEn ..'}-</i></small>'
.. '\n|-'
return header
end
local preverbParticle = ''
local tabTense = tabHeaderTense(4)
if conjTab[tense].preverbParticle == "ê" then
tabTense = tabHeaderTense(5)
preverbParticle = '\n! class="agent-title" | '
end
local tabHeader = tabHeaderTense(2)
.. '\n! class="ereni" | Erênî'
..'\n! class="neyini"| Neyînî'
.. '\n|-'
if (conjTab[tense].stem == "past" and form == "gerguhêz") then
tabHeader = tabTense
.. '\n! class="agent-title" | Biker <span class="toggle-width">zêde <span class="arrow">›</span></span>'
.. preverbParticle
.. '\n! class="object-title"| Berkar'
.. '\n! class="ereni" | Erênî'
.. '\n! class="neyini" | Neyînî'
.. '\n|-'
end
return tabHeader
end
local function body(tense, pers)
local bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
local function conjugateTable(tense)
local tenses = ''
local header = header(tense)
for _, pers in ipairs(conj.order) do
tenses = tenses .. body(tense, pers)
end
local tab = '\n{| cellpadding="2" class="tense-table"'
.. '\n|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. header
.. tenses
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small;text-align:center;color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n! colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br/><small>(' .. cure .. ', ' .. form .. ')</small>'
.. '\n|-'
.. '\n! colspan="4" style="border-bottom:dotted 1px grey;" |'
.. '\n! colspan="2" class="present-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema niha'
.. '\n! colspan="2" class="past-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema borî'
.. '\n|-'
.. '\n! colspan="4" style="text-align:right; font-weight:bold; border-bottom:dotted 1px grey;" | Reh'
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n! colspan="8" id="imperative" class="mood" | Raweya fermanî - <small><i>Imperative</i></small>'
.. '\n|-'
.. '\n! colspan="4" class="ereni" style="text-align:center;" | Erênî'
.. '\n! colspan="4" class="neyini" style="text-align:center;" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n! colspan="8" id="indicative" 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('indNCPluperfect')
.. '\n|-'
.. '\n! colspan="8" id="subjunctive" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\n|-'
.. '\n! colspan="8" id="conditional" 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
cnd7vacw2lptdqrukciuin4nwx53df9
6235955
6235954
2026-05-23T22:59:13Z
Ghybu
1393
6235955
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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 header(tense)
local tabHeaderTense = function(col)
local header = '\n! id="' .. conjTab[tense].name .. '"'
.. 'class="' .. conjTab[tense].stem .. '-stem" colspan="'.. col .. '" |'
.. conjTab[tense].nameKu
.. '- <small><i>-{'.. conjTab[tense].nameEn ..'}-</i></small>'
.. '\n|-'
return header
end
local preverbParticle = ''
local tabTense = tabHeaderTense(4)
if conjTab[tense].preverbParticle == "ê" then
tabTense = tabHeaderTense(5)
preverbParticle = '\n! class="agent-title" | '
end
local tabHeader = tabHeaderTense(2)
.. '\n! class="negative" | Erênî'
..'\n! class="positive" | Neyînî'
.. '\n|-'
if (conjTab[tense].stem == "past" and form == "gerguhêz") then
tabHeader = tabTense
.. '\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 tabHeader
end
local function body(tense, pers)
local bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
local function conjugateTable(tense)
local tenses = ''
local header = header(tense)
for _, pers in ipairs(conj.order) do
tenses = tenses .. body(tense, pers)
end
local tab = '\n{| cellpadding="2" class="tense-table"'
.. '\n|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. header
.. tenses
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small;text-align:center;color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n! colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br/><small>(' .. cure .. ', ' .. form .. ')</small>'
.. '\n|-'
.. '\n! colspan="4" style="border-bottom:dotted 1px grey;" |'
.. '\n! colspan="2" class="present-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema niha'
.. '\n! colspan="2" class="past-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema borî'
.. '\n|-'
.. '\n! colspan="4" style="text-align:right; font-weight:bold; border-bottom:dotted 1px grey;" | Reh'
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n! colspan="8" id="imperative" class="mood" | Raweya fermanî - <small><i>Imperative</i></small>'
.. '\n|-'
.. '\n! colspan="4" class="ereni" style="text-align:center;" | Erênî'
.. '\n! colspan="4" class="neyini" style="text-align:center;" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n! colspan="8" id="indicative" 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('indNCPluperfect')
.. '\n|-'
.. '\n! colspan="8" id="subjunctive" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\n|-'
.. '\n! colspan="8" id="conditional" 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
e57smtz85974ycmwe89c91mtedh1met
6235957
6235955
2026-05-23T23:16:50Z
Ghybu
1393
6235957
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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 header(tense)
local tabHeaderTense = function(col)
local header = '\n! id="' .. conjTab[tense].name .. '"'
.. 'class="' .. conjTab[tense].stem .. '-stem" colspan="'.. col .. '" |'
.. conjTab[tense].nameKu
.. '- <small><i>-{'.. conjTab[tense].nameEn ..'}-</i></small>'
.. '\n|-'
return header
end
local preverbParticle = ''
local tabTense = tabHeaderTense(4)
if conjTab[tense].preverbParticle == "ê" then
tabTense = tabHeaderTense(5)
preverbParticle = '\n! class="agent-title" | '
end
local tabHeader = tabHeaderTense(2)
.. '\n! class="negative" | Erênî'
..'\n! class="positive" | Neyînî'
.. '\n|-'
if (conjTab[tense].stem == "past" and form == "gerguhêz") then
tabHeader = tabTense
.. '\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 tabHeader
end
local function body(tense, pers)
local bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
local function conjugateTable(tense)
local tenses = ''
local header = header(tense)
for _, pers in ipairs(conj.order) do
tenses = tenses .. body(tense, pers)
end
local tab = '\n{| cellpadding="2" class="tense-table"'
.. '\n|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. header
.. tenses
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small;text-align:center;color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n! colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br/><small>(' .. cure .. ', ' .. form .. ')</small>'
.. '\n|-'
.. '\n! colspan="4" style="border-bottom:dotted 1px grey;" |'
.. '\n! colspan="2" class="present-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema niha'
.. '\n! colspan="2" class="past-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema borî'
.. '\n|-'
.. '\n! colspan="4" style="text-align:right; font-weight:bold; border-bottom:dotted 1px grey;" | Reh'
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n! colspan="8" id="imperative" class="mood" | Raweya fermanî - <small><i>Imperative</i></small>'
.. '\n|-'
.. '\n! colspan="4" class="negative" style="text-align:center;" | Erênî'
.. '\n! colspan="4" class="positive" style="text-align:center;" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n! colspan="8" id="indicative" 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('indNCPluperfect')
.. '\n|-'
.. '\n! colspan="8" id="subjunctive" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\n|-'
.. '\n! colspan="8" id="conditional" 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
oc66nne73u3qf4hm5id0tivcrmrlhuh
6235958
6235957
2026-05-23T23:32:58Z
Ghybu
1393
6235958
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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 tabHeaderTense = function(col)
local header = '\n! id="' .. conjTab[tense].name .. '"'
.. 'class="' .. conjTab[tense].stem .. '-stem" colspan="'.. col .. '" |'
.. conjTab[tense].nameKu
.. '- <small><i>-{'.. conjTab[tense].nameEn ..'}-</i></small>'
.. '\n|-'
return header
end
local preverbParticle = ''
local tabTense = tabHeaderTense(4)
if conjTab[tense].preverbParticle == "ê" then
tabTense = tabHeaderTense(5)
preverbParticle = '\n! class="agent-title" | '
end
local tabHeader = tabHeaderTense(2)
.. '\n! class="negative" | Erênî'
..'\n! class="positive" | Neyînî'
.. '\n|-'
if (conjTab[tense].stem == "past" and form == "gerguhêz") then
tabHeader = tabTense
.. '\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 tabHeader
end
local function tenseTableBody(tense, pers)
local bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
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|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. tenseHeader
.. tenseBody
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small;text-align:center;color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n! colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br/><small>(' .. cure .. ', ' .. form .. ')</small>'
.. '\n|-'
.. '\n! colspan="4" style="border-bottom:dotted 1px grey;" |'
.. '\n! colspan="2" class="present-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema niha'
.. '\n! colspan="2" class="past-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema borî'
.. '\n|-'
.. '\n! colspan="4" style="text-align:right; font-weight:bold; border-bottom:dotted 1px grey;" | Reh'
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n! colspan="8" id="imperative" class="mood" | Raweya fermanî - <small><i>Imperative</i></small>'
.. '\n|-'
.. '\n! colspan="4" class="negative" style="text-align:center;" | Erênî'
.. '\n! colspan="4" class="positive" style="text-align:center;" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n! colspan="8" id="indicative" 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('indNCPluperfect')
.. '\n|-'
.. '\n! colspan="8" id="subjunctive" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\n|-'
.. '\n! colspan="8" id="conditional" 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
5iua5k9pdq9ce037bpyluqbt20s1rp7
6235959
6235958
2026-05-23T23:41:32Z
Ghybu
1393
6235959
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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" 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 form == "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 bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
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|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. tenseHeader
.. tenseBody
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small;text-align:center;color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n! colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br/><small>(' .. cure .. ', ' .. form .. ')</small>'
.. '\n|-'
.. '\n! colspan="4" style="border-bottom:dotted 1px grey;" |'
.. '\n! colspan="2" class="present-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema niha'
.. '\n! colspan="2" class="past-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema borî'
.. '\n|-'
.. '\n! colspan="4" style="text-align:right; font-weight:bold; border-bottom:dotted 1px grey;" | Reh'
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n! colspan="8" id="imperative" class="mood" | Raweya fermanî - <small><i>Imperative</i></small>'
.. '\n|-'
.. '\n! colspan="4" class="negative" style="text-align:center;" | Erênî'
.. '\n! colspan="4" class="positive" style="text-align:center;" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n! colspan="8" id="indicative" 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('indNCPluperfect')
.. '\n|-'
.. '\n! colspan="8" id="subjunctive" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\n|-'
.. '\n! colspan="8" id="conditional" 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
qwdcdxpvm7d9fngf57qtcp8dgm5ixdp
6235961
6235959
2026-05-24T00:32:48Z
Ghybu
1393
6235961
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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" 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 form == "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 bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
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|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. tenseHeader
.. tenseBody
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small;text-align:center;color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n| colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br/><small>(' .. cure .. ', ' .. form .. ')</small>'
.. '\n|-'
.. '\n! colspan="4" style="border-bottom:dotted 1px grey;" |'
.. '\n! colspan="2" class="present-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema niha'
.. '\n! colspan="2" class="past-stem" style="border-bottom:solid 1px grey; text-align:center;" | Dema borî'
.. '\n|-'
.. '\n! colspan="4" style="text-align:right; font-weight:bold; border-bottom:dotted 1px grey;" | Reh'
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n| colspan="2" style="text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n| colspan="8" id="imperative" class="mood" | Raweya fermanî - <small><i>Imperative</i></small>'
.. '\n|-'
.. '\n! colspan="4" class="negative" style="text-align:center;" | Erênî'
.. '\n! colspan="4" class="positive" style="text-align:center;" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n| colspan="8" id="indicative" 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('indNCPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="subjunctive" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="conditional" 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
dckzaoj5vr5m3x3pbnv2j5458h8iris
6235964
6235961
2026-05-24T01:30:44Z
Ghybu
1393
6235964
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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" 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 form == "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 bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
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|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. tenseHeader
.. tenseBody
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small; text-align:center; color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n| colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br/><small>(' .. cure .. ', ' .. form .. ')</small>'
.. '\n|-'
.. '\n! colspan="2" class="present-stem" | Rehê dema niha'
.. '\n! colspan="2" style="font-weight:normal; text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n|-'
.. '\n! colspan="2" class="past-stem" | Rehê dema borî'
.. '\n! colspan="2" style="font-weight:normal; text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n| colspan="8" id="imperative" class="mood" | Raweya fermanî - <small><i>Imperative</i></small>'
.. '\n|-'
.. '\n! colspan="4" class="negative" style="text-align:center;" | Erênî'
.. '\n! colspan="4" class="positive" style="text-align:center;" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
.. '\n|-'
.. '\n| colspan="8" id="indicative" 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('indNCPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="subjunctive" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="conditional" 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
cnixv41q0te0eoinppjs83algooq8mv
6235965
6235964
2026-05-24T01:43:23Z
Ghybu
1393
ji bo mobîlê
6235965
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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" 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 form == "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 bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
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|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. tenseHeader
.. tenseBody
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small; text-align:center; color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n| colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br/><small>(' .. cure .. ', ' .. form .. ')</small>'
.. '\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;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n|-'
.. '\n! colspan="2" class="past-stem" | Rehê dema borî'
.. '\n! colspan="6" style="font-weight:normal; text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n| colspan="8" id="imperative" class="mood" | Raweya fermanî - <small><i>Imperative</i></small>'
.. '\n|-'
.. '\n| colspan="8" valign="top" | '
.. '\n{| cellpadding="2" class="tense-table"'
.. '\n|-'
.. '\n! colspan="4" class="negative" | Erênî'
.. '\n! colspan="4" class="positive" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
..'\n|}'
.. '\n|-'
.. '\n| colspan="8" id="indicative" 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('indNCPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="subjunctive" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="conditional" 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
m14xutbtp6gn8n2ct50ost6iqedibkm
6235966
6235965
2026-05-24T01:48:51Z
Ghybu
1393
6235966
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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" 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 form == "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 bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
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|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. tenseHeader
.. tenseBody
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n|+ colspan="8" style="font-size:small; text-align:center; color:blue;" | [[Wêne:Emblem-question-red.svg|17px|link=]] [[Gotûbêja modulê:ku-tewandin|Pirsgirêkan nîşan bide – Pêşniyaran bike]]'
.. '\n|-'
.. '\n| colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br><span style="font-weight:normal;">(' .. cure .. ', ' .. form .. ')</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;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n|-'
.. '\n! colspan="2" class="past-stem" | Rehê dema borî'
.. '\n! colspan="6" style="font-weight:normal; text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n| colspan="8" id="imperative" class="mood" | Raweya fermanî - <small><i>Imperative</i></small>'
.. '\n|-'
.. '\n| colspan="8" valign="top" | '
.. '\n{| cellpadding="2" class="tense-table"'
.. '\n|-'
.. '\n! colspan="4" class="negative" | Erênî'
.. '\n! colspan="4" class="positive" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
..'\n|}'
.. '\n|-'
.. '\n| colspan="8" id="indicative" 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('indNCPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="subjunctive" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="conditional" 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
evtqlrcbjvych2wvmxp135defdw81ae
6235967
6235966
2026-05-24T01:50:02Z
Ghybu
1393
6235967
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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" 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 form == "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 bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
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|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. tenseHeader
.. tenseBody
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n| colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br><span style="font-weight:normal;">(' .. cure .. ', ' .. form .. ')</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;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n|-'
.. '\n! colspan="2" class="past-stem" | Rehê dema borî'
.. '\n! colspan="6" style="font-weight:normal; text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n| colspan="8" id="imperative" class="mood" | Raweya fermanî - <small><i>Imperative</i></small>'
.. '\n|-'
.. '\n| colspan="8" valign="top" | '
.. '\n{| cellpadding="2" class="tense-table"'
.. '\n|-'
.. '\n! colspan="4" class="negative" | Erênî'
.. '\n! colspan="4" class="positive" | Neyînî'
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. conjTab.impPresent.conj.s2
.. '\n| colspan="4" | <span style="color:gray">(tû)</span> ' .. negConjTab.impPresent.conj.s2
.. '\n|-'
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. conjTab.impPresent.conj.p2
.. '\n| colspan="4" | <span style="color:gray">(hûn)</span> ' .. negConjTab.impPresent.conj.p2
..'\n|}'
.. '\n|-'
.. '\n| colspan="8" id="indicative" 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('indNCPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="subjunctive" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="conditional" 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
sye4l8z1unzjms29hh8ih4soe1a09ng
6235968
6235967
2026-05-24T01:52:01Z
Ghybu
1393
6235968
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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" 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 form == "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 bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
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|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. tenseHeader
.. tenseBody
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n| colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br><span style="font-weight:normal;">(' .. cure .. ', ' .. form .. ')</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;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n|-'
.. '\n! colspan="2" class="past-stem" | Rehê dema borî'
.. '\n! colspan="6" style="font-weight:normal; text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\n|-'
.. '\n| colspan="8" id="imperative" 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="indicative" 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('indNCPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="subjunctive" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="conditional" 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
euugn65nfoimk4wn0ij3uuitlfdcp78
6235969
6235968
2026-05-24T01:55:11Z
Ghybu
1393
6235969
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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" 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 form == "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 bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
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|-style="border-bottom:solid 1px grey; border-top:solid 1px grey;"'
.. tenseHeader
.. tenseBody
.. '\n|}'
return tab
end
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n| colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br><span style="font-weight:normal;">(' .. cure .. ', ' .. form .. ')</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;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n|-'
.. '\n! colspan="2" class="past-stem" | Rehê dema borî'
.. '\n! colspan="6" style="font-weight:normal; text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\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('indNCPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="subj" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\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
ffiwdx4b3w9ptyjwf6erhzvtmhz5m3r
6235972
6235969
2026-05-24T03:26:47Z
Ghybu
1393
6235972
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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" 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 form == "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 bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
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
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n| colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br><span style="font-weight:normal;">(' .. cure .. ', ' .. form .. ')</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;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n|-'
.. '\n! colspan="2" class="past-stem" | Rehê dema borî'
.. '\n! colspan="6" style="font-weight:normal; text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\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('indNCPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="subj" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\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
dcrate009m55f0x3g4mloiq6eg5caq7
6235973
6235972
2026-05-24T03:33:34Z
Ghybu
1393
6235973
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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 form == "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 bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
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
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n| colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br><span style="font-weight:normal;">(' .. cure .. ', ' .. form .. ')</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;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n|-'
.. '\n! colspan="2" class="past-stem" | Rehê dema borî'
.. '\n! colspan="6" style="font-weight:normal; text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\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('indNCPluperfect')
.. '\n|-'
.. '\n| colspan="8" id="subj" class="mood" | Raweya xwestekî - <small><i>Subjunctive</i></small>'
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\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
5otznxh4r440f9535b5a9hut8cn4mht
6235979
6235973
2026-05-24T05:11:16Z
Ghybu
1393
6235979
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 form = args['form']
local presentStems = {args['niha'], args['niha2'], args['niha3']}
local pastStems = {args['borî'], args['borî2'], args['borî3']}
local leker = args[1]
-- A few checks
if (form ~= 'gerguhêz' and form ~= '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 form == "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 bila = ''
local preverbParticle = ''
local preverbParticules = conj.getPreverbParticules(conjTab[tense].preverbParticle,
conjTab[tense].stem, false)
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 form == "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
-- Tablo
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
-- Cureyê lêkerê
local cure
if (baseOpts.preSimpleVerb and baseOpts.preSimpleVerb ~= '' and not baseOpts.isCompoundVerb) then
cure = 'pêkhatî'
elseif (baseOpts.isCompoundVerb or baseOpts.postSimpleVerb) then
cure = 'hevedudanî'
else
cure = 'xwerû'
end
local pasgir = baseOpts.postSimpleVerb
local pasgirSer
local pesgir = baseOpts.preSimpleVerb
local pesgirSer
local niha2, niha3 = presentStems[2], presentStems[3]
local niha2 = pastStems[2]
local nihaSer2, nihaSer3
local boriSer2
if (pasgir == nil or pasgir == '') then
pasgirSer = ''
else
pasgirSer = ' ' .. pasgir
end
if (pesgir == nil or pesgir == '') then
pesgirSer = ''
else
pesgirSer = pesgir .. ' '
end
if (niha2 == nil or niha2 == '') then
nihaSer2 = ''
else
nihaSer2 = ' / –' .. niha2 .. '–'
end
if (niha3 == nil or niha3 == '') then
nihaSer3 = ''
else
nihaSer3 = ' / –' .. niha3 .. '–'
end
if (bori2 == nil or bori2 == '') then
boriSer2 = ''
else
boriSer2 = ' / –' .. bori2 .. '–'
end
local valahi = args['valahî']
local niha = presentStems[1]
local bori = pastStems[1]
return
'{| align="center" class="conj-table"'
.. '\n|-'
.. '\n| colspan="8" class="title" | Tewandina lêkera [[' .. leker .. ']]<br><span style="font-weight:normal;">(' .. cure .. ', ' .. form .. ')</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;" | ' .. pesgirSer .. '–' .. niha .. '–' .. nihaSer2 .. nihaSer3 .. pasgirSer
.. '\n|-'
.. '\n! colspan="2" class="past-stem" | Rehê dema borî'
.. '\n! colspan="6" style="font-weight:normal; text-align:center; border-bottom:dotted 1px grey;" | ' .. pesgirSer .. '–' .. bori .. '–' .. boriSer2 .. pasgirSer
.. '\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('subPresent')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPreterite')
.. '\n|-'
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subImperfect')
.. '\n| colspan="4" valign="top" | ' .. conjugateTable('subPluperfect')
.. '\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
t1xftai8261gzw2488kggreaapnsomi
Şablon:ku-tewandin/ceribandin/style.css
10
1325209
6235934
6235910
2026-05-23T17:47:18Z
Ghybu
1393
6235934
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.tablo-ser {
background-color: #EEC591;
}
.tewandin-tablo a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.rawe {
background-color: #FFDCA8;
}
.ereni, .neyini {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 60px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
background-color: #ECECFF;
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
77s4f8lsn154p9c340u0us2xivs2t0q
6235936
6235934
2026-05-23T17:52:28Z
Ghybu
1393
6235936
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.tablo-ser {
background-color: #EEC591;
}
.tewandin-tablo a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.rawe {
background-color: #FFDCA8;
}
.ereni, .neyini {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 60px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
p05qie9m1ovh51x5a1ixiz8wdnn2ka6
6235938
6235936
2026-05-23T19:13:51Z
Ghybu
1393
6235938
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.tewandin-tablo {
border-collapse: collapse;
border-spacing: 0px;
}
.tewandin-tablo > th, .tewandin-tablo td {
padding: 3px;
}
.tewandin-tablo a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.tablo-ser {
background-color: #EEC591;
}
.rawe {
background-color: #FFDCA8;
}
.ereni, .neyini {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 60px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
dp4k03fi0dpsrtsmonhj14kgyl9lpc6
6235939
6235938
2026-05-23T19:19:48Z
Ghybu
1393
6235939
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.tewandin-tablo {
border-collapse: collapse;
border-spacing: 0px;
}
.tewandin-tablo th, .tewandin-tablo td {
padding: 3px;
}
.tewandin-tablo a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.tablo-ser {
background-color: #EEC591;
}
.rawe {
background-color: #FFDCA8;
}
.ereni, .neyini {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 60px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
75q3ygvlxo2063bduz0m9oyz1c9yoli
6235941
6235939
2026-05-23T19:26:51Z
Ghybu
1393
6235941
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.tewandin-tablo {
border-collapse: collapse;
border-spacing: 0px;
}
.tewandin-tablo th, .tewandin-tablo td {
padding: 3px;
}
.tewandin-tablo a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.tablo-ser {
background-color: #EEC591;
}
.tense-table {
width:100%;
border-collapse:collapse;
}
.rawe {
background-color: #FFDCA8;
}
.ereni, .neyini {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 60px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
gjsr5goz58tbiy7kmfebcwqgjwvxsoq
6235956
6235941
2026-05-23T23:01:42Z
Ghybu
1393
6235956
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.conj-table {
border-collapse: collapse;
border-spacing: 0px;
}
.conj-table th, .conj-table td {
padding: 3px;
}
.conj-table a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.title {
background-color: #EEC591;
text-align: center;
border-top: 1px solid grey;
border-bottom: 1px solid grey;
}
.tense-table {
width: 100%;
border-collapse: collapse;
}
.mood {
background-color: #FFDCA8;
border-bottom: solid 1px grey;
border-top: solid 1px grey;
}
.negative, .positive {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 60px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
dtqi1egejoqakrw4oix7pilnh6mu4iy
6235960
6235956
2026-05-24T00:22:43Z
Ghybu
1393
6235960
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.conj-table {
border-collapse: collapse;
border-spacing: 0px;
}
.conj-table th, .conj-table td {
padding: 3px;
}
.conj-table a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.title {
background-color: #EEC591;
text-align: center;
border-top: 1px solid grey;
border-bottom: 1px solid grey;
}
.tense-table {
width: 100%;
border-collapse: collapse;
}
.mood {
background-color: #FFDCA8;
border-bottom: solid 1px grey;
border-top: solid 1px grey;
}
.negative, .positive {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 60px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
/***** vertical lay-out on narrow screens, both desktop and mobile *****/
@media screen and ( max-width: 748px ) {
.conj-table,
.conj-table > tbody,
.conj-table > tbody > tr,
.conj-table > tbody > tr > td {
display: block;
width: 100% !important;
height: auto;
box-sizing: border-box;
}
}
jf4bjxqjycnroidk36sa41vk10gzfek
6235962
6235960
2026-05-24T00:35:05Z
Ghybu
1393
6235962
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.conj-table {
border-collapse: collapse;
border-spacing: 0px;
}
.conj-table th, .conj-table td {
padding: 3px;
}
.conj-table a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.title {
text-align: center;
font-weight: bold;
background-color: #EEC591;
border-top: 1px solid grey;
border-bottom: 1px solid grey;
}
.tense-table {
width: 100%;
border-collapse: collapse;
}
.mood {
text-align: center;
font-weight: bold;
background-color: #FFDCA8;
border-bottom: solid 1px grey;
border-top: solid 1px grey;
}
.negative, .positive {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 60px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
/***** vertical lay-out on narrow screens, both desktop and mobile *****/
@media screen and ( max-width: 748px ) {
.conj-table,
.conj-table > tbody,
.conj-table > tbody > tr,
.conj-table > tbody > tr > td {
display: block;
width: 100% !important;
height: auto;
box-sizing: border-box;
}
}
p6l9etb8kivtjdsaqpmdiiob47kt942
6235963
6235962
2026-05-24T01:01:35Z
Ghybu
1393
6235963
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.conj-table {
border-collapse: collapse;
border-spacing: 0px;
}
.conj-table th, .conj-table td {
padding: 3px;
}
.conj-table a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.title {
text-align: center;
font-weight: bold;
background-color: #EEC591;
border-top: 1px solid grey;
border-bottom: 1px solid grey;
}
.tense-table {
width: 100%;
border-collapse: collapse;
}
.mood {
text-align: center;
font-weight: bold;
background-color: #FFDCA8;
border-bottom: solid 1px grey;
border-top: solid 1px grey;
}
.negative, .positive {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 20px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
/***** vertical lay-out on narrow screens, both desktop and mobile *****/
@media screen and ( max-width: 748px ) {
.conj-table,
.conj-table > tbody,
.conj-table > tbody > tr,
.conj-table > tbody > tr > td {
display: block;
width: 100% !important;
height: auto;
box-sizing: border-box;
}
.agent{
color:green;
width: 150px !important;
max-width: 150px !important;
}
}
hcpfab4knres1xc15nhuprecykrifxg
6235970
6235963
2026-05-24T02:20:54Z
Ghybu
1393
6235970
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.conj-table {
border-collapse: collapse;
border-spacing: 0px;
}
.conj-table th, .conj-table td {
padding: 3px;
}
.conj-table a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.title {
text-align: center;
font-weight: bold;
background-color: #EEC591;
border-top: 1px solid grey;
border-bottom: 1px solid grey;
}
.tense-table {
width: 100%;
border-collapse: collapse;
}
.mood {
text-align: center;
font-weight: bold;
background-color: #FFDCA8;
border-bottom: solid 1px grey;
border-top: solid 1px grey;
}
.negative, .positive {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 20px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
/***** vertical lay-out on narrow screens, both desktop and mobile *****/
@media screen and ( max-width: 748px ) {
.conj-table,
.conj-table > tbody,
.conj-table > tbody > tr,
.conj-table > tbody > tr > td {
display: block;
width: 100% !important;
height: auto;
box-sizing: border-box;
}
.tense-table {
display: table !important;
}
.agent{
color:green;
width: 150px !important;
max-width: 150px !important;
}
}
dgc6cox1dp83t94p2fj3iw9m4t2juh5
6235971
6235970
2026-05-24T03:14:59Z
Ghybu
1393
6235971
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.conj-table {
border-collapse: collapse;
border-spacing: 0px;
}
.conj-table th, .conj-table td {
padding: 3px;
}
.conj-table a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.title {
text-align: center;
font-weight: bold;
background-color: #EEC591;
border-top: 1px solid grey;
border-bottom: 1px solid grey;
}
.tense-table {
width: 100%;
border-collapse: collapse;
}
.mood {
text-align: center;
font-weight: bold;
background-color: #FFDCA8;
border-bottom: solid 1px grey;
border-top: solid 1px grey;
}
.negative, .positive {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 20px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
/***** vertical lay-out on narrow screens, both desktop and mobile *****/
@media screen and ( max-width: 748px ) {
.conj-table,
.conj-table > tbody,
.conj-table > tbody > tr,
.conj-table > tbody > tr > td {
display: block;
width: 100% !important;
height: auto;
box-sizing: border-box;
}
.tense-table {
display: table !important;
}
.agent{
color:green;
width: 110px !important;
max-width: 110px !important;
}
}
cl5rr9qozlpixbg20hduhwf1pxuulps
6235974
6235971
2026-05-24T03:34:22Z
Ghybu
1393
6235974
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.conj-table {
width: 100%;
border-collapse: collapse;
border-spacing: 0px;
}
.conj-table th, .conj-table td {
padding: 3px;
}
.conj-table a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.title {
text-align: center;
font-weight: bold;
background-color: #EEC591;
border-top: 1px solid grey;
border-bottom: 1px solid grey;
}
.tense-table {
width: 100%;
border-collapse: collapse;
}
.tense-table-title {
border-bottom: solid 1px grey;
border-top: solid 1px grey;
}
.mood {
text-align: center;
font-weight: bold;
background-color: #FFDCA8;
border-bottom: solid 1px grey;
border-top: solid 1px grey;
}
.negative, .positive {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 20px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
/***** vertical lay-out on narrow screens, both desktop and mobile *****/
@media screen and ( max-width: 748px ) {
.conj-table,
.conj-table > tbody,
.conj-table > tbody > tr,
.conj-table > tbody > tr > td {
display: block;
width: 100% !important;
height: auto;
box-sizing: border-box;
}
.tense-table {
display: table !important;
}
.agent{
color:green;
width: 110px !important;
max-width: 110px !important;
}
}
7mgl8235s48fjdko7rvwgonfch88qvh
6235975
6235974
2026-05-24T03:50:26Z
Ghybu
1393
6235975
sanitized-css
text/css
/* [[Modul:ku-tewandin/tablo/ceribandin]] */
.conj-table {
border-collapse: collapse;
border-spacing: 0px;
}
.conj-table th, .conj-table td {
padding: 3px;
}
.conj-table a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.conj-table .title {
text-align: center;
font-weight: bold;
background-color: #FFCC99;
border-top: 1px solid grey;
border-bottom: 1px solid grey;
}
.tense-table {
width: 100%;
border-collapse: collapse;
}
.tense-table-title {
border-top: solid 1px grey;
border-bottom: solid 1px grey;
}
.mood {
text-align: center;
font-weight: bold;
background-color: #FFDCA8;
border-bottom: solid 1px grey;
border-top: solid 1px grey;
}
.negative, .positive {
background-color: #F4F4F4;
color: gray;
text-align: left;
}
.agent-title {
background-color: #d8f0d8;
color: gray;
text-align: left;
white-space: nowrap;
}
.object-title {
background-color: #c8dcff;
color: gray;
text-align: left;
width: 25px;
}
.agent{
color:green;
width: 80px !important;
max-width: 80px !important;
min-width: 20px !important;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.object {
color:blue;
text-align: center;
}
.present-stem {
background-color: #FFFFE0;
}
.past-stem {
background-color: #ECECFF;
}
.particle {
float:right;
color: black;
white-space: nowrap;
}
/* Dark mode */
html.skin-theme-clientpref-night .tablo-ser {
background-color: #663d08;
color: black;
}
html.skin-theme-clientpref-night .rawe {
background-color: #6D4512;
color: #111;;
}
html.skin-theme-clientpref-night .ereni,
html.skin-theme-clientpref-night .neyini {
background-color: #212222;
color: #54595d;
}
html.skin-theme-clientpref-night .reh-dema-niha {
background-color: #636971;
color: white;
}
html.skin-theme-clientpref-night .reh-dema-bori {
background-color: #485d75;
color: black;
}
/* ------------------------------------- */
.agent-title .toggle-width {
color: #0066cc;
cursor: pointer;
margin-left: 10px;
font-size: 0.8em;
}
.agent-title .arrow {
display: inline-block;
margin-left: 4px;
font-size: 1.3em;
transition: all 0.3s ease;
color: #555;
}
.tense-table.expanded .agent,
.tense-table.expanded td.agent {
width: auto !important;
max-width: none !important;
min-width: auto !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: unset !important;
}
.tense-table.expanded .arrow {
transform: rotate(90deg);
}
/***** vertical lay-out on narrow screens, both desktop and mobile *****/
@media screen and ( max-width: 748px ) {
.conj-table,
.conj-table > tbody,
.conj-table > tbody > tr,
.conj-table > tbody > tr > td {
display: block;
width: 100% !important;
height: auto;
box-sizing: border-box;
}
.tense-table {
display: table !important;
}
.agent{
color:green;
width: 110px !important;
max-width: 110px !important;
}
}
bqxautq24ew2r27e3xdsuusovtq9jq8
Modul:ku-tewandin/ceribandin
828
1356654
6235923
6235900
2026-05-23T15:05:43Z
Ghybu
1393
6235923
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
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.verbType(isCompoundVerb, preSimpleVerb)
local type
if (preSimpleVerb and preSimpleVerb ~= '' and not isCompoundVerb) then
type = 'preverbVerb'
elseif isCompoundVerb then
type = 'compoundVerb'
else
type = 'simpleVerb'
end
return type
end
-- ================================================================
-- INFLECTIONAL ENDINGS
-- Assigns verb inflectional endings (suffixes) to all tenses
-- ================================================================
local getEndings = {}
do
-- ───────────────────────────────────────────────────────────────
-- Ending using present stem
-- ───────────────────────────────────────────────────────────────
getEndings['present'] = function(self, stem)
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)
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)
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)
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)
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)
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)
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)
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)
local opts = opts or {}
local stem = opts.stem
local verbType = opts.verbType
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 (verbType == '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)
local 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)
local 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)
local 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), "indNCPluperfect"(-)(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
},
indNCPluperfect = {
name = "indNCPluperfect",
nameKu = "çîrokiya boriya dûdar",
nameEn = "nonconfirmative pluperfect",
mode = "indicative",
stem = "past",
preverb = nil,
negPreverb = nil,
negPrefix = getNegPrefix['ne'],
endings = getEndings['ibûme'],
preverbParticle = nil
},
-- SUBJUNCTIVE MOOD
subPresent = setmetatable({
name = "subPresent",
nameKu = "dema nihaya xwestekî",
nameEn = "present subjunctive",
mode = "subjunctive",
_common = commonRules.indFuture,
preverbParticle = nil
}, mt),
subPreterite = setmetatable({
name = "subPreterite",
nameKu = "dema boriya xwestekî",
nameEn = "preterite subjunctive",
mode = "subjunctive",
_common = commonRules.indFuturePerfect,
preverbParticle = nil,
}, mt),
subImperfect = setmetatable({
name = "subImperfect",
nameKu = "raboriya bilaniyê",
nameEn = "imperfect subjunctive",
mode = "subjunctive",
_common = commonRules.subImperfect,
preverbParticle = nil,
}, mt),
subPluperfect = setmetatable({
name = "subPluperfect",
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 verbType = export.verbType(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, verbType=verbType,
overrideBi=overrideBi, overrideDi=overrideDi}
end
else
if infoTense.preverb then
preverb = infoTense.preverb{stem=stem, verbType=verbType,
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
local presentStems = presentStems or {}
local 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['na'] 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 args = frame:getParent().args
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['na'] 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
tense = removeTags(tenseList[pers]) -- Remove tags
table.insert(concatList, tense)
end
return table.concat(concatList, ",")
end
local tenseList = {'indPresent','indPreterite','indImperfect',
'indPluperfect','indPerfect','indNCPluperfect',
'indFuture','indFuturePerfect',
'subImperfect','subPluperfect'
}
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
c62wg3bt2ki40g1dylbvp33644bebzy
6235977
6235923
2026-05-24T05:02:51Z
Ghybu
1393
6235977
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
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.verbType(isCompoundVerb, preSimpleVerb)
local type
if (preSimpleVerb and preSimpleVerb ~= '' and not isCompoundVerb) then
type = 'preverbVerb'
elseif isCompoundVerb then
type = 'compoundVerb'
else
type = 'simpleVerb'
end
return type
end
-- ================================================================
-- INFLECTIONAL ENDINGS
-- Assigns verb inflectional endings (suffixes) to all tenses
-- ================================================================
local getEndings = {}
do
-- ───────────────────────────────────────────────────────────────
-- Ending using present stem
-- ───────────────────────────────────────────────────────────────
getEndings['present'] = function(self, stem)
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)
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)
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)
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)
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)
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)
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)
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)
local opts = opts or {}
local stem = opts.stem
local verbType = opts.verbType
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 (verbType == '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)
local 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)
local 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)
local 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), "indNCPluperfect"(-)(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
},
indNCPluperfect = {
name = "indNCPluperfect",
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
subPresent = setmetatable({
name = "subPresent",
nameKu = "dema nihaya xwestekî",
nameEn = "present subjunctive",
mode = "subjunctive",
_common = commonRules.indFuture,
preverbParticle = nil
}, mt),
subPreterite = setmetatable({
name = "subPreterite",
nameKu = "dema boriya xwestekî",
nameEn = "preterite subjunctive",
mode = "subjunctive",
_common = commonRules.indFuturePerfect,
preverbParticle = nil,
}, mt),
subImperfect = setmetatable({
name = "subImperfect",
nameKu = "raboriya bilaniyê",
nameEn = "imperfect subjunctive",
mode = "subjunctive",
_common = commonRules.subImperfect,
preverbParticle = nil,
}, mt),
subPluperfect = setmetatable({
name = "subPluperfect",
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 verbType = export.verbType(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, verbType=verbType,
overrideBi=overrideBi, overrideDi=overrideDi}
end
else
if infoTense.preverb then
preverb = infoTense.preverb{stem=stem, verbType=verbType,
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
local presentStems = presentStems or {}
local 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['na'] 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 args = frame:getParent().args
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['na'] 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
tense = removeTags(tenseList[pers]) -- Remove tags
table.insert(concatList, tense)
end
return table.concat(concatList, ",")
end
local tenseList = {'indPresent','indPreterite','indImperfect',
'indPluperfect','indPerfect','indNCPluperfect',
'indFuture','indFuturePerfect',
'subImperfect','subPluperfect'
}
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
ff9m6lxdctswm0r6sx1twlhscbgzb7j
6235978
6235977
2026-05-24T05:10:21Z
Ghybu
1393
6235978
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
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.verbType(isCompoundVerb, preSimpleVerb)
local type
if (preSimpleVerb and preSimpleVerb ~= '' and not isCompoundVerb) then
type = 'preverbVerb'
elseif isCompoundVerb then
type = 'compoundVerb'
else
type = 'simpleVerb'
end
return type
end
-- ================================================================
-- INFLECTIONAL ENDINGS
-- Assigns verb inflectional endings (suffixes) to all tenses
-- ================================================================
local getEndings = {}
do
-- ───────────────────────────────────────────────────────────────
-- Ending using present stem
-- ───────────────────────────────────────────────────────────────
getEndings['present'] = function(self, stem)
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)
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)
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)
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)
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)
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)
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)
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)
local opts = opts or {}
local stem = opts.stem
local verbType = opts.verbType
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 (verbType == '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)
local 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)
local 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)
local 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
subPresent = setmetatable({
name = "subPresent",
nameKu = "dema nihaya xwestekî",
nameEn = "present subjunctive",
mode = "subjunctive",
_common = commonRules.indFuture,
preverbParticle = nil
}, mt),
subPreterite = setmetatable({
name = "subPreterite",
nameKu = "dema boriya xwestekî",
nameEn = "preterite subjunctive",
mode = "subjunctive",
_common = commonRules.indFuturePerfect,
preverbParticle = nil,
}, mt),
subImperfect = setmetatable({
name = "subImperfect",
nameKu = "raboriya bilaniyê",
nameEn = "imperfect subjunctive",
mode = "subjunctive",
_common = commonRules.subImperfect,
preverbParticle = nil,
}, mt),
subPluperfect = setmetatable({
name = "subPluperfect",
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 verbType = export.verbType(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, verbType=verbType,
overrideBi=overrideBi, overrideDi=overrideDi}
end
else
if infoTense.preverb then
preverb = infoTense.preverb{stem=stem, verbType=verbType,
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
local presentStems = presentStems or {}
local 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['na'] 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 args = frame:getParent().args
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['na'] 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
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',
'subImperfect','subPluperfect'
}
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
kno4as1yuvo1uvpr7j0x840erbfd0ky
6235980
6235978
2026-05-24T05:17:38Z
Ghybu
1393
6235980
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
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.verbType(isCompoundVerb, preSimpleVerb)
local type
if (preSimpleVerb and preSimpleVerb ~= '' and not isCompoundVerb) then
type = 'preverbVerb'
elseif isCompoundVerb then
type = 'compoundVerb'
else
type = 'simpleVerb'
end
return type
end
-- ================================================================
-- INFLECTIONAL ENDINGS
-- Assigns verb inflectional endings (suffixes) to all tenses
-- ================================================================
local getEndings = {}
do
-- ───────────────────────────────────────────────────────────────
-- Ending using present stem
-- ───────────────────────────────────────────────────────────────
getEndings['present'] = function(self, stem)
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)
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)
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)
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)
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)
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)
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)
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)
local opts = opts or {}
local stem = opts.stem
local verbType = opts.verbType
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 (verbType == '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)
local 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)
local 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)
local 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
subPresent = setmetatable({
name = "subPresent",
nameKu = "dema nihaya xwestekî",
nameEn = "present subjunctive",
mode = "subjunctive",
_common = commonRules.indFuture,
preverbParticle = nil
}, mt),
subPreterite = setmetatable({
name = "subPreterite",
nameKu = "dema boriya xwestekî",
nameEn = "preterite subjunctive",
mode = "subjunctive",
_common = commonRules.indFuturePerfect,
preverbParticle = nil,
}, mt),
subImperfect = setmetatable({
name = "subImperfect",
nameKu = "raboriya bilaniyê",
nameEn = "imperfect subjunctive",
mode = "subjunctive",
_common = commonRules.subImperfect,
preverbParticle = nil,
}, mt),
subPluperfect = setmetatable({
name = "subPluperfect",
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 verbType = export.verbType(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, verbType=verbType,
overrideBi=overrideBi, overrideDi=overrideDi}
end
else
if infoTense.preverb then
preverb = infoTense.preverb{stem=stem, verbType=verbType,
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
local presentStems = presentStems or {}
local 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['na'] 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 args = frame:getParent().args
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['na'] 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
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',
'subImperfect','subPluperfect'
}
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
sy2vrkxbirgs02cuzbyc8pzxdxiucsx
Gotûbêj:bera
1
1356899
6235987
6232261
2026-05-24T07:12:14Z
Ferhengvan
16
/* Etîmolojî */ Bersiv
6235987
wikitext
text/x-wiki
== Etîmolojî ==
Silav {{r|Ferhengvan}} tu li ser vê etîmolojîyê çi difikirî? Ez tesadufî li vê peyva latînî rast hatim û min got dibe ko beraya me jî hevreh be, guherîna w/b pêkan e lê wekî din nizanim. Ramana te çi ye li ser vê? [[Bikarhêner:Keyomerd|Keyomerd]] ([[Gotûbêja bikarhêner:Keyomerd|gotûbêj]]) 21:30, 7 nîsan 2026 (UTC)
:Merheba {{r|Keyomerd}} Bi ihtimaleke mezin kurtkirina "be rastî, bi rastî" ye lê min têbîniya te jî li wir hişt. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 07:12, 24 gulan 2026 (UTC)
3kzc8bs4nru25wla8ta40jr39l2w2yp
Şablon:ckb-tewîn-nav/style.css
10
1356998
6235976
6233581
2026-05-24T04:05:40Z
Ghybu
1393
6235976
sanitized-css
text/css
.ckb-tewin-nav .ku-Arab b {
background-color: #ffe0f0;
}
.ckb-tewin-nav a.new {
color: inherit;
text-decoration: none;
cursor: pointer;
}
.ckb-tewin-nav td span.ku-Arab {
display: block;
margin-top: 0.35em;
}
.ckb-tewin-nav td span.ku-Arab:first-child {
margin-top: 0;
}
.ckb-tewin-nav .tr.Latn {
color: gray;
}
.ckb-tewin-nav .mention-gloss-paren.annotation-paren {
display: none;
}
.ckb-tewin-nav td {
line-height: 1.5;
}
.ckb-tewin-nav table {
display: table;
}
k5dgxbqmqatkwzxonpp5oz8g2r5muj1
sêfikan
0
1357238
6235926
6235797
2026-05-23T15:10:03Z
Bikarhêner
3719
6235926
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Serenav ===
{{serenav|ku|z=m}}
# [[qebîleyeke|Qebîleyeke]] [[eşîrê]] [[reşî]] ([[anku]] [[reşan|Reşan]]) ku [[piraniya]] [[wan]] li [[Qonye|Qonyeyê]], [[Semsûr]]ê û [[Mereş]]ê [[dijî]], û ku [[bi]] [[kurmanciya berfiratî]] [[axaftin|daxive]].
#: {{mk|ku|Tu xelkê kê yî?|Ez xelkê '''sêfiko''' me.|rêz=2}}
==== Etîmolojî ====
{{ji?|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
{{mijar|ku|Eşîrên kurdan}}
entt53o3n8blvcz6qz3ojqofoletwyu
cutikan
0
1357239
6235922
6235822
2026-05-23T15:03:12Z
Bikarhêner
3719
Bikarhêner rûpela [[Cutikan]] bêyî beralîkirinek bar kir [[cutikan]]
6235822
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Serenav ===
{{serenav|ku|z=?}}
# [[qebîleyeke|Qebîleyeke]] [[eşîrê]] [[reşî]] ([[anku]] [[reşan|Reşan]]) ku li [[Qonyê]] [[rûdine]].
#: {{mk|ku|ez xelkê cutiko me}}
==== Etîmolojî ====
{{ji?|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
fcwxqf0057k890sw7cvxuaymhssswam
6235927
6235922
2026-05-23T15:10:05Z
Bikarhêner
3719
6235927
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Serenav ===
{{serenav|ku|z=m}}
# [[qebîleyeke|Qebîle]]yeke [[eşîr]]ê [[reşî]] ([[anku]] [[reşan|Reşan]]) ku li [[Qonye|Qonyeyê]] [[rûniştin|rûdine]].
#: {{mk|ku|Ez xelkê '''cutiko''' me.}}
==== Etîmolojî ====
{{ji?|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
{{mijar|ku|Eşîrên kurdan}}
q92pmk3qrdlp4ysctc0gqmiqbposmtz
մշակույթ
0
1357242
6235917
2026-05-23T13:47:47Z
Kurd87612
13535
([[Mediawiki:Gadget-start.js|WF:Nû]]) +hy:navdêr:# [[çande|Çande]], [[kultûr]].#* {{bêmînak|hy}}
6235917
wikitext
text/x-wiki
== {{ziman|hy}} ==
=== Navdêr ===
{{navdêr|hy|tr=mšakuyt}}
# [[çande|Çande]], [[kultûr]].
#* {{bêmînak|hy}}
cm901yez8542ale0f1ci1194qb4iwf8