Wîkîferheng
kuwiktionary
https://ku.wiktionary.org/wiki/Destp%C3%AAk
MediaWiki 1.47.0-wmf.16
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
ker
0
3570
6342018
6341018
2026-08-24T13:00:21Z
Wikihez
7344
/* Navdêr 1 */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342018
wikitext
text/x-wiki
{{bnr-h|ker|kêr|kerr|kêrr|-ker}}
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{q|ku|ker|cuda=(dewarek)|id=dewarek}} {{IPA|ku|/kʰɜɾ/}}, {{arF|کهر}}
** {{deng|ku|LL-Q36368 (kur)-Dildadil-ker.wav|dever=Amed}}
*** {{beş|Navdêr 1}} {{deng|ku|LL-Q36163 (kmr)-Key Mîrza-ker (navdêr 1).wav|dever=Bidlîs}}
* {{beş|Navdêr 3}} {{deng|ku|LL-Q36163 (kmr)-Ebulfîda-ker (Navdêr 3).wav|dever=Bidlîs}}
* {{q|ku|ker|cuda=(parçe)|id=parçe}} {{IPA|ku|/kɜɾ/}}, {{arF|کهر}}
** {{q|ku|ker|cuda=(koma pezî)|id=koma pezî}} {{IPA|ku|/kɜɾ/}}, {{arF|کهر}}
*** {{deng|ku|LL-Q36368 (kur)-Mihemed Qers-ker(koma pez).wav|dever=Qers}}
**** {{beş|Navdêr 4}} {{deng|ku|LL-Q36163 (kmr)-Key Mîrza-ker (navdêr 4).wav|dever=Bidlîs}}
* {{q|ku|ker|cuda=(guhgiran)|id=guhgiran}} {{IPA|ku|/kɜr/}}, {{arF|کهڕ}}
** {{deng|ku|LL-Q36368 (kur)-Mihemed Qers-kerr.wav|dever=Qers}}
*** {{deng|ku|LL-Q36368 (kur)-Dildadil-ker (kesê ku nabihîze).wav|dever=Amed}}
**** {{deng|ku|Kmr-Efrîn--kerr.oga|dever=Efrîn}}
**** {{beş|Rengdêr 1}} {{deng|ku|LL-Q36163 (kmr)-Key Mîrza-ker (rengdêr 1).wav|dever=Bidlîs}}
***** {{deng|ku|LL-Q36163 (kmr)-Key Mîrza-ker (rengdêr).wav|Deng|dever=Bidlîs}}
=== Navdêr 1 ===
[[Wêne:Donkey in Clovelly, North Devon, England.jpg|thumb|Kerek (1)]]
[[Wêne:S Veahmätle13.JPG|thumb|'''Kerê''' pezî (2)]]
{{navdêr|ku|z=n}}
# {{maneid|ku|dewarek}} {{f|ku|guhandar}} [[cûn|Cûnek]] [[dewar]]an e ku [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir e <br>(bi taybetî bo barhilgirtinê tê bikaranîn).
#* {{J:Melayê Cizîrî:Dîwana Melayê Cizîrî|jêgirtin=ابله چه کت طوافی نابینتن بری رش</br>بیزی دکت ژ قنجان ژ رمز و ناز و غنجان</br>قدری گلان چه زانت کربش دڤیت '''کری''' رش|tr=Ebleh çi kit ṭewafê nabînitin Berê reş</br>Bêzê dikit ji qencan ji remz û naz û x̣encan</br>Qedrê gulan çi zanit kerbeş divêt '''kerê''' reş}}
# {{maneid|ku|koma pezî}} [[kom|Komeke]] [[pez]]î, [[garan]]a pezî, [[ber]]ê pezî
# {{maneid|ku|bêaqil}} {{f|ku|mecazî}} [[bêaqil|Bêaqil]], [[bêhiş]], [[bêmejî]], [[mejîreş]], [[aqilsivik]], [[nezan]].
# {{f|ku|mecazî|heqaret}} (ji peyva ker a heywan) ji bo kesê zir, serhişk û bêpîr û şerde
#* {{J:Firat Cewerî:Girtî:1986|jêgirtin=- Hûn in, ha!. . . Ji bo çi hûn diziyê dikin '''ker''' lawê '''keran'''?}}
==== Tewandin ====
{{ku-tewîn-nav/nû|nêr}}
==== Notên bikaranînê ====
{{agadarî}} Di gelek devokên kurmancî de '''ker''' tenê bo van cûn dewarên nêr bi kar tê. Yên mê '''[[maker]]''' in.
==== Jê ====
{{kol3|ku
| keratî
| kerçove
| kerçovetî
| kerî
| kerînî
| kerîtî
| kertî
| kurrûk
| maker
| nêreker
}}
==== Etîmolojî ====
Ji {{mîr|ira-pro||*xárah||ker}}, ji {{mîr|iir-pro||*kʰáras||ker}}; belkî taliyê ji zimanekî [[samî]]{{çp}}, bo nimûne ji {{ji|akk|ku|tr=xeradu|w=ker, nêreker}}.{{çp}}
Hevreha soranî {{g|ckb|کهر|tr=ker}}, zazakî {{q|zza|her}}, hewramî {{g|hac|ھەر|tr=her}}, farisî {{g|fa|خر|tr=xer}}, avestayî {{g|ae|𐬑𐬀𐬭𐬀|tr=xere}}, sanskrîtî {{g|sa|खर|tr=khére}}, osetî {{g|os|хӕрӕг|tr=xereg}}, peştûyî {{g|ps|خر|tr=xer}}, belûçî {{g|bal|ہر|tr=her}}.
==== Gotinên pêşiyan ====
* [[şîreta kîrê ker e]]
==== Bi zaravayên din ====
* {{Z|ckb}}: {{W-|ckb|کەر|tr=ker}}
* {{Z|sdh}}: {{W-|sdh|xer|sc=Latn}}
* {{Z|lki}}: {{W-|lki|xer|sc=Latn}}
* {{Z|hac}}: {{W-|hac|her|sc=Latn}}
* {{Z|zza}}: {{W-|zza|her}}
==== Werger ====
{{werger-ser|dewarek}}
* {{Z|ab}}: {{W-|ab|аҽада}}
* {{Z|ady}}: {{W-|ady|щыды}}
* {{Z|aa}}: {{W-|aa|danán|n}}
* {{Z|af}}: {{W+|af|donkie}}
* {{Z|akk}}: {{W-|akk|𒀲|n|tr=imēru}}
* {{Z|sq}}: {{W+|sq|gomar|n}}, {{W-|sq|magar|n}}
* {{Z|de}}: {{W+|de|Esel|n}}; {{W+|de|Grauchen|nt}}, {{W-|de|Grautier|nt}}
* {{Z|alt}}: {{W-|alt|эштек}}
* {{Z|am}}: {{W-|am|አህያ|tr=äheyya}}
* {{Z|ani}}: {{W-|ani|гьаморохи}}
* {{Z|arc}}:
*: {{Z|syc}}: {{W-|syc|ܚܡܪܐ|g|tr=ḥəmārā}}, {{W-|syc|ܚܡܪܬܐ|m|tr=ḥəmārtā}}, {{W-|syc|ܐܬܢܐ|m|tr=ʾăṯānā}}
*: {{Z|tmr}}: {{W-|arc|חֲמָרָא|n|tr=ḥămārā}}
* {{Z|rup}}: {{W-|rup|cãci}}, {{W-|rup|dãngã}}, {{W-|rup|gumar}}, {{W-|rup|dãnglãrã}}, {{W-|rup|shonj}}, {{W-|rup|tãronj}}, {{W-|rup|uci}}, {{W-|rup|uricljat}}, {{W-|rup|tar}}
* {{Z|as}}: {{W-|as|গাধ}}
* {{Z|ast}}: {{W+|ast|burru|n}}, {{W+|ast|burra|m}}, {{W+|ast|pollín|n}}
* {{Z|aot}}: {{W-|aot|gada}}
* {{Z|av}}: {{W-|av|хӏама}}
* {{Z|awa}}: {{W-|awa|गदहा|n}}
* {{Z|az}}: {{W+|az|eşşək}}, {{W-|az|ulaq}}
* {{Z|bdr}}: {{W-|bdr|keribas}}
* {{Z|eu}}: {{W+|eu|asto}}
* {{Z|ba}}: {{W-|ba|ишәк}}
* {{Z|sne}}: {{W-|sne|kaldei}}
* {{Z|be}}: {{W-|be|асёл|n}}
* {{Z|bal}}: {{W-|bal|ہر|tr=har}}
* {{Z|bn}}: {{W+|bn|গাধা}}
* {{Z|br}}: {{W+|br|azen|n}}
* {{Z|bdk}}: {{W-|bdk|лем}}
* {{Z|bg}}: {{W-|bg|мага́ре|nt}}, {{W-|bg|осе́л|n}}
* {{Z|my}}: {{W+|my|မြည်း}}
* {{Z|bua}}: {{W-|bua|элжэгэн}}
* {{Z|ce}}: {{W-|ce|вир}}
* {{Z|cs}}: {{W+|cs|osel|n}}
* {{Z|chr}}: {{W-|chr|ᏗᎦᎵᏅᎯᏛ}}
* {{Z|chy}}: {{W-|chy|a'éevo'ha}}
* {{Z|ny}}: {{W-|ny|bulu}}
* {{Z|cic}}: {{W-|cic|haksibish falaa'}}
* {{Z|zh}}:
*: {{Z|yue}}: {{W-|yue|驢|tr=leoi4}}, {{W-|yue|驢仔|tr=leoi4 zai2}}
*: {{Z|dng}}: {{W-|dng|лү}}
*: {{Z|hak}}: {{W-|hak|驢仔|tr=lì-è}}
*: {{Z|cmn}}: {{W+|cmn|驢|tr=lǘ}}, {{W-|cmn|驢子|tr=lǘzi}}
*: {{Z|cdo}}: {{W-|cdo|驢|tr=lè̤}}
*: {{Z|nan}}: {{W+|nan|驢|tr=lîr / lû / lî}}, {{W+|nan|驢仔|tr=lû-á / lî-á / lîr-á}}
*: {{Z|wuu}}: {{W-|wuu|驢}}
* {{Z|cv}}: {{W-|cv|ашак}}
* {{Z|chk}}: {{W-|chk|tongki}}
* {{Z|dlm}}: {{W-|dlm|samur|n}}
* {{Z|da}}: {{W+|da|æsel|nt}}
* {{Z|dv}}: {{W-|dv|ހިާމރު}}
* {{Z|ovd}}: {{W-|ovd|åsn|m}}
* {{Z|id}}: {{W+|id|keledai}}
* {{Z|ar}}: {{W+|ar|حِمَار|n}}
*: {{Z|arz}}: {{W-|arz|حمار|n|tr=ḥumār, ḥmār}}
*: {{Z|acw}}: {{W-|acw|حُمار|n|tr=ḥumār}}
*: {{Z|acm}}: {{W-|acm|زمال|n|tr=zmāl}}
*: {{Z|afb}}: {{W-|afb|حمار|n|tr=ḥmār}}
*: {{Z|aeb}}: {{W-|aeb|بهيم|n|tr=bhīm}}
*: {{Z|ary}}: {{W-|ary|حمار|n|tr=ḥmār}}, {{W-|ary|حمارة|m|tr=ḥmāra}}, {{W-|ary|دحش|tr=daḥš}}, {{W-|ary|دحشة|m|tr=daḥša}}
* {{Z|hy}}: {{W+|hy|էշ}}, {{W+|hy|ավանակ}}
* {{Z|eo}}: {{W+|eo|azeno}}
* {{Z|et}}: {{W+|et|eesel}}
* {{Z|gez}}: {{W-|gez|አድግ}}
* {{Z|ee}}: {{W-|ee|tedzi|nt}}
* {{Z|fa}}: {{W+|fa|خر|tr=xar}}, {{W+|fa|الاغ|tr=olâğ}}
* {{Z|fo}}: {{W-|fo|asni}}
* {{Z|fi}}: {{W+|fi|aasi}}
* {{Z|fro}}: {{W-|fro|asne|n}}
* {{Z|fr}}: {{W+|fr|âne|n}}
* {{Z|fur}}: {{W-|fur|mus}}
* {{Z|fy}}: {{W-|fy|ezel}}
* {{Z|gd}}: {{W-|gd|asal|m}}
* {{Z|gag}}: {{W-|gag|eşek}}, {{W-|gag|yeşek}}
* {{Z|gl}}: {{W+|gl|asno}}, {{W+|gl|burro}}
* {{Z|got}}: {{W-|got|𐌰𐍃𐌹𐌻𐌿𐍃}}
* {{Z|gu}}: {{W-|gu|ગધેડો}}
* {{Z|ka}}: {{W+|ka|ვირი}}, {{W+|ka|ჯორი}}
* {{Z|ha}}: {{W+|ha|jaki}}
* {{Z|hi}}: {{W+|hi|गधा|n}}
* {{Z|nl}}: {{W+|nl|ezel|n}}
* {{Z|he}}: {{W-|he|חֲמוֹר|n|tr=khamór}}, {{W-|he|אָתוֹן|m|tr=atón}}
* {{Z|io}}: {{W+|io|asno}}
* {{Z|ang}}: {{W-|ang|esol|n}}
* {{Z|en}}: {{W+|en|donkey}}
* {{Z|inh}}: {{W-|inh|вир}}
* {{Z|ia}}: {{W-|ia|asino}}
* {{Z|ga}}: {{W+|ga|asal|n}}
* {{Z|ist}}: {{W-|ist|samèri|n-p}}
* {{Z|it}}: {{W+|it|asino|n}}, {{W+|it|somaro|n}}, {{W-|it|buricco|n}}, {{W+|it|ciuco}}
* {{Z|is}}: {{W+|is|asni}}
* {{Z|ja}}: {{W+|ja|驢馬|tr=ろば, roba}}, {{W+|ja|ロバ|tr=roba}}
* {{Z|kab}}: {{W-|kab|aɣyul|n}}
* {{Z|kl}}: {{W-|kl|siutitooq}}
* {{Z|xal}}: {{W-|xal|элҗгн}}
* {{Z|ktb}}: {{W-|ktb|harreta}}
* {{Z|kn}}: {{W+|kn|ಕತ್ತೆ}}
* {{Z|krc}}: {{W-|krc|эшек|tr=eşek}}
* {{Z|csb}}: {{W-|csb|osoł|n}}, {{W-|csb|òseł}}
* {{Z|ca}}: {{W+|ca|ase|n}}, {{W+|ca|somera|m}}, {{W+|ca|burro|n}}, {{W+|ca|burra|m}}, {{W+|ca|ruc|n}}, {{W+|ca|ruca|m}}
* {{Z|qu}}: {{W-|qu|wuru}}, {{W-|qu|asnu}}
* {{Z|ks}}: {{W-|ks|خَر|n}}
* {{Z|ky}}: {{W+|ky|эшек}}
* Ladin:
*: {{Z|lld}}: {{W-|lld|musciat|n}}
*: {{Z|lld}}: {{W-|lld|müsc|n}}
*: {{Z|lld}}: {{W-|lld|èsen|n}},{{W-|lld|musciat|n}}
* {{Z|si}}: {{W+|si|බූරුවා}}
* {{Z|ko}}: {{W+|ko|당나귀}}, {{W+|ko|나귀}}
* {{Z|rop}}: {{W-|rop|ginggong ginggong}}
* {{Z|la}}: {{W-|la|asellus}}, {{W-|la|asinus|n}}
* {{Z|lv}}: {{W-|lv|ēzelis|n}}
* {{Z|lo}}: {{W-|lo|ລາ}}, {{W-|lo|ມ້າລໍ}}
* {{Z|lzz}}: {{W-|lzz|ეშეღი}}
* {{Z|lez}}: {{W-|lez|лам}}
* {{Z|lij}}: {{W-|lij|ase}}
* {{Z|li}}: {{W+|li|aezel}}
* {{Z|lt}}: {{W+|lt|asilas|n}}
* {{Z|khb}}: {{W-|khb|ᩃᩣ}}
* {{Z|lb}}: {{W-|lb|Iesel|n}}
* {{Z|luo}}: {{W-|luo|punda}}
* {{Z|mk}}: {{W-|mk|магаре|nt}}
* Malay:
*: {{Z|ms}}: {{W-|ms|کلداي}}, {{W-|ms|حمار}}
*: Rûmî: {{W+|ms|keldai}}, {{W-|ms|himar}}
* {{Z|ml}}: {{W+|ml|കഴുത}}
* {{Z|mt}}: {{W-|mt|ħmar|n}}
* {{Z|mnc}}: {{W-|mnc|ᡝᡳᡥᡝᠨ}}
* {{Z|gv}}: {{W-|gv|assyl|n}}
* {{Z|mi}}: {{W-|mi|kāihe}}
* {{Z|mr}}: {{W+|mr|गाढव|n}}
* {{Z|mhr}}: {{W-|mhr|осёл}}
* {{Z|hu}}: {{W+|hu|szamár}}
* {{Z|xmf}}: {{W-|xmf|გირინი}}
* {{Z|mel}}: {{W-|mel|keledai}}
* {{Z|egy}}: {{W-egy|ꜥꜣ|n|h=aA:D52-E7}}
* {{Z|mdf}}: {{W-|mdf|ишме}}
* {{Z|mn}}: {{W+|mn|илжиг}}
* {{Z|nap}}: {{W-|nap|ciuccio}}
* {{Z|nv}}: {{W-|nv|télii|sc=Latn}}
* {{Z|nds}}: {{W+|nds|Esel|n}}
* {{Z|nrf}}: {{W-|nrf|âne|n}}
* {{Z|no}}: {{W+|no|esel|nt}}
* {{Z|oc}}: {{W+|oc|ase}}, {{W+|oc|asne|n}}
* {{Z|or}}: {{W+|or|ଗଧ}}
* {{Z|om}}: {{W+|om|harree}}
* {{Z|os}}: {{W-|os|хӕрӕг}}
* {{Z|ota}}: {{W-|ota|اشك|tr=eşek}}
* {{Z|ug}}: {{W-|ug|ئېشەك}}
* {{Z|uz}}: {{W+|uz|eshak}}
* {{Z|pi}}: {{W-|pi|gadrabha|n}}
* {{Z|ps}}: {{W+|ps|خر|n|tr=xar}}
* {{Z|pdt}}: {{W-|pdt|Äsel|n}}
* {{Z|pox}}: {{W-|pox|asål|n}}
* {{Z|pl}}: {{W+|pl|osioł|n}}, {{W+|pl|oślica|m}}
* {{Z|pt}}: {{W+|pt|asno|n}}, {{W+|pt|jerico|n}}, {{W+|pt|jegue|n}}, {{W+|pt|jumento|n}}, {{W+|pt|burro|n}}
* {{Z|pa}}: {{W-|pa|ਗਧਾ}}
* {{Z|kk}}: {{W-|kk|есек}}
* {{Z|cop}}: {{W-|cop|ⲉⲱ}}
* {{Z|rm}}: {{W-|rm|asen}}
* {{Z|rom}}: {{W-|rom|magari|n}}, {{W-|rom|magarka|m}}
* {{Z|ro}}: {{W+|ro|măgar|n}}, {{W+|ro|asin|n}}
* {{Z|ru}}: {{W+|ru|осёл|n}}, {{W-|ru|осли́ца|m}}, {{W-|ru|иша́к|n}}
* {{Z|ssy}}: {{W-|ssy|zanan}}
* {{Z|se}}: {{W-|se|ásen}}
* {{Z|sm}}: {{W-|sm|asini}}
* {{Z|sa}}: {{W+|sa|गर्दभ|n}}
* {{Z|sc}}: {{W-|sc|burriccu}}, {{W-|sc|molenti}}, {{W-|sc|molingianu}}, {{W-|sc|àinu}}
*: {{Z|sc}}: {{W-|sc|àinu}}, {{W-|sc|bestiolu}}, {{W-|sc|molènti}}, {{W-|sc|bistrassu}}
*: {{Z|sc}}: {{W-|sc|poleddu}}, {{W-|sc|polléddu}}, {{W-|sc|pulléddu}}, {{W-|sc|àinu}}, {{W-|sc|àinu}}
* {{Z|scn}}: {{W+|scn|sceccu|n}}
* {{Z|sid}}: {{W-|sid|harre}}
* {{Z|sd}}: {{W-|sd|گڏھ|tr=gaḋahu}}
* {{Z|sh}}:
*: Kirîlî: {{W-|sh|ма̀гарац|n}}, {{W-|sh|то̀вар|n}}
*: Latînî: {{W+|sh|màgarac|n}}, {{W+|sh|tòvar|n}}
* {{Z|sco}}: {{W-|sco|cuddie}}
* {{Z|cu}}:
*: Kirîlî: {{W-|cu|осьлъ|n}}
* {{Z|orv}}: {{W-|orv|осьлъ|n}}
* {{Z|sk}}: {{W-|sk|somár|n}}, {{W+|sk|osol|n}}
* {{Z|sl}}: {{W+|sl|osel|n}}, {{W-|sl|oslica|m}}
* {{Z|so}}: {{W+|so|dameer|n}}
* Sorbî:
*: {{Z|dsb}}: {{W-|dsb|ezel|n}}, {{W-|dsb|wósoł|n}}
*: {{Z|hsb}}: {{W-|hsb|wosoł|n}}
* {{Z|st}}: {{W+|st|tonki}}
* {{Z|es}}: {{W+|es|asno|n}}, {{W+|es|burro|n}}, {{W+|es|jumento}}
* {{Z|sux}}: {{W-|sux|𒀲|tr=ANŠE}}
* {{Z|sw}}: {{W+|sw|punda}}
* {{Z|sv}}: {{W+|sv|åsna}}
* {{Z|tg}}: {{W+|tg|хар}}
* {{Z|tl}}: {{W+|tl|asno}}, {{W-|tl|buriko}}
* {{Z|ta}}: {{W+|ta|கழுதை}}
* {{Z|twf}}: {{W-|twf|mùldu’úna}}
* {{Z|rif}}: {{W-|rif|aɣyur|n}}
* {{Z|th}}: {{W+|th|ลา}}
* {{Z|te}}: {{W+|te|గాడిద}}
* {{Z|crh}}: {{W-|crh|eşek}}
* {{Z|tt}}: {{W+|tt|ишәк}}
* {{Z|ti}}: {{W-|ti|ኣድጊ}}
* {{Z|tr}}: {{W+|tr|eşek}}, {{W+|tr|merkep}}, {{W+|tr|sıpa}}
* {{Z|tk}}: {{W-|tk|eşek}}
* {{Z|bo}}: {{W-|bo|བོང་བུ}}
* {{Z|tpi}}: {{W-|tpi|donki}}, {{W-|tpi|esel}}
* {{Z|txb}}: {{W-|txb|kercapo}}
* {{Z|tum}}: {{W-|tum|bulu}}
* {{Z|tyv}}: {{W-|tyv|элчиген}}
* {{Z|udi}}: {{W-|udi|елем}}
* {{Z|udm}}: {{W-|udm|ишак}}, {{W-|udm|осёл}}
* {{Z|ur}}: {{W-|ur|گدھا|n|tr=gadhā}}
* {{Z|uk}}: {{W-|uk|осе́л|n}}, {{W-|uk|віслю́к|n}}, {{W-|uk|іша́к|n}}
* {{Z|vec}}: {{W+|vec|muso|n}}, {{W+|vec|àxeno|n}}
* {{Z|vi}}: {{W+|vi|lừa}}
* {{Z|vo}}: {{W+|vo|cuk}}
* {{Z|wa}}: {{W+|wa|ågne|n|m}}, {{W+|wa|bådet|n}}, {{W+|wa|både|m}}, {{W+|wa|bourike|m}}, {{W+|wa|ågntea|n}}
* {{Z|wbl}}: {{W-|wbl|xur}}
* {{Z|cy}}: {{W-|cy|asyn|n}}
* {{Z|wo}}: {{W-|wo|mbaam-sëf|cuda=mbaam-sëf mi}}, {{W-|wo|mbaam-sëf}}
* {{Z|km}}: {{W-|km|សត្វលា}}, {{W+|km|លា}}
* {{Z|xh}}: {{W-|xh|imbongolo}}
* {{Z|sah}}: {{W-|sah|осёл}}
* {{Z|yi}}: {{W-|yi|אייזל|n}}, {{W-|yi|חמור|n|tr=khamer}}
* {{Z|yo}}: {{W-|yo|kẹ́tẹ́kẹ́tẹ́}}
* {{Z|el}}: {{W+|el|γάιδαρος|n}}, {{W+|el|γαϊδούρα|m}}, {{W+|el|γαϊδούρι|nt}}, {{W+|el|όνος|n|m}}
*: Kevn: {{W-|grc|ὄνος|n|m}}
* {{Z|zu}}: {{W-|zu|imbongolo}}, {{W-|zu|udonki}}
* {{Z|zun}}: {{W-|zun|moshok'o}}
{{werger-bin}}
:{{werger çavkanî|en|donkey|beş=Ev qismê Wergerê|oldid=75539477}}
=== Navdêr 2 ===
[[Wêne:Cut-apple-slices_21575-480x360_(4900266300).jpg|thumb|Çend '''kerên''' sêvan.]]
{{navdêr|ku|z=n}} {{k-ya nerm}}
# {{maneid|ku|parçe}} [[felqe]], [[parçe]], [[qet]], [[par]], [[pirt]]<br> (bi taybetî ya ku bi [[kêr]]ê hatiye [[birîn]]).
#* ''Hisreta me '''kerî nanê reş''', [[kas]]ek dewê tirş, [[yan]]ê hin [[toraq]] bû; lê dîsa em ji hale xwe razî bûn.''<ref>1931, ''Hakob Qezeryan-Lazo'', ''Serhatiya Casim'', guhastin:Haciyê Cindî-Emînê Evdal </ref>
#: {{mk|ku|'''Kerek''' ji sêva xwe da min.}}
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Cewherek lê kir nezer ew bû du '''ker'''<br />Paşê Wî çêkir ji nûra [[namuwer]]}}
==== Bi alfabeyên din ====
* {{ku-ar|کهر}}
==== Formên alternatîv ====
* {{g|ku|kert}}
==== Jê ====
{{kol3|ku
| kerker
| ker kirin
| kerkirin
| kerkirî
| kêr
| ker bûn<q:lêker>
| ker kirin<q:lêker>
| kerbûn<q:navdêr>
| kerkirin<q:navdêr>
| kerbûyî<q:rengdêr>
| kerkirî<q:rengdêr>
}}
==== Etîmolojî ====
Hevreha soranî {{g|ckb|کهرت|tr=[[kert]]}}, hewramî û zazakî {{q|zza|kerd}}, [[kurdiya başûrî]] {{q|sdh|qeł|sc=Latn}}, belûçî {{q|bal||tr=karç}}, farisî {{g|fa|کارد|tr=kard}}, pehlewî ''kart'', avestayî ''kerite-'', sanskrîtî ''krti-'', ermeniya kevn {{g|xcl|քերեմ|tr=k'êrêm|w=[[jê birin]], [[xîç]] kirin}}, yûnaniya kevn {{g|grc|κείρω|tr=kêiro|w=[[birîn]], [[cew]] kirin}}, latînî {{q|la|curtus|w=[[kurt]]}}, îngilîzî {{q|en|share|w=[[par]], [[beş]]}}, {{q|en|shear|w=[[birîn]], [[cew]] kirin}}, {{q|en|short|w=[[kurt]]}}, hemû ji {{ji|ine-pro|ku|*(s)ker-|w=[[birîn]], [[jê kirin]]}}.
:<font style="font-size:10px">'''Çavkanî:''' [[Şablon:Cheung|Cheung p.243]], [[Şablon:Horn|Horn p.185]], [[Şablon:MacKenzie|MacKenzie P.129]], [[Şablon:Watkins|Watkins p.100]] </font> | <font style="font-size:10px">'''Pokorny: '''941 - 942</font>
:<font style="font-size:10px">'''[[Hevreh]]''': [[kêr]] [[kurt]], [[çerm]]</font>
==== Bi zaravayên din ====
* {{Z|ckb}}: [[kert]]
* {{Z|sdh}}: [[qeł]]
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Brotscheibe|m}}, {{W+|de|Scheibe|m}}, {{W+|de|Anteil|n}}, {{W+|de|Teil|n}}, {{W+|de|Stück|nt}}
* {{Z|be}}: {{W-|be|лу́ста|m}}, {{W-|be|скрыль|n}}, {{W-|be|скі́ба|m}}
* {{Z|bg}}: {{W+|bg|филия|nt}}, {{W+|bg|резен|n}}
* {{Z|cs}}: {{W+|cs|krajíc|n}}, {{W+|cs|plátek|n}}
* {{Z|zh}}:
*: {{Z|yue}}: {{W-|yue|片|tr=pin3}}
*: {{Z|cmn}}: {{W+|cmn|片|tr=piàn}}
* {{Z|da}}: {{W+|da|skive|g}}
* {{Z|ar}}: {{W-|ar|شريحة|m}}
* {{Z|eo}}: {{W-|eo|tranĉaĵo}}
* {{Z|et}}: {{W-|et|viilukas}}, {{W-|et|viil}}
* {{Z|fa}}: {{W+|fa|قاچ|tr=qâč}}, {{W+|fa|تیکه|tr=tikke}}, {{W+|fa|لزگه|tr=lazge}}, {{W+|fa|کرچ|tr=karč}}
* Polish: [[plaster]], [[plasterek]] ; [[kromka]], [[pajda]] ; [[kawałek]] ;
* {{Z|fi}}: {{W+|fi|viipale}}
* {{Z|fr}}: {{W+|fr|tranche|m}}, {{W+|fr|tronçon|n}}
* {{Z|gd}}: {{W-|gd|sliseag|m}}
* {{Z|gl}}: {{W+|gl|rebanda|m}}, {{W+|gl|toro|n}}, {{W-|gl|tallada|m}}, {{W+|gl|posta|m}}
* {{Z|nl}}: {{W+|nl|plak|nt}}, {{W+|nl|schijf|nt}}
* {{Z|he}}: {{W-|he|פְּרוּסָה|m|tr=prusá}}, {{W-|he|נֵתַח|n|tr=nétaḥ}}, {{W-|he|פֶּלַח|n|tr=pélaḥ}}
* {{Z|io}}: {{W+|io|loncho}}
* {{Z|en}}: {{W+|en|slice}}
* {{Z|izh}}: {{W-|izh|pytky}}
* {{Z|it}}: {{W+|it|fetta|m}}, {{W+|it|trancio|n}}
* {{Z|is}}: {{W-|is|sneið|m}}
* {{Z|ja}}: {{W-|ja|切れ|tr=きれ, kire|sc=Jpan}}, {{W+|ja|一片|tr=いっぺん, ippen|sc=Jpan}}, {{W-|ja|スライス|tr=suraisu|sc=Jpan}}
* {{Z|ca}}: {{W+|ca|llesca|m}}
* {{Z|ko}}: {{W+|ko|부분}}, {{W+|ko|몫}}, {{W-|ko|슬라이스}}
* {{Z|lv}}: {{W+|lv|rika|m}}
* {{Z|lo}}: {{W-|lo|ປ່ຽງ}}, {{W-|lo|ແຜ່ນບາງໆ}}
* {{Z|lt}}: {{W-|lt|riekė̃|m}}
* {{Z|mi}}: {{W-|mi|kōripi}}, {{W-|mi|topenga}}
* {{Z|hu}}: {{W+|hu|szelet}}, {{W+|hu|karéj}}
* {{Z|egy}}: {{W-egy|fdq|h=f:d-q-Z9:D40}}
* {{Z|nrf}}: {{W-|nrf|tranche|m}}
* {{Z|pt}}: {{W+|pt|fatia}}
* {{Z|ro}}: {{W+|ro|felie|m}}
* {{Z|ru}}: {{W-|ru|ломо́ть|n}}, {{W-|ru|ло́мтик|n}}, {{W-|ru|кусо́к|n}}, {{W-|ru|кусо́чек|n}}, {{W+|ru|слайс|n}}
* {{Z|scn}}: {{W-|scn|feḍḍa|m}}, {{W+|scn|pezzu|n}}
* {{Z|sh}}: {{W+|sh|kriška|m}}
* {{Z|es}}: {{W+|es|rebanada|m}}
* {{Z|sv}}: {{W+|sv|skiva|g}}
* {{Z|th}}: {{W+|th|ชิ้น}}
* {{Z|tr}}: {{W+|tr|dilim}}
* {{Z|uk}}: {{W-|uk|ски́ба|m}}, {{W-|uk|ски́бка|m}}, {{W-|uk|шмато́к|n}}, {{W-|uk|кусо́к|n}}
* {{Z|vi}}: {{W-|vi|lát mỏng}}, {{W-|vi|miếng mỏng}}
* {{Z|cy}}: {{W-|cy|tafelll|m}}
* {{Z|el}}: {{W+|el|φέτα|m}}
*: Kevn: {{W-|grc|τέμαχος|nt}}
{{werger-bin}}
:{{werger çavkanî|en|slice|beş=Ev qismê Wergerê|oldid=75505183}}
=== Navdêr 3 ===
{{navdêr|ku|z=mn}} {{k-ya nerm}}
# Kesa/ê tiştekî dike yan tiştek kiriye.
#: {{mk|ku|Divê '''kerên''' vê xirabiyê bên sizadan.}}
==== Notên bikaranînê ====
{{agadarî}} Peyva '''ker''' bi vê maneyê kêm serbixwe peyda dibe lê pirtir wek paşgirekê di gel hin peyvan tê bikaranîn: ''[[çêker]], [[şerker]], [[sazker]]
==== Etîmolojî ====
Ji [[rehê dema niha]] yê kevn yê lêkera [[kirin]]
==== Werger ====
{{werger-ser}}
* {{Z|en}}: {{W+|en|doer}}, {{W+|en|actor}}, {{W+|en|agent}}
{{werger-bin}}
=== Navdêr 4 ===
{{navdêr|ku|z=n}}
# {{mj|kom, grûp}} {{bnr|kerî}}
=== Rengdêr 1 ===
{{rengdêr|ku}} {{k-ya nerm}}, {{r-ya req}}
# {{senseid|ku|guhgiran}}Kesa/ê [[qet]] yan [[baş]] [[deng]]an [[bihîstin|nabihîze]].
#: {{hevmane|ku|guhgiran|nebihîz}}
#: {{mk|ku|'''Ker''' û [[lal]]|kesa/ê ne [[karîn|dikare]] [[axiftin|biaxive]] û ne jî [[bîstin|bibîze]]|birêz=1}}
==== Bi alfabeyên din ====
* {{ku-ar|کهڕ}}
==== Formên alternatîv ====
* {{g|ku|kerr}}
==== Jê ====
{{kol3|ku
| ker bûn<q:lêker>
| ker kirin<q:lêker>
| xwe lê ker kirin
| kerbûn<q:navdêr>
| kerkirin<q:navdêr>
| kerbûyî<q:rengdêr>
| kerkirî<q:rengdêr>
| kerî
| kerînî
| kerîtî
| kerker
| kertî
}}
==== Etîmolojî ====
Hevreha soranî {{g|ckb|کهڕ|tr=kerr}}, [[kurdiya başûrî]] [[keř]], zazakî ''kerr'', hewramî ''kerr'', belûçî {{g|ckb|کر|tr=kerr}}, {{hv|fa|کر|tr=kerr}}, {{hv|pal||k-rr|sc=Latn}}, soxdî ''k-rn-'', {{hv|ae||kerne-|sc=Latn}}, peştûyî {{g|ps|کوڼ|tr=kuṇ}}, {{hv|sa|कर्ण}} (kárṇa-: [[guh]]), slavoniya kevn [[кърнъ]] (kŭrnŭ), latviyayî [[kurls]], {{hv|lt|kurčias}}, hemû ji {{ji|ine-pro|ku|*kʷorno-|w=[[guh]]}}. Maneya bingehîn "guh" bû lê di zimanên îranî û yên [[baltî]] de maneya "[[guhgiran]]" wergirtiye. Di zimanên hindî de bi maneya "guh" maye: hindî [[कान]] (kan), urdûyî {{g|ur|کان|tr=kan}}, bengalî [[কর্ণ]] (korno) û [[কান]] (kan)...
==== Bide ber ====
{{kol2|ku|
| {{g|ku|kor}}
| {{g|ku|lal}}
}}
==== Werger ====
{{werger-ser|guhgiran}}
* {{Z|ab}}: {{W-|ab|адагәа}}
* {{Z|ady}}: {{W-|ady|дэгу}}
* {{Z|af}}: {{W-|af|dowe}}
* {{Z|xag}}: {{W-|xag|𐕆𐔼𐕒𐔽𐔰}}
* {{Z|akl}}: {{W-|akl|bungoe}}
* {{Z|sq}}: {{W-|sq|i shurdhër}}
* {{Z|de}}: {{W+|de|taub}}, {{W+|de|gehörlos}}
* {{Z|an}}: {{W-|an|xordo}}
* {{Z|rup}}: {{W-|rup|surdu}}
* {{Z|as}}: {{W-|as|কলা}}, {{W-|as|অন্ধ}}
* {{Z|ast}}: {{W-|ast|sordu}}, {{W-|ast|xordu}}
* {{Z|av}}: {{W-|av|гӏинкъаб}}
* {{Z|az}}: {{W+|az|kar}}
* {{Z|ban}}: {{W-|ban|bongol}}
* {{Z|eu}}: {{W+|eu|gor}}
* {{Z|ba}}: {{W-|ba|һаңғырау}}
* {{Z|sne}}: {{W-|sne|bongam}}
* {{Z|be}}: {{W-|be|глухі́}}
* {{Z|bcl}}: {{W-|bcl|bungog}}
* {{Z|br}}: {{W+|br|bouzar}}
* {{Z|bg}}: {{W+|bg|глух}}
* {{Z|my}}: {{W+|my|နားပင်း}}
* {{Z|ccc}}: {{W-|ccc|majchayi}}
* {{Z|ce}}: {{W-|ce|къора}}
* {{Z|cs}}: {{W+|cs|hluchý|n}}
* {{Z|chr}}: {{W-|chr|ᏧᎵᎡᎾ}}
* {{Z|zh}}:
*: {{Z|yue}}: {{W-|yue|耳聾|tr=ji5 lung4}}, {{W-|yue|聾|tr=lung4}}
*: {{Z|cmn}}: {{W+|cmn|聾|tr=lóng}}, {{W+|cmn|耳聾|tr=ěrlóng}}
*: {{Z|nan}}: {{W-|nan|耳聾|tr=hīⁿ-lâng}}
* {{Z|dlm}}: {{W-|dlm|suard}}
* {{Z|da}}: {{W+|da|døv}}
* {{Z|id}}: {{W+|id|tuli}}, {{W-|id|tuna rungu}}
* {{Z|ar}}: {{W-|ar|أَصَمّ}}
*: {{Z|arz}}: {{W-|arz|أصم|n|tr=ʔaṣamm}}, {{W-|arz|أطرش|n|tr=ʔaṭraš}}
* {{Z|hy}}: {{W+|hy|խուլ}}
* {{Z|eo}}: {{W+|eo|surda}}
* {{Z|et}}: {{W-|et|kurt}}
* {{Z|fa}}: {{W+|fa|کر|tr=kar}}, {{W+|fa|ناشنوا|tr=nâšenavâ}}
* {{Z|fo}}: {{W-|fo|deyvur}}
* {{Z|fi}}: {{W+|fi|kuuro}}, {{W-|fi|kuulovammainen}}
* {{Z|fr}}: {{W+|fr|sourd}}
* {{Z|fur}}: {{W-|fur|sort}}, {{W-|fur|sord}}
* {{Z|frr}}: {{W-|frr|duuf}}
* {{Z|fy}}: {{W-|fy|dôf}}
* {{Z|gd}}: {{W-|gd|bodhar}}
* {{Z|gl}}: {{W-|gl|xordo}}
* {{Z|got}}: {{W-|got|𐌱𐌰𐌿𐌸𐍃}}
* {{Z|ka}}: {{W+|ka|ყრუ}}, {{W-|ka|სმენადაკარგული}}
* {{Z|ht}}: {{W-|ht|soud}}
* {{Z|haw}}: {{W-|haw|kuli}}
* {{Z|mba}}: {{W-|mba|bungol}}
* {{Z|hi}}: {{W+|hi|बहरा}}
* {{Z|nl}}: {{W+|nl|doof}}, {{W+|nl|dove}}
* {{Z|hrx}}: {{W-|hrx|daab}}
* {{Z|iba}}: {{W-|iba|achak}}
* {{Z|he}}: {{W-|he|חֵירֵשׁ|tr=kheresh}}
* {{Z|ang}}: {{W-|ang|dēaf}}
* {{Z|en}}: {{W+|en|deaf}}
* {{Z|izh}}: {{W-|izh|gluuhkoi}}
* {{Z|ga}}: {{W-|ga|bodhar}}
*: {{Z|sga}}: {{W-|sga|bodar}}
* {{Z|ist}}: {{W-|ist|surdo}}
* {{Z|it}}: {{W+|it|sordo}}
* {{Z|is}}: {{W+|is|daufur}}
* {{Z|ja}}: {{W-|ja|[[耳]]の[[聞こえる|聞こえない]]|tr=みみのきこえない, mimi no kikoenai}}, {{W-|ja|耳が不自由|tr=mimi ga fujiyuu}}
* {{Z|kaw}}: {{W-|kaw|buḍĕg}}
* {{Z|jv}}: {{W+|jv|budheg}}, {{W+|jv|jampeng}}
* {{Z|kbd}}: {{W-|kbd|дэгу}}
* {{Z|ca}}: {{W+|ca|sord}}
* {{Z|kjj}}: {{W-|kjj|баьш}}
* {{Z|si}}: {{W+|si|බිහිරි}}
* {{Z|ko}}: {{W-|ko|[[귀머거리]]-의}}
* {{Z|kw}}: {{W-|kw|bodhar}}
* {{Z|co}}: {{W+|co|sordu}}
* {{Z|lld}}: {{W-|lld|sëurt}}
* {{Z|lad}}: {{W-|lad|sodro}}
* {{Z|ltg}}: {{W-|ltg|kūrslys|n}}
* {{Z|la}}: {{W+|la|surdus|n}}
* {{Z|lv}}: {{W-|lv|kurls|n}}, {{W-|lv|nedzirdīgs}}
* {{Z|lo}}: {{W-|lo|ຫູໜວກ}}
* {{Z|lez}}: {{W-|lez|биши}}
* {{Z|lt}}: {{W-|lt|kurčias}}
* {{Z|lb}}: {{W+|lb|daf}}
* {{Z|mk}}: {{W-|mk|глув}}
* {{Z|pse}}: {{W-|pse|pekak}}
* {{Z|ms}}: {{W+|ms|pekak}}, {{W-|ms|tuli}}, {{W-|ms|congek}}, {{W-|ms|tunakerna}}
* {{Z|mt}}: {{W-|mt|trux}}
* {{Z|mnc}}: {{W-|mnc|ᡩᡠᡨᡠ}}
* {{Z|msk}}: {{W-|msk|bungul}}
* {{Z|mi}}: {{W+|mi|turi}}, {{W-|mi|pūwharawhara}}
* {{Z|mrw}}: {{W-|mrw|bengel}}, {{W-|mrw|biso}}
* {{Z|mr}}: {{W-|mr|बधीर}}, {{W+|mr|बहिरा}}
* {{Z|hu}}: {{W+|hu|süket}}, {{W+|hu|siket}}
* {{Z|xmf}}: {{W-|xmf|ჸუნგა}}, {{W-|xmf|ჸურუ}}, {{W-|xmf|ჸუჯა}}, {{W-|xmf|დაგუა|cuda=დაგუ̂ა}}
* {{Z|mel}}: {{W-|mel|pakeak}}, {{W-|mel|tulek}}
* {{Z|mui}}: {{W-|mui|pekak}}
* {{Z|nv}}: {{W-|nv|ajéékałgo ąąh dahazʼą́}}, {{W-|nv|jééhkał}}
* {{Z|nds}}: {{W-|nds|dow}}
* {{Z|nay}}: {{W-|nay|plombatji}}
* {{Z|no}}:
*: {{Z|no}}: {{W+|no|døv}}
*: {{Z|nn}}: {{W+|nn|døv}}, {{W-|nn|dauv}}
* {{Z|oc}}: {{W+|oc|sord}}
* {{Z|or}}: {{W+|or|ବଧିର}}
* {{Z|om}}: {{W-|om|duudaa}}
* {{Z|ota}}: {{W-|ota|صاغر|tr=sağır}}
* {{Z|ps}}: {{W+|ps|کوڼ|tr=kuṇ}}
* {{Z|pdt}}: {{W-|pdt|doof}}
* {{Z|pl}}: {{W+|pl|głuchy|n}}
* {{Z|pt}}: {{W+|pt|surdo}}
* {{Z|kk}}: {{W-|kk|саңырау}}
* {{Z|ro}}: {{W+|ro|surd}}
* {{Z|ru}}: {{W-|ru|глухо́й}}
* {{Z|se}}: {{W-|se|bealjeheapmi}}
* {{Z|sms}}: {{W-|sms|kluuǥǥai}}
* {{Z|sa}}: {{W+|sa|बधिर}}, {{W+|sa|कल्ल}}
* {{Z|sc}}: {{W-|sc|suldu}}, {{W-|sc|surdu}}
* {{Z|ceb}}: {{W-|ceb|bungol}}
* {{Z|sh}}:
*: Kirîlî: {{W-|sh|глув}}, {{W-|sh|глух}}
*: Latînî: {{W+|sh|gluv}}, {{W+|sh|gluh}}
* {{Z|sco}}: {{W-|sco|deif}}
* {{Z|sk}}: {{W-|sk|hluchý|n}}
* {{Z|sl}}: {{W+|sl|gluh}}
* Sorbî:
*: {{Z|dsb}}: {{W-|dsb|głuchy}}
* {{Z|es}}: {{W+|es|sordo}}
* {{Z|su}}: {{W-|su|torék}}
* {{Z|sva}}: {{W-|sva|ყუ̂რიუ̂}}, {{W-|sva|ყუგ}}
* {{Z|sv}}: {{W+|sv|döv}}
* {{Z|tg}}: {{W+|tg|кар}}
* {{Z|tl}}: {{W-|tl|bingi}}
* {{Z|th}}: {{W-|th|หูหนวก}}
* {{Z|te}}: {{W+|te|చెవిటి}}
* {{Z|crh}}: {{W-|crh|sağır}}
* {{Z|tr}}: {{W+|tr|sağır}}
* {{Z|bo}}: {{W-|bo|འོན་པ}}
* {{Z|tli}}: {{W-|tli|lkhool.áxhji}}
* {{Z|ur}}: {{W-|ur|بہرا|tr=bahrā}}
* {{Z|uby}}: {{W-|uby|дагәы}}
* {{Z|uk}}: {{W-|uk|глухи́й}}
* {{Z|vec}}: {{W-|vec|sórdo}}
* {{Z|vi}}: {{W+|vi|điếc}}
* {{Z|vo}}: {{W-|vo|surdik}}
* {{Z|cy}}: {{W+|cy|byddar}}
* {{Z|km}}: {{W+|km|ថ្លង់|tr=tlɑŋ}}
* {{Z|yai}}: {{W-|yai|кар}}
* {{Z|yi}}: {{W-|yi|טויב}}, {{W-|yi|טויבלעך}}, {{W-|yi|חושימדיק|tr=khushemdik}}
* {{Z|esu}}: {{W-|esu|niitesciigatelria}}
* {{Z|el}}: {{W+|el|κωφός|n}}, {{W+|el|κουφός|n}}
*: Kevn: {{W-|grc|κωφός}}
* {{Z|bfi}}: {{W-|bfi|H@Ear}}
* {{Z|ase}}: {{W-|ase|1@Jaw 1@Chin}}
{{werger-bin}}
:{{werger çavkanî|en|deaf|beş=Ev qismê Wergerê|oldid=75710619}}
=== Rengdêr 2 ===
{{rengdêr|ku}}
# {{mj|bêdeng}} {{bnr|kirr}}
=== Çavkanî ===
{{çavkanî}}
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb|sc=Latn}}
# {{f|ckb|guhandar}} {{ckb-Arab|کەر}}
== {{ziman|sl}} ==
=== Girêdek ===
{{girêdek|sl}}
# [[çimkî#ku|çimkî]], [[çunkî#ku|çunkî]], [[ji ber ku#ku|ji ber ku]]
8mnz38hdpmsu89tz0yp1ayzcomp36m8
tar
0
4064
6341909
6337914
2026-08-24T12:55:29Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341909
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr 1 ===
{{navdêr|ku|z=m}}
# [[milbend]]a [[darîn]] ya li dor [[bêjing]]ê yan [[moxel]]ê
#* {{bênimûne|ku}}
==== Jê ====
{{kol3|ku|cure=Jê
|tar bûn<q:lêker>
|tar kirin<q:lêker>
|tarbûn<q:navdêr>
|tarkirin<q:navdêr>
|tarbûyî<q:rengdêr>
|tarkirî<q:rengdêr>
}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# [[dar]] an jî [[cih]]ên ku [[mirîşk]] li [[ser]] dihêwirin
#* {{bênimûne|ku}}
# darê li fêza [[pûnik]]a mirîşkan, [[lûs]]
#* {{bênimûne|ku}}
==== Ji wêjeya klasîk ====
* {{J:Melayê Cizîrî:Dîwana Melayê Cizîrî|jêgirtin=Wer ji qewseynan bi mîzan bêne der cotek xedeng</br>Dê ceger bit pare pare sîne '''tar''' û mar-i bit}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
Ji erebî ÎTAR
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Rübe}} {{mê}}
* {{Z|fa}}: {{W+|fa|تار|guman=erê}}, {{W+|fa|چرخان|guman=erê}}, {{W+|fa|خوشی|guman=erê}}, {{W-|fa|سینه ریز|guman=erê}}, {{W+|fa|فونداسیون|guman=erê}}, {{W+|fa|کیف|guman=erê}}, {{W+|fa|گردنبند|guman=erê}}, {{W-|fa|وسیله بافتن|guman=erê}}
* {{Z|en}}: {{W+|en|tambourine|guman=erê}}
* {{Z|tr}}: {{W+|tr|çalma}}, {{W+|tr|ense çukuru}}, {{W+|tr|kasnak}}, {{W+|tr|mahalle}}, {{W+|tr|sarık}}, {{W+|tr|şalgam}}, {{W+|tr|tünek}}, {{W+|tr|çember|guman=erê}}, {{W+|tr|tahra|guman=erê}}, {{W+|tr|taze|guman=erê}}
{{werger-bin}}
=== Navdêr 3 ===
{{navdêr|ku|z=m}}
# [[bac]], [[bêşî]], [[bide]], [[xerac]], [[zerîbe]], [[vêrgî]], [[olam]]
#* {{bênimûne|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
=== Navdêr 4 ===
{{navdêr|ku|z=}}
# {{f|ku|riwek}} ''Binêre'': '''[[şêlim]]'''
#* {{bênimûne|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
=== Navdêr 5 ===
{{navdêr|ku|z=m}}
# {{guharto|ku|tax|w=mehele}}
#* {{bênimûne|ku}}
== {{ziman|rup}} ==
=== Navdêr ===
{{navdêr|rup}}
# {{mijar|rup|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bênimûne|rup}}
=== Çavkanî ===
{{rûpela wergerê|rup|ker}}
== {{ziman|ast}} ==
=== Bilêvkirin ===
* {{deng|ast|LL-Q29507 (ast)-Limotecariu-tar.wav|Deng|dever=Uviéu, Spanya}}
=== Lêker ===
{{lêker|ast}}
# (kesek/tiştek) {{g|ku|bûn}}
#* {{bênimûne|ast}}
=== Çavkanî ===
{{rûpela wergerê|ast|bûn}}
== {{ziman|en}} ==
=== Bilêvkirin ===
* {{IPA|en|/tɑɹ/|[tʰɑɻ]|[tʰɑɹ]|[tʰɑ˞]|lang=en}}
* {{deng|en|en-us-tar.ogg|dever=DYA}}
* {{deng|en|en-au-tar.ogg|dever=Awistralya}}
=== Navdêr ===
{{navdêr|en}}
# [[qîr]], [[qetran]]
#* {{bênimûne|en}}
== {{ziman|kdr}} ==
=== Rengdêr ===
{{rengdêr|kdr}}
# {{g|ku|teng}}
#* {{bênimûne|kdr}}
=== Çavkanî ===
{{rûpela wergerê|kdr|teng}}
== {{ziman|hu}} ==
=== Rengdêr ===
{{rengdêr|hu}}
# {{mijar|hu|anatomî}} {{g|ku|keçel}}
#* {{bênimûne|hu}}
=== Çavkanî ===
{{rûpela wergerê|hu|keçel}}
== {{ziman|crh}} ==
=== Rengdêr ===
{{rengdêr|crh}}
# {{g|ku|teng}}
#* {{bênimûne|crh}}
=== Çavkanî ===
{{rûpela wergerê|crh|teng}}
36pr3uzli4utfs19vrrii2q8f50a7mt
6341952
6341909
2026-08-24T12:57:58Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6341952
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr 1 ===
{{navdêr|ku|z=m}}
# [[milbend]]a [[darîn]] ya li dor [[bêjing]]ê yan [[moxel]]ê
#* {{bênimûne|ku}}
==== Jê ====
{{kol3|ku|cure=Jê
|tar bûn<q:lêker>
|tar kirin<q:lêker>
|tarbûn<q:navdêr>
|tarkirin<q:navdêr>
|tarbûyî<q:rengdêr>
|tarkirî<q:rengdêr>
}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# [[dar]] an jî [[cih]]ên ku [[mirîşk]] li [[ser]] dihêwirin
#* {{bênimûne|ku}}
# darê li fêza [[pûnik]]a mirîşkan, [[lûs]]
#* {{bênimûne|ku}}
==== Ji wêjeya klasîk ====
* {{J:Melayê Cizîrî:Dîwana Melayê Cizîrî|jêgirtin=Wer ji qewseynan bi mîzan bêne der cotek xedeng</br>Dê ceger bit pare pare sîne '''tar''' û mar-i bit}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
Ji erebî ÎTAR
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Rübe}} {{mê}}
* {{Z|fa}}: {{W+|fa|تار|guman=erê}}, {{W+|fa|چرخان|guman=erê}}, {{W+|fa|خوشی|guman=erê}}, {{W-|fa|سینه ریز|guman=erê}}, {{W+|fa|فونداسیون|guman=erê}}, {{W+|fa|کیف|guman=erê}}, {{W+|fa|گردنبند|guman=erê}}, {{W-|fa|وسیله بافتن|guman=erê}}
* {{Z|en}}: {{W+|en|tambourine|guman=erê}}
* {{Z|tr}}: {{W+|tr|çalma}}, {{W+|tr|ense çukuru}}, {{W+|tr|kasnak}}, {{W+|tr|mahalle}}, {{W+|tr|sarık}}, {{W+|tr|şalgam}}, {{W+|tr|tünek}}, {{W+|tr|çember|guman=erê}}, {{W+|tr|tahra|guman=erê}}, {{W+|tr|taze|guman=erê}}
{{werger-bin}}
=== Navdêr 3 ===
{{navdêr|ku|z=m}}
# [[bac]], [[bêşî]], [[bide]], [[xerac]], [[zerîbe]], [[vêrgî]], [[olam]]
#* {{bênimûne|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
=== Navdêr 4 ===
{{navdêr|ku|z=}}
# {{f|ku|riwek}} ''Binêre'': '''[[şêlim]]'''
#* {{bênimûne|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
=== Navdêr 5 ===
{{navdêr|ku|z=m}}
# {{guharto|ku|tax|w=mehele}}
#* {{bênimûne|ku}}
== {{ziman|rup}} ==
=== Navdêr ===
{{navdêr|rup}}
# {{mijar|rup|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bênimûne|rup}}
=== Çavkanî ===
{{rûpela wergerê|rup|ker}}
== {{ziman|ast}} ==
=== Bilêvkirin ===
* {{deng|ast|LL-Q29507 (ast)-Limotecariu-tar.wav|Deng|dever=Uviéu, Spanya}}
=== Lêker ===
{{lêker|ast}}
# (kesek/tiştek) {{g|ku|bûn}}
#* {{bênimûne|ast}}
=== Çavkanî ===
{{rûpela wergerê|ast|bûn}}
== {{ziman|en}} ==
=== Bilêvkirin ===
* {{IPA|en|/tɑɹ/|[tʰɑɻ]|[tʰɑɹ]|[tʰɑ˞]|lang=en}}
* {{deng|en|en-us-tar.ogg|dever=DYA}}
* {{deng|en|en-au-tar.ogg|dever=Awistralya}}
=== Navdêr ===
{{navdêr|en}}
# [[qîr]], [[qetran]]
#* {{bênimûne|en}}
== {{ziman|kdr}} ==
=== Rengdêr ===
{{rengdêr|kdr}}
# {{g|ku|teng}}
#* {{bênimûne|kdr}}
=== Çavkanî ===
{{rûpela wergerê|kdr|teng}}
== {{ziman|hu}} ==
=== Rengdêr ===
{{rengdêr|hu}}
# {{mijar|hu|anatomî}} {{g|ku|keçel}}
#* {{bênimûne|hu}}
=== Çavkanî ===
{{rûpela wergerê|hu|keçel}}
== {{ziman|crh}} ==
=== Rengdêr ===
{{rengdêr|crh}}
# {{g|ku|teng}}
#* {{bênimûne|crh}}
=== Çavkanî ===
{{rûpela wergerê|crh|teng}}
k9lnz49absfkrfdi0sla0z9xlf4ipmu
xur
0
4619
6341910
6336925
2026-08-24T12:55:32Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341910
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku|z=m}}
# [[xurîn]] yan [[xurandin]]
#* {{bênimûne|ku}}
==== Ji wêjeya klasîk ====
* {{J:Mem û Zîn:1692|jêgirtin=Mexlût-i wekî heyat û Kewser</br>Qet'a çu nebû ne '''xur''' ne xwabek</br>Wan bîr nedihat-i nan û abek}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Formên alternatîv ====
* [[xwir]]
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W-|de|Jucken}} {{nt}}, {{W+|de|Juckreiz}} {{n}}
* {{Z|ay}}: {{W-|ay|jasi}}
* {{Z|ar}}: {{W+|ar|شمس|guman=erê}}
* {{Z|eo}}: {{W-|eo|juko}}, {{W-|eo|jukado}}
* {{Z|fa}}: {{W+|fa|آفتاب}}, {{W+|fa|خورشید}}, {{W+|fa|خارش}}, {{W+|fa|حساسیت}}, {{W+|fa|آلرژی}}
* {{Z|fi}}: {{W+|fi|kutina}}, {{W+|fi|syyhy}}
* {{Z|fr}}: {{W+|fr|démangeaison}}, {{W+|fr|prurit}}
* {{Z|nl}}: {{W+|nl|jeuk}} {{n}}
* {{Z|he}}: {{W-|he|לגרד|sc=Hebr}} [legared]
* {{Z|en}}: {{W+|en|itch}}, {{W+|en|sol}}
* {{Z|it}}: {{W+|it|prurito}}
* {{Z|ja}}: {{W+|ja|かゆみ|tr=kayumi}}
* {{Z|ko}}: {{W-|ko|가려움}}
* {{Z|pl}}: {{W+|pl|świąd}}
* {{Z|pt}}: {{W+|pt|coceira}} {{mê}}
* {{Z|ro}}: {{W+|ro|mâncărime}} {{mê}}
* {{Z|ru}}: [[зуд]] (zud)
* {{Z|es}}: {{W+|es|prurito}}
* {{Z|sv}}: {{W+|sv|klåda}}
* {{Z|th}}: {{W-|th|อาการคัน}}
* {{Z|tr}}: {{W+|tr|kaşıntı}}, {{W+|tr|kaşınma}}, {{W+|tr|liken}}, {{W+|tr|yiyici}}, {{W+|tr|yem|guman=erê}}, {{W+|tr|su çiçeği|guman=erê}}
{{werger-bin}}
=== 2. kesê ku tehl û dijwar dipeyive ===
{{cure?|ku}}
# (kesê ku tehl û dijwar dipeyive) ''Binêre'': '''[[xurr]]'''
=== 3. roj, stêra ku germê û ronahiyê dide dinyaya me ===
{{cure?|ku}}
# (roj, stêra ku germê û ronahiyê dide dinyaya me) ''Binêre'': '''[[xor]]'''
== {{ziman|wbl}} ==
=== Navdêr ===
{{navdêr|wbl}}
# {{mijar|wbl|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bênimûne|wbl}}
=== Çavkanî ===
{{rûpela wergerê|wbl|ker}}
5f622as617u7hm9yifdi2sbb8o5kgbc
6341956
6341910
2026-08-24T12:58:10Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6341956
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku|z=m}}
# [[xurîn]] yan [[xurandin]]
#* {{bênimûne|ku}}
==== Ji wêjeya klasîk ====
* {{J:Mem û Zîn:1692|jêgirtin=Mexlût-i wekî heyat û Kewser</br>Qet'a çu nebû ne '''xur''' ne xwabek</br>Wan bîr nedihat-i nan û abek}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Formên alternatîv ====
* [[xwir]]
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W-|de|Jucken}} {{nt}}, {{W+|de|Juckreiz}} {{n}}
* {{Z|ay}}: {{W-|ay|jasi}}
* {{Z|ar}}: {{W+|ar|شمس|guman=erê}}
* {{Z|eo}}: {{W-|eo|juko}}, {{W-|eo|jukado}}
* {{Z|fa}}: {{W+|fa|آفتاب}}, {{W+|fa|خورشید}}, {{W+|fa|خارش}}, {{W+|fa|حساسیت}}, {{W+|fa|آلرژی}}
* {{Z|fi}}: {{W+|fi|kutina}}, {{W+|fi|syyhy}}
* {{Z|fr}}: {{W+|fr|démangeaison}}, {{W+|fr|prurit}}
* {{Z|nl}}: {{W+|nl|jeuk}} {{n}}
* {{Z|he}}: {{W-|he|לגרד|sc=Hebr}} [legared]
* {{Z|en}}: {{W+|en|itch}}, {{W+|en|sol}}
* {{Z|it}}: {{W+|it|prurito}}
* {{Z|ja}}: {{W+|ja|かゆみ|tr=kayumi}}
* {{Z|ko}}: {{W-|ko|가려움}}
* {{Z|pl}}: {{W+|pl|świąd}}
* {{Z|pt}}: {{W+|pt|coceira}} {{mê}}
* {{Z|ro}}: {{W+|ro|mâncărime}} {{mê}}
* {{Z|ru}}: [[зуд]] (zud)
* {{Z|es}}: {{W+|es|prurito}}
* {{Z|sv}}: {{W+|sv|klåda}}
* {{Z|th}}: {{W-|th|อาการคัน}}
* {{Z|tr}}: {{W+|tr|kaşıntı}}, {{W+|tr|kaşınma}}, {{W+|tr|liken}}, {{W+|tr|yiyici}}, {{W+|tr|yem|guman=erê}}, {{W+|tr|su çiçeği|guman=erê}}
{{werger-bin}}
=== 2. kesê ku tehl û dijwar dipeyive ===
{{cure?|ku}}
# (kesê ku tehl û dijwar dipeyive) ''Binêre'': '''[[xurr]]'''
=== 3. roj, stêra ku germê û ronahiyê dide dinyaya me ===
{{cure?|ku}}
# (roj, stêra ku germê û ronahiyê dide dinyaya me) ''Binêre'': '''[[xor]]'''
== {{ziman|wbl}} ==
=== Navdêr ===
{{navdêr|wbl}}
# {{mijar|wbl|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bênimûne|wbl}}
=== Çavkanî ===
{{rûpela wergerê|wbl|ker}}
cyd2mtpxskqhg7y3mgosc9r8vu7gid7
و
0
4922
6342207
6293032
2026-08-24T20:03:30Z
Şêr
1103
/* {{ziman|ckb}} */ mînak
6342207
wikitext
text/x-wiki
{{bnr-h|ۆ|ؤ}}
== {{ziman|ku}} ==
=== Cînav ===
{{cînav|ku|sc=Arab|tr=wi}}
# [[wî]]
#* {{bêmînak|ku}}
==== Bikaranîn ====
* [[kurmanciya rojhilatî]] (Ûrmiye, Hekarî)
==== Têkilî ====
* [[vi]]
== {{ziman|ckb}} ==
=== Tîp ===
{{tîp|ckb|و / وـ / ـوـ / ـو|tr=u, w}}
# [[tîp|Tîp]]ek [[alfabe]]ya [[erebî]] û [[kurdî-erebî]] ye, [[hember]]î '''{{q|ku|w}}''' û '''{{q|ku|u}}''' ya kurdî-latînî ye û navê wê {{q|ku|waw}} e.
#* {{bêmînak|ckb}}
==== Binêre herwiha ====
* {{Alfabeya soranî}}
=== Girêdek ===
{{girêdek|ckb}}
# [[û#Girêdek|û]]
#* {{mînak|ckb|من و تۆ دەچین بۆ ماڵەوە.|tr=Min u to deçîn bo malewe.|werger=Ez û tu diçin malê.}}
#* {{mînak|ckb|نان و ئاو|tr=nan u aw|werger=nan û av}}
==== Formên alternatîv ====
* {{g|ckb|وە}}
== {{ziman|aeb}} ==
=== Girêdek ===
{{girêdek|aeb|tr=u}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|aeb}}
== {{ziman|acw}} ==
=== Girêdek ===
{{girêdek|acw|tr=u}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|acw}}
== {{ziman|arz}} ==
=== Girêdek ===
{{girêdek|arz|tr=we}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|arz}}
== {{ziman|ar}} ==
=== Bilêvkirin ===
* ''(navê tîpê)'' {{IPA|ar|/waːw/}}
* ''(yekedeng)'' {{IPA|ar|/w/}}
* {{deng|ar|Ar-و.ogg}}
* {{deng|ar|LL-Q13955 (ara)-Spotless Mind1988-و.wav|Deng|dever=Batna, Cezayir}}
* {{deng|ar|LL-Q13955 (ara)-Nehaoua-و.wav|Deng|dever=}}
=== Tîp ===
[[Wêne:Lettre 27 wâw.gif |thumb]]
{{tîp|ar|و / و|tr=wāw}}
# Tîpa bîst û heftem a alfebaya erebî.
#* {{bêmînak|ar}}
==== Binêre herwiha ====
* {{Alfabeya erebî}}
== {{ziman|fa}} ==
=== Bilêvkirin ===
* {{deng|fa|LL-Q9168 (fas)-Berrely-و.wav|Deng|dever=London,QY}}
=== Tîp ===
{{tîp|fa|و / وـ / ـوـ / ـو|tr=vâv}}
# [[sihem|Sihem]] [[tîp]]a [[alfabe]]ya [[farisî]]-[[erebî]] ye.
#* {{bêmînak|fa}}
==== Binêre herwiha ====
* {{lîste:alfabe/fa}}
=== Girêdek ===
{{girêdek|fa|tr=o, va}}
# [[û]]
#* {{bêmînak|fa}}
== {{ziman|ota}} ==
=== Girêdek ===
{{girêdek|ota|tr=ve}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|ota}}
p7mblweid5r04v74h6vqd8jck4n71vc
6342212
6342207
2026-08-24T20:16:19Z
Wikihez
7344
@[[User:Şêr]] nimûne bi #: jêgirtin bi #* dest pê dikin çunkî jêgirtin dikare gelek dirêj be û bi [jêgirtin] tên veşartin em naxwazin nimûne werin veşartin :) ([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6342212
wikitext
text/x-wiki
{{bnr-h|ۆ|ؤ}}
== {{ziman|ku}} ==
=== Cînav ===
{{cînav|ku|sc=Arab|tr=wi}}
# [[wî]]
#* {{bêmînak|ku}}
==== Bikaranîn ====
* [[kurmanciya rojhilatî]] (Ûrmiye, Hekarî)
==== Têkilî ====
* [[vi]]
== {{ziman|ckb}} ==
=== Tîp ===
{{tîp|ckb|و / وـ / ـوـ / ـو|tr=u, w}}
# [[tîp|Tîp]]ek [[alfabe]]ya [[erebî]] û [[kurdî-erebî]] ye, [[hember]]î '''{{q|ku|w}}''' û '''{{q|ku|u}}''' ya kurdî-latînî ye û navê wê {{q|ku|waw}} e.
#* {{bêmînak|ckb}}
==== Binêre herwiha ====
* {{Alfabeya soranî}}
=== Girêdek ===
{{girêdek|ckb}}
# [[û#Girêdek|û]]
#: {{mînak|ckb|من و تۆ دەچین بۆ ماڵەوە.|tr=Min u to deçîn bo malewe.|werger=Ez û tu diçin malê.}}
#: {{mînak|ckb|نان و ئاو|tr=nan u aw|werger=nan û av}}
==== Formên alternatîv ====
* {{g|ckb|وە}}
== {{ziman|aeb}} ==
=== Girêdek ===
{{girêdek|aeb|tr=u}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|aeb}}
== {{ziman|acw}} ==
=== Girêdek ===
{{girêdek|acw|tr=u}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|acw}}
== {{ziman|arz}} ==
=== Girêdek ===
{{girêdek|arz|tr=we}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|arz}}
== {{ziman|ar}} ==
=== Bilêvkirin ===
* ''(navê tîpê)'' {{IPA|ar|/waːw/}}
* ''(yekedeng)'' {{IPA|ar|/w/}}
* {{deng|ar|Ar-و.ogg}}
* {{deng|ar|LL-Q13955 (ara)-Spotless Mind1988-و.wav|Deng|dever=Batna, Cezayir}}
* {{deng|ar|LL-Q13955 (ara)-Nehaoua-و.wav|Deng|dever=}}
=== Tîp ===
[[Wêne:Lettre 27 wâw.gif |thumb]]
{{tîp|ar|و / و|tr=wāw}}
# Tîpa bîst û heftem a alfebaya erebî.
#* {{bêmînak|ar}}
==== Binêre herwiha ====
* {{Alfabeya erebî}}
== {{ziman|fa}} ==
=== Bilêvkirin ===
* {{deng|fa|LL-Q9168 (fas)-Berrely-و.wav|Deng|dever=London,QY}}
=== Tîp ===
{{tîp|fa|و / وـ / ـوـ / ـو|tr=vâv}}
# [[sihem|Sihem]] [[tîp]]a [[alfabe]]ya [[farisî]]-[[erebî]] ye.
#* {{bêmînak|fa}}
==== Binêre herwiha ====
* {{lîste:alfabe/fa}}
=== Girêdek ===
{{girêdek|fa|tr=o, va}}
# [[û]]
#* {{bêmînak|fa}}
== {{ziman|ota}} ==
=== Girêdek ===
{{girêdek|ota|tr=ve}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|ota}}
tcysa4jw1vn89vc0gp1pl9d357rvpbc
6342229
6342212
2026-08-24T20:41:12Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342229
wikitext
text/x-wiki
{{bnr-h|ۆ|ؤ}}
== {{ziman|ku}} ==
=== Cînav ===
{{cînav|ku|sc=Arab|tr=wi}}
# [[wî]]
#* {{bêmînak|ku}}
==== Notên bikaranînê ====
* [[kurmanciya rojhilatî]] (Ûrmiye, Hekarî)
==== Têkildar ====
* [[vi]]
== {{ziman|ckb}} ==
=== Tîp ===
{{tîp|ckb|و / وـ / ـوـ / ـو|tr=u, w}}
# [[tîp|Tîp]]ek [[alfabe]]ya [[erebî]] û [[kurdî-erebî]] ye, [[hember]]î '''{{q|ku|w}}''' û '''{{q|ku|u}}''' ya kurdî-latînî ye û navê wê {{q|ku|waw}} e.
#* {{bêmînak|ckb}}
==== Herwiha binêre ====
* {{Alfabeya soranî}}
=== Girêdek ===
{{girêdek|ckb}}
# [[û#Girêdek|û]]
#: {{mînak|ckb|من و تۆ دەچین بۆ ماڵەوە.|tr=Min u to deçîn bo malewe.|werger=Ez û tu diçin malê.}}
#: {{mînak|ckb|نان و ئاو|tr=nan u aw|werger=nan û av}}
==== Formên alternatîv ====
* {{g|ckb|وە}}
== {{ziman|aeb}} ==
=== Girêdek ===
{{girêdek|aeb|tr=u}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|aeb}}
== {{ziman|acw}} ==
=== Girêdek ===
{{girêdek|acw|tr=u}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|acw}}
== {{ziman|arz}} ==
=== Girêdek ===
{{girêdek|arz|tr=we}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|arz}}
== {{ziman|ar}} ==
=== Bilêvkirin ===
* ''(navê tîpê)'' {{IPA|ar|/waːw/}}
* ''(yekedeng)'' {{IPA|ar|/w/}}
* {{deng|ar|Ar-و.ogg}}
* {{deng|ar|LL-Q13955 (ara)-Spotless Mind1988-و.wav|Deng|dever=Batna, Cezayir}}
* {{deng|ar|LL-Q13955 (ara)-Nehaoua-و.wav|Deng|dever=}}
=== Tîp ===
[[Wêne:Lettre 27 wâw.gif |thumb]]
{{tîp|ar|و / و|tr=wāw}}
# Tîpa bîst û heftem a alfebaya erebî.
#* {{bêmînak|ar}}
==== Herwiha binêre ====
* {{Alfabeya erebî}}
== {{ziman|fa}} ==
=== Bilêvkirin ===
* {{deng|fa|LL-Q9168 (fas)-Berrely-و.wav|Deng|dever=London,QY}}
=== Tîp ===
{{tîp|fa|و / وـ / ـوـ / ـو|tr=vâv}}
# [[sihem|Sihem]] [[tîp]]a [[alfabe]]ya [[farisî]]-[[erebî]] ye.
#* {{bêmînak|fa}}
==== Herwiha binêre ====
* {{lîste:alfabe/fa}}
=== Girêdek ===
{{girêdek|fa|tr=o, va}}
# [[û]]
#* {{bêmînak|fa}}
== {{ziman|ota}} ==
=== Girêdek ===
{{girêdek|ota|tr=ve}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|ota}}
sizwtska4rkws8q1lwll9k0w2gmdzbz
6342239
6342229
2026-08-24T21:12:06Z
Balyozbot
7867
Bot: Paqijiyên kozmetîk (Lînk paqij kir, Valahiya beşan rast kir.)
6342239
wikitext
text/x-wiki
{{bnr-h|ۆ|ؤ}}
== {{ziman|ku}} ==
=== Cînav ===
{{cînav|ku|sc=Arab|tr=wi}}
# [[wî]]
#* {{bêmînak|ku}}
==== Notên bikaranînê ====
* [[kurmanciya rojhilatî]] (Ûrmiye, Hekarî)
==== Têkildar ====
* [[vi]]
== {{ziman|ckb}} ==
=== Tîp ===
{{tîp|ckb|و / وـ / ـوـ / ـو|tr=u, w}}
# [[tîp|Tîpek]] [[alfabe]]ya [[erebî]] û [[kurdî-erebî]] ye, [[hember]]î '''{{q|ku|w}}''' û '''{{q|ku|u}}''' ya kurdî-latînî ye û navê wê {{q|ku|waw}} e.
#* {{bêmînak|ckb}}
==== Herwiha binêre ====
* {{Alfabeya soranî}}
=== Girêdek ===
{{girêdek|ckb}}
# [[û#Girêdek|û]]
#: {{mînak|ckb|من و تۆ دەچین بۆ ماڵەوە.|tr=Min u to deçîn bo malewe.|werger=Ez û tu diçin malê.}}
#: {{mînak|ckb|نان و ئاو|tr=nan u aw|werger=nan û av}}
==== Formên alternatîv ====
* {{g|ckb|وە}}
== {{ziman|aeb}} ==
=== Girêdek ===
{{girêdek|aeb|tr=u}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|aeb}}
== {{ziman|acw}} ==
=== Girêdek ===
{{girêdek|acw|tr=u}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|acw}}
== {{ziman|arz}} ==
=== Girêdek ===
{{girêdek|arz|tr=we}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|arz}}
== {{ziman|ar}} ==
=== Bilêvkirin ===
* ''(navê tîpê)'' {{IPA|ar|/waːw/}}
* ''(yekedeng)'' {{IPA|ar|/w/}}
* {{deng|ar|Ar-و.ogg}}
* {{deng|ar|LL-Q13955 (ara)-Spotless Mind1988-و.wav|Deng|dever=Batna, Cezayir}}
* {{deng|ar|LL-Q13955 (ara)-Nehaoua-و.wav|Deng|dever=}}
=== Tîp ===
[[Wêne:Lettre 27 wâw.gif |thumb]]
{{tîp|ar|و / و|tr=wāw}}
# Tîpa bîst û heftem a alfebaya erebî.
#* {{bêmînak|ar}}
==== Herwiha binêre ====
* {{Alfabeya erebî}}
== {{ziman|fa}} ==
=== Bilêvkirin ===
* {{deng|fa|LL-Q9168 (fas)-Berrely-و.wav|Deng|dever=London,QY}}
=== Tîp ===
{{tîp|fa|و / وـ / ـوـ / ـو|tr=vâv}}
# [[sihem|Sihem]] [[tîp]]a [[alfabe]]ya [[farisî]]-[[erebî]] ye.
#* {{bêmînak|fa}}
==== Herwiha binêre ====
* {{lîste:alfabe/fa}}
=== Girêdek ===
{{girêdek|fa|tr=o, va}}
# [[û]]
#* {{bêmînak|fa}}
== {{ziman|ota}} ==
=== Girêdek ===
{{girêdek|ota|tr=ve}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|ota}}
bipz8pz93i98tu4x5qifunx4007jmfj
ferman
0
9812
6341905
6326061
2026-08-24T12:49:38Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341905
wikitext
text/x-wiki
{{bnr-h|Ferman}}
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/fɛɾ.mɑːn/}}
* {{deng|ku|LL-Q36368 (kur)-Dildadil-ferman.wav|Deng|dever=Amed}}
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku|z=m}}
# [[emir]], [[gotin]]a kesek dibêje û [[divê]] kesek din wek wê gotinê bike
#: {{nm|ku|Serokê wan '''fermana''' rawestandina şerî daye.|Serokê wan gotiye ku nabe şerr bê kirin.}}
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Ya [[qelem]] binvîs bi emrê Padîşah<br>Ez çi binvîsim bi '''ferman''' ya Îlah}}
# [[xirab]] [[bûn]]a [[rewş]]ê, [[jînoside]]
#* {{bêmînak|ku}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Bi alfabeyên din ====
* {{ku-ar|فهرمان}}
==== Formên alternatîv ====
{{kol3|ku
|ferwar
|firman
|firwar
}}
==== Jê ====
{{kol3|ku|cure=Jê
|ferman dan<pos:lêker>
|ferman kirin<pos:lêker>
|ferman wergirtin
|fermanlo bûn
|fermandan<pos:navdêr>
|fermankirin<pos:navdêr>
|fermanwergirtin<pos:navdêr>
|fermandayî<pos:rengdêr>
|fermankirî<pos:rengdêr>
|fermanwergirtî
|bêferman
|bêfermanî
|biferman
|bifermanî
|fermanber
|fermanberî
|fermandar
|fermandarî
|fermander
|fermanderî
|fermangir
|fermangirî
|fermanlo
|fermanname
|fermanî
|fermanwergir
|fermanwergirî
}}
==== Etîmolojî ====
Ji {{ji|ira}}, [[fer-]] ([[ber-]], [[pêş-]] + [[-man]] ([[raman]]; [[şîret]], [[nesîhet]]), [[hevreh]]a {{hv|ckb|فرمان}}, {{hv|hac|هەرمانە|tr=hermane|w=xebat}}, {{hv|fa|فرمان|tr=ferman}}, {{hv|pal|frm'n|tr=freman}}, hexamenîşî ''fremana-'', avestayî ''fremeynye-'', latînî [[praemoneo|praemoneō]], binere * [[fer-]] + {{ji|ine-pro|ku|-}} * [[menos]] ([[raman]] > li wê binere). [[հրաման]] (hremen) ya ermenî ji zimanekî îranî hatiye wergirtin.
==== Werger ====
{{werger-ser}}
* {{Z|af}}: {{W|af|bevel}}, {{W|af|opdrag}}, {{W|af|gebod}}
* {{Z|de}}: {{W|de|Befehl}} {{n}}, {{W|de|Anweisung}} {{mê}}, {{W|de|Auftrag}} {{n}}, {{W|de|Diktat}} {{nt}}, {{W|de|Gebot}} {{nt}}, {{W|de|Kommando}} {{nt}}, {{W|de|Ordnung}} {{mê}}, {{W|de|Verordnung}} {{mê}}, {{W|de|Erlaß}}, {{W|de|Dekret|m|guman=erê}}
* {{Z|eu}}: {{W|eu|agindu|xs=Basque}}, {{W|eu|men}}
* {{Z|bg}}: {{W|bg|заповед}} {{mê}}, {{W|bg|нареждане}} {{nt}}
* {{Z|cs}}: {{W|cs|příkaz}} {{n}}, {{W|cs|rozkaz}} {{n}}, {{W|cs|povel}} {{n}}
* {{Z|ar}}: {{W|ar|امر}},{{W|ar|فرمان}}, {{W|ar|توصية}}, {{W|ar|قتل جماعي}}, {{W|ar|إبادة}}, {{W|ar|أمر|guman=erê}}, {{W|ar|الوصیة|guman=erê}}, {{W|ar|إیعاز|guman=erê}}, {{W|ar|مرسوم|guman=erê}}
* {{Z|hy}}: {{W|hy|հրաման|tr=hraman}}
* {{Z|eo}}: {{W|eo|ordono|xs=Esperanto}}
* {{Z|fa}}: {{W|fa|امر}}, {{W|fa|پروانگی}}, {{W|fa|فرمان}}, {{W|fa|فرمایش}}, {{W|fa|فرمان|tr=farmân}}, {{W|fa|tr=ord|ارد|cuda=اُرد}}, {{W|fa|دستور|tr=dastur}}, {{W|fa|قتل عام}}
* {{Z|fi}}: {{W|fi|käsky}}, {{W|fi|komento}}
* {{Z|fro}}: {{W|fro|comandement}} {{n}}
* {{Z|gd}}: {{W|gd|òrdugh}} {{n}}
* {{Z|nl}}: {{W|nl|opdracht|c}}, {{W|nl|bevel}} {{nt}}
* {{Z|he}}: [[פקודה]] (pquda)
* {{Z|ang}}: {{W|ang|gebod|xs=Old English}}
* {{Z|en}}: {{W|en|behest}}, {{W|en|order}}, {{W|en|decree}}, {{W|en|dictation}}, {{W|en|dictum}}, {{W|en|prescription}}, {{W|en|ukase}}, {{W|en|rescript}}, {{W|en|command}}, {{W|en|rule}}, {{W|en|dictate}}, {{W|en|directive}}, (2){{W|en|genocide}}, {{W|en|injuction|guman=erê}}
* {{Z|it}}: {{W+|it|ordine}}, {{W+|it|decreto}}, {{W+|it|comando}}
* {{Z|ja}}: {{W|ja|命令|tr=めいれい, meirei}}
* {{Z|ca}}: {{W|ca|ordre}} {{mê}}, {{W|ca|manat}} {{n}}
* {{Z|la}}: {{W|la|edictum}} {{nt}}
* {{Z|hu}}: {{W|hu|parancs}}
* {{Z|pl}}: {{W|pl|rozkaz}} {{n}}
* {{Z|sh}}: {{W|sh|zapovijed}} {{mê}}
* {{Z|sh}}: {{W|sh|zapovijed (f) |cuda=zȁpovijēd (f) |xs=Serbo-Croatian}}, {{W|sh|zapoved (f)|cuda=zȁpovēd (f)|xs=Serbo-Croatian}}, {{W|sh|komanda|xs=Serbo-Croatian}}, {{W|sh|naredba|xs=Serbo-Croatian}}
* {{Z|es}}: {{W|es|orden}} {{mê}}, {{W|es|mandato}} {{n}}
* {{Z|tl}}: {{W|tl|utos}}, {{W|tl|kautusan}}
* {{Z|th}}: {{W|th|สั่ง|tr=sang}}
* {{Z|te}}: [[ఆజ్ఞ]] (aajna), {{W|te|ఉత్తరువు|tr=uttaruvu}}, {{W|te|ఆనతి|tr=anati}}
* {{Z|tr}}: {{W|tr|emir}}, {{W|tr|fermuar}}, {{W|tr|irade}}, {{W|tr|kaime}}, {{W|tr|ölüm fermanı}}, {{W|tr|carcur}}, {{W|tr|ferman}}, {{W|tr|komut}}, {{W|tr|buyruk}}, {{W|tr|emretme}}, {{W|tr|âmirlik}}, {{W|tr|yarlık}}, {{W|tr|buyrultu|guman=erê}}, {{W|tr|buyuru|guman=erê}}
* {{Z|el}}: {{W|el|εντολή}} {{mê}}, {{W|el|διαταγή}} {{mê}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# ferman, [[emir]]
#* {{bêmînak|tr}}
swk9mz7gh6071wddmrnqaohlizui2lf
atmosfer
0
9840
6342201
6297139
2026-08-24T19:26:16Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v1.7).
6342201
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|z=m}}
# [[hewa]], [[seqa]], [[keş]], [[keşuba]]
#* {{bêmînak|ku}}
# [[rewş]], [[kawdan]], [[destûdar]], [[hal]], [[barûdox]], [[durum]]
#* {{jêder-websîte|ku|nivîskar=w:Omer Faruk Baran|sernav=‘Kara Üzüm Habbesi’ya Kardeş Türkülerê û Qere Tirî Hebesîya Wê|websîte=Botan Times|url=https://www.botantimes.com/kara-uzum-habbesiya-kardes-turkulere-u-qere-tiri-hebesiya-we/|tarîx=2023-07-25|jêgirtin=Koma Kardeş Türkülerê dawîya sedsala 20an bi nermbûna '''atmosfera''' sîyasî û bi rabûna hinek yasaxan re aştî û biratîyeka muzîkal anîye Tirkîyê.}}
==== Ji wêjeyê ====
''niho xebat ji bo hevdîtina serokwezîrê Kurdistanê Nêçîrvan Barzanî digel Recep Tayyip Erdoganî têt kirin û heger encameka pozîtîv jê derkeve û li Tirkiyeyê '''atmosfer''' hinekê nerm bibe ne dûr e ko paşê serokê Kurdistanê Mesûd Barzanî û serokkomarê tirkan Abdullah Gul jî bikarin hevdu bibînin.''
(Nefel.com, 3/2008)
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Formên alternatîv ====
* [[atmosfêr]]
==== Jê ====
* [[atmosferî]]
==== Etîmolojî ====
Ji latînî
==== Bi zaravayên din ====
* {{Z|ckb}}: [[tewşik]]
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Atmosphäre|m}}, {{W+|de|Stimmung|m}}, {{W+|de|Ambiente|m|guman=erê}}
* {{Z|id}}: {{W+|id|atmosfir}}, {{W+|id|udara}}, {{W+|id|suasana}}
* {{Z|ar}}: {{W+|ar|غلاف جوي}}
* {{Z|fa}}: {{W+|fa|اتمسفر}}, {{W+|fa|جو}}, {{W+|fa|جو زمین}}, {{W-|fa|هوای بیرون}}
* {{Z|fi}}: {{W+|fi|ilmapiiri}}, {{W+|fi|atmosfääri}}
* {{Z|fr}}: {{W+|fr|atmosphère}}, {{W+|fr|ambiance}}
* {{Z|nl}}: {{W+|nl|overeenstemming}}, {{W+|nl|samenklank}}
* {{Z|io}}: {{W+|io|atmosfero}}, {{W+|io|etoso}}
* {{Z|en}}: {{W+|en|atmosphere}}, {{W+|en|mood}}, {{W+|en|aerospace}}, {{W+|en|ambiance}}, {{W+|en|aura}}
* {{Z|es}}: {{W+|es|atmosfera}}, {{W+|es|atmósfera}}
* {{Z|sv}}: {{W+|sv|atmosfär}}, {{W+|sv|stämning}}
* {{Z|tr}}: {{W-|tr|gazyuvarı}}, {{W+|tr|atmosfer|guman=erê}}, {{W+|tr|hava küre|guman=erê}}, {{W+|tr|hava yuvarı|guman=erê}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Bilêvkirin ===
* {{deng|tr|LL-Q256 (tur)-Veravi95-atmosfer.wav|Deng|dever=}}
=== Navdêr ===
{{navdêr|tr}}
# [[mehwa]], atmosfer
#* {{bêmînak|tr}}
# [[birah]]
#* {{bêmînak|tr}}
# [[hewa]]
#* {{bêmînak|tr}}
# atmosfer
#* {{bêmînak|tr}}
i6pljvr8e8q8cyv4k7cvmrmmzqaqeoq
6342202
6342201
2026-08-24T19:26:44Z
Wikihez
7344
[[Bikarhêner:Wikihez/templateScript2.js|TS]]: sererastkirin
6342202
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|z=m}}
# [[hewa]], [[seqa]], [[keş]], [[keşuba]]
#* {{bêmînak|ku}}
# [[rewş]], [[kawdan]], [[destûdar]], [[hal]], [[barûdox]], [[durum]]
#* {{jêder-websîte|ku|nivîskar=w:Omer Faruk Baran|sernav=‘Kara Üzüm Habbesi’ya Kardeş Türkülerê û Qere Tirî Hebesîya Wê|websîte=Botan Times|url=https://www.botantimes.com/kara-uzum-habbesiya-kardes-turkulere-u-qere-tiri-hebesiya-we/|tarîx=2023-07-25|jêgirtin=Koma Kardeş Türkülerê dawîya sedsala 20an bi nermbûna '''atmosfera''' sîyasî û bi rabûna hinek yasaxan re aştî û biratîyeka muzîkal anîye Tirkîyê.}}
#* {{jêder|ku|jêgirtin=niho xebat ji bo hevdîtina serokwezîrê Kurdistanê Nêçîrvan Barzanî digel Recep Tayyip Erdoganî têt kirin û heger encameka pozîtîv jê derkeve û li Tirkiyeyê '''atmosfer''' hinekê nerm bibe ne dûr e ko paşê serokê Kurdistanê Mesûd Barzanî û serokkomarê tirkan Abdullah Gul jî bikarin hevdu bibînin.|Nefel.com, 3/2008}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Formên alternatîv ====
* {{g|ku|atmosfêr}}
==== Jê ====
* {{g|ku|atmosferî}}
==== Etîmolojî ====
Ji latînî
==== Bi zaravayên din ====
* {{Z|ckb}}: {{W-|ckb|tewşik}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Atmosphäre|m}}, {{W+|de|Stimmung|m}}, {{W+|de|Ambiente|m|guman=erê}}
* {{Z|id}}: {{W+|id|atmosfir}}, {{W+|id|udara}}, {{W+|id|suasana}}
* {{Z|ar}}: {{W+|ar|غلاف جوي}}
* {{Z|fa}}: {{W+|fa|اتمسفر}}, {{W+|fa|جو}}, {{W+|fa|جو زمین}}, {{W-|fa|هوای بیرون}}
* {{Z|fi}}: {{W+|fi|ilmapiiri}}, {{W+|fi|atmosfääri}}
* {{Z|fr}}: {{W+|fr|atmosphère}}, {{W+|fr|ambiance}}
* {{Z|nl}}: {{W+|nl|overeenstemming}}, {{W+|nl|samenklank}}
* {{Z|io}}: {{W+|io|atmosfero}}, {{W+|io|etoso}}
* {{Z|en}}: {{W+|en|atmosphere}}, {{W+|en|mood}}, {{W+|en|aerospace}}, {{W+|en|ambiance}}, {{W+|en|aura}}
* {{Z|es}}: {{W+|es|atmosfera}}, {{W+|es|atmósfera}}
* {{Z|sv}}: {{W+|sv|atmosfär}}, {{W+|sv|stämning}}
* {{Z|tr}}: {{W-|tr|gazyuvarı}}, {{W+|tr|atmosfer|guman=erê}}, {{W+|tr|hava küre|guman=erê}}, {{W+|tr|hava yuvarı|guman=erê}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Bilêvkirin ===
* {{deng|tr|LL-Q256 (tur)-Veravi95-atmosfer.wav|Deng|dever=}}
=== Navdêr ===
{{navdêr|tr}}
# [[mehwa]], atmosfer
#* {{bêmînak|tr}}
# [[birah]]
#* {{bêmînak|tr}}
# [[hewa]]
#* {{bêmînak|tr}}
# atmosfer
#* {{bêmînak|tr}}
7fcp3g63jfg94c84o3a5akqxa2jkwww
asin
0
15525
6341908
6297045
2026-08-24T12:55:15Z
Balyozbot
7867
/* Navdêr */ sererastkirin
6341908
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/ʌːˈsɘn/}}
* {{deng|ku|LL-Q36163 (kmr)-Ebulfîda-asin.wav|Deng|dever=Bidlîs}}
* {{ku-kîte}}
=== Navdêr ===
[[Wêne:Iron_electrolytic_and_1cm3_cube.jpg|thumb|'''Asinê''' xwerû.]]
{{navdêr|ku|z=n}}
# {{guharto|ku|hesin}}
#* {{jêder-kitêb|ku|sc=Arab|sal=1683|nivîskar=Ehmedê Xanî|sernav=Nûbihara Biçûkan|jêgirtin=سمع بهستن بصر دیتن و نیرین نظر</br>هیڤینمایی کیه مبلس و آیس قنوط</br>'''آسن''' و پولا چنه هردو انیث و ذکر|tr=Semiʿ bihistin; beṣer dîtin, u nêrîn neẓer</br>Hêvî-nemayî kî ye: mublis u ayis qenûṭ</br>'''Asin''' u pola çi ne: herdu unîs̤ u z̤eker}}
==== Tewandin ====
{{ku-tewîn-nav/nû|nêr}}
==== Bi alfabeyên din ====
* {{ku-ar|ئاسن}}
*: (''klasîk'') {{g|ku|sc=Arab|آسن|tr=-}}
* {{ku-kr|асьн}}
==== Jê ====
* [[asinger]]
* [[asingerî]]
* [[asinî]]
==== Bide ber ====
* [[asan]]
== {{ziman|zza}} ==
=== Navdêr ===
{{navdêr|zza}}
# [[hesin]]
#* {{bêmînak|zza}}
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb|sc=Latn}}
# asin, [[hesin]]
#* {{bêmînak|ckb}}
== {{ziman|bcl}} ==
=== Girêdek ===
{{girêdek|bcl}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|bcl}}
== {{ziman|kxd}} ==
=== Rengdêr ===
{{rengdêr|kxd}}
# {{g|ku|sûr}}, {{g|ku|şor}}, {{g|ku|têrxwê}}
#* {{bêmînak|kxd}}
=== Çavkanî ===
{{rûpela wergerê|kxd|sûr}}
== {{ziman|id}} ==
=== Rengdêr ===
{{rengdêr|id}}
# {{g|ku|sûr}}, {{g|ku|şor}}, {{g|ku|têrxwê}}
#* {{bêmînak|id}}
=== Çavkanî ===
{{rûpela wergerê|id|sûr}}
== {{ziman|jv}} ==
=== Bilêvkirin ===
* {{deng|jv|LL-Q33549 (jav)-Menyusurisudutnegeri-asin.wav|Deng|dever=Kebutuh, Îndonezya}}
* {{deng|jv|LL-Q33549 (jav)-Dewinta88-asin.wav|Deng|dever=Purworejo, Îndonezya}}
* {{deng|jv|LL-Q33549 (jav)-Tetheow-asin.wav|Deng|dever=Mojokerto, Îndonezya}}
=== Rengdêr ===
{{rengdêr|jv}}
# {{g|ku|sûr}}, {{g|ku|şor}}, {{g|ku|têrxwê}}
#* {{bêmînak|jv}}
=== Çavkanî ===
{{rûpela wergerê|jv|sûr}}
== {{ziman|ms}} ==
=== Rengdêr ===
{{rengdêr|ms}}
# {{g|ku|sûr}}, {{g|ku|şor}}, {{g|ku|têrxwê}}
#* {{bêmînak|ms}}
=== Çavkanî ===
{{rûpela wergerê|ms|sûr}}
== {{ziman|oj}} ==
=== Navdêr ===
{{navdêr|oj}}
# {{f|oj|erdnîgarî}} {{g|ku|kevir}}, {{g|ku|kuç}}, {{g|ku|ber}}
#* {{bêmînak|oj}}
=== Çavkanî ===
{{rûpela wergerê|oj|kevir}}
== {{ziman|ro}} ==
=== Bilêvkirin ===
* {{deng|ro|LL-Q7913 (ron)-Papaeta-asin.wav|Deng|dever=}}
=== Navdêr ===
{{navdêr|ro|z=n}}
# {{mijar|ro|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bêmînak|ro}}
=== Çavkanî ===
{{rûpela wergerê|ro|ker}}
31yu9ubxk3bq68310s9uco0g2e0v1mp
6341949
6341908
2026-08-24T12:57:53Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6341949
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/ʌːˈsɘn/}}
* {{deng|ku|LL-Q36163 (kmr)-Ebulfîda-asin.wav|Deng|dever=Bidlîs}}
* {{ku-kîte}}
=== Navdêr ===
[[Wêne:Iron_electrolytic_and_1cm3_cube.jpg|thumb|'''Asinê''' xwerû.]]
{{navdêr|ku|z=n}}
# {{guharto|ku|hesin}}
#* {{jêder-kitêb|ku|sc=Arab|sal=1683|nivîskar=Ehmedê Xanî|sernav=Nûbihara Biçûkan|jêgirtin=سمع بهستن بصر دیتن و نیرین نظر</br>هیڤینمایی کیه مبلس و آیس قنوط</br>'''آسن''' و پولا چنه هردو انیث و ذکر|tr=Semiʿ bihistin; beṣer dîtin, u nêrîn neẓer</br>Hêvî-nemayî kî ye: mublis u ayis qenûṭ</br>'''Asin''' u pola çi ne: herdu unîs̤ u z̤eker}}
==== Tewandin ====
{{ku-tewîn-nav/nû|nêr}}
==== Bi alfabeyên din ====
* {{ku-ar|ئاسن}}
*: (''klasîk'') {{g|ku|sc=Arab|آسن|tr=-}}
* {{ku-kr|асьн}}
==== Jê ====
* [[asinger]]
* [[asingerî]]
* [[asinî]]
==== Bide ber ====
* [[asan]]
== {{ziman|zza}} ==
=== Navdêr ===
{{navdêr|zza}}
# [[hesin]]
#* {{bêmînak|zza}}
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb|sc=Latn}}
# asin, [[hesin]]
#* {{bêmînak|ckb}}
== {{ziman|bcl}} ==
=== Girêdek ===
{{girêdek|bcl}}
# [[û#ku|û]] ([[herwiha#ku|herwiha]], [[hem#ku|hem]])
#* {{bêmînak|bcl}}
== {{ziman|kxd}} ==
=== Rengdêr ===
{{rengdêr|kxd}}
# {{g|ku|sûr}}, {{g|ku|şor}}, {{g|ku|têrxwê}}
#* {{bêmînak|kxd}}
=== Çavkanî ===
{{rûpela wergerê|kxd|sûr}}
== {{ziman|id}} ==
=== Rengdêr ===
{{rengdêr|id}}
# {{g|ku|sûr}}, {{g|ku|şor}}, {{g|ku|têrxwê}}
#* {{bêmînak|id}}
=== Çavkanî ===
{{rûpela wergerê|id|sûr}}
== {{ziman|jv}} ==
=== Bilêvkirin ===
* {{deng|jv|LL-Q33549 (jav)-Menyusurisudutnegeri-asin.wav|Deng|dever=Kebutuh, Îndonezya}}
* {{deng|jv|LL-Q33549 (jav)-Dewinta88-asin.wav|Deng|dever=Purworejo, Îndonezya}}
* {{deng|jv|LL-Q33549 (jav)-Tetheow-asin.wav|Deng|dever=Mojokerto, Îndonezya}}
=== Rengdêr ===
{{rengdêr|jv}}
# {{g|ku|sûr}}, {{g|ku|şor}}, {{g|ku|têrxwê}}
#* {{bêmînak|jv}}
=== Çavkanî ===
{{rûpela wergerê|jv|sûr}}
== {{ziman|ms}} ==
=== Rengdêr ===
{{rengdêr|ms}}
# {{g|ku|sûr}}, {{g|ku|şor}}, {{g|ku|têrxwê}}
#* {{bêmînak|ms}}
=== Çavkanî ===
{{rûpela wergerê|ms|sûr}}
== {{ziman|oj}} ==
=== Navdêr ===
{{navdêr|oj}}
# {{f|oj|erdnîgarî}} {{g|ku|kevir}}, {{g|ku|kuç}}, {{g|ku|ber}}
#* {{bêmînak|oj}}
=== Çavkanî ===
{{rûpela wergerê|oj|kevir}}
== {{ziman|ro}} ==
=== Bilêvkirin ===
* {{deng|ro|LL-Q7913 (ron)-Papaeta-asin.wav|Deng|dever=}}
=== Navdêr ===
{{navdêr|ro|z=n}}
# {{mijar|ro|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bêmînak|ro}}
=== Çavkanî ===
{{rûpela wergerê|ro|ker}}
bzot8t7mcuei8dov63g9jvubgmp9ex0
خر
0
18864
6342163
5897300
2026-08-24T13:07:32Z
Wikihez
7344
/* Kurmancî */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342163
wikitext
text/x-wiki
{{bnr-h|جر|جز|حر|خز|چر|جڑ}}
== {{ziman|ar}} ==
=== Lêker 1 ===
{{lêker|ar|خَرَّ}}
# {{bêwate|ar}}
#* {{bêmînak|ar}}
=== Lêker 2 ===
{{lêker|ar|خَرَّ}}
# {{bêwate|ar}}
#* {{bêmînak|ar}}
=== Navdêr ===
{{navdêr|ar|خَرّ|z=n}}
# {{bêwate|ar}}
#* {{bêmînak|ar}}
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|tr=-}}
# {{ku-Latn|xir}}
#* {{bêmînak|ku}}
=== Rengdêr ===
{{rengdêr|ku|tr=-}}
# {{ku-Latn|xir}}
#* {{bêmînak|ku}}
== {{ziman|fa}} ==
=== Bilêvkirin ===
* {{IPA|fa|/xer/}}
=== Navdêr ===
{{navdêr|fa|tr=xar}}
# {{f|fa|guhandar}} [[ker]]
#* {{bêmînak|fa}}
==== Hevmane ====
* {{g|fa|الاغ|tr=olâğ}}
6tmejkscip7z3p7boeswlowojbs73r1
6342164
6342163
2026-08-24T13:07:55Z
Wikihez
7344
6342164
wikitext
text/x-wiki
{{bnr-h|جر|جز|حر|خز|چر|جڑ}}
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|tr=-}}
# {{ku-Latn|xir}}
#* {{bêmînak|ku}}
=== Rengdêr ===
{{rengdêr|ku|tr=-}}
# {{ku-Latn|xir}}
#* {{bêmînak|ku}}
== {{ziman|fa}} ==
=== Bilêvkirin ===
* {{IPA|fa|/xer/}}
=== Navdêr ===
{{navdêr|fa|tr=xar}}
# {{f|fa|guhandar}} [[ker]]
#* {{bêmînak|fa}}
==== Hevmane ====
* {{g|fa|الاغ|tr=olâğ}}
m3xm215r9g5x0e9oogvmpi5ie4ik44g
durum
0
23923
6342203
6326331
2026-08-24T19:31:04Z
Wikihez
7344
/* Navdêr */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342203
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|z=m}}
# {{tirkmancî}} [[rewş]], [[kawdan]], [[destûdar]], [[hal]], [[barûdox]]
#* {{mînak|ku|Rewşa min ya aborî ne baş e!}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Formên alternatîv ====
* [[dirim]]
* [[dirm]]
* [[durim]]
* [[durm]]
==== Etîmolojî ====
Deyn ji {{deyn|tr|ku|durum}}.
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W|de|Sache}} {{mê}}
* {{Z|en}}: {{W|en|contagious|guman=erê}}, {{W|en|infectious|guman=erê}}, {{W|en|transmissible|guman=erê}}, {{W|en|bronchitis|guman=erê}}, {{W|en|catching|guman=erê}}, {{W|en|germ|guman=erê}}, {{W|en|tubercle bacillus|guman=erê}}
* {{Z|tr}}: {{W|tr|atmosfer}}, {{W|tr|sari hastalık|guman=erê}}, {{W|tr|bulaşıcı|guman=erê}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Bilêvkirin ===
* {{deng|tr|LL-Q256 (tur)-Veravi95-durum.wav|Deng|dever=}}
=== Navdêr ===
{{navdêr|tr}}
# [[rewş]], [[asûn]]
#* {{bêmînak|tr}}
# [[timtêl]], [[barûdox]], [[tentêl]], [[hal]], [[weziyet]]
#* {{bêmînak|tr}}
# [[derawa]], [[derqel]]
#* {{bêmînak|tr}}
l5r44cpiv4q7qde9ww23dxuczxkhmp7
misil
0
24841
6341904
6341778
2026-08-24T12:47:33Z
Wikihez
7344
/* Hoker */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6341904
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Hoker ===
{{hoker|ku}}
# [[mîna]], [[wek]], [[şibî]], [[nola]], [[fena]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Zû gihiştin, çûne dora Mekkehê, <br>ket'ne bûsan '''mislê''' ava bingehê”.}}
==== Formên alternatîv ====
* [[misl]]
==== Etîmolojî ====
Ji {{deyn|ar|ku}}, têkildarî [[mesele]] û [[mîsal]]
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# [[hinkûf]], [[dirûv]], [[manend]]
#* {{bêmînak|tr}}
# [[tibab]], [[mêjer]]
#* {{bêmînak|tr}}
# [[car]], [[qat]]
#: ''on misli daha büyük deh car hin jê mezintir''
lvrh0ryoay51xoc6x7c2xu9201ko2yc
palas
0
34922
6342248
6337440
2026-08-24T22:06:36Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v2.0).
6342248
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr 1 ===
{{navdêr|ku|z=m}}
# [[koşk]], [[eywan]], [[seray]], [[qesr]], [[dîwan]], [[koçk]]
#* {{jêder-kitêb|ku|nivîskar=H. Şalçjan|sernav=Rêya teze, pyêsa ji sê perda|terciman=Heciyê Cindî|sal=1934|rûpel=5|jêgirtin=Li ser dîwarê malê û hundur malê ser şirîteke pêrêzî çend çil, '''palas''', kincik, paçik raxistine û her tişt tevî heve.}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|en}}: {{W+|en|palace}}, {{W+|en|colonnade|guman=erê}}
* {{Z|tr}}: {{W+|tr|saray}}, {{W+|tr|savan}}, {{W+|tr|palas}}
{{werger-bin}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# {{maneid|ku|merş}} [[merş|Merşek]] e ku ji [[hirî|hiriya]] bizinan hatiye ristin.
#* {{J:Mem û Zîn:1692|jêgirtin=Zîn rabû we çûye xelweta xas<br />Tacdîn ne ma ne cil ne '''palas'''<br />Esbab û tecemmul û defîne}}
#* {{J:Ciwanmerd Kulek:Zemanekî li Sê Welatan|jêgirtin={{...}}berêvaran '''palasa''' xwe biavêta ber derî û li ser rûnişta,{{...}}}}
#* {{jêder-websîte|ku|nivîskar=Abdulqadîr GOK|sernav=@Abdulka46195111|websîte=Twitter|url=https://x.com/Abdulka46195111/status/2089731192576672182|tarîx=2026-08-18|jêgirtin=Odeya me ya mêvana di sala 1980 de du tene '''palas''' û hival hebûn.}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Fußmatte|f}}
* {{Z|en}}: {{W+|en|sackcloth}}, {{W+|en|sacking}}
* {{Z|tr}}: {{W+|tr|çul}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# palas
#* {{bênimûne|tr}}
# [[hêsan]], [[rihet]]
#* {{bênimûne|tr}}
==== Etîmolojî ====
{{bêetîmolojî|tr}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Palast|m}}, {{W+|de|Schloss|n}}
{{werger-bin}}
i0ikeenjlhbumtlsjs6pbbg6jhbl73i
6342249
6342248
2026-08-24T22:08:48Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6342249
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr 1 ===
{{navdêr|ku|z=m}}
# [[koşk]], [[eywan]], [[seray]], [[qesr]], [[dîwan]], [[koçk]]
#* {{bênimûne|ku}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|en}}: {{W+|en|palace}}, {{W+|en|colonnade|guman=erê}}
* {{Z|tr}}: {{W+|tr|saray}}, {{W+|tr|savan}}, {{W+|tr|palas}}
{{werger-bin}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# {{maneid|ku|merş}} [[merş|Merşek]] e ku ji [[hirî|hiriya]] bizinan hatiye ristin.
#* {{J:Mem û Zîn:1692|jêgirtin=Zîn rabû we çûye xelweta xas<br />Tacdîn ne ma ne cil ne '''palas'''<br />Esbab û tecemmul û defîne}}
#* {{J:Ciwanmerd Kulek:Zemanekî li Sê Welatan|jêgirtin={{...}}berêvaran '''palasa''' xwe biavêta ber derî û li ser rûnişta,{{...}}}}
#* {{jêder-websîte|ku|nivîskar=Abdulqadîr GOK|sernav=@Abdulka46195111|websîte=Twitter|url=https://x.com/Abdulka46195111/status/2089731192576672182|tarîx=2026-08-18|jêgirtin=Odeya me ya mêvana di sala 1980 de du tene '''palas''' û hival hebûn.}}
#* {{jêder-kitêb|ku|nivîskar=H. Şalçjan|sernav=Rêya teze, pyêsa ji sê perda|terciman=Heciyê Cindî|sal=1934|rûpel=5|jêgirtin=Li ser dîwarê malê û hundur malê ser şirîteke pêrêzî çend çil, '''palas''', kincik, paçik raxistine û her tişt tevî heve.}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Fußmatte|f}}
* {{Z|en}}: {{W+|en|sackcloth}}, {{W+|en|sacking}}
* {{Z|tr}}: {{W+|tr|çul}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# palas
#* {{bênimûne|tr}}
# [[hêsan]], [[rihet]]
#* {{bênimûne|tr}}
==== Etîmolojî ====
{{bêetîmolojî|tr}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Palast|m}}, {{W+|de|Schloss|n}}
{{werger-bin}}
c3vi7lwcr25jrny0y48issxdy7f298k
6342252
6342249
2026-08-24T22:16:48Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v2.0).
6342252
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr 1 ===
{{navdêr|ku|z=m}}
# [[koşk]], [[eywan]], [[seray]], [[qesr]], [[dîwan]], [[koçk]]
#* {{jêder-kovar|ku|nivîskar=Emoyê Cilînî|sernav=Jin û Mêr|kovar=Ronahî|hejmar=24|sal=1944|rûpel=468|jêgirtin=Zilam şûr û mirtalê xwe hilanî, pîrek jî lihêf û '''palasa''' xwe li pişta xwe kirin; birê ketin hatin welatê Mêrdinê, ser kaniya Emer axa.}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|en}}: {{W+|en|palace}}, {{W+|en|colonnade|guman=erê}}
* {{Z|tr}}: {{W+|tr|saray}}, {{W+|tr|savan}}, {{W+|tr|palas}}
{{werger-bin}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# {{maneid|ku|merş}} [[merş|Merşek]] e ku ji [[hirî|hiriya]] bizinan hatiye ristin.
#* {{J:Mem û Zîn:1692|jêgirtin=Zîn rabû we çûye xelweta xas<br />Tacdîn ne ma ne cil ne '''palas'''<br />Esbab û tecemmul û defîne}}
#* {{J:Ciwanmerd Kulek:Zemanekî li Sê Welatan|jêgirtin={{...}}berêvaran '''palasa''' xwe biavêta ber derî û li ser rûnişta,{{...}}}}
#* {{jêder-websîte|ku|nivîskar=Abdulqadîr GOK|sernav=@Abdulka46195111|websîte=Twitter|url=https://x.com/Abdulka46195111/status/2089731192576672182|tarîx=2026-08-18|jêgirtin=Odeya me ya mêvana di sala 1980 de du tene '''palas''' û hival hebûn.}}
#* {{jêder-kitêb|ku|nivîskar=H. Şalçjan|sernav=Rêya teze, pyêsa ji sê perda|terciman=Heciyê Cindî|sal=1934|rûpel=5|jêgirtin=Li ser dîwarê malê û hundur malê ser şirîteke pêrêzî çend çil, '''palas''', kincik, paçik raxistine û her tişt tevî heve.}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Fußmatte|f}}
* {{Z|en}}: {{W+|en|sackcloth}}, {{W+|en|sacking}}
* {{Z|tr}}: {{W+|tr|çul}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# palas
#* {{bênimûne|tr}}
# [[hêsan]], [[rihet]]
#* {{bênimûne|tr}}
==== Etîmolojî ====
{{bêetîmolojî|tr}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Palast|m}}, {{W+|de|Schloss|n}}
{{werger-bin}}
nqinx77jaoga3u3i1cqv5tflw4fypye
6342253
6342252
2026-08-24T22:17:13Z
Wikihez
7344
Guhartoya [[Special:Diff/6342252|6342252]] yê [[Special:Contributions/Wikihez|Wikihez]] ([[User talk:Wikihez|gotûbêj]]) şûnde kir
6342253
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr 1 ===
{{navdêr|ku|z=m}}
# [[koşk]], [[eywan]], [[seray]], [[qesr]], [[dîwan]], [[koçk]]
#* {{bênimûne|ku}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|en}}: {{W+|en|palace}}, {{W+|en|colonnade|guman=erê}}
* {{Z|tr}}: {{W+|tr|saray}}, {{W+|tr|savan}}, {{W+|tr|palas}}
{{werger-bin}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# {{maneid|ku|merş}} [[merş|Merşek]] e ku ji [[hirî|hiriya]] bizinan hatiye ristin.
#* {{J:Mem û Zîn:1692|jêgirtin=Zîn rabû we çûye xelweta xas<br />Tacdîn ne ma ne cil ne '''palas'''<br />Esbab û tecemmul û defîne}}
#* {{J:Ciwanmerd Kulek:Zemanekî li Sê Welatan|jêgirtin={{...}}berêvaran '''palasa''' xwe biavêta ber derî û li ser rûnişta,{{...}}}}
#* {{jêder-websîte|ku|nivîskar=Abdulqadîr GOK|sernav=@Abdulka46195111|websîte=Twitter|url=https://x.com/Abdulka46195111/status/2089731192576672182|tarîx=2026-08-18|jêgirtin=Odeya me ya mêvana di sala 1980 de du tene '''palas''' û hival hebûn.}}
#* {{jêder-kitêb|ku|nivîskar=H. Şalçjan|sernav=Rêya teze, pyêsa ji sê perda|terciman=Heciyê Cindî|sal=1934|rûpel=5|jêgirtin=Li ser dîwarê malê û hundur malê ser şirîteke pêrêzî çend çil, '''palas''', kincik, paçik raxistine û her tişt tevî heve.}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Fußmatte|f}}
* {{Z|en}}: {{W+|en|sackcloth}}, {{W+|en|sacking}}
* {{Z|tr}}: {{W+|tr|çul}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# palas
#* {{bênimûne|tr}}
# [[hêsan]], [[rihet]]
#* {{bênimûne|tr}}
==== Etîmolojî ====
{{bêetîmolojî|tr}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Palast|m}}, {{W+|de|Schloss|n}}
{{werger-bin}}
c3vi7lwcr25jrny0y48issxdy7f298k
6342254
6342253
2026-08-24T22:18:21Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v2.0).
6342254
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr 1 ===
{{navdêr|ku|z=m}}
# [[koşk]], [[eywan]], [[seray]], [[qesr]], [[dîwan]], [[koçk]]
#* {{bênimûne|ku}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|en}}: {{W+|en|palace}}, {{W+|en|colonnade|guman=erê}}
* {{Z|tr}}: {{W+|tr|saray}}, {{W+|tr|savan}}, {{W+|tr|palas}}
{{werger-bin}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# {{maneid|ku|merş}} [[merş|Merşek]] e ku ji [[hirî|hiriya]] bizinan hatiye ristin.
#* {{J:Mem û Zîn:1692|jêgirtin=Zîn rabû we çûye xelweta xas<br />Tacdîn ne ma ne cil ne '''palas'''<br />Esbab û tecemmul û defîne}}
#* {{J:Ciwanmerd Kulek:Zemanekî li Sê Welatan|jêgirtin={{...}}berêvaran '''palasa''' xwe biavêta ber derî û li ser rûnişta,{{...}}}}
#* {{jêder-websîte|ku|nivîskar=Abdulqadîr GOK|sernav=@Abdulka46195111|websîte=Twitter|url=https://x.com/Abdulka46195111/status/2089731192576672182|tarîx=2026-08-18|jêgirtin=Odeya me ya mêvana di sala 1980 de du tene '''palas''' û hival hebûn.}}
#* {{jêder-kitêb|ku|nivîskar=H. Şalçjan|sernav=Rêya teze, pyêsa ji sê perda|terciman=Heciyê Cindî|sal=1934|rûpel=5|jêgirtin=Li ser dîwarê malê û hundur malê ser şirîteke pêrêzî çend çil, '''palas''', kincik, paçik raxistine û her tişt tevî heve.}}
#* {{jêder-kovar|ku|nivîskar=Emoyê Cilînî|sernav=Jin û Mêr|kovar=Ronahî|hejmar=24|sal=1944|rûpel=468|jêgirtin=Zilam şûr û mirtalê xwe hilanî, pîrek jî lihêf û '''palasa''' xwe li pişta xwe kirin; birê ketin hatin welatê Mêrdinê, ser kaniya Emer axa.}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Fußmatte|f}}
* {{Z|en}}: {{W+|en|sackcloth}}, {{W+|en|sacking}}
* {{Z|tr}}: {{W+|tr|çul}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# palas
#* {{bênimûne|tr}}
# [[hêsan]], [[rihet]]
#* {{bênimûne|tr}}
==== Etîmolojî ====
{{bêetîmolojî|tr}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Palast|m}}, {{W+|de|Schloss|n}}
{{werger-bin}}
jcldt25hoa6p6twjrs0dxy3p9dc2keh
6342255
6342254
2026-08-24T22:19:25Z
Wikihez
7344
6342255
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr 1 ===
{{navdêr|ku|z=m}}
# {{maneid|ku|merş}} [[merş|Merşek]] e ku ji [[hirî|hiriya]] bizinan hatiye ristin.
#* {{J:Mem û Zîn:1692|jêgirtin=Zîn rabû we çûye xelweta xas<br />Tacdîn ne ma ne cil ne '''palas'''<br />Esbab û tecemmul û defîne}}
#* {{J:Ciwanmerd Kulek:Zemanekî li Sê Welatan|jêgirtin={{...}}berêvaran '''palasa''' xwe biavêta ber derî û li ser rûnişta,{{...}}}}
#* {{jêder-websîte|ku|nivîskar=Abdulqadîr GOK|sernav=@Abdulka46195111|websîte=Twitter|url=https://x.com/Abdulka46195111/status/2089731192576672182|tarîx=2026-08-18|jêgirtin=Odeya me ya mêvana di sala 1980 de du tene '''palas''' û hival hebûn.}}
#* {{jêder-kitêb|ku|nivîskar=H. Şalçjan|sernav=Rêya teze, pyêsa ji sê perda|terciman=Heciyê Cindî|sal=1934|rûpel=5|jêgirtin=Li ser dîwarê malê û hundur malê ser şirîteke pêrêzî çend çil, '''palas''', kincik, paçik raxistine û her tişt tevî heve.}}
#* {{jêder-kovar|ku|nivîskar=Emoyê Cilînî|sernav=Jin û Mêr|kovar=Ronahî|hejmar=24|sal=1944|rûpel=468|jêgirtin=Zilam şûr û mirtalê xwe hilanî, pîrek jî lihêf û '''palasa''' xwe li pişta xwe kirin; birê ketin hatin welatê Mêrdinê, ser kaniya Emer axa.}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Fußmatte|f}}
* {{Z|en}}: {{W+|en|sackcloth}}, {{W+|en|sacking}}
* {{Z|tr}}: {{W+|tr|çul}}
{{werger-bin}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# [[koşk]], [[eywan]], [[seray]], [[qesr]], [[dîwan]], [[koçk]]
#* {{bênimûne|ku}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
Ji {{deyn|fr|ku|palace}}.
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Palast|m}}, {{W+|de|Schloss|n}}
* {{Z|en}}: {{W+|en|palace}}
* {{Z|tr}}: {{W+|tr|saray}}, {{W+|tr|savan}}, {{W+|tr|palas}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# {{g|ku|palas|id=seray}} {{îzah|[[seray]]}}
#* {{bênimûne|tr}}
==== Etîmolojî ====
Ji {{deyn|fr|tr|palace}}.
=== Rengdêr ===
{{rengdêr|tr}}
# [[hêsan]], [[rihet]]
#* {{bênimûne|tr}}
iv2pjr938qu5nfvsgprkza80fbwbxsh
6342256
6342255
2026-08-24T22:20:04Z
Wikihez
7344
/* Navdêr 1 */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342256
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr 1 ===
{{navdêr|ku|z=m}}
# {{maneid|ku|merş}} [[merş|Merşek]] e ku ji [[hirî|hiriya]] bizinan hatiye ristin.
#* {{J:Mem û Zîn:1692|jêgirtin=Zîn rabû we çûye xelweta xas<br />Tacdîn ne ma ne cil ne '''palas'''<br />Esbab û tecemmul û defîne}}
#* {{J:Ciwanmerd Kulek:Zemanekî li Sê Welatan|jêgirtin={{...}}berêvaran '''palasa''' xwe biavêta ber derî û li ser rûnişta,{{...}}}}
#* {{jêder-websîte|ku|nivîskar=Abdulqadîr GOK|sernav=@Abdulka46195111|websîte=Twitter|url=https://x.com/Abdulka46195111/status/2089731192576672182|tarîx=2026-08-18|jêgirtin=Odeya me ya mêvana di sala 1980 de du tene '''palas''' û hival hebûn.}}
#* {{jêder-kitêb|ku|nivîskar=H. Şalçjan|sernav=Rêya teze, pyêsa ji sê perda|terciman=Heciyê Cindî|sal=1934|rûpel=5|jêgirtin=Li ser dîwarê malê û hundur malê ser şirîteke pêrêzî çend çil, '''palas''', kincik, paçik raxistine û her tişt tevî heve.}}
#* {{jêder-kovar|ku|nivîskar=Emoyê Cilînî|sernav=Jin û Mêr|kovar={{w|Ronahî (kovar)|Ronahî}}|hejmar=24|sal=1944|rûpel=468|jêgirtin=Zilam şûr û mirtalê xwe hilanî, pîrek jî lihêf û '''palasa''' xwe li pişta xwe kirin; birê ketin hatin welatê Mêrdinê, ser kaniya Emer axa.}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Fußmatte|f}}
* {{Z|en}}: {{W+|en|sackcloth}}, {{W+|en|sacking}}
* {{Z|tr}}: {{W+|tr|çul}}
{{werger-bin}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# [[koşk]], [[eywan]], [[seray]], [[qesr]], [[dîwan]], [[koçk]]
#* {{bênimûne|ku}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
Ji {{deyn|fr|ku|palace}}.
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Palast|m}}, {{W+|de|Schloss|n}}
* {{Z|en}}: {{W+|en|palace}}
* {{Z|tr}}: {{W+|tr|saray}}, {{W+|tr|savan}}, {{W+|tr|palas}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# {{g|ku|palas|id=seray}} {{îzah|[[seray]]}}
#* {{bênimûne|tr}}
==== Etîmolojî ====
Ji {{deyn|fr|tr|palace}}.
=== Rengdêr ===
{{rengdêr|tr}}
# [[hêsan]], [[rihet]]
#* {{bênimûne|tr}}
imhgdom7o8ozimuacd2wavfkz6ld6hi
6342257
6342256
2026-08-24T22:20:15Z
Wikihez
7344
/* Navdêr 1 */
6342257
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr 1 ===
{{navdêr|ku|z=m}}
# {{maneid|ku|merş}} [[merş|Merşek]] e ku ji [[hirî|hiriya]] bizinan hatiye ristin.
#* {{J:Mem û Zîn:1692|jêgirtin=Zîn rabû we çûye xelweta xas<br />Tacdîn ne ma ne cil ne '''palas'''<br />Esbab û tecemmul û defîne}}
#* {{jêder-kitêb|ku|nivîskar=H. Şalçjan|sernav=Rêya teze, pyêsa ji sê perda|terciman=Heciyê Cindî|sal=1934|rûpel=5|jêgirtin=Li ser dîwarê malê û hundur malê ser şirîteke pêrêzî çend çil, '''palas''', kincik, paçik raxistine û her tişt tevî heve.}}
#* {{jêder-kovar|ku|nivîskar=Emoyê Cilînî|sernav=Jin û Mêr|kovar={{w|Ronahî (kovar)|Ronahî}}|hejmar=24|sal=1944|rûpel=468|jêgirtin=Zilam şûr û mirtalê xwe hilanî, pîrek jî lihêf û '''palasa''' xwe li pişta xwe kirin; birê ketin hatin welatê Mêrdinê, ser kaniya Emer axa.}}
#* {{J:Ciwanmerd Kulek:Zemanekî li Sê Welatan|jêgirtin={{...}}berêvaran '''palasa''' xwe biavêta ber derî û li ser rûnişta,{{...}}}}
#* {{jêder-websîte|ku|nivîskar=Abdulqadîr GOK|sernav=@Abdulka46195111|websîte=Twitter|url=https://x.com/Abdulka46195111/status/2089731192576672182|tarîx=2026-08-18|jêgirtin=Odeya me ya mêvana di sala 1980 de du tene '''palas''' û hival hebûn.}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Fußmatte|f}}
* {{Z|en}}: {{W+|en|sackcloth}}, {{W+|en|sacking}}
* {{Z|tr}}: {{W+|tr|çul}}
{{werger-bin}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# [[koşk]], [[eywan]], [[seray]], [[qesr]], [[dîwan]], [[koçk]]
#* {{bênimûne|ku}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
Ji {{deyn|fr|ku|palace}}.
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Palast|m}}, {{W+|de|Schloss|n}}
* {{Z|en}}: {{W+|en|palace}}
* {{Z|tr}}: {{W+|tr|saray}}, {{W+|tr|savan}}, {{W+|tr|palas}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# {{g|ku|palas|id=seray}} {{îzah|[[seray]]}}
#* {{bênimûne|tr}}
==== Etîmolojî ====
Ji {{deyn|fr|tr|palace}}.
=== Rengdêr ===
{{rengdêr|tr}}
# [[hêsan]], [[rihet]]
#* {{bênimûne|tr}}
a8771pihptzbswlb8xdexummuooxj09
6342259
6342257
2026-08-24T22:22:24Z
Wikihez
7344
/* Navdêr */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342259
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr 1 ===
{{navdêr|ku|z=m}}
# {{maneid|ku|merş}} [[merş|Merşek]] e ku ji [[hirî|hiriya]] bizinan hatiye ristin.
#* {{J:Mem û Zîn:1692|jêgirtin=Zîn rabû we çûye xelweta xas<br />Tacdîn ne ma ne cil ne '''palas'''<br />Esbab û tecemmul û defîne}}
#* {{jêder-kitêb|ku|nivîskar=H. Şalçjan|sernav=Rêya teze, pyêsa ji sê perda|terciman=Heciyê Cindî|sal=1934|rûpel=5|jêgirtin=Li ser dîwarê malê û hundur malê ser şirîteke pêrêzî çend çil, '''palas''', kincik, paçik raxistine û her tişt tevî heve.}}
#* {{jêder-kovar|ku|nivîskar=Emoyê Cilînî|sernav=Jin û Mêr|kovar={{w|Ronahî (kovar)|Ronahî}}|hejmar=24|sal=1944|rûpel=468|jêgirtin=Zilam şûr û mirtalê xwe hilanî, pîrek jî lihêf û '''palasa''' xwe li pişta xwe kirin; birê ketin hatin welatê Mêrdinê, ser kaniya Emer axa.}}
#* {{J:Ciwanmerd Kulek:Zemanekî li Sê Welatan|jêgirtin={{...}}berêvaran '''palasa''' xwe biavêta ber derî û li ser rûnişta,{{...}}}}
#* {{jêder-websîte|ku|nivîskar=Abdulqadîr GOK|sernav=@Abdulka46195111|websîte=Twitter|url=https://x.com/Abdulka46195111/status/2089731192576672182|tarîx=2026-08-18|jêgirtin=Odeya me ya mêvana di sala 1980 de du tene '''palas''' û hival hebûn.}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Fußmatte|f}}
* {{Z|en}}: {{W+|en|sackcloth}}, {{W+|en|sacking}}
* {{Z|tr}}: {{W+|tr|çul}}
{{werger-bin}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# [[koşk]], [[eywan]], [[seray]], [[qesr]], [[dîwan]], [[koçk]]
#* {{bênimûne|ku}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
Ji {{deyn|fr|ku|palace}}.
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Palast|m}}, {{W+|de|Schloss|n}}
* {{Z|en}}: {{W+|en|palace}}
* {{Z|tr}}: {{W+|tr|saray}}, {{W+|tr|savan}}, {{W+|tr|palas}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# {{g|ku|palas|id=seray}}, [[seray]]
#* {{bênimûne|tr}}
==== Etîmolojî ====
Ji {{deyn|fr|tr|palace}}.
=== Rengdêr ===
{{rengdêr|tr}}
# [[hêsan]], [[rihet]]
#* {{bênimûne|tr}}
e92e7l1xld4zqev5ur3c00k7bopn7r2
6342264
6342259
2026-08-24T22:29:29Z
Wikihez
7344
/* Navdêr 1 */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342264
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr 1 ===
{{navdêr|ku|z=m}}
# {{maneid|ku|merş}} [[merş|Merşek]] e ku ji [[hirî|hiriya]] bizinan hatiye ristin.
#* {{J:Mem û Zîn:1692|jêgirtin=Zîn rabû we çûye xelweta xas<br />Tacdîn ne ma ne cil ne '''palas'''<br />Esbab û tecemmul û defîne}}
#* {{jêder-kitêb|ku|nivîskar=H. Şalçjan|sernav=Rêya teze, pyêsa ji sê perda|terciman=w:Heciyê Cindî|sal=1934|rûpel=5|jêgirtin=Li ser dîwarê malê û hundur malê ser şirîteke pêrêzî çend çil, '''palas''', kincik, paçik raxistine û her tişt tevî heve.}}
#* {{jêder-kovar|ku|nivîskar=Emoyê Cilînî|sernav=Jin û Mêr|kovar={{w|Ronahî (kovar)|Ronahî}}|hejmar=24|sal=1944|rûpel=468|jêgirtin=Zilam şûr û mirtalê xwe hilanî, pîrek jî lihêf û '''palasa''' xwe li pişta xwe kirin; birê ketin hatin welatê Mêrdinê, ser kaniya Emer axa.}}
#* {{J:Ciwanmerd Kulek:Zemanekî li Sê Welatan|jêgirtin={{...}}berêvaran '''palasa''' xwe biavêta ber derî û li ser rûnişta,{{...}}}}
#* {{jêder-websîte|ku|nivîskar=Abdulqadîr GOK|sernav=@Abdulka46195111|websîte=Twitter|url=https://x.com/Abdulka46195111/status/2089731192576672182|tarîx=2026-08-18|jêgirtin=Odeya me ya mêvana di sala 1980 de du tene '''palas''' û hival hebûn.}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Fußmatte|f}}
* {{Z|en}}: {{W+|en|sackcloth}}, {{W+|en|sacking}}
* {{Z|tr}}: {{W+|tr|çul}}
{{werger-bin}}
=== Navdêr 2 ===
{{navdêr|ku|z=m}}
# [[koşk]], [[eywan]], [[seray]], [[qesr]], [[dîwan]], [[koçk]]
#* {{bênimûne|ku}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
Ji {{deyn|fr|ku|palace}}.
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Palast|m}}, {{W+|de|Schloss|n}}
* {{Z|en}}: {{W+|en|palace}}
* {{Z|tr}}: {{W+|tr|saray}}, {{W+|tr|savan}}, {{W+|tr|palas}}
{{werger-bin}}
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# {{g|ku|palas|id=seray}}, [[seray]]
#* {{bênimûne|tr}}
==== Etîmolojî ====
Ji {{deyn|fr|tr|palace}}.
=== Rengdêr ===
{{rengdêr|tr}}
# [[hêsan]], [[rihet]]
#* {{bênimûne|tr}}
4x9kpvde22shb1wnvg7clmwbw1b6mup
hergîz
0
41151
6342297
6134724
2026-08-24T23:17:28Z
Şêr
1103
ipa
6342297
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Hoker ===
{{hoker|ku}}
# [[ticar]], [[qet]], [[hîç]], [[ticarî]], ne [[car]]ekê jî, ne [[ti]] [[car]]an
#:''Ez hergîz te ji bîr nakim.'' (Tu dê herdem li bîra min bî.)
# {{kontrol|rêz=erê|[[yekcar]]}}
==== Dijmane ====
* [[herdem]]
* [[hergav]]
* [[hertim]]
==== Têkildar ====
* [[carine]]
* [[car-car]]
==== Ji wêjeyê ====
* {{jêder|ku|jêgirtin=Mirovê ku bi regezê xwe bi wî cûnê berpirsiyê ve girêdayî cihê daxê ye nekare hergîz rizgar bibe ji nişteyê efsaneyên têkel bi rûdanên rasteqîne di qunaxên dîrokî yên ciyawaz de, herweha rasteqîniya kesayetiyan jî yên ku di rojgara me de mîna qehreman yan pêşrew yan pêşewa dihên li bîr û qelem dan.|Sebrî Silêvanî: ''Medya Erebî'', Avestakurd.net, 2003, jêwergirtin 10/2011}}
==== Etîmolojî ====
Ji {{deyn|fa|ku|هرگز|tr=hergiz}}, ji {{mîr|pal|fa|tr=hegriz|w=yekcar jî}}, ji {{q|pal|tr=hegr|w=yekcar}} + {{q|pal|tr=-iz|w=jî, -iş}}, {{hv|peo|𐏃𐎣𐎼𐎶𐎨𐎡𐎹|tr=heker-mçî|w=yekcar jî}}, {{ji|ine-pro|ku|*sm̥-kr̥t|w=carekê, yekcar}}. Bide ber {{q|ku|yekcar}}.
==== Werger ====
{{werger-ser}}
* {{Z|af}}: {{W|af|nooit}}
* {{Z|sq}}: {{W|sq|asnjëherë}}, {{W|sq|kurrë}}
* {{Z|de}}: {{W|de|nie}}, {{W|de|niemals}}, {{W|de|nimmer}}
* {{Z|be}}: {{W|be|ніразу}}
* {{Z|da}}: {{W|da|aldrig}}
* {{Z|id}}: {{W|id|tidak pernah}}
* {{Z|eo}}: {{W|eo|neniam}}
* {{Z|fo}}: {{W|fo|ongantíð}}
* {{Z|fi}}: {{W|fi|koskaan}}, {{W|fi|ikinä}}, {{W|fi|milloinkaan}}
* {{Z|fr}}: {{W|fr|jamais}}
* {{Z|fy}}: {{W|fy|nea}}
* {{Z|nl}}: {{W|nl|nimmer}}, {{W|nl|nooit}}
* {{Z|ang}}: {{W|ang|næfre}}
* {{Z|en}}: {{W|en|never}}, {{W|en|nohow|guman=erê}}
* {{Z|it}}: {{W|it|mai}}, {{W|it|non … mai}}
* {{Z|ca}}: {{W|ca|mai}}
* {{Z|la}}: {{W|la|nunquam}}
* {{Z|yua}}: {{W|yua|mixbik’in}}
* {{Z|hu}}: {{W|hu|soha}}
* {{Z|no}}: {{W|no|aldri}}
* {{Z|pap}}: {{W|pap|hamas}}, {{W|pap|nunka}}
* {{Z|pl}}: {{W|pl|nigdy}}
* {{Z|pt}}: {{W|pt|jamais}}, {{W|pt|não … nunca}}, {{W|pt|nunca}}, {{W|pt|em tempo algum}}
* {{Z|ro}}: {{W|ro|niciodată}}
* {{Z|srn}}: {{W|srn|nemre}}, {{W|srn|noyti}}
* {{Z|es}}: {{W|es|jamás}}, {{W|es|nunca}}
* {{Z|sv}}: {{W|sv|aldrig}}, {{W-|sv|inte någon gång}}
* {{Z|tr}}: {{W|tr|asla}}, {{W|tr|hiç bir zaman|guman=erê}}, {{W|tr|katiyen|guman=erê}}
{{werger-bin}}
m5dozrps0p2zbsw1ryl80n2g4eclb4z
6342314
6342297
2026-08-24T23:41:19Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342314
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Hoker ===
{{hoker|ku}}
# [[ticar]], [[qet]], [[hîç]], [[ticarî]], ne [[car]]ekê jî, ne [[ti]] [[car]]an
#:''Ez hergîz te ji bîr nakim.'' (Tu dê herdem li bîra min bî.)
# {{kontrol|rêz=erê|[[yekcar]]}}
==== Ji wêjeyê ====
* {{jêder|ku|jêgirtin=Mirovê ku bi regezê xwe bi wî cûnê berpirsiyê ve girêdayî cihê daxê ye nekare hergîz rizgar bibe ji nişteyê efsaneyên têkel bi rûdanên rasteqîne di qunaxên dîrokî yên ciyawaz de, herweha rasteqîniya kesayetiyan jî yên ku di rojgara me de mîna qehreman yan pêşrew yan pêşewa dihên li bîr û qelem dan.|Sebrî Silêvanî: ''Medya Erebî'', Avestakurd.net, 2003, jêwergirtin 10/2011}}
==== Dijmane ====
* [[herdem]]
* [[hergav]]
* [[hertim]]
==== Têkildar ====
* [[carine]]
* [[car-car]]
==== Etîmolojî ====
Ji {{deyn|fa|ku|هرگز|tr=hergiz}}, ji {{mîr|pal|fa|tr=hegriz|w=yekcar jî}}, ji {{q|pal|tr=hegr|w=yekcar}} + {{q|pal|tr=-iz|w=jî, -iş}}, {{hv|peo|𐏃𐎣𐎼𐎶𐎨𐎡𐎹|tr=heker-mçî|w=yekcar jî}}, {{ji|ine-pro|ku|*sm̥-kr̥t|w=carekê, yekcar}}. Bide ber {{q|ku|yekcar}}.
==== Werger ====
{{werger-ser}}
* {{Z|af}}: {{W|af|nooit}}
* {{Z|sq}}: {{W|sq|asnjëherë}}, {{W|sq|kurrë}}
* {{Z|de}}: {{W|de|nie}}, {{W|de|niemals}}, {{W|de|nimmer}}
* {{Z|be}}: {{W|be|ніразу}}
* {{Z|da}}: {{W|da|aldrig}}
* {{Z|id}}: {{W|id|tidak pernah}}
* {{Z|eo}}: {{W|eo|neniam}}
* {{Z|fo}}: {{W|fo|ongantíð}}
* {{Z|fi}}: {{W|fi|koskaan}}, {{W|fi|ikinä}}, {{W|fi|milloinkaan}}
* {{Z|fr}}: {{W|fr|jamais}}
* {{Z|fy}}: {{W|fy|nea}}
* {{Z|nl}}: {{W|nl|nimmer}}, {{W|nl|nooit}}
* {{Z|ang}}: {{W|ang|næfre}}
* {{Z|en}}: {{W|en|never}}, {{W|en|nohow|guman=erê}}
* {{Z|it}}: {{W|it|mai}}, {{W|it|non … mai}}
* {{Z|ca}}: {{W|ca|mai}}
* {{Z|la}}: {{W|la|nunquam}}
* {{Z|yua}}: {{W|yua|mixbik’in}}
* {{Z|hu}}: {{W|hu|soha}}
* {{Z|no}}: {{W|no|aldri}}
* {{Z|pap}}: {{W|pap|hamas}}, {{W|pap|nunka}}
* {{Z|pl}}: {{W|pl|nigdy}}
* {{Z|pt}}: {{W|pt|jamais}}, {{W|pt|não … nunca}}, {{W|pt|nunca}}, {{W|pt|em tempo algum}}
* {{Z|ro}}: {{W|ro|niciodată}}
* {{Z|srn}}: {{W|srn|nemre}}, {{W|srn|noyti}}
* {{Z|es}}: {{W|es|jamás}}, {{W|es|nunca}}
* {{Z|sv}}: {{W|sv|aldrig}}, {{W-|sv|inte någon gång}}
* {{Z|tr}}: {{W|tr|asla}}, {{W|tr|hiç bir zaman|guman=erê}}, {{W|tr|katiyen|guman=erê}}
{{werger-bin}}
bm2lbzodt4bjtn6m07noaa9o4b46054
ase
0
44229
6341913
5913877
2026-08-24T12:55:41Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341913
wikitext
text/x-wiki
== {{ziman|fi}} ==
=== Navdêr ===
{{navdêr|fi}}
# [[çek]], [[sîleh]]
#* {{bêmînak|fi}}
==== Bide ber ====
* [[asê]]
==== Jê ====
* [[aseellinen]]
* [[aseeton]]
* [[aseistaa]]
* [[aseistettu]]
== {{ziman|lij}} ==
=== Navdêr ===
{{navdêr|lij}}
# {{mijar|lij|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bêmînak|lij}}
=== Çavkanî ===
{{rûpela wergerê|lij|ker}}
== {{ziman|ca}} ==
=== Navdêr ===
{{navdêr|ca|z=n}}
# {{mijar|ca|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bêmînak|ca}}
=== Çavkanî ===
{{rûpela wergerê|ca|ker}}
== {{ziman|oc}} ==
=== Navdêr ===
{{navdêr|oc}}
# {{mijar|oc|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bêmînak|oc}}
=== Çavkanî ===
{{rûpela wergerê|oc|ker}}
8b9ttmufx3lmjp9754p333nekg7tknd
6341972
6341913
2026-08-24T12:58:43Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6341972
wikitext
text/x-wiki
== {{ziman|fi}} ==
=== Navdêr ===
{{navdêr|fi}}
# [[çek]], [[sîleh]]
#* {{bêmînak|fi}}
==== Bide ber ====
* [[asê]]
==== Jê ====
* [[aseellinen]]
* [[aseeton]]
* [[aseistaa]]
* [[aseistettu]]
== {{ziman|lij}} ==
=== Navdêr ===
{{navdêr|lij}}
# {{mijar|lij|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bêmînak|lij}}
=== Çavkanî ===
{{rûpela wergerê|lij|ker}}
== {{ziman|ca}} ==
=== Navdêr ===
{{navdêr|ca|z=n}}
# {{mijar|ca|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bêmînak|ca}}
=== Çavkanî ===
{{rûpela wergerê|ca|ker}}
== {{ziman|oc}} ==
=== Navdêr ===
{{navdêr|oc}}
# {{mijar|oc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bêmînak|oc}}
=== Çavkanî ===
{{rûpela wergerê|oc|ker}}
6v4x16poqfuz1jnfizux4dstfa8q4nm
6342165
6341972
2026-08-24T13:41:08Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342165
wikitext
text/x-wiki
== {{ziman|fi}} ==
=== Navdêr ===
{{navdêr|fi}}
# [[çek]], [[sîleh]]
#* {{bêmînak|fi}}
==== Jê ====
* [[aseellinen]]
* [[aseeton]]
* [[aseistaa]]
* [[aseistettu]]
==== Bide ber ====
* [[asê]]
== {{ziman|lij}} ==
=== Navdêr ===
{{navdêr|lij}}
# {{mijar|lij|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bêmînak|lij}}
=== Çavkanî ===
{{rûpela wergerê|lij|ker}}
== {{ziman|ca}} ==
=== Navdêr ===
{{navdêr|ca|z=n}}
# {{mijar|ca|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bêmînak|ca}}
=== Çavkanî ===
{{rûpela wergerê|ca|ker}}
== {{ziman|oc}} ==
=== Navdêr ===
{{navdêr|oc}}
# {{mijar|oc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bêmînak|oc}}
=== Çavkanî ===
{{rûpela wergerê|oc|ker}}
1jb7agcwhu92lu6rfaavm069gpkm1xi
zulf
0
46085
6341906
6135622
2026-08-24T12:49:58Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341906
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[bisk]], [[kezî]], [[pirç]], [[por]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Xatûn dibêje bavêj [[xeyal]]an,<br>Were ser [[doşek]] û [[pal]]an,<br>Bihn ke [[zulf]] û [[xal]]an,<br>Law dibe [[zilf]]ê [[herîr]]e.}}
==== Bide ber ====
* [[zilif]]
* [[zilf]]
* [[zulif]]
* [[zuluf]]
==== Etîmolojî ====
Ji {{deyn|fa|ku|زلف|tr=zulf}}. Di kurdî de tenê di zimanê [[helbestkî]] de peyda dibe.
==== Werger ====
{{werger-ser}}
* {{Z|fa}}: {{W+|fa|زلف}}, {{W+|fa|گیسو}}
* {{Z|en}}: {{W+|en|trespasser}}, {{W-|en|lock of hair}}, {{W-|en|tress of hair}}
* {{Z|tr}}: {{W+|tr|zülüf}}
{{werger-bin}}
7tx19t9hpjm2cgn93d6yii5ehilbenm
6342166
6341906
2026-08-24T13:41:11Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342166
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[bisk]], [[kezî]], [[pirç]], [[por]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Xatûn dibêje bavêj [[xeyal]]an,<br>Were ser [[doşek]] û [[pal]]an,<br>Bihn ke [[zulf]] û [[xal]]an,<br>Law dibe [[zilf]]ê [[herîr]]e.}}
==== Etîmolojî ====
Ji {{deyn|fa|ku|زلف|tr=zulf}}. Di kurdî de tenê di zimanê [[helbestkî]] de peyda dibe.
==== Bide ber ====
* [[zilif]]
* [[zilf]]
* [[zulif]]
* [[zuluf]]
==== Werger ====
{{werger-ser}}
* {{Z|fa}}: {{W+|fa|زلف}}, {{W+|fa|گیسو}}
* {{Z|en}}: {{W+|en|trespasser}}, {{W-|en|lock of hair}}, {{W-|en|tress of hair}}
* {{Z|tr}}: {{W+|tr|zülüf}}
{{werger-bin}}
d1i64d1s000je2or5q076mmhmxxmff3
sosîs
0
47791
6342562
6326693
2026-08-25T11:13:45Z
Şêr
1103
ipa
6342562
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Navdêr ===
[[Wêne:Kielbasa7.jpg|thumb|çend sosîs]]
{{navdêr|ku|z=m}}
# [[xwarin|Xwarineke]] [[dirêj]] û [[balolk]] e û ji [[goşt]]ê [[hêrayî]] û hin [[berhem]]ên din hatiye çêkirin.
#* {{bêmînak|ku}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Jê ====
* [[sosîsk]]
==== Etîmolojî ====
Ji {{ji|fr|ku|saucisse}}.
==== Werger ====
{{werger-ser}}
* {{Z|af}}: {{W+|af|wors}}
* {{Z|de}}: {{W+|de|Wurst|f}}, {{W+|de|Würstchen|n}}
* {{Z|cs}}: {{W+|cs|párek}}, {{W+|cs|klobása}}, {{W+|cs|jitrnice}}
* {{Z|zh}}: {{W+|zh|香腸}}, [[香肠]] (xiāngcháng)
* {{Z|da}}: {{W+|da|pølse}}
* {{Z|ar}}: [[سجق]] (sucuq)
* {{Z|eo}}: {{W+|eo|kolbaso}}
* {{Z|fo}}: {{W-|fo|pylsa}}
* {{Z|fi}}: {{W+|fi|makkara}}
* {{Z|fr}}: {{W+|fr|saucisse}}
* {{Z|fy}}: {{W-|fy|woarst}}
* {{Z|nl}}: {{W+|nl|beuling}}, {{W+|nl|worst}}
* {{Z|en}}: {{W+|en|sausage}}
* {{Z|it}}: {{W+|it|salsiccia}}
* {{Z|is}}: {{W+|is|pylsa}}
* {{Z|ja}}: [[ソーセージ]] (sōsēji)
* {{Z|ca}}: {{W+|ca|botifarra}}
* {{Z|ko}}: [[소시지]] (sosiji)
* {{Z|lv}}: {{W-|lv|desa|f}}
* {{Z|hu}}: {{W+|hu|kolbász}}
* {{Z|no}}: {{W+|no|pølse}}
* {{Z|pap}}: {{W-|pap|wòrs}}, {{W-|pap|wòrst}}
* {{Z|pl}}: {{W+|pl|kiełbasa}}
* {{Z|pt}}: {{W+|pt|salsicha}}
* {{Z|ru}}: {{W+|ru|колбаса}}
* {{Z|sh}}: {{W+|sh|kobasica|f}}
* {{Z|sh}}:
*: Kirîlî: [[кобасица]] {{mê}}
*: Latînî: {{W-|la|kobasica|f}}
* {{Z|es}}: {{W+|es|embutido}}
* {{Z|sv}}: {{W+|sv|korv}}
* {{Z|tr}}: {{W+|tr|sosis}}
* {{Z|zu}}: {{W+|zu|isositshi}}
{{werger-bin}}
tt1s5x7zlhakn5zsstld1bdwaw2cfx7
danan
0
51379
6341911
6304563
2026-08-24T12:55:34Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341911
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/dɑːˈnɑːn/}}
* {{ku-kîte}}
=== Lêker ===
{{ku-tewîn-lk|danan|form=negerguhêz|niha=în|borî=anî|pêşgir=da}}
{{lêker|ku|c=gh}}
# {{bnr2|danîn}}
==== Bi alfabeyên din ====
* {{ku-ar|دانان}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|ablegen}}, {{W+|de|anpflanzen}}, {{W+|de|hinstellen}}, {{W+|de|pflanzen}}
* {{Z|ar}}: {{W-|ar|الإلقاء|guman=erê}}, {{W-|ar|الإنشاء|guman=erê}}, {{W-|ar|تألیـــف|guman=erê}}
* {{Z|fa}}: {{W+|fa|گذاشتن}}, {{W+|fa|فرونشستن}}, {{W+|fa|ترک کردن}}
* {{Z|en}}: {{W+|en|deploy}}, {{W+|en|comportment|guman=erê}}, {{W+|en|compose|guman=erê}}, {{W+|en|composition|guman=erê}}, {{W+|en|devotement|guman=erê}}, {{W+|en|emplacement|guman=erê}}, {{W+|en|evolve|guman=erê}}, {{W+|en|founding|guman=erê}}, {{W+|en|taxying|guman=erê}}, {{W+|en|emplace|guman=erê}}, {{W+|en|imposition|guman=erê}}, {{W+|en|put down|guman=erê}}, {{W+|en|put together|guman=erê}}, {{W+|en|putting|guman=erê}}, {{W+|en|putting down|guman=erê}}, {{W+|en|set down|guman=erê}}, {{W+|en|situating|guman=erê}}, {{W+|en|stick down|guman=erê}}, {{W+|en|subside|guman=erê}}
* {{Z|tr}}: {{W+|tr|dikmek}}, {{W+|tr|iniş}}, {{W-|tr|fidan dikmek}}
{{werger-bin}}
=== Navdêr ===
{{navdêr|ku|z=m}}
# {{mane?|ku}}
#* {{bênimûne|ku}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
== {{ziman|aa}} ==
=== Navdêr ===
{{navdêr|aa|danán|z=n}}
# {{mijar|aa|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bênimûne|aa}}
=== Çavkanî ===
{{rûpela wergerê|aa|ker}}
qgpwjyooq41al6oqtkqqofy4xj7v65s
6341959
6341911
2026-08-24T12:58:14Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6341959
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/dɑːˈnɑːn/}}
* {{ku-kîte}}
=== Lêker ===
{{ku-tewîn-lk|danan|form=negerguhêz|niha=în|borî=anî|pêşgir=da}}
{{lêker|ku|c=gh}}
# {{bnr2|danîn}}
==== Bi alfabeyên din ====
* {{ku-ar|دانان}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|ablegen}}, {{W+|de|anpflanzen}}, {{W+|de|hinstellen}}, {{W+|de|pflanzen}}
* {{Z|ar}}: {{W-|ar|الإلقاء|guman=erê}}, {{W-|ar|الإنشاء|guman=erê}}, {{W-|ar|تألیـــف|guman=erê}}
* {{Z|fa}}: {{W+|fa|گذاشتن}}, {{W+|fa|فرونشستن}}, {{W+|fa|ترک کردن}}
* {{Z|en}}: {{W+|en|deploy}}, {{W+|en|comportment|guman=erê}}, {{W+|en|compose|guman=erê}}, {{W+|en|composition|guman=erê}}, {{W+|en|devotement|guman=erê}}, {{W+|en|emplacement|guman=erê}}, {{W+|en|evolve|guman=erê}}, {{W+|en|founding|guman=erê}}, {{W+|en|taxying|guman=erê}}, {{W+|en|emplace|guman=erê}}, {{W+|en|imposition|guman=erê}}, {{W+|en|put down|guman=erê}}, {{W+|en|put together|guman=erê}}, {{W+|en|putting|guman=erê}}, {{W+|en|putting down|guman=erê}}, {{W+|en|set down|guman=erê}}, {{W+|en|situating|guman=erê}}, {{W+|en|stick down|guman=erê}}, {{W+|en|subside|guman=erê}}
* {{Z|tr}}: {{W+|tr|dikmek}}, {{W+|tr|iniş}}, {{W-|tr|fidan dikmek}}
{{werger-bin}}
=== Navdêr ===
{{navdêr|ku|z=m}}
# {{mane?|ku}}
#* {{bênimûne|ku}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
== {{ziman|aa}} ==
=== Navdêr ===
{{navdêr|aa|danán|z=n}}
# {{mijar|aa|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
#* {{bênimûne|aa}}
=== Çavkanî ===
{{rûpela wergerê|aa|ker}}
bqwz6to21hw06ezr1khxffdcp0cvi9t
cadû
0
52716
6342194
6339495
2026-08-24T18:49:19Z
Wikihez
7344
Guhartoya [[Special:Diff/6129049|6129049]] yê [[Special:Contributions/~2025-42872-61|~2025-42872-61]] ([[User talk:~2025-42872-61|gotûbêj]]) şûnde kir
6342194
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/d͡ʒʌːˈduː/}}
** (''[[rojhilatî]]'') {{IPA|ku|/d͡ʒʌːˈdʉː/}}
* {{ku-kîte}}
=== Navdêr ===
[[Wêne:Veringenstadt Denkmal Anna Bader.jpg|thumb|250px|Cadûyek]]
{{navdêr|ku|z=m}}
# [[pîrebok|Pîrebok]], [[pîrhevok]], [[pîrevok]], [[pîretewt]], [[ecûz]], [[pîrhebok]], [[pîrelik]], [[pîrejin]]ên [[sihirbaz]].
#* {{bêmînak|ku}}
# [[pîrejin|Pîrejinên]] [[kirêt]] yan [[cirnexweş]], [[pitpito]].
#* {{bêmînak|ku}}
==== Ji wêjeya klasîk ====
* {{J:Melayê Cizîrî:Dîwana Melayê Cizîrî|jêgirtin=Zulfan ji ber cotê esed<br />Sehharê cohtê '''cadûyan'''<br>Îro ji remza ebrûyan}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Bi alfabeyên din ====
* {{ku-ar|جادوو}}
==== Jê ====
{{stûn|
* [[cadûtî]]
* [[cadûyane]]
* [[cadûyî]]
* [[cadûyîtî]]
}}
==== Etîmolojî ====
Ji {{ji|ira-pro|ku|*yatu-}}, [[hevreh]]a avestayî ''yatu-'', sanskrîtî [[यातु]] (yatû), pehlewî ''catû'', belûçî {{g|bal|جاتو|tr=catû}} û {{g|bal|جادو|tr=cadû}}, farisî {{g|fa|جادو|tr=cadû}}, soranî {{g|ckb|جادوو|tr=cadû}}. Bo hin nimûneyên din jî, ku tê de "y" ya îraniya kevn di îraniya nû de dibe "c" binere: [[ciwan]], [[cejn]], [[cihû]]. [[Cadı]] ya tirkî ji zimanekî îranî hatiye wergirtin.
==== Werger ====
{{werger-ser}}
* {{Z|ab}}: {{W-|ab|арупап}}
* {{Z|ady}}: {{W-|ady|нэгъучӏыцэ}}, {{W-|ady|уды}}
* {{Z|af}}: {{W-|af|heks}}
* {{Z|sq}}: {{W+|sq|yshtëse|m}}
* {{Z|goh}}: {{W-|goh|hagzissa|m}}
* {{Z|gml}}: {{W-|gml|eteninne|m}}
* {{Z|pdc}}: {{W-|pdc|Hex|m}}
* {{Z|de}}: {{W+|de|Hexe|m}}, {{W-|de|Gabelreiterin|m}}, {{W+|de|Hexer|n}}, {{W+|de|Hexenmeister|n}}
* {{Z|arc}}: {{W-|arc|חרשתא|m}}
* {{Z|ast}}: {{W+|ast|bruxa}}
* {{Z|az}}: {{W+|az|cadugər}}
* {{Z|eu}}: {{W-|eu|sorgin}}, {{W-|eu|belagile}}
* {{Z|be}}: {{W-|be|ве́дзьма|m}}, {{W-|be|чараўні́ца|m}}
* {{Z|br}}: {{W+|br|gwrac'h|m}}, {{W+|br|sorserez}}
* {{Z|bg}}: {{W+|bg|ве́щица|m}}, {{W+|bg|вълше́бница|m}}, {{W+|bg|магьо́сница|m}}, {{W+|bg|чароде́йка|m}}
* {{Z|my}}: {{W+|my|ရွာသူ}}, {{W+|my|စုန်း}}, {{W+|my|ကဝေ}}
* {{Z|ccc}}: {{W-|ccc|shikechpalo}}
* {{Z|ce}}: {{W-|ce|гӏам}}, {{W-|ce|алмаз}}, {{W-|ce|ешап}}
* {{Z|cs}}: {{W+|cs|čarodějnice|m}}
* {{Z|ny}}: {{W-|ny|mfiti|c1|c2}}
* {{Z|zh}}:
*: {{Z|cmn}}: {{W+|cmn|巫|tr=wū}}, {{W+|cmn|巫婆|tr=wūpó}}, {{W+|cmn|巫人|tr=wūrén}}, {{W+|cmn|女巫|tr=nǚwū}}, {{W-|cmn|神婆|tr=shénpó}}, {{W+|cmn|魔女|tr=mónǚ}}, {{W+|cmn|女妖|tr=nǚyāo}}, {{W-|cmn|師婆|tr=shīpó}}
*: {{Z|nan}}: {{W-|nan|神姐|tr=sîn-chiá}}
* {{Z|da}}: {{W-|da|heks|g}}
* {{Z|egl}}: {{W-|egl|stria|m}}, {{W-|egl|strìa|m}}
* {{Z|id}}: {{W+|id|ahli sihir}}, {{W-|id|penyihir}}
* {{Z|ar}}: {{W-|ar|سَاحِرَة|m}}
* {{Z|hy}}: {{W+|hy|կախարդ}}, {{W+|hy|վհուկ}}
*: {{Z|xcl}}: {{W-|xcl|վհուկ}}, {{W-|xcl|հմայք}}
* {{Z|eo}}: {{W-|eo|sorĉistino}}
* {{Z|et}}: {{W-|et|nõid}}
* {{Z|fa}}: {{W+|fa|ساحره|tr=sâhare}}
* {{Z|fo}}: {{W-|fo|gandakelling|m}}, {{W-|fo|gívur|m}}
* {{Z|fi}}: {{W+|fi|noita}}
* {{Z|fr}}: {{W+|fr|sorcière|m}}, {{W+|fr|stryge|m}}
* {{Z|fur}}: {{W-|fur|strie|m}}
* {{Z|frr}}: {{W-|frr|Gögeler|g}}
* {{Z|stq}}: {{W-|stq|Häkse|m}}
* {{Z|fy}}: {{W-|fy|tsjoenster}}
* {{Z|gd}}: {{W-|gd|ban-draoidh|m}}, {{W-|gd|buidseach|m}}, {{W-|gd|bana-bhuidseach|m}}
* {{Z|gl}}: {{W+|gl|meiga|m}}, {{W+|gl|bruxa|m}}, {{W-|gl|feiticeira|m}}, {{W-|gl|saga|m}}, {{W-|gl|bieiteira|m}}, {{W-|gl|fada|m}}, {{W+|gl|lurpia|m}}, {{W-|gl|antaruxa|m}}, {{W-|gl|sursuncorda|m}}, {{W-|gl|bencedeira|m}}, {{W-|gl|croucha|m}}, {{W-|gl|vedoreira|m}}, {{W-|gl|chamorra|m}}, {{W-|gl|distria|m}}, {{W-|gl|xugota|m}}, {{W-|gl|nubeira|m}}
* {{Z|gu}}: {{W-|gu|વિચ}}, {{W-|gu|ચૂડેલ}}
* {{Z|ka}}: {{W-|ka|გრძნეული}}, {{W-|ka|ჯადოქარი}}, {{W-|ka|კუდიანი}}
* {{Z|ht}}: {{W-|ht|sòsyè}}
* {{Z|hi}}: {{W+|hi|चुड़ैल|m}}, {{W-|hi|जादूगरनी|m}}, {{W+|hi|डाइन|m}}
* {{Z|hil}}: {{W-|hil|bahoy}}
* {{Z|nl}}: {{W+|nl|heks|m}}, {{W+|nl|kol|m}}, {{W+|nl|tovenares|m}}, {{W+|nl|mare|m}}
* {{Z|hrx}}: {{W-|hrx|Hex|m}}
* {{Z|he}}: {{W-|he|מְכַשֵּׁפָה|m|tr=mekhashefá}}
* {{Z|ang}}: {{W-|ang|hægtesse|m}}, {{W-|ang|wiċċe|m}}, {{W-|ang|wiċċa|n}}
* {{Z|enm}}: {{W-|enm|wicche}}
* {{Z|en}}: {{W+|en|witch}}
* {{Z|ga}}: {{W+|ga|cailleach|m}}, {{W-|ga|bean Ultach|m}}, {{W-|ga|cailleach Ultach|n}}, {{W-|ga|amaid|m}}, {{W-|ga|cailleach feasa|m}}, {{W-|ga|seanchailleach|m}}
*: {{Z|sga}}: {{W-|sga|badb|m}}, {{W-|sga|ammait|m}}
* {{Z|it}}: {{W+|it|strega|m}}, {{W+|it|fattucchiera|m}}, {{W+|it|versiera|m}}, {{W+|it|maliarda|m}}, {{W+|it|saga|m}}
* {{Z|is}}: {{W-|is|galdrakerling|m}}, {{W+|is|norn|m}}
* {{Z|ja}}: {{W+|ja|魔女|tr=まじょ majo}}
* {{Z|kbd}}: {{W-|kbd|уд}}
* {{Z|kl}}: {{W-|kl|ilisiitsoq}}, {{W-|kl|kussuk}}
* {{Z|kn}}: {{W+|kn|ಮಾಟಗಾತಿ}}, {{W+|kn|ಮಾಂತ್ರಿಕ ಸ್ತ್ರೀ}}, {{W+|kn|ಮಾಯಗಾತಿ}}
* {{Z|krc}}: {{W-|krc|обур}}
* {{Z|krl}}: {{W-|krl|noita}}
* {{Z|ca}}: {{W+|ca|bruixa|m}}
* {{Z|qu}}: {{W-|qu|layqa}}
* {{Z|ky}}: {{W+|ky|желмогуз}}
* {{Z|ko}}: {{W+|ko|무당}}, {{W+|ko|마녀}}
* {{Z|kw}}: {{W-|kw|gwragh|m}}
* {{Z|co}}: {{W-|co|strega}}, {{W-|co|sdreia}}, {{W-|co|maga}}, {{W-|co|moca}}
* {{Z|mfe}}: {{W-|mfe|churel}}, {{W-|mfe|sorsier}}
* {{Z|ltg}}: {{W-|ltg|rogona}}
* {{Z|la}}: {{W-|la|magus|n}}, {{W-|la|maga|m}}, {{W-|la|maleficus|n}}, {{W-|la|malefica|m}}, {{W-|la|venēficus|n}}, {{W-|la|venēfica|m}}, {{W+|la|fascināns|n|m}}, {{W-|la|fascinātor|n}}, {{W-|la|fascinātrīx|m}}, {{W+|la|sāgus|n}}, {{W-|la|sāga|m}}, {{W-|la|striga|m}}, {{W-|la|lamia|m}}, {{W-|la|pȳthōnissa|m}}, {{W+|la|strix|m}}
* {{Z|lv}}: {{W+|lv|ragana|m}}, {{W-|lv|mačka|m}}
* {{Z|lo}}: {{W-|lo|ແມ່ມົດ}}
* {{Z|li}}: {{W+|li|heks|m}}
* {{Z|lt}}: {{W-|lt|ragana|m}}
* {{Z|lmo}}: {{W-|lmo|stria|m}}, {{W-|lmo|strïon|n}}
* {{Z|lb}}: {{W-|lb|Hex|m}}
* {{Z|mk}}: {{W-|mk|вештерка|m}}, {{W-|mk|волшебничка|m}}
* {{Z|mg}}: {{W+|mg|mpamosavy}}
* {{Z|ml}}: {{W-|ml|മന്ത്രവാദം}}
* {{Z|ms}}: {{W-|ms|ahli sihir}}, {{W-|ms|penyihir|}}, {{W+|ms|sahir|}}
* {{Z|mt}}: {{W-|mt|saħħara}}
* {{Z|gv}}: {{W-|gv|ben obbee|m}}, {{W-|gv|buitçh|m}}, {{W-|gv|caillagh|m}}
* {{Z|mi}}: {{W-|mi|hinematarau}}
* {{Z|hu}}: {{W+|hu|boszorka}}, {{W+|hu|boszorkány}}, {{W+|hu|bába}}
* {{Z|nv}}: {{W-|nv|áńtʼį́į́hii}}, {{W-|nv|adiłgąshii}}
* {{Z|nds}}:
*: {{Z|nds-de}}: {{W-|nds-de|Hex|m}}, {{W-|nds-de|Wicker|n}}, {{W-|nds-de|Wickersch|m}}, {{W-|nds-de|Wickersche|m}}, {{W-|nds-de|Witsch|m}}
* {{Z|nrf}}: {{W-|nrf|chorchiéthe|m}}
* {{Z|non}}: {{W-|non|seiðkona|m}}, {{W-|non|vǫlva|m}}, {{W-|non|galdrakona|m}}
* {{Z|no}}:
*: {{Z|nb}}: {{W-|nb|heks|m|n}}
*: {{Z|nn}}: {{W-|nn|trollkjerring|m}}, {{W-|nn|heks|m}}
* {{Z|oc}}: {{W+|oc|masca|m}}, {{W+|oc|bruèissa|m}}, {{W+|oc|fachilhièra|m}}, {{W+|oc|fachinièra|m}}
* {{Z|uz}}: {{W+|uz|jodugar}}
* {{Z|pdt}}: {{W-|pdt|Hakjs|m}}
* {{Z|pl}}: {{W+|pl|czarownica|m}}, {{W+|pl|wiedźma|m}}, {{W+|pl|jędza|m}}, {{W+|pl|heksa|m}}
* {{Z|roa-opt}}: {{W-|roa-opt|sorteira|m}}
* {{Z|pt}}: {{W+|pt|bruxa|m}}, {{W+|pt|estria|m}}, {{W-|pt|estrige|m}}, {{W+|pt|feiticeira|m}}
* {{Z|kk}}: {{W-|kk|мыстан}}, {{W-|kk|жезтырнақ}}
* {{Z|rm}}: {{W-|rm|stria}}, {{W-|rm|streia}}
* {{Z|rom}}: {{W-|rom|ćovaxani|m}}, {{W-|rom|ćovali|m}}, {{W-|rom|drabarìca|m}}, {{W-|rom|drabarni|m}}
*: {{Z|rml}}: {{W-|rml|čovaxani|m}}, {{W-|rml|čovaxanî|m}}, {{W-|rml|vjeďma|m}}
*: {{Z|rmo}}: {{W-|rmo|čovaxani|m}}, {{W-|rmo|broška|m}}, {{W-|rmo|heksa|m}}
*: {{Z|rmw}}: {{W-|rmw|čovexani|m}}
* {{Z|ro}}: {{W+|ro|vrăjitoare|n}}, {{W+|ro|vrăjitor|n}}
* {{Z|ru}}: {{W+|ru|ве́дьма|m}}, {{W+|ru|колду́нья|m}}, {{W+|ru|волше́бница}}, {{W+|ru|чароде́йка|m}}
* {{Z|smj}}: {{W-|smj|guobas}}
* {{Z|sat}}: {{W-|sat|ᱯᱷᱩᱠᱨᱤᱱ}}
* {{Z|ceb}}: {{W-|ceb|mamamarang}}, {{W-|ceb|bruha}}
* {{Z|sh}}:
*: Kirîlî: {{W-|sh|вѐштица|m}}, {{W-|sh|вјѐштица|m}}, {{W-|sh|штри̏га|m}}, {{W-|sh|цо̀прница|m}}
*: Latînî: {{W+|sh|vèštica|m}}, {{W+|sh|vjèštica|m}}, {{W+|sh|štrȉga|m}}, {{W+|sh|còprnica|m}}
* {{Z|syc}}: {{W-|syc|ܚܪܫܬܐ|m}}
* {{Z|sco}}: {{W-|sco|ell-woman}}, {{W-|sco|galdragon}}, {{W-|sco|gyre carline}}, {{W-|sco|hexie}}, {{W-|sco|sorceres}}, {{W-|sco|wancanny carlin}}, {{W-|sco|weird-woman}}, {{W-|sco|wise woman}}, {{W-|sco|wise wife}}, {{W-|sco|witch}}, {{W-|sco|witch-carline}}, {{W-|sco|witch-queen}}, {{W-|sco|witch-wife}}
* {{Z|sk}}: {{W-|sk|čarodejnica|m}}, {{W+|sk|striga|m}}, {{W+|sk|bosorka|m}}
* {{Z|sl}}: {{W+|sl|čarovnica|m}}
* Sorbî:
*: {{Z|dsb}}: {{W-|dsb|chódota|m}}
*: {{Z|hsb}}: {{W-|hsb|chodojta|m}}, {{W-|hsb|kuzłarnča|m}}
* {{Z|es}}: {{W+|es|bruja|m}}, {{W+|es|hechicera|m}}, {{W-|es|maga|m}}
* {{Z|sux}}: {{W-|sux|𒊩𒈦𒈦|ts=mašmaš}}
* {{Z|sw}}: {{W+|sw|mchawi|cm-wa}}
* {{Z|sv}}: {{W+|sv|häxa|g}}, {{W+|sv|trollpacka|g}}, {{W-|sv|trollkvinna|g}}
* {{Z|tg}}: {{W-|tg|ҷодугарзан}}, {{W-|tg|албастӣ}}, {{W-|tg|соҳира}}
* {{Z|tl}}: {{W-|tl|mananagisama}}, {{W-|tl|mangkukulam}}
* {{Z|ta}}: {{W-|ta|சூனியக்காரி}}, {{W+|ta|விரிச்சிகன்}}
* {{Z|twf}}: {{W-|twf|còhəo’óna}}
* {{Z|th}}: {{W-|th|แม่มด}}
* {{Z|te}}: {{W-|te|మంత్రగత్తె}}
* {{Z|tr}}: {{W+|tr|büyücü}}, {{W+|tr|sihirbaz}}, {{W+|tr|cadı}}
* {{Z|tpi}}: {{W-|tpi|puripurimeri}}, {{W-|tpi|poisinmeri}}, {{W-|tpi|sanguma meri}}
* {{Z|tn}}: {{W-|tn|moloi|c1}}
* {{Z|udi}}: {{W-|udi|тӏатӏмер}}, {{W-|udi|куси}}
* {{Z|ur}}: {{W-|ur|چڑیل|tr=cuṛail}}
* {{Z|uk}}: {{W-|uk|ві́дьма|m}}, {{W-|uk|чарівни́ця|m}}, {{W-|uk|чаклу́нка|m}}
* {{Z|vec}}: {{W+|vec|striga|m}}
* {{Z|vep}}: {{W-|vep|noid}}
* {{Z|vi}}: {{W+|vi|phù thuỷ}}
* {{Z|vo}}: {{W+|vo|magivan}}, {{W-|vo|himagivan}}, {{W+|vo|jimagivan}}
* {{Z|vor}}: {{W-|vor|nõid}}
* {{Z|vot}}: {{W-|vot|nõitõ}}
* {{Z|war}}: {{W-|war|barangan}}
* {{Z|cy}}: {{W-|cy|dewines|m}}, {{W-|cy|gwrach}}
* {{Z|wym}}: {{W-|wym|pyłwajs}}
* {{Z|km}}: {{W+|km|មេមត់}}, {{W-|km|ឌាក៌នី}}
* {{Z|xh}}: {{W-|xh|igqwirhakazi|c5|c6}}
* {{Z|yi}}: {{W-|yi|מכשפֿה|m|tr=makhsheyfe}}
* {{Z|el}}: {{W+|el|μάγισσα|m}}
*: Kevn: {{W-|grc|φαρμακίς|m}}
{{werger-bin}}
:{{werger çavkanî|en|witch|beş=Ev qismê Wergerê|oldid=75822919}}
0h71rjd90mjip6whmzmj84ga3tx0a0m
ده
0
61872
6342281
6234609
2026-08-24T22:47:57Z
Wikihez
7344
/* Hoker */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342281
wikitext
text/x-wiki
{{bnr-h|دہ|دە|دٔہ|دٕہ}}
== {{ziman|ku}} ==
=== Hoker ===
{{hoker|ku|tr=-}}
# {{ku-Latn|de}}
== {{ziman|arz}} ==
=== Cînav ===
{{cînav|arz|tr=da}}
# {{g|ku|ev}} ([[yekjimar]], [[biker]])
== {{ziman|avd}} ==
=== Daçek ===
{{daçek|avd|tr=de}}
# {{g|ku|di ... de}}
=== Çavkanî ===
{{rûpela wergerê|avd|di ... de}}
== {{ziman|fa}} ==
=== Hejmar ===
{{hejmar|fa|tr=deh}}
# [[deh]]
=== Navdêr ===
{{navdêr|fa|tr=dêh}}
# [[gund]]
=== Rehekî lêkerê ===
{{reh|fa|tr=-deh-}}
# {{rehê dema niha|fa|دادن}}
## [[-d-]], [[-de-]].
obdnll5jgip0soafry1xihak8wckwsa
palace
0
95897
6342258
6086769
2026-08-24T22:20:57Z
Wikihez
7344
/* Navdêr */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342258
wikitext
text/x-wiki
== {{ziman|en}} ==
=== Bilêvkirin ===
* {{deng|en|en-us-palace.ogg|dever=DYA}}
* {{deng|en|LL-Q1860 (eng)-Grendelkhan-palace.wav|Deng|dever=Connecticut, DYA}}
=== Navdêr ===
{{navdêr|en}}
# [[seray]], [[koşk]], [[palas]]
4wg7sqg294uvfr4f2xy41sjzx9k4ezg
asal
0
123970
6341916
6045360
2026-08-24T12:55:50Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341916
wikitext
text/x-wiki
== {{ziman|gd}} ==
=== Navdêr ===
{{navdêr|gd|z=m}}
# {{mijar|gd|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|gd|ker}}
== {{ziman|ga}} ==
=== Bilêvkirin ===
* {{deng|ga|LL-Q9142 (gle)-Ériugena-asal.wav|Deng|dever=Îrland, QY}}
=== Navdêr ===
{{navdêr|ga|z=n}}
# {{mijar|ga|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ga|ker}}
== {{ziman|uz}} ==
=== Navdêr ===
{{navdêr|uz}}
# {{mijar|uz|xwarin}} {{g|ku|hingiv}}, {{g|ku|hingivîn}}
=== Çavkanî ===
{{rûpela wergerê|uz|hingiv}}
== {{ziman|rom}} ==
=== Lêker ===
{{lêker|rom}}
# {{g|ku|kenîn}}
== {{ziman|tr}} ==
=== Rengdêr ===
{{rengdêr|tr}}
# [[sereke]], [[bingehî]]
== {{ziman|vec}} ==
=== Navdêr ===
{{navdêr|vec}}
# {{g|ku|pola}}
=== Çavkanî ===
{{rûpela wergerê|vec|pola}}
pd2ywc79i5jt9zfl91f9f8a3v2fraq4
6341986
6341916
2026-08-24T12:59:13Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6341986
wikitext
text/x-wiki
== {{ziman|gd}} ==
=== Navdêr ===
{{navdêr|gd|z=m}}
# {{mijar|gd|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|gd|ker}}
== {{ziman|ga}} ==
=== Bilêvkirin ===
* {{deng|ga|LL-Q9142 (gle)-Ériugena-asal.wav|Deng|dever=Îrland, QY}}
=== Navdêr ===
{{navdêr|ga|z=n}}
# {{mijar|ga|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ga|ker}}
== {{ziman|uz}} ==
=== Navdêr ===
{{navdêr|uz}}
# {{mijar|uz|xwarin}} {{g|ku|hingiv}}, {{g|ku|hingivîn}}
=== Çavkanî ===
{{rûpela wergerê|uz|hingiv}}
== {{ziman|rom}} ==
=== Lêker ===
{{lêker|rom}}
# {{g|ku|kenîn}}
== {{ziman|tr}} ==
=== Rengdêr ===
{{rengdêr|tr}}
# [[sereke]], [[bingehî]]
== {{ziman|vec}} ==
=== Navdêr ===
{{navdêr|vec}}
# {{g|ku|pola}}
=== Çavkanî ===
{{rûpela wergerê|vec|pola}}
gg39ectck2celkcuq7zh8jyl3tr8sdq
ezel
0
135682
6341915
6339654
2026-08-24T12:55:47Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341915
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku|z=m}}
# {{f|ku|Îslam}} [[ebed]], [[bêdestpêk]], [[berî]] [[destpêk]]a [[gerdûn]]ê, [[berî]] [[hebûn]]a her tiştî:
#* {{J:Melayê Cizîrî:Dîwana Melayê Cizîrî|jêgirtin=Ellah sehergaha '''ezel'''<br>Zatê tecellaya xwe da<br>Nûra cemala lemyezel<br>Yelmûmê ’işqê şu`le da}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê|y}}
==== Notên bikaranînê ====
{{agadarî}} Tenê di berhemên [[dînî]] û hinek helbestên [[klasîk]] de
==== Bi alfabeyên din ====
* {{ku-ar|ئەزەل}}
==== Etîmolojî ====
Ji {{deyn|ar|ku|أَزَلْ}}
==== Werger ====
{{werger-ser}}
* {{Z|ar}}: {{W+|ar|أَزَل|n}}
* {{Z|fr}}: {{W+|fr|éternité|m}}
* {{Z|en}}: {{W+|en|eternity}}
{{werger-bin}}
== {{ziman|fy}} ==
=== Navdêr ===
{{navdêr|fy}}
# {{mijar|fy|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|fy|ker}}
== {{ziman|nl}} ==
=== Navdêr ===
{{navdêr|nl|z=n}}
# {{mijar|nl|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|nl|ker}}
== {{ziman|dsb}} ==
=== Navdêr ===
{{navdêr|dsb|z=n}}
# {{mijar|dsb|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|dsb|ker}}
== {{ziman|tr}} ==
=== Bilêvkirin ===
* {{deng|tr|LL-Q256 (tur)-ToprakM-ezel.wav|Deng|dever=Îzmîr, Tirkiye}}
=== Navdêr ===
{{navdêr|tr}}
# {{g|ku|ezel}}, [[ebed]], [[bêdestpêk]]
==== Etîmolojî ====
Ji {{deyn|ar|tr|أَزَلْ}}
8imh9eu44bdn9jxm9s6bvakml1khicu
6341982
6341915
2026-08-24T12:59:06Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6341982
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku|z=m}}
# {{f|ku|Îslam}} [[ebed]], [[bêdestpêk]], [[berî]] [[destpêk]]a [[gerdûn]]ê, [[berî]] [[hebûn]]a her tiştî:
#* {{J:Melayê Cizîrî:Dîwana Melayê Cizîrî|jêgirtin=Ellah sehergaha '''ezel'''<br>Zatê tecellaya xwe da<br>Nûra cemala lemyezel<br>Yelmûmê ’işqê şu`le da}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê|y}}
==== Notên bikaranînê ====
{{agadarî}} Tenê di berhemên [[dînî]] û hinek helbestên [[klasîk]] de
==== Bi alfabeyên din ====
* {{ku-ar|ئەزەل}}
==== Etîmolojî ====
Ji {{deyn|ar|ku|أَزَلْ}}
==== Werger ====
{{werger-ser}}
* {{Z|ar}}: {{W+|ar|أَزَل|n}}
* {{Z|fr}}: {{W+|fr|éternité|m}}
* {{Z|en}}: {{W+|en|eternity}}
{{werger-bin}}
== {{ziman|fy}} ==
=== Navdêr ===
{{navdêr|fy}}
# {{mijar|fy|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|fy|ker}}
== {{ziman|nl}} ==
=== Navdêr ===
{{navdêr|nl|z=n}}
# {{mijar|nl|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|nl|ker}}
== {{ziman|dsb}} ==
=== Navdêr ===
{{navdêr|dsb|z=n}}
# {{mijar|dsb|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|dsb|ker}}
== {{ziman|tr}} ==
=== Bilêvkirin ===
* {{deng|tr|LL-Q256 (tur)-ToprakM-ezel.wav|Deng|dever=Îzmîr, Tirkiye}}
=== Navdêr ===
{{navdêr|tr}}
# {{g|ku|ezel}}, [[ebed]], [[bêdestpêk]]
==== Etîmolojî ====
Ji {{deyn|ar|tr|أَزَلْ}}
994r468liuj1bjeobp8xfv80rym855s
eşek
0
135850
6341914
6075697
2026-08-24T12:55:43Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341914
wikitext
text/x-wiki
== {{ziman|gag}} ==
=== Navdêr ===
{{navdêr|gag}}
# {{mijar|gag|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|gag|ker}}
== {{ziman|crh}} ==
=== Navdêr ===
{{navdêr|crh}}
# {{mijar|crh|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|crh|ker}}
== {{ziman|tr}} ==
=== Bilêvkirin ===
* {{deng|tr|LL-Q256 (tur)-ToprakM-eşek.wav|Deng|dever=}}
=== Navdêr ===
{{navdêr|tr}}
# {{f|tr|guhandar}} [[ker]] (Aquus asinus)
# [[çoçok]], [[çoço]] (di zimanê zarokan de)
# {{f|tr|mecazî}} [[ker]] (ji bo kesê zir, serhişk û bêpîr û şerde)
#: {{mk|tr|O eşeğin biri.|rêz=1|Ew kerekî dera hanê ye.}}
# [[kerik]] (sêpaya ku mirov radibe sêrê û pê dîwar lê dike an jî didû)
== {{ziman|tk}} ==
=== Navdêr ===
{{navdêr|tk}}
# {{mijar|tk|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|tk|ker}}
o66p80j0a77x0l561nxtseasnlix4m2
6341978
6341914
2026-08-24T12:58:57Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6341978
wikitext
text/x-wiki
== {{ziman|gag}} ==
=== Navdêr ===
{{navdêr|gag}}
# {{mijar|gag|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|gag|ker}}
== {{ziman|crh}} ==
=== Navdêr ===
{{navdêr|crh}}
# {{mijar|crh|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|crh|ker}}
== {{ziman|tr}} ==
=== Bilêvkirin ===
* {{deng|tr|LL-Q256 (tur)-ToprakM-eşek.wav|Deng|dever=}}
=== Navdêr ===
{{navdêr|tr}}
# {{f|tr|guhandar}} [[ker]] (Aquus asinus)
# [[çoçok]], [[çoço]] (di zimanê zarokan de)
# {{f|tr|mecazî}} [[ker]] (ji bo kesê zir, serhişk û bêpîr û şerde)
#: {{mk|tr|O eşeğin biri.|rêz=1|Ew kerekî dera hanê ye.}}
# [[kerik]] (sêpaya ku mirov radibe sêrê û pê dîwar lê dike an jî didû)
== {{ziman|tk}} ==
=== Navdêr ===
{{navdêr|tk}}
# {{mijar|tk|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|tk|ker}}
f955ulyvdjt6wkfm3b7t23m4y5023hv
nisyan
0
156757
6341891
6139309
2026-08-24T12:39:30Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341891
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[jibîrkirin]], [[bîrakirin]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Ey [[şafî|şefî']]ê [[sahib]]ê alayê [[hemd]]<br>Min hene bêhed guneh, [[nisyan]] û [['emd]] }}
==== Etîmolojî ====
{{ji?}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
c5g70n0a7eoedlhp85jhjgu3wjsxrop
6342167
6341891
2026-08-24T14:12:08Z
Balyozbot
7867
Bot: Paqijiyên kozmetîk (Lînk paqij kir, --Valahiyên nehewce.)
6342167
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[jibîrkirin]], [[bîrakirin]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Ey [[şafî|şefî'ê]] [[sahib]]ê alayê [[hemd]]<br>Min hene bêhed guneh, [[nisyan]] û [['emd]] }}
==== Etîmolojî ====
{{ji?}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
9h4c2716473yetf7ybgn8ozhk4u7ajc
6342185
6342167
2026-08-24T14:46:51Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342185
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[jibîrkirin]], [[bîrakirin]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Ey [[şafî|şefî'ê]] [[sahib]]ê alayê [[hemd]]<br>Min hene bêhed guneh, [[nisyan]] û [['emd]] }}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
e86w1pw4pazzmzvujjsb7f7tbm8thax
samur
0
161249
6341912
6046144
2026-08-24T12:55:39Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341912
wikitext
text/x-wiki
== {{ziman|dlm}} ==
=== Navdêr ===
{{navdêr|dlm|z=n}}
# {{mijar|dlm|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|dlm|ker}}
== {{ziman|fo}} ==
=== Rengdêr ===
{{rengdêr|fo}}
# {{g|ku|eynî}}, {{g|ku|heman}}
=== Çavkanî ===
{{rûpela wergerê|fo|eynî}}
== {{ziman|is}} ==
=== Rengdêr ===
{{rengdêr|is}}
# {{g|ku|eynî}}, {{g|ku|heman}}
=== Çavkanî ===
{{rûpela wergerê|is|eynî}}
== {{ziman|tr}} ==
=== Bilêvkirin ===
* {{deng|tr|LL-Q256 (tur)-ToprakM-samur.wav|Deng|dever=Îzmîr, Tirkiye}}
=== Navdêr ===
{{navdêr|tr}}
# seyê avî, [[samûr]] ([[Martes]]
# [[samûrî]] (tiştê ji postê seyê avî)
qhnxjkrxj1o8pux1qmglp3zxjvjmdqp
6341962
6341912
2026-08-24T12:58:18Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6341962
wikitext
text/x-wiki
== {{ziman|dlm}} ==
=== Navdêr ===
{{navdêr|dlm|z=n}}
# {{mijar|dlm|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|dlm|ker}}
== {{ziman|fo}} ==
=== Rengdêr ===
{{rengdêr|fo}}
# {{g|ku|eynî}}, {{g|ku|heman}}
=== Çavkanî ===
{{rûpela wergerê|fo|eynî}}
== {{ziman|is}} ==
=== Rengdêr ===
{{rengdêr|is}}
# {{g|ku|eynî}}, {{g|ku|heman}}
=== Çavkanî ===
{{rûpela wergerê|is|eynî}}
== {{ziman|tr}} ==
=== Bilêvkirin ===
* {{deng|tr|LL-Q256 (tur)-ToprakM-samur.wav|Deng|dever=Îzmîr, Tirkiye}}
=== Navdêr ===
{{navdêr|tr}}
# seyê avî, [[samûr]] ([[Martes]]
# [[samûrî]] (tiştê ji postê seyê avî)
rgbnmryzppkq00vhrro8qwheyelsimt
ئابۆر
0
268231
6342351
5879173
2026-08-25T08:41:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342351
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:abor
=== Navdêr ===
{{navdêr|ckb}}
# [[buhur]], [[rê]], [[rêk]]
8aunyugwp3ph7ghtkzmbcqxmjizahdu
ئابروو
0
268232
6342349
5879172
2026-08-25T08:40:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342349
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:abrû
=== Navdêr ===
{{navdêr|ckb}}
# [[şeref]], [[namûs]]
# [[şerm]]
gsouwl0qslemrw2exgnsruyb99ppujj
ئادەی!
0
268233
6342359
5879181
2026-08-25T08:42:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> baneşan
6342359
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:adey!
=== Baneşan ===
{{baneşan|ckb}}
# de! dê! de bike! de haydî! haydî! yella!
m1b0whngf4ng3g2iw68z0xrovj6gv3i
ئافەریدە
0
268234
6342383
5879208
2026-08-25T08:46:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342383
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:aferîde
=== Navdêr ===
{{navdêr|ckb}}
# [[afirandî]], [[xuliqandî]]
gojzq98rz6tyxip47hxi5ld77izltwn
6342420
6342383
2026-08-25T08:56:31Z
Şêr
1103
her du jî dibin, lê bila rengdêr li vir bimîne
6342420
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:aferîde
=== Rengdêr ===
{{rengdêr|ckb}}
# [[afirandî]], [[xuliqandî]]
7rg4u8n34mkuic8ru142pedgwjav6ei
ئافرەت
0
268236
6342382
5879207
2026-08-25T08:46:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342382
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:afret
=== Navdêr ===
{{navdêr|ckb}}
# [[jin]], [[pîrek]]
5w9fs5f5njahzpz1yf0wmajngp2mloq
ئاھەنگ
0
268238
6342405
5879229
2026-08-25T08:49:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342405
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:aheng
=== Navdêr ===
{{navdêr|ckb}}
# [[şahî]], [[cejn]]
# [[aheng]], [[harmonî]]
fkiq7n7565e96yzv9dfye3xhsqxxkwu
ئاژاڵ
0
268239
6342363
5879187
2026-08-25T08:43:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342363
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ajall
=== Navdêr ===
{{navdêr|ckb}}
# [[kewal]], [[sewal]], [[heywan]]
6zavpk0dl7m6kvqu3g8eudc87fc0sbs
ئاژاوە
0
268240
6342364
5879188
2026-08-25T08:43:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342364
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ajawe
=== Navdêr ===
{{navdêr|ckb}}
# [[têkoşîn]], [[tevger]], [[micadele]], [[dijberî]]
9fx8zrpr358ymxd8k1ntdrpxai3gqkc
ئاکام
0
268241
6342386
5879211
2026-08-25T08:46:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342386
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:akam
=== Navdêr ===
{{navdêr|ckb}}
# [[encam]], [[dawî]]
2c3oqh9k3har5qynufou3vkqzlm0ffh
ئاکار
0
268242
6342385
5879210
2026-08-25T08:46:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342385
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:akar
=== Navdêr ===
{{navdêr|ckb}}
# [[reftar]], [[tevger]], [[akar]], [[ rabûn-û-rûniştin]]
miiua642nq9kryasb6mtdo4o45yqly6
ئال
0
268243
6342387
5879212
2026-08-25T08:46:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342387
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:al
=== Rengdêr ===
{{rengdêr|ckb}}
# tila navîn
13eztxt2f2e6ce3k4nmxmejrelkrk2d
ئالف
0
268245
6342388
5879214
2026-08-25T08:47:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342388
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:alif
=== Navdêr ===
{{navdêr|ckb}}
# [[êm]], [[alif]]
oqu6ybxcyyt7bs36rnobswbz7492ebu
ئاڵۆز
0
268246
6342393
5879217
2026-08-25T08:47:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342393
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:alloz
=== Rengdêr ===
{{rengdêr|ckb}}
# [[tevlihev]], [[dijwar]], [[aloz]], [[şêlî]]
oea30c81t24rru3wbdziludrujbav9d
ئاڵتوون
0
268247
6342389
5879213
2026-08-25T08:47:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342389
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:alltûn
=== Navdêr ===
{{navdêr|ckb}}
# [[zêr]]
d5nq1297x6bsvwx18r3cplx6wzvypbs
ئاڵووگۆڕ
0
268248
6342392
5879215
2026-08-25T08:47:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342392
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:allûgorr
=== Navdêr ===
{{navdêr|ckb}}
# [[guher]], [[guherîn]], [[guhartin]], [[danûstandin]], [[têkilî]]
0ggeb0z3m7mhmwovtrwtiny6sbkz3fc
ئاڵووگۆز
0
268249
6342391
5879216
2026-08-25T08:47:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342391
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:allûgoz
=== Navdêr ===
{{navdêr|ckb}}
# [[guhestin]], bi hev guherandin, [[pêguhartin]]
ges4ghd7cvuh0vclt675d9tyfsublnc
ئام
0
268250
6342394
5879218
2026-08-25T08:47:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342394
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:am
=== Navdêr ===
{{navdêr|ckb}}
# [[ap]], [[mam]]
1cx6forhsxhyjsymw6lrb32bywnn6rb
ئامادە
0
268251
6342395
5879219
2026-08-25T08:48:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342395
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:amade
=== Rengdêr ===
{{rengdêr|ckb}}
# [[amade]], [[hazir]]
0c9rnagc0vur4b1bzdh11k0jcoxy8t7
ئاماژ
0
268252
6342397
5879221
2026-08-25T08:48:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342397
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:amaj
=== Navdêr ===
{{navdêr|ckb}}
# [[nîşane]], [[delîl]], [[gova]]
cullro8144o6t06i539w54ctedtmiz6
ئامان!
0
268253
6342399
5879223
2026-08-25T08:48:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> baneşan
6342399
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:aman!
=== Baneşan ===
{{baneşan|ckb}}
# eman! hewar!
rq4bgnwwy1c5b6z2g2kk0vilsun8i4a
6342421
6342399
2026-08-25T08:57:50Z
Şêr
1103
bilêvkirin û translîterasyon dubare
6342421
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Baneşan ===
{{baneşan|ckb}}
# eman! hewar!
fbjxmzkmhe1aniyevop59eghg1mlj9c
ئامار
0
268255
6342396
5879220
2026-08-25T08:48:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342396
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:amar
=== Navdêr ===
{{navdêr|ckb}}
# [[hiljimar]], [[statîstîk]]
ir6it451l213m3fbd05bjpk9pqre0ph
ئاماسان
0
268256
6342398
5879222
2026-08-25T08:48:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> lêker
6342398
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:amasan
=== Lêker ===
{{lêker|ckb}}
# [[werimîn]], [[perçivîn]]
t9try2ke27kysdxkjuq7gqr7u8i3ibj
ئامێر
0
268257
6342404
5879228
2026-08-25T08:49:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342404
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:amêr
=== Navdêr ===
{{navdêr|ckb}}
# [[alav]], [[amûr]], [[alet]]
saya9gzzubzfxeldhc5lmq9yiq5b956
ئامۆژن
0
268259
6342403
5879227
2026-08-25T08:49:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342403
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:amojin
=== Navdêr ===
{{navdêr|ckb}}
# [[jinmam]]
5yl3wae7yvup9vgpzkfi43atbhdl1zc
ئامۆزا
0
268260
6342402
5879226
2026-08-25T08:49:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342402
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:amoza
=== Navdêr ===
{{navdêr|ckb}}
# [[mamza]], pismam û dotmam, kurmam û keçmam
057rf13xw2x86ncbi0tfc3my6174mdr
ئامراز
0
268261
6342400
5879224
2026-08-25T08:48:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342400
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:amraz
=== Navdêr ===
{{navdêr|ckb}}
# [[pirtik]], [[amraz]]
lpxi5kx59rs95g7k3g2n36zb2t07ggx
ئامسەر
0
268262
6342401
5879225
2026-08-25T08:49:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342401
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:amser
=== Navdêr ===
{{navdêr|ckb}}
# [[şû]], [[hevser]], jina yan mêrê kesekê/î
3c25d5ii473i13e84druxumiqznrgug
ئاپتەر
0
268263
6342352
5879174
2026-08-25T08:41:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342352
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:apter
=== Navdêr ===
{{navdêr|ckb}}
# [[dîn]], [[şêt]], [[delodîn]]
itl0n1papsxn0ocj1hri5rsbr0fparh
ئاقل
0
268264
6342384
5879209
2026-08-25T08:46:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342384
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:aqil
=== Rengdêr ===
{{rengdêr|ckb}}
# [[biaqil]], [[aqilmend]], [[hişyar]], [[hişmend]]
8g4fntgoosaebi7jf385n65db638q8r
ئاراستە
0
268266
6342360
5879183
2026-08-25T08:42:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342360
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:araste
=== Navdêr ===
{{navdêr|ckb}}
# [[pêşkêşî]], [[raberî]], [[pêşberî]]
34paztday4kqnm1okl9yg9av9ab2qg2
ئارەق
0
268267
6342362
5879186
2026-08-25T08:42:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342362
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:areq
=== Navdêr ===
{{navdêr|ckb}}
# [[xuh]], [[xwêdan]]
tw5l0dc6amndxuys4sq9cds8qnh84an
ئارمووش
0
268269
6342361
5879184
2026-08-25T08:42:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342361
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:armûş
=== Navdêr ===
{{navdêr|ckb}}
# [[hevrîşm]]
c0fkyxg00m0oesjdbkq5wrl2s7u2lh5
ئاسایی
0
268272
6342365
5879190
2026-08-25T08:43:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342365
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:asayî
=== Rengdêr ===
{{rengdêr|ckb}}
# [[asayî]], [[normalî]], [[adet]]
nljc0p8pfof3cpzn4rjwu5ejbjx3d8p
ئاساییش
0
268273
6342366
5879191
2026-08-25T08:43:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342366
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:asayîş
=== Navdêr ===
{{navdêr|ckb}}
# [[ewlekar]], [[asayîş]], [[emniyet]]
mfj7hxpp8enhgh4rbtma8u6jecbku4n
ئاسەوار
0
268274
6342369
5879200
2026-08-25T08:44:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342369
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:asewar
=== Navdêr ===
{{navdêr|ckb}}
# [[kelepûr]], [[bermayî]], bermayiyên bavûkalan
9utcsdr1mk62hk3m8le0h8b4sn1xvs8
ئاسرمە
0
268276
6342368
5879193
2026-08-25T08:43:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342368
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:asirme
=== Navdêr ===
{{navdêr|ckb}}
# [[kurtan]], kincên li hesp, ker û hwd têt kirin
okg76t58bd7bgx6zb5w88i9khyq0rm9
ئاسیم
0
268277
6342373
5879198
2026-08-25T08:44:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342373
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:asîm
=== Rengdêr ===
{{rengdêr|ckb}}
# [[pispor]]
a8ktfjsd1qm5txbh33ckt5kuoywkerb
6342377
6342373
2026-08-25T08:45:27Z
Şêr
1103
bi rastî her du jî dibin
6342377
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:asîm
=== Navdêr ===
{{navdêr|ckb}}
# [[pispor]]
3fg9rspkr9zqokz68zuupj5op80bhkg
ئاسیو
0
268278
6342374
5879199
2026-08-25T08:44:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342374
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:asîw
=== Navdêr ===
{{navdêr|ckb}}
# [[tengasî]], rewşa dijwar
o70ca5n5bu9bi85u3v5d0pirpyz7pb7
ئاسۆک
0
268282
6342372
5879197
2026-08-25T08:44:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342372
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:asok
=== Navdêr ===
{{navdêr|ckb}}
# [[sîber]], [[sî]], [[sih]]
1jscr6ny2lpw3gxae0gfsexaw7curw0
ئاستەم
0
268284
6342367
5879192
2026-08-25T08:43:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342367
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:astem
=== Rengdêr ===
{{rengdêr|ckb}}
# [[piçek]], [[kêm]], ne gelek
2w3yz33obi7pofqk8q8ilj7c9y2uzc8
ئاسوودە
0
268285
6342370
5879195
2026-08-25T08:44:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342370
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:asûde
=== Rengdêr ===
{{rengdêr|ckb}}
# [[biewle]], [[tena]]
j6jublb8hyvmuxaq052zda352exwei5
ئاسوون
0
268286
6342371
5879196
2026-08-25T08:44:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342371
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:asûn
=== Navdêr ===
{{navdêr|ckb}}
# [[pozîsyon]], [[rewş]]
q6v79nglwgp7dywo4z5ssgs3gdkypx6
ئاشاخە
0
268288
6342375
5879201
2026-08-25T08:45:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342375
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:aşaxe
=== Navdêr ===
{{navdêr|ckb}}
# [[rizî]]
l2m037yxpyq66cvo9mvh0ohi1q3cpig
ئاشچی
0
268289
6342379
5879204
2026-08-25T08:45:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342379
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:aşçî
=== Navdêr ===
{{navdêr|ckb}}
# [[xwarinçêker]]
ds92q2fsjh3v48u52xfdofhgz5c8nw2
ئاشنا
0
268291
6342381
5879206
2026-08-25T08:45:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342381
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:aşna
=== Rengdêr ===
{{rengdêr|ckb}}
# [[nas]]
rlvsuw6ykoznq918sf5z6a3wh9z8kp2
ئاشپەزخانە
0
268292
6342376
5879202
2026-08-25T08:45:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342376
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:aşpezxane
=== Navdêr ===
{{navdêr|ckb}}
# [[metbex]], [[mitfax]]
6b1cx1ytwc8jku9av7tqjcyhjmhx3z7
ئاشت
0
268293
6342378
5879203
2026-08-25T08:45:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342378
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:aşt
=== Rengdêr ===
{{rengdêr|ckb}}
# [[aşt]], [[aşt]], [[tena]], [[vehewayî]], [[hedayî]], [[tebitî]]
ft3xvou158ng44vtfzq1yc4xiyuv8bu
ئاشخانە
0
268294
6342380
5879205
2026-08-25T08:45:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342380
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:aşxane
=== Navdêr ===
{{navdêr|ckb}}
# [[xwaringeh]]
8q3op0abp7jotg9thlfih9z6qkshkax
ئاتەش
0
268295
6342353
5879175
2026-08-25T08:41:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342353
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ateş
=== Navdêr ===
{{navdêr|ckb}}
# [[agir]]
prxvc5o5ck7oai1zlp68q42bzxw3yqf
ئاوا
0
268296
6342406
5879230
2026-08-25T08:49:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342406
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awa
=== Hoker ===
{{hoker|ckb}}
# [[ava]]
prsl86i6e4nkx1orc4eukf9vgpz9l41
6342410
6342406
2026-08-25T08:50:31Z
Şêr
1103
6342410
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awa
=== Rengdêr ===
{{rengdêr|ckb}}
# [[ava]]
31jeco08jy27j4d2ijbreglwepc8gzi
ئاواڵە
0
268297
6342408
5879232
2026-08-25T08:50:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342408
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awalle
=== Rengdêr ===
{{rengdêr|ckb}}
# [[vekirî]]
tgcbpogm1n5x8lz933iy90nedk46hqq
ئاواز
0
268300
6342407
5879231
2026-08-25T08:50:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342407
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awaz
=== Navdêr ===
{{navdêr|ckb}}
# [[awaz]], [[melodî]]
e87yf4uird5pmtkrit9hqt8btwzda0v
ئاوەدان
0
268301
6342414
5879238
2026-08-25T08:51:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342414
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awedan
=== Rengdêr ===
{{rengdêr|ckb}}
# [[avedan]], [[nûkirin]], [[avakirin]]
gygu6po13diuvuoqefcibjkvcfjkn00
6342416
6342414
2026-08-25T08:51:45Z
Şêr
1103
6342416
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awedan
=== Navdêr ===
{{navdêr|ckb}}
# [[avedan]], [[nûkirin]], [[avakirin]]
9nbr05afhhgr069edy52p0qn2o3h8ua
ئاوەدانی
0
268302
6342415
5879239
2026-08-25T08:51:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342415
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awedanî
=== Navdêr ===
{{navdêr|ckb}}
# [[gund]], [[gundî]]
rtjkz3ymq89nvft01e73gqza4xwdb10
ئاوەژوو
0
268303
6342430
5879242
2026-08-25T09:30:40Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342430
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awejû
=== Rengdêr ===
{{rengdêr|ckb}}
# [[vajî]], [[berevajî]]
psnpfs2i1eohzqmm6mr6ih2zn6ezg86
ئاوەندیار
0
268305
6342432
5879243
2026-08-25T09:30:50Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342432
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awendyar
=== Navdêr ===
{{navdêr|ckb}}
# [[navbeynkar]], [[moderator]]
mkkmz270rcgllzw9i9fgco4i7qyfr8x
ئاوەر
0
268306
6342427
5879240
2026-08-25T09:21:24Z
Şêr
1103
navdêr
6342427
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awer
=== Navdêr ===
{{navdêr|ckb}}
# [[bawerî]], [[wijdan]]
l0kh8si6ctgeipline4ahjr2g9s1w7a
ئاوەرێژ
0
268307
6342429
5879241
2026-08-25T09:30:30Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342429
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awerêj
=== Navdêr ===
{{navdêr|ckb}}
# [[avrêj]]
0vx8krjz7dxovm35a32zs2n9i8j1dew
ئاوھا
0
268308
6342413
5879237
2026-08-25T08:50:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342413
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awha
=== Hoker ===
{{hoker|ckb}}
# [[wiha]], [[hosa]], [[awiha]]
1lrx04yoocyh42d926gi1flp40n8g80
ئاور
0
268309
6342409
5879233
2026-08-25T08:50:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342409
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awir
=== Navdêr ===
{{navdêr|ckb}}
# [[awir]], [[nerîn]], [[lênerîn]], [[berêxwedan]]
guv5sqbgzaz7yk47ezj3i3z9zw7wef1
ئاوساندن
0
268312
6342412
5879236
2026-08-25T08:50:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> lêker
6342412
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awsandin
=== Lêker ===
{{lêker|ckb}}
# [[werimandin]], [[perçivandin]]
qtbcoah38r48azyz2odsifaxr2khe6c
ئاوزەنگی
0
268314
6342411
5879234
2026-08-25T08:50:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342411
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:awzengî
=== Navdêr ===
{{navdêr|ckb}}
# [[rikêb]], [[awzengî]], [[ûzengî]]
k9j1jqej7ijy0nr0v3z96ucyclbpk5a
ئاخاوتن
0
268315
6342354
6011827
2026-08-25T08:41:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> lêker
6342354
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:axawtin
=== Lêker ===
{{lêker|ckb}}
# {{f|ku|[[xwecih]]}} perwerdekirin, hêvotin, xwedîkirin (nexasim bo yeksimên wek ker, hesp, qantir...)
# [[axiftin]], [[peyivîn]], [[ştexilîn]] (ji tesîra kurdiya bakurî)
ehv6xzsly6vx9lp01mlb2boq846ommf
ئاخێو
0
268316
6342358
5879180
2026-08-25T08:42:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342358
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:axêw
=== Navdêr ===
{{navdêr|ckb}}
# [[axivger]], [[axiftinker]], [[peyiver]], ya/yê diaxive
epg1qxhs0tbgi4prznq6tw9pef65k6m
ئاخر
0
268318
6342355
5879177
2026-08-25T08:41:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342355
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:axir
=== Rengdêr ===
{{rengdêr|ckb}}
# [[dawî]]
# [[jixwe]], [[manê]], [[nê]]
mhe3eaqo4xjbstezpc9nelkp9o6nzx6
ئاخلێف
0
268319
6342356
5879178
2026-08-25T08:41:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342356
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:axlêf
=== Navdêr ===
{{navdêr|ckb}}
# [[mêrg]], [[çîmen]]
0sflv4t5uzgxa8s5oa9puy5z878jbtr
ئاخوون
0
268320
6342357
5879179
2026-08-25T08:42:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342357
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:axûn
=== Navdêr ===
{{navdêr|ckb}}
# melayê şîiyan
gpkzry5bn8n7kuaf8bb7y4238fmbvg7
ئایا؟
0
268321
6342433
5879244
2026-08-25T09:31:00Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342433
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:aya?
=== Hoker ===
{{hoker|ckb}}
# ma? gelo? erê? ecebe?
t1k0ar17wp5xzh3dunbhyf88x9ws8um
ئایندە
0
268322
6342434
5879245
2026-08-25T09:31:10Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342434
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ayinde
=== Navdêr ===
{{navdêr|ckb}}
# [[pêşeroj]], rojên bên, [[ayinde]]
3hm9bsjg2o1ngszt5dxkr6fwj9pbhm1
ئایین
0
268323
6342435
5879246
2026-08-25T09:31:20Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342435
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ayîn
=== Navdêr ===
{{navdêr|ckb}}
# [[dîn]], [[ol]], [[ayîn]], [[merasim]], [[rêûresm]], [[dêlindêz]], [[seremonî]]
asto7fwblgu3srzpq7j4gx5cxtfqb3p
بابۆڵە
0
268324
6342520
5861784
2026-08-25T10:18:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342520
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:babolle
=== Navdêr ===
{{navdêr|ckb}}
# [[balolk]]
pq5n4lh5bsf21dtw0r9gumjc7ofgs55
بابەت
0
268325
6342271
5861785
2026-08-24T22:36:51Z
Şêr
1103
6342271
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mijar]], [[babet]] (tiştê ku li ser tê axaftin, nivîsandin an nîqaşkirin; bi almanî: ''Thema'')
#: {{mînak|ckb|بابەتی ئەمڕۆ زۆر گرنگە.|tr=Babetî emro zor giringe.|werger=Mijara îro pir girîng e.}}
#: {{mînak|ckb|ئێمە باسی بابەتێکی نوێ دەکەین.|tr=Ême basî babetêkî nwê dekeyn.|werger=Em behsa mijareke nû dikin.}}
==== Hevwate ====
* {{g|ckb|مژار}}
* {{g|ckb|باس}}
==== Têkildar ====
* {{g|ckb|سەردێڕ}}
* {{g|ckb|گفتوگۆ}}
d516avxcvl6f6cv7466zy3za3tchtvc
6342272
6342271
2026-08-24T22:37:57Z
Şêr
1103
6342272
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mijar]], [[babet]] (tiştê ku li ser tê axaftin, nivîsandin an nîqaşkirin)
#: {{mînak|ckb|بابەتی ئەمڕۆ زۆر گرنگە.|tr=Babetî emro zor giringe.|werger=Mijara îro pir girîng e.}}
#: {{mînak|ckb|ئێمە باسی بابەتێکی نوێ دەکەین.|tr=Ême basî babetêkî nwê dekeyn.|werger=Em behsa mijareke nû dikin.}}
==== Hevwate ====
* {{g|ckb|مژار}}
* {{g|ckb|باس}}
==== Têkildar ====
* {{g|ckb|سەردێڕ}}
* {{g|ckb|گفتوگۆ}}
hyogenrzwj9ea9zsjy47jbt0lcjqegx
6342274
6342272
2026-08-24T22:41:06Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342274
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mijar]], [[babet]] (tiştê ku li ser tê axaftin, nivîsandin an nîqaşkirin)
#: {{mînak|ckb|بابەتی ئەمڕۆ زۆر گرنگە.|tr=Babetî emro zor giringe.|werger=Mijara îro pir girîng e.}}
#: {{mînak|ckb|ئێمە باسی بابەتێکی نوێ دەکەین.|tr=Ême basî babetêkî nwê dekeyn.|werger=Em behsa mijareke nû dikin.}}
==== Hevmane ====
* {{g|ckb|مژار}}
* {{g|ckb|باس}}
==== Têkildar ====
* {{g|ckb|سەردێڕ}}
* {{g|ckb|گفتوگۆ}}
1qizmlkqwkjy8pwvtn5rl8jjg3jrw2y
بابوسکە
0
268326
6342519
5861783
2026-08-25T10:18:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342519
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:babuske
=== Navdêr ===
{{navdêr|ckb}}
# [[gewr]]
aow7nite4eyopx7j6qcp3zgfxojn79v
باچە
0
268327
6342525
5861795
2026-08-25T10:19:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342525
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:baçe
=== Navdêr ===
{{navdêr|ckb}}
# [[belek]], [[rengereng]]
bwnwls5fk8sip6ocpf3nkve0ysm59t9
بادیھەوا
0
268329
6342527
5861841
2026-08-25T10:20:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342527
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:badîhewa
=== Hoker ===
{{hoker|ckb}}
# [[bêfeyde]], [[bêencam]]
7o1y0npfo3vopd955n9vghjxz7eatil
بافت
0
268330
6342550
5862010
2026-08-25T11:11:03Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342550
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:baft
=== Navdêr ===
{{navdêr|ckb}}
# [[hejî]], [[hêja]], hêjayî tiştekî
1ty121v912cq4gexnt48o2rrlw46rua
6342555
6342550
2026-08-25T11:11:47Z
Şêr
1103
6342555
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:baft
=== Rengdêr ===
{{rengdêr|ckb}}
# [[hejî]], [[hêja]], hêjayî tiştekî
mqs6i86sir2g2hhwszs8f1y44ahfytv
باھێر
0
268331
6342560
5862080
2026-08-25T11:12:33Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342560
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bahêr
=== Navdêr ===
{{navdêr|ckb}}
# [[beyar]], [[ziwa]], [[hişk]]
m6sspidt4w56xinxugc6wsb91syfdg6
6342561
6342560
2026-08-25T11:13:19Z
Şêr
1103
6342561
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bahêr
=== Rengdêr ===
{{rengdêr|ckb}}
# [[beyar]], [[ziwa]], [[hişk]]
9w072ht6e99km5ggejjeejody466zid
باڵابستە
0
268336
6342551
5862033
2026-08-25T11:11:13Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342551
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ballabiste
=== Rengdêr ===
{{rengdêr|ckb}}
# [[bejnbost]], [[bejnqut]], [[quto]], [[qutok]]
2ng1kqixhx3jamni5j8rz5959eaa0vl
باڵباز
0
268337
6342552
5862047
2026-08-25T11:11:23Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342552
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ballbaz
=== Navdêr ===
{{navdêr|ckb}}
# [[leşker]], [[esker]]
baqksipfosuxwey47cr2lt8p5ku4pnt
باڵێ
0
268338
6342556
5862058
2026-08-25T11:11:53Z
JiyanBot
3048
Bot: Guhartina bêcure -> baneşan
6342556
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ballê
=== Baneşan ===
{{baneşan|ckb}}
# [[belê]]
qrkm0kpm3329xduyuw7pljap1k6clb5
باڵێف
0
268339
6342557
5862059
2026-08-25T11:12:03Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342557
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ballêf
=== Navdêr ===
{{navdêr|ckb}}
# [[balguh]], [[balîfk]]
fd86go2dnsfy8dbak2znwkrijkfzccs
باڵۆڵە
0
268340
6342553
5862056
2026-08-25T11:11:33Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342553
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ballolle
=== Navdêr ===
{{navdêr|ckb}}
# [[balolk]]
p6nkwxaiyvy7rflvkzkgi1fo9f3r6l3
باڵۆن
0
268341
6342554
5862057
2026-08-25T11:11:43Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342554
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ballon
=== Navdêr ===
{{navdêr|ckb}}
# [[pivdank]], [[balon]]
c2h3743imrvflgmcghqesntfsv4o34i
بانگردێن
0
268345
6342558
5862072
2026-08-25T11:12:13Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342558
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bangirdên
=== Navdêr ===
{{navdêr|ckb}}
# [[bagurdan]], [[bangurdan]], kevirê / berê li ser banên xaniyan têt gerandin daku ban qayim bibe û dilopan neke
27pfofvsf7fssgjj7g25r1nlyalwdwa
بانوو
0
268347
6342559
5862073
2026-08-25T11:12:23Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342559
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:banû
=== Navdêr ===
{{navdêr|ckb}}
# [[xatûn]]
flql891eg3qluz4cxl6d2gu53uxwq6e
باپیر
0
268348
6342521
5861786
2026-08-25T10:19:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342521
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bapîr
=== Navdêr ===
{{navdêr|ckb}}
# [[kal]], [[bapîr]], [[bavûkal]]
ero45ri2gohwoxiescf1yhxjqmh34rx
باڕ
0
268352
6342547
5861843
2026-08-25T11:10:33Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342547
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:barr
=== Navdêr ===
{{navdêr|ckb}}
# [[xort]], [[negihayî]]
2ra8y1w1qmmykl6bnm850w86t65ievr
بارام
0
268353
6342348
5861852
2026-08-25T08:33:58Z
Şêr
1103
cure
6342348
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:Baram
=== Serenav ===
{{serenav|ckb}}
# [[Merîx]], [[Mars]]
fm3e06h1tyus0tsf34yupc4m3dmytby
بارە
0
268354
6342543
5861902
2026-08-25T11:09:53Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342543
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bare
=== Navdêr ===
{{navdêr|ckb}}
# [[par]], [[behir]], [[pişk]]
97mn1ocwvrg75eoq0jo7wojusokq3wf
بارمتە
0
268355
6342542
5861884
2026-08-25T11:09:43Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342542
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:barimte
=== Navdêr ===
{{navdêr|ckb}}
# [[mişkane]], [[barimte]], [[îpotek]]
l7k3uf3ev0d6vmep9g9nshf2skfx5k1
بارست
0
268356
6342528
5861873
2026-08-25T10:20:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342528
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:barist
=== Navdêr ===
{{navdêr|ckb}}
# [[berz]], [[bala]], [[bilind]]
qxtbwlhb9fjoir8zaqu3w53lj6b44t1
6342529
6342528
2026-08-25T10:22:01Z
Şêr
1103
gelo ev peyv heye?
6342529
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:barist
=== Rengdêr ===
{{rengdêr|ckb|tr=barist}}
# [[berz]], [[bala]], [[bilind]]
o19q4dmapexjyf4vyuxjz2zimsfuyi3
6342532
6342529
2026-08-25T10:30:53Z
Şêr
1103
rastkirina bot rast bû, min mane lê zêde kir,
6342532
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:barist
=== Navdêr ===
{{navdêr|ckb}}
# [[hecîm]], [[barist]]
ny2cu8lwqk4khcyynk52yhqzrz5067a
6342533
6342532
2026-08-25T10:31:19Z
Şêr
1103
tr=
6342533
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:barist
=== Navdêr ===
{{navdêr|ckb|tr=barist}}
# [[hecîm]], [[barist]]
orky67z20tl5t3ua616safx0830olgg
6342534
6342533
2026-08-25T10:31:57Z
Şêr
1103
6342534
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:barist
=== Navdêr ===
{{navdêr|ckb|tr=barist}}
# [[hecim]], [[barist]]
jfbw6hr2muyczjx8npcolkx2lvypcqg
بارشت
0
268357
6342541
5861874
2026-08-25T11:09:33Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342541
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:barişt
=== Navdêr ===
{{navdêr|ckb}}
# [[nermebaran]], [[lêzme]]
52axmaj4gv6q7nouo7ob9p2xigzsxs5
باستانناسی
0
268363
6342548
5861985
2026-08-25T11:10:43Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342548
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bastannasî
=== Navdêr ===
{{navdêr|ckb}}
# [[arkeolojî]]
qbgbb1v9mf5rosdmjwnbo6s9mgumhva
باستورمە
0
268364
6342549
5861986
2026-08-25T11:10:53Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342549
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:basturme
=== Navdêr ===
{{navdêr|ckb}}
# [[sosîs]], [[bastirme]]
io6pded2c1a33q8pjsf9b80xavjro7j
باتەک
0
268368
6342522
5861793
2026-08-25T10:19:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342522
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:batek
=== Navdêr ===
{{navdêr|ckb}}
# [[rewişt]], [[reftar]], [[tevger]], [[ rabûn-rûniştin]]
jk82jv60xo487j9oa5t921g94dd0woq
باتی
0
268370
6342524
5861792
2026-08-25T10:19:40Z
JiyanBot
3048
Bot: Guhartina bêcure -> daçek
6342524
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:batî
=== Daçek ===
{{daçek|ckb}}
# [[şûna]], [[li şûna]], li ciyê
p9h5mlsvcwlvvxmdyqtemtetddd15r3
باتوو
0
268371
6342523
5861791
2026-08-25T10:19:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342523
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:batû
=== Navdêr ===
{{navdêr|ckb}}
# [[gun]], [[ritil]], [[hêlik]]
ogt4h3awar3dnpuc645jtvl48drr61f
باوەقۆت
0
268373
6342573
5862090
2026-08-25T11:50:34Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342573
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:baweqot
=== Navdêr ===
{{navdêr|ckb}}
# [[bejnbost]], [[bejnqut]], [[quto]], [[qutok]]
m2zyi3segk67kjkdrb214wduhpt5alr
6342586
6342573
2026-08-25T11:54:46Z
Şêr
1103
6342586
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:baweqot
=== Rengdêr ===
{{rengdêr|ckb}}
# [[bejnbost]], [[bejnqut]], [[quto]], [[qutok]]
5vtzi0lrphqbmgwwwnt3qabmhuldoqe
باوەڕ
0
268374
6342572
5862089
2026-08-25T11:50:24Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342572
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bawerr
=== Navdêr ===
{{navdêr|ckb}}
# [[bawer]]
ocsh3bocvg40if0v27zzqmoiwzdf7t2
باوی
0
268377
6342574
5862088
2026-08-25T11:50:44Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342574
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bawî
=== Rengdêr ===
{{rengdêr|ckb}}
# [[bahîv]], [[behîv]]
mx8cy6udhi0lqanj8w7ee79z77deb53
باوک
0
268378
6342571
5862087
2026-08-25T11:50:14Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342571
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bawk
=== Navdêr ===
{{navdêr|ckb}}
# [[bav]], [[bab]]
4zkbqi1o0v33leavsew6nyhp7gw57y7
باخەڵ
0
268379
6342526
5861799
2026-08-25T10:19:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342526
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:baxell
=== Navdêr ===
{{navdêr|ckb}}
# [[paxil]], [[paşil]]
4p6g30icumzjqqgwiyok5o0s4wo6cl8
بایەخ
0
268380
6342579
5862114
2026-08-25T11:51:34Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342579
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bayex
=== Navdêr ===
{{navdêr|ckb}}
# [[nirx]], [[biha]], [[bihagiranî]], [[bayix]], [[giramî]], [[hêjayî]]
4rn93njjj32sijfyls46kybmc3p6fjc
باینجان
0
268381
6342576
5862104
2026-08-25T11:51:04Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342576
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bayincan
=== Navdêr ===
{{navdêr|ckb}}
# [[bacan]]
a2jy4yrllrjbyu0sr06ui9r1in9oojf
بایست
0
268382
6342575
5862093
2026-08-25T11:50:54Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342575
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bayist
=== Navdêr ===
{{navdêr|ckb}}
# [[sedem]], [[ho]], [[faktor]], [[mebest]], [[merem]]
# [[divê]]
0zl1koqdtqidr0q60iso8dugk38zt8j
بایی
0
268383
6342580
5862112
2026-08-25T11:51:44Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342580
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bayî
=== Navdêr ===
{{navdêr|ckb}}
# [[biha]], [[lêçûn]]: bayî çend e? بایی چەندە؟ bi çendê / çiqasî ye?
narydzqnhomwqi9od8wma0kqpu3amyv
بازد
0
268384
6342544
5861940
2026-08-25T11:10:03Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342544
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bazd
=== Navdêr ===
{{navdêr|ckb}}
# [[bez]], [[rev]]
a2d6858mqfomvx2zjvsrmlijkdxvrkc
بازۆر
0
268386
6342546
5861968
2026-08-25T11:10:23Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342546
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bazor
=== Navdêr ===
{{navdêr|ckb}}
# [[baz]]
2za0xifen6b9tmvqten3rzdza2l8ojb
بازوو
0
268387
6342545
5861965
2026-08-25T11:10:13Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342545
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bazû
=== Navdêr ===
{{navdêr|ckb}}
# [[belek]], [[rengereng]]
0kyyltor1jfay9selu7z346lh4zydh0
بچەژ
0
268500
6342581
5862184
2026-08-25T11:51:54Z
JiyanBot
3048
Bot: Guhartina bêcure -> lêker
6342581
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:biçej
=== Lêker ===
{{lêker|ckb}}
# [[biçêj]], [[bitam]], [[bilezet]]
s0v4pwz5eetp5j0amm5x8c0ocxroscr
6342585
6342581
2026-08-25T11:53:24Z
Şêr
1103
Guhartoya [[Special:Diff/6342581|6342581]] yê [[Special:Contributions/JiyanBot|JiyanBot]] ([[User talk:JiyanBot|gotûbêj]]) şûnde kir
6342585
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:biçej
=== Mane ===
{{bêcure|ckb}}
# [[biçêj]], [[bitam]], [[bilezet]]
ay1252vz8framf3khksyvb7imf0ovij
بدوو
0
268501
6342582
5862325
2026-08-25T11:52:04Z
JiyanBot
3048
Bot: Guhartina bêcure -> lêker
6342582
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bidû
=== Lêker ===
{{lêker|ckb}}
# [[xeberxweş]], [[biaxiftin]]
saz8eaqve0xd5up3psdq1w9ncm7vdlg
6342584
6342582
2026-08-25T11:52:48Z
Şêr
1103
6342584
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bidû
=== Rengdêr ===
{{rengdêr|ckb}}
# [[xeberxweş]], [[biaxiftin]]
bmsw90h4tyvomeqxoquyiltyqc3gx5y
برادەر
0
268522
6342583
5862364
2026-08-25T11:52:14Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342583
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:birader
=== Navdêr ===
{{navdêr|ckb}}
# [[dost]], [[heval]], [[birader]]
0i8er5rin8yplmvwrwg12bt5x2am4so
ئەبێ
0
268819
6342438
5879324
2026-08-25T09:31:50Z
JiyanBot
3048
Bot: Guhartina bêcure -> lêker
6342438
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ebê
=== Lêker ===
{{lêker|ckb}}
# [[1]], [[dibe]], [[dibit]], dibît 2, [[divê]], [[divêt]]
g6fxulox879q7vn6qy595xf0dks9meg
ئەبلەق
0
268820
6342436
5879323
2026-08-25T09:31:30Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342436
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ebleq
=== Rengdêr ===
{{rengdêr|ckb}}
# [[matmayî]], [[ecêbgirtî]], [[mestbûyî]]
7v0pehva4wsf40px5dliw8055mtikjl
ئەبیاڵ
0
268821
6342437
5879325
2026-08-25T09:31:40Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342437
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ebyall
=== Navdêr ===
{{navdêr|ckb}}
# [[betenî]]
eybb3gsb34aq12eplcam9sbybmpn0oh
ئەجندا
0
268823
6342443
5879330
2026-08-25T09:32:30Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342443
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ecinda
=== Navdêr ===
{{navdêr|ckb}}
# [[rojev]], [[ajenda]]
q39lyp5bubalaz1i4mzlwnj5zq8m1y0
ئەجزاجی
0
268824
6342441
5879328
2026-08-25T09:32:20Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342441
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:eczacî
=== Navdêr ===
{{navdêr|ckb}}
# [[dermanfiroş]]
a47i9wt362g848490knuaq2g8ruxvhi
ئەدی!
0
268826
6342444
5879331
2026-08-25T09:32:40Z
JiyanBot
3048
Bot: Guhartina bêcure -> baneşan
6342444
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:edî!
=== Baneşan ===
{{baneşan|ckb}}
# [[bêguman]], [[bêşik]], [[tabî]], [[helbet]]
49oj6bvdusebfzbqd8dtxnhiqypxja9
ئەدی؟
0
268827
6342445
5879332
2026-08-25T09:32:50Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342445
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:edî?
=== Hoker ===
{{hoker|ckb}}
# Ma ne? Ma ne wisan e?
gjln3fdgge50jy9b98tcsodcyq83qpy
ئەفسانە
0
268828
6342472
5879354
2026-08-25T10:02:42Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342472
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:efsane
=== Navdêr ===
{{navdêr|ckb}}
# [[efsane]], çîrokên mîtolojîk
4zq14rtkiam9aor4c07qi6livdxyhwy
ئەفسەر
0
268829
6342473
5879355
2026-08-25T10:02:52Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342473
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:efser
=== Navdêr ===
{{navdêr|ckb}}
# [[serleşker]], fermandara/ê leşkerî
r0jar1vzgvdo2rxyrqjfj6kkb2efqea
ئەگریجە
0
268832
6342475
5879357
2026-08-25T10:11:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342475
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:egrîce
=== Navdêr ===
{{navdêr|ckb}}
# [[kezî]], [[bisk]]
ngcy7hiol4xa610x3io9fqi6lqgoda2
ئەھلی
0
268833
6342493
5879376
2026-08-25T10:14:50Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342493
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ehlî
=== Rengdêr ===
{{rengdêr|ckb}}
# [[sivîl]], [[medenî]], [[gel]], xelk milet
3l4p1bk4j6dfux044jzho36rl10fbqv
ئەژدەھا
0
268834
6342452
5879339
2026-08-25T09:34:00Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342452
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ejdeha
=== Navdêr ===
{{navdêr|ckb}}
# [[ejdeha]], marê bidestûpê
rmphrypn7c4kyaqjn92yjtkeyz8jszc
ئەژماردن
0
268836
6342453
5879340
2026-08-25T09:34:10Z
JiyanBot
3048
Bot: Guhartina bêcure -> lêker
6342453
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ejmardin
=== Lêker ===
{{lêker|ckb}}
# [[hijmartin]], [[jimartin]], [[hesab kirin]]
cpykxwbi68awjifc8o0utznxlbahr14
ئەژمێر
0
268837
6342456
5879341
2026-08-25T09:41:51Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342456
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ejmêr
=== Navdêr ===
{{navdêr|ckb}}
# [[hijmêr]], [[hesabgir]]
kmpw1oma8838l7n1acax767ro91cci7
ئەلبەت
0
268839
6342476
5879358
2026-08-25T10:11:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342476
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:elbet
=== Hoker ===
{{hoker|ckb}}
# [[helbet]], [[bêguman]], [[bêşik]], [[ bivê-nevê]], [[ hebe-nebe]]
lp7igyt8109xcj1qt1eq9terr33z2hm
ئەڵێ
0
268840
6342480
5879363
2026-08-25T10:12:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> lêker
6342480
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ellê
=== Lêker ===
{{lêker|ckb}}
# [[dibêje]]
7slh03np5fqczpzg94vtnfo3j0stt74
ئەڵقە
0
268842
6342478
5879360
2026-08-25T10:12:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342478
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ellqe
=== Navdêr ===
{{navdêr|ckb}}
# [[gustîlk]], [[gustîrk]]
0294cdetocf989j7rmsmz5c0z0f0hiy
ئەڵماس
0
268843
6342479
5879361
2026-08-25T10:12:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342479
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ellmas
=== Navdêr ===
{{navdêr|ckb}}
# [[elmas]]
d1t4r8xs3u92svlcazkiyymhx19htmt
ئەلمۆدە
0
268844
6342477
5879362
2026-08-25T10:12:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342477
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:elmode
=== Navdêr ===
{{navdêr|ckb}}
# [[mode]], [[bistîl]]
2ejlmudqynf0tsbi3iky6l4qde7jrs8
ئەمن
0
268846
6342482
5879365
2026-08-25T10:12:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> cînav
6342482
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:emin
=== Cînav ===
{{cînav|ckb}}
# [[min]], [[ez]]
jsr54mzzh5jq76fev5c0v3qcoyemjh3
ئەمین
0
268847
6342484
5879367
2026-08-25T10:13:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342484
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:emîn
=== Rengdêr ===
{{rengdêr|ckb}}
# [[pêbawer]], [[emîn]]
rucst2w7s0sz6cbix394mb4xvatd3uj
ئەمر
0
268848
6342481
5879364
2026-08-25T10:12:50Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342481
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:emr
=== Navdêr ===
{{navdêr|ckb}}
# [[ferman]], [[bang]], [[gazî]]
ihfkufjilohtx8395kt8v0p29sol3xi
ئەموست
0
268849
6342483
5879366
2026-08-25T10:13:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342483
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:emust
=== Navdêr ===
{{navdêr|ckb}}
# [[til]], [[tilî]]
8cxapu3j5o4hss9py8942iqg74e45ef
ئەنجام
0
268850
6342486
5879369
2026-08-25T10:13:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342486
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:encam
=== Navdêr ===
{{navdêr|ckb}}
# [[encam]], [[akam]], [[dawî]]
2b3hhovruk329gd9ralhd7o00w3d8il
ئەنجن
0
268851
6342487
5879370
2026-08-25T10:13:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342487
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:encin
=== Navdêr ===
{{navdêr|ckb}}
# [[ker]], [[parçe]], [[qet]]
4su7mgzia0wddbfdiwpz87tdjvwx0rs
ئەنجومەن
0
268852
6342488
5879371
2026-08-25T10:13:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342488
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:encumen
=== Navdêr ===
{{navdêr|ckb}}
# [[encûmen]], [[deste]], [[konsey]]
48ljsvb6t75upihns8oifkie56he2rx
ئەندازیار
0
268853
6342489
5879372
2026-08-25T10:14:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342489
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:endazyar
=== Navdêr ===
{{navdêr|ckb}}
# [[endazyar]], [[mihendis]]
4rze0n3gq3iu3k2cssniuchgs8l71xh
ئەنەم
0
268854
6342492
5879375
2026-08-25T10:14:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342492
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:enem
=== Navdêr ===
{{navdêr|ckb}}
# [[mem]], [[çiçik]], [[bersîng]]
bv35t67yddfz1kdqj87fcjtxvtcbhip
ئەنگاو
0
268855
6342490
5879373
2026-08-25T10:14:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342490
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:engaw
=== Navdêr ===
{{navdêr|ckb}}
# [[gav]], [[pêngav]]
597i7fr7swpio9vpyrl4fpc3t0by5ah
ئەنگوور
0
268856
6342491
5879374
2026-08-25T10:14:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342491
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:engûr
=== Navdêr ===
{{navdêr|ckb}}
# [[tirî]]
lli00ztnl9m662elpcrmrcztohuz2l8
ئەنتیکە
0
268857
6342485
5879368
2026-08-25T10:13:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342485
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:entîke
=== Rengdêr ===
{{rengdêr|ckb}}
# [[seyr]], [[sosret]], [[ecêb]], '': awarte; [[kevnare]], [[ antîk'']]
6sfcdrmkc8ynnzysyv9nnqbjzotgwwn
ئەقل
0
268858
6342474
5879356
2026-08-25T10:03:02Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342474
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:eqil
=== Navdêr ===
{{navdêr|ckb}}
# [[aqil]], [[hiş]], [[bîr]], [[awez]]
ocix2yhnnac9pqtl9prkrj5m6we07w4
ئەرامەندە
0
268859
6342446
5879333
2026-08-25T09:33:00Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342446
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:eramende
=== Rengdêr ===
{{rengdêr|ckb}}
# [[perîşan]], [[hejar]], [[belengaz]], [[feqîr]]
4rjzrkmg28bjgtjwyasw5v0bldk3oyi
ئەرج
0
268860
6342447
5879334
2026-08-25T09:33:10Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342447
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:erc
=== Navdêr ===
{{navdêr|ckb}}
# [[enîşk]]
lt9o1nm8ye4373immycvsbkj4u0lr4z
ئەرە
0
268861
6342450
5879337
2026-08-25T09:33:40Z
JiyanBot
3048
Bot: Guhartina bêcure -> daçek
6342450
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ere
=== Daçek ===
{{daçek|ckb}}
# [[birrek]], [[mişar]]
fi3n5ybps3vnmwcebbjmwggmup5v28y
ئەرک
0
268863
6342449
5879336
2026-08-25T09:33:30Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342449
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:erk
=== Navdêr ===
{{navdêr|ckb}}
# [[erk]], [[wezîfe]], [[kar]], [[vatinî]]
fwh55vxjxdgs77f27zx160firhmdgv8
ئەرز
0
268864
6342448
5879335
2026-08-25T09:33:20Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342448
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:erz
=== Navdêr ===
{{navdêr|ckb}}
# [[erd]], [[ax]], [[xak]], [[zevî]]
7zpk4ha55tw7oxadxksgbpyews7spe9
ئەسکری
0
268865
6342466
5879348
2026-08-25T10:01:42Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342466
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:eskirî
=== Navdêr ===
{{navdêr|ckb}}
# [[tirî]], libên tirî
m21ioll0qd6tllimmfk6pi3imjihmyb
ئەسکوێ
0
268866
6342467
5879349
2026-08-25T10:01:52Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342467
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:eskiwê
=== Navdêr ===
{{navdêr|ckb}}
# [[heskû]], [[mifsik]], [[kefçî]]
m76dan0ab8row29bjtc96j5x9gycchf
ئەسڵەن
0
268867
6342468
5879350
2026-08-25T10:02:02Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342468
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:esllen
=== Hoker ===
{{hoker|ckb}}
# [[jixwe]], [[eslen]]
jv6y3zz0f5yc8py98r0mmsge113qb50
ئەسپایی
0
268870
6342457
5879342
2026-08-25T09:42:01Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342457
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:espayî
=== Hoker ===
{{hoker|ckb}}
# [[bêpêjnî]], [[tenahî]], [[bêdengî]], [[bêgeremolî]], [[bêqerebalixî]]
62y7mgd2li7t5gqpk28w2mqcxaf7bdu
6342460
6342457
2026-08-25T09:42:51Z
Şêr
1103
6342460
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:espayî
=== Navdêr ===
{{navdêr|ckb}}
# [[bêpêjnî]], [[tenahî]], [[bêdengî]], [[bêgeremolî]], [[bêqerebalixî]]
2exptjs0kql5yxdsyshneerfjupunjr
ئەستێرک
0
268873
6342464
5879346
2026-08-25T10:01:22Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342464
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:estêrk
=== Navdêr ===
{{navdêr|ckb}}
# [[bendav]]
l0gna9jmttchm1thvh8t8wyydebvjjj
ئەستێوڵک
0
268874
6342465
5879347
2026-08-25T10:01:32Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342465
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:estêwillk
=== Navdêr ===
{{navdêr|ckb}}
# [[hevîr]]
086j6t2ctr950h86ho5ud12fuudoc6d
ئەستی
0
268875
6342463
5879345
2026-08-25T10:01:12Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342463
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:estî
=== Navdêr ===
{{navdêr|ckb}}
# [[hestî]]
3wqwurs9yzkdoivwnbig0rjpypcj1ia
ئەستۆ
0
268876
6342459
5879344
2026-08-25T09:42:21Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342459
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:esto
=== Navdêr ===
{{navdêr|ckb}}
# [[patik]], [[paşsto]]
m11mmy6geetvkcsope0ydbrzbio1toh
ئەستوون
0
268877
6342458
5879343
2026-08-25T09:42:11Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342458
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:estûn
=== Navdêr ===
{{navdêr|ckb}}
# [[stûn]]
8g55x5rja9yypzayx7zg16tyi42gjdv
ئەشک
0
268878
6342469
5879351
2026-08-25T10:02:12Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342469
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:eşk
=== Navdêr ===
{{navdêr|ckb}}
# [[enîşk]]
oocs63u3jwndci3a5lqsnc4dutjmjb0
ئەشکەنجە
0
268879
6342470
5879352
2026-08-25T10:02:22Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342470
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:eşkence
=== Navdêr ===
{{navdêr|ckb}}
# [[şkence]], [[lêdan]], [[tazîb]]
gap5a10hkrapxw9xssmybajl8x6oac1
ئەشیا
0
268881
6342471
5879353
2026-08-25T10:02:32Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342471
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:eşya
=== Navdêr ===
{{navdêr|ckb}}
# [[eşya]], [[tişt]], [[mal]]
sm6pseyaecvfe2jk42jhiv6r6v5zec1
ئەتک
0
268882
6342439
5879326
2026-08-25T09:32:00Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342439
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:etk
=== Navdêr ===
{{navdêr|ckb}}
# [[hetk]], [[rûreşî]], [[şermezarî]]
8t63hvhhccyz3k09itxoey8r9zdty8n
ئەتوون
0
268883
6342440
5879327
2026-08-25T09:32:10Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342440
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:etûn
=== Navdêr ===
{{navdêr|ckb}}
# [[dojeh]], [[cehenem]], [[agiristan]]
qqnz97i0nztylac9myb68nt2ubwnlw3
ئەوانیش
0
268886
6342494
5879379
2026-08-25T10:14:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> cînav
6342494
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ewanîş
=== Cînav ===
{{cînav|ckb}}
# ew jî, wan jî (pirrhejmar)
ofgia86h5jb7s711zhra917augta99b
ئەوجا
0
268887
6342495
5879380
2026-08-25T10:15:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342495
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ewca
=== Hoker ===
{{hoker|ckb}}
# [[paşî]], [[peyre]], [[dûre]], [[encax]]
6uvd7cd3v06zgphaa5p9ehhoyijhj3w
ئەوە
0
268888
6342500
5879384
2026-08-25T10:15:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> cînav
6342500
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ewe
=== Cînav ===
{{cînav|ckb}}
#(amrazî amajekirdin) ewa/ê he, ewa/ê ha, ewa/ê han
#(baştir e: ew e) ew e
ckz3dixqc30l8h03yfy8pi2ep5xa07t
ئەوەندە
0
268889
6342502
5879386
2026-08-25T10:16:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342502
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ewende
=== Hoker ===
{{hoker|ckb}}
# [[hind]], [[ewqas]], [[weqa]]
403ozjbiyted1kgt2sb117onyjj44a4
ئەوەش
0
268890
6342501
5879385
2026-08-25T10:15:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> cînav
6342501
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:eweş
=== Cînav ===
{{cînav|ckb}}
# ew jî
69j3fptty9uyr0ri4mqgna47tq9l9kf
ئەورەنگ
0
268891
6342496
5879381
2026-08-25T10:15:20Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342496
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ewreng
=== Navdêr ===
{{navdêr|ckb}}
# [[mirêsdar]], [[mihteşem]], [[ewreng]], [[şiko]]
7m50exow5oyun8uvf05on20lyaif1xx
ئەوسا
0
268892
6342499
5879383
2026-08-25T10:15:40Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342499
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ewsa
=== Hoker ===
{{hoker|ckb}}
# [[vêca]], [[îca]], [[îja]], [[vêga]], [[hingê]], vêca hingê, [[wê gavê]], [[wê demê]], wî wextî
93bxbmtcy9zygh0haujaew46x7snrz4
ئەوزار
0
268893
6342497
5879382
2026-08-25T10:15:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342497
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ewzar
=== Navdêr ===
{{navdêr|ckb}}
# [[amraz]], [[alav]], [[amûr]], [[alet]]
tkp4ldnu1xg8afy3mvjw9pqvcfgqckg
ئەی
0
268894
6342503
5879387
2026-08-25T10:16:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> baneşan
6342503
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ey
=== Baneşan ===
{{baneşan|ckb}}
# [[pa]], [[ma]], [[gelo]] :Min kurr im, ey to? Ez kurr im, pa tu (çi yî)?
axyqmiuznp75xz67s8316vdogkbfjn3
ئەی!
0
268895
6342504
5879388
2026-08-25T10:16:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> baneşan
6342504
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ey!
=== Baneşan ===
{{baneşan|ckb}}
# [[ey!]]
s02phchq487kovzyokmxixraejpor6o
ئەینا؟
0
268897
6342505
5879389
2026-08-25T10:16:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342505
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:eyna?
=== Hoker ===
{{hoker|ckb}}
# ma ne? ma ne wisan e?
a9nvw1gmvh94y2zo3e2sdzi8p3v6jdn
ئەزبۆلە
0
268898
6342451
5879338
2026-08-25T09:33:50Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342451
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:ezbole
=== Navdêr ===
{{navdêr|ckb}}
# [[biharat]]
bv8h0ph4jk6dcuqdeuze0mgu6i3sg1w
ئیجا
0
270139
6342507
5879311
2026-08-25T10:16:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342507
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:îca
=== Hoker ===
{{hoker|ckb}}
# [[vêca]], [[îca]], [[vêga]], '':(ew kat) hingê, [[wê demê]], vê gavê''
7dvo7nogk29lddneeq2e2ccdw7yq8an
ئیفتادە
0
270141
6342513
5879317
2026-08-25T10:17:49Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342513
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:îftade
=== Rengdêr ===
{{rengdêr|ckb}}
# [[êxtiyar]], [[pîr]], [[kal]]
8p4df21bk5jz6kdeqc5qipt1uyr87gp
ئیم
0
270142
6342514
5879318
2026-08-25T10:17:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342514
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:îm
=== Navdêr ===
{{navdêr|ckb}}
# [[ev]]
1n2k3zbs6luzksx1ztcu6nt9qgid26r
ئیمرۆ
0
270143
6342515
5879319
2026-08-25T10:18:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342515
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:îmro
=== Hoker ===
{{hoker|ckb}}
# [[îro]]
0dfos3g8xpfzhjl0lnwfi6omg9vxa5f
ئیمسال
0
270144
6342516
5879320
2026-08-25T10:18:19Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342516
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:îmsal
=== Hoker ===
{{hoker|ckb}}
# [[îsal]]
e06cblr38xmd5q1gv8jw2xlmddbpron
ئیمشەو
0
270145
6342517
5879321
2026-08-25T10:18:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342517
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:îmşew
=== Hoker ===
{{hoker|ckb}}
# [[îşev]]
e78h04n6gs5c9vmaymmfwvh6pwxuuuk
ئینجا
0
270146
6342518
5879322
2026-08-25T10:18:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> hoker
6342518
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:înca
=== Hoker ===
{{hoker|ckb}}
# [[vêca]], [[îca]], [[vêga]], '':(ew kat) hingê, [[wê demê]], vê gavê''
71z1e9haw7frrpb1p89029wdq4a5mwu
ئیرھاب
0
270147
6342509
5879313
2026-08-25T10:17:09Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342509
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:îrhab
=== Navdêr ===
{{navdêr|ckb}}
# [[teror]], [[terorîzm]], [[tirskarî]]
shuhurebovzt6n1eoqeai9ylvanen9f
ئیرھابی
0
270148
6342510
5879314
2026-08-25T10:17:20Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342510
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:îrhabî
=== Rengdêr ===
{{rengdêr|ckb}}
# [[terorîst]], [[tirskar]]
d91sz87yy9btgqb6mqnkqelf7yze8iz
ئیستیقالە
0
270150
6342511
5879315
2026-08-25T10:17:29Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342511
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:îstîqale
=== Navdêr ===
{{navdêr|ckb}}
# [[îstîfa]], [[destjêberdan]], [[devjêberdan]], [[îstifa]]
2utsvf5w75ne14bixp0ejcts2dz48wy
ئیختیار
0
270152
6342508
5879312
2026-08-25T10:16:59Z
JiyanBot
3048
Bot: Guhartina bêcure -> rengdêr
6342508
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:îxtiyar
=== Rengdêr ===
{{rengdêr|ckb}}
# [[êxtiyar]], [[pîr]], [[kal]]
ii9vng79bfi49av498o93q87jc9ubtw
ئیش
0
270153
6342512
5879316
2026-08-25T10:17:39Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342512
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:îş
=== Navdêr ===
{{navdêr|ckb}}
# [[kar]], [[şol]], [[şuxl]], [[îş]]
mknbuci2oqzyk29y5f4fl0kr9xac64c
باینجانی ڕەش
0
272358
6342577
5862106
2026-08-25T11:51:14Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342577
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bayincanî reş
=== Navdêr ===
{{navdêr|ckb}}
# [[bacanreş(k)]]
fepgjl1vhp5yk6qg5688jzhhgvtjgxk
باینجانی سوور
0
272359
6342578
5862108
2026-08-25T11:51:24Z
JiyanBot
3048
Bot: Guhartina bêcure -> navdêr
6342578
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Bilêvkirin ===
:bayincanî sûr
=== Navdêr ===
{{navdêr|ckb}}
# [[bacansor(k)]]
pnnwi68rg01ljvmn49rr9sfuhzjp4tv
secrete
0
279405
6342530
6091107
2026-08-25T10:27:54Z
Wikihez
7344
/* Jê */ [[Bikarhêner:Wikihez/templateScript2.js|TS]]: sererastkirin
6342530
wikitext
text/x-wiki
== {{ziman|en}} ==
=== Bilêvkirin ===
* {{deng|en|en-us-secrete.ogg|dever=DYA}}
=== Lêker ===
{{lêker|en}}
# [[avzêkirin]], [[îfrazkirin]]
# [[veşartin]]
==== Jê ====
* {{g|en|secretory}}
* {{g|en|secretion}}
d92a9ayel25e1rimdi6065dmnrns50z
şehsuwar
0
282162
6342188
6341833
2026-08-24T14:47:00Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342188
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# Kesê ku [[siwarbûn]]a [[hesp]]an baş dizane.
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Derd û [[dax]] im bê qerar im bê bihar im be çîmen<br>Bê hebîb im bê tebîb im hem xerîb im bê weten<br>Şubhê Ye'qûbî ji eşqa Yûsufî gul [[pîrehen]]<br>[[Mu'nis]]ê derd û xeman im sakinê beytul [[h'ezen]].<br>Tar û mar im intizar im [[şehsuwar]]a min nehat.}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
hzdfw6eno46a7fkbutiu6g0pgjypjqj
kîstan
0
283194
6341883
6339874
2026-08-24T12:33:31Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341883
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[zozan]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Zivistanê evê [[yol]]ê, evê beriyê evê [[çol]]ê<br/>[[mij|Mijê]] avête der dolê [[xunav]]ê girtî [[kîstan]]ê.}}
==== Etîmolojî ====
{{ji?|ku}}
==== Bi zaravayên din ====
* {{Z|ckb}}: {{W|ckb|کوێستان|tr=kwêstan}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
snqo4eqyk4udqnwwnitjpilpwcksw1u
mededkar
0
283199
6342177
6341867
2026-08-24T14:46:27Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342177
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[alîkar]], [[harîkar]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=[[pertew|Pertewa]] şem'a [[cemal]]ê min disojit dem bi dem<br>[[îştiyaq]]a [[zulf]] û [[xal]]an têk kirim deryayê xem<br>Dame ber [[pêça]] [[firaq]]ê [[wesl]]ê qet nakit kerem<br>Ma [[mededkar]]ê me bit "înna fetehna" sibh û dem<br>Werne sotim ateşe dil [[şehriyar]]a min nehat.}}
# Kesê ku alikariyê dike.
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
24ecyffmzaf55gzajf62a1zfwccyggi
enwer
0
283202
6342172
6341763
2026-08-24T14:46:12Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342172
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# kes an jî tiştê bi[[nûr]], [[bi ronahî]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=[[hilo|Hulo]] ey seyidê alem [[hilo|hulo]] ey [[mefxer]]ê Adem<br>Ji [[rewd]]ê rabibî [[xatem]] ji nav wê [[merqed]]a [[enwer]]}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
rzp5srvoaj4nq317raknxcvzzuz26u1
mefxer
0
283203
6342178
6341858
2026-08-24T14:46:30Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342178
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# kes an jî tiştê dibe sedema [[meth]]kirinê
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=[[hilo|Hulo]] ey seyidê alem [[hilo|hulo]] ey [[mefxer]]ê Adem<br>Ji [[rewd]]ê rabibî [[xatem]] ji nav wê [[merqed]]a [[enwer]] }}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
f2f8j4ct6vs21hk2jomx2fdl4gaqbs5
muhebbet
0
283258
6342180
6341869
2026-08-24T14:46:36Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342180
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[suhbet]], [[hevpeyvîn]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=[[şehkitêb]]ek min divêt behsî [[muhebbet]] bi't-temam<br>sed [[tilsim]] û [[sihr]] tê da [[pêkve]] [[siryanî|Suryanî]] [[meqam]]<br>[[ebced]]a eşqê me xwend û 'eql wenda kir û mam<br>[[hûrî|Hûriya]] baxê [[buhuşt]]ê [[tûtî]]ya [[tawusxeram]]<br>xeyrî Bateyî padişaha min delala kê yî tu}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
86cqyrny5q87j8zzjmfvlnmm95mvpo5
eqlam
0
283559
6342173
6341828
2026-08-24T14:46:15Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342173
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# pirjimariya [[qelem]].
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Xudane wehy û [[tenzil]]ê bi [[eqlam]] bi [[tebcil]]ê<br>Qelem da [[nesx]]ê încîle nema Tewrat û [[xeclanî]]}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
mw952q33czjtswehq8cyvwfvrbh808i
mursel
0
283560
6342182
6341854
2026-08-24T14:46:42Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342182
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# kes an jî tiştê hatiye şandin
# [[pêxember]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=bi hûkme seyyide [[mursel]] [[nebi]]ye [[axir]] û ewwel<br>[[betal]] kir [[dînha]] [[mûcmel]] bi [[ayat]] û bi [[Quran]]ê}}
==== Têkildar ====
* [[îrsal]] bûn
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
a4soqahdk7u413zmxq07zul2v9g4hau
mûcmel
0
283561
6341893
6284877
2026-08-24T12:42:59Z
Balyozbot
7867
/* Rengdêr */ +şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341893
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Rengdêr ===
{{rengdêr|ku}}
# Bi kurtasî [[vegotin]].
# {{mane?|ku}}
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=bi hûkme seyyide [[mursel]] [[nebi]]ye [[axir]] û ewwel<br>[[betal]] kir [[dînha]] [[mûcmel]] bi [[ayat]] û bi [[Quran]]ê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
ng9f6plbf1eymsas07sw9fbcrob82pw
mensûx
0
283563
6341892
6142211
2026-08-24T12:41:10Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341892
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Rengdêr ===
{{rengdêr|ku}}
# [[bêhukm]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Çe [[încîl]] û çe [[Tewrat]] in di [[mensûx]] in di [[mulx'at]] in<br>Bi wî navî [[misemmat]] in hukim çû [[kenz]]ê [[rehman]]î}}
# ji [[hukm]] rabûn, [[nesux]] bûn
==== Etîmolojî ====
Ji {{deyn|ar|ku|مَنْسُوخ}}.
==== Werger ====
{{werger-ser}}
* {{Z|en}}: a {{W|en|superceding}} law, a law which {{W|en|trump}}s a previous one
{{werger-bin}}
ft7he8gfgj01b6ccpa1wcpdrtukxu6c
misemmat
0
283564
6342179
6341863
2026-08-24T14:46:33Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342179
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# {{e|ku|şiîr}} [[menzûme]]ya ku [[beyt]]ên wê bi[[qafiye]] û ji çar beşan pêk tê
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Çe [[încîl]] û çe [[Tewrat]] in di [[mensûx]] in di [[mulx'at]] in<br>Bi wî navî [[misemmat]] in hukim çû [[kenz]]ê [[rehman]]î}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
cviqogs42qth4ibqarfi391r0o0gu4l
temcîd
0
283567
6342189
6341843
2026-08-24T14:47:03Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342189
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[hewandin]], [[ezimandin]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Bi ayat bi [[tewhîd]]ê ji [[teşrîf]]ê û [[temcîd]]ê<br>Şeva [[xurrem]] di [[tewlîd]]ê [[senem]] [[hûr]] bûn di [[Tîcan]]ê}}
# Ji bilî [[bang]]î [[dia]] û [[minaceet]]ên di [[mînare]]yan de tên xwendin.
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
4hbux62gy37cb8p9nn3pjceo8hz5m6m
xeclanî
0
283569
6341890
6320279
2026-08-24T12:39:07Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341890
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku|z=m}}
# [[şermezarî]], [[rûreşî]], [[şerm]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Xudanê [[wehî]] û [[tenzil]]ê bi [[eqlam]], bi [[tebcîl]]ê<br> Qelem da [[nesx]]ê [[Incîl]]ê, nema [[Tewrat]] û [[xeclanî]]}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Etîmolojî ====
Ji {{ji|ar|ku|خجلان}} ([[xeclan]]: [[şermîn]], [[şermker]], [[şermezar]])
==== Werger ====
{{werger-ser}}
* {{Z|fi}}: {{W+|fi|häpeä}}
* {{Z|en}}: {{W+|en|shame}}
{{werger-bin}}
r1k2f7obp2fjfsjb5sg5orco5yuyed6
karîsaz
0
283576
6341899
6283238
2026-08-24T12:44:34Z
Balyozbot
7867
/* Rengdêr */ +şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341899
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Rengdêr ===
{{rengdêr|ku}}
# [[jêhatî]], [[bikêrhatî]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin='''Karîsazê''' bende û sultanê can<br/>Rehîm û Rehman, letîf û mihriban}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
bbk9ts40np85ki9sv0cal3am6ox0gss
aferîd
0
283587
6341898
5019521
2026-08-24T12:44:21Z
Balyozbot
7867
/* Formeke lêkerê */ +şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341898
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
=== Formeke lêkerê ===
{{lêker|ku|form=erê}}
# Forma [[dema borî]] ya kesê [[sêyem]] ya ji [[lêker]]a '''[[aferîden]]'''.
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Asîmanê bê sitûn wî kir bedîd<br>Sûretê ba xal û xet wî '''aferîd''' }}
==== Etîmolojî ====
Ji {{ji|fa|ku|آفریدن}} (aferîden: [[afirandin]], [[xuliqandin]], [[çêkirin]])
9oedgdltb4vi3awgkvy05n4as5jtl8m
esselat
0
283591
6342175
6341847
2026-08-24T14:46:21Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342175
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[silav]] û [[selewat]] û [[dua]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=[[Ger divêtin hûn]] ji [[nar]]ê [[bin]] [[necat]] <br>Bi [[eşq|'işq]] û şewqek hûn bibêjin [[esselat]] }}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
4mqrjd0de6ch97a54l8eiucm8zmzfqu
destegîr
0
283593
6342171
6341871
2026-08-24T14:46:09Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342171
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[alîkar]], [[alîgir]], [[piştgir]], [[piştevan]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=[[destegîr|Destegîr]] û [[mustexas]]ê [[herdu kewn]]<br>Bo gunehkaran [[penah]] û [[pişt]] û [['ewn]]}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
lhcopctl6hmbtx536c40aymvr0ero14
westane
0
283615
6341889
6339787
2026-08-24T12:38:59Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341889
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Lêker ===
{{lêker|ku|c=}}
# [[rawestîn]], [[sekinîn]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Sef bi sef '''westane''' pişta wî Melek<br>[[nazir|Nazirê]] Nûra Muhemmed ew Melek}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Ferien|m|guman=erê}}
{{werger-bin}}
jia3f5t317bw9hhg23peyeu91voyf4u
sacidîn
0
283616
6341903
6125631
2026-08-24T12:46:18Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341903
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Lêker ===
{{lêker|ku|c=}}
# xwe [[tewandin]], xwe [[çemandin]], çûn sucdê
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=[[pifkirin|Pif kirî]] ruhê [[xwe|xu]], ew bû [[nazenîn]]<br>[[lew|Lew]] Melek hatin ji bo wî [[sacidîn]] }}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
ckrl8wfbj9jlkjh9lscxiscn4k0nqmn
cebhet
0
283618
6341885
6304103
2026-08-24T12:35:43Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341885
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku|z=m}}
# [[enî]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Hem bi [[ferman]]a Xuda wê se'etê<br>Nûr ji piştê hate [[nîv]]a [[cebhet]]ê.}}
==== Tewandin ====
{{ku-tewîn-nav/nû|mê}}
==== Etîmolojî ====
Ji {{ji|ar|ku|جبهة}} (cebhe<sup>t</sup>: [[enî]]) ku serekaniya peyva [[cepe]] / [[cephe]] ya kurdî ye jî.
04j9xcgu6sevn1vaqvdtjftr7bzr7ii
îbham
0
283620
6342176
6341764
2026-08-24T14:46:24Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342176
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# tila beranî, tila sereke û stûr ya destan
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Hate [[îbham]]ê dibên nûra 'Elî<br>Şu'lê da tilyan û Cennet [[muncelî]]}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
qv3td21qnbfva86pm1v3zd94l23h6p4
sed hezar û hem çihar û bîst-i elf
0
283711
6341901
5786392
2026-08-24T12:45:47Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341901
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Mane ===
{{cure?|ku}}
# 124 000, sed û bîst û çar hezar
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=[[sed hezar û hem çihar û bîst-i elf]] <br>Her yekî bû yek Nebiyyê [[dil-şikerf]]}}
cyw9ljjpgjbjy5pmrfjahvuf58zsxue
Malik-ul mulkê Celîlê Zulcelal
0
283713
6341902
6265805
2026-08-24T12:45:58Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341902
wikitext
text/x-wiki
{{jêbirin|deng}}
== {{ziman|ku}} ==
=== Mane ===
{{cure?|ku}}
# Padîşahê milkê hêja û rêzdar
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Hate emrê Padîşahê Layezal<br>[[Malik-ul mulkê Celîlê Zulcelal]] }}
oade2vrvxuuawa1nhyom1y4n5sgdf5a
li yek
0
283757
6341896
5786394
2026-08-24T12:43:40Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341896
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Mane ===
{{cure?|ku}}
# li hev
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Qedrê Mewlûdê nizanim bêjim ez<br>[[li yek|Li yek]] hişyar bin [[nebe|nebête]] [[cergebez]]}}
o4ey1n8e0resuwfkfjyy2ubajbmhc4b
’ezîm
0
283759
6341884
6142258
2026-08-24T12:34:28Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341884
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Rengdêr ===
{{rengdêr|ku}}
# [[mezin]], [[gir]], [[girs]], [[gewre]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Ew Xudayê [[melik|malik]]ê mulkê [[’ezîm]]<br>Daye me mîrasa Qur'ana Kerîm}}
==== Etîmolojî ====
{{ji?}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
1gxyggb7fcfbwjjuxeoeh1kp0n68rcu
6342169
6341884
2026-08-24T14:12:14Z
Balyozbot
7867
Bot: Paqijiyên kozmetîk (Lînk paqij kir.)
6342169
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Rengdêr ===
{{rengdêr|ku}}
# [[mezin]], [[gir]], [[girs]], [[gewre]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Ew Xudayê [[melik|malikê]] mulkê [[’ezîm]]<br>Daye me mîrasa Qur'ana Kerîm}}
==== Etîmolojî ====
{{ji?}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
t926wyvla99ba2cr3dzsdf0op1gcshu
6342170
6342169
2026-08-24T14:46:06Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342170
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Rengdêr ===
{{rengdêr|ku}}
# [[mezin]], [[gir]], [[girs]], [[gewre]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Ew Xudayê [[melik|malikê]] mulkê [[’ezîm]]<br>Daye me mîrasa Qur'ana Kerîm}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
he5rwsfeoxxwceiotufa36mk22g0dv5
Sellî ya Rebbî 'ela xeyr-îl beşer
0
284237
6341895
5786399
2026-08-24T12:43:22Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341895
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Mane ===
{{cure?|ku}}
# Ya Xwedê, dilovaniya xwe li qenctirîn mirovî (anku Mihemed pêxemberî) bibarîne
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=[[Sellî ya Rebbî 'ela xeyr-îl beşer]]<br>Ta hebin teyr û bixwînin ber [[şecer]] }}
51dv1su621wxxrsj488bewgrz88tnxp
xakîpa
0
284238
6341886
6142273
2026-08-24T12:36:23Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341886
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# axa binê pêyan
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=[[xakîpa|Xakîpa]]yê Ehmed ew [[Beyt-ul heram]] <br>Lew [[şerîf]] in [[zemzem|Zemzem]] û [[rukn]] û [[meqam]]}}
==== Etîmolojî ====
{{ji?}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
t86nqe3m0luvxge79cekc2j78kh7pyj
6342168
6341886
2026-08-24T14:12:11Z
Balyozbot
7867
Bot: Paqijiyên kozmetîk (Lînk paqij kir.)
6342168
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# axa binê pêyan
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=[[xakîpa|Xakîpayê]] Ehmed ew [[Beyt-ul heram]] <br>Lew [[şerîf]] in [[zemzem|Zemzem]] û [[rukn]] û [[meqam]]}}
==== Etîmolojî ====
{{ji?}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
asvfef5789cng9dezyidr935faoj5m2
6342192
6342168
2026-08-24T14:47:12Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342192
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# axa binê pêyan
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=[[xakîpa|Xakîpayê]] Ehmed ew [[Beyt-ul heram]] <br>Lew [[şerîf]] in [[zemzem|Zemzem]] û [[rukn]] û [[meqam]]}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
rxjqnw8hnr078qd85781gyv3rrac37c
'emd
0
284240
6341894
6265759
2026-08-24T12:43:04Z
Balyozbot
7867
/* Mane */ +şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341894
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Mane ===
{{cure?|ku}}
# [[kêmasî]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Ey şefî'ê sahibê alayê hemd<br>Min hene bêhed guneh, nisyan û ''''emd'''}}
9z1gvwf5rsmmqlibjp6akjswm7e2w7p
wasiq
0
284241
6342191
6341844
2026-08-24T14:47:09Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342191
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[civandî]], [[komkirî]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Lê me hêvî [[wasiq]] e dê ez [[feqîr]]<br>Jê rê alaya te bim [[roja esîr|roja 'esîr]] }}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
fe8zyj6pseui4v6z5ox3zql3knyf3c1
tesnîm
0
284253
6342190
6341827
2026-08-24T14:47:06Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342190
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# ava [[biheşt]]ê, [[rûbar]]ek ji nav biheştê
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Girt û ba [[tesnîm]]ê [[safî]] kir [[hevîr]]<br>[[têkvedan|Têkveda]] heta ku ew qenc bû [[xemîr]] }}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
d4jab0vodhffwhdo5julrnojmc9xinz
nubûwwet
0
284345
6342186
6341802
2026-08-24T14:46:54Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342186
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[pêxemberî]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Paşê bo wî çêkirî duwazdeh [[hicab]] <br>Her yekî xweştir ji yarî bê [[hisab]]<br>Hem [[hidayet]] hem [[nubûwwet]] [[rîf'et]] e<br>[[taet|Ta'et]] e yazdeh [[şefa'et]] [[temmet]]e<br>Her yekî [[westan|westabû]] tê de çendî sal<br>Lê [['eded]] [[mes-pare]] [['ilm]]ê [[layezal|Layezal]].}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
6i8wi0imcnnykl94l9hw2tzsudolppf
rîfet
0
284347
6341887
6142290
2026-08-24T12:37:18Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341887
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Rengdêr ===
{{rengdêr|ku}}
# [[payedarî]], [[payebilindî]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Paşê bo wî çêkirî duwazdeh [[hicab]] <br>Her yekî xweştir ji yarî bê [[hisab]]<br>Hem [[hidayet]] hem [[nubûwwet]] [[rîf'et]] e <br>[[taet|Ta'et]] e yazdeh [[şefa'et]] [[temmet]]e<br>Her yekî [[westan|westabû]] tê de çendî sal<br>Lê [['eded]] [[mes-pare]] 'ilmê [[layezal|Layezal]]}}
==== Etîmolojî ====
{{ji?}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
fn4x9h6gkd56iwojunvuy2abro3odi5
6342187
6341887
2026-08-24T14:46:57Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342187
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Rengdêr ===
{{rengdêr|ku}}
# [[payedarî]], [[payebilindî]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Paşê bo wî çêkirî duwazdeh [[hicab]] <br>Her yekî xweştir ji yarî bê [[hisab]]<br>Hem [[hidayet]] hem [[nubûwwet]] [[rîf'et]] e <br>[[taet|Ta'et]] e yazdeh [[şefa'et]] [[temmet]]e<br>Her yekî [[westan|westabû]] tê de çendî sal<br>Lê [['eded]] [[mes-pare]] 'ilmê [[layezal|Layezal]]}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
7c6uj3pdjv1tgeves2nupj80onryewh
eslab
0
284355
6342174
6341795
2026-08-24T14:46:18Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342174
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# [[dûnde]], [[zuriyet]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Hate [[eslab]]ê [[butunî]] [[tahir]] e<br>Qet nebû yek jî, xerab û [[facir]] e<br>Jêrî Ednan ta ji 'Ebdullah [[guhest]]<br>Bîst û yek bab in, hemî rast û durust}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
to3hzmia5ofu8cbp1ul8el8rnsd83xc
munqelib
0
284357
6342181
6341837
2026-08-24T14:46:39Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342181
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# kesê înqilabê dike
# tişt an jî kesê xwe guhorî
# {{mane?|ku}}
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Ew emanet hate nik 'Ebdulmenaf<br>Hem ji nik 'Ebdulmenaf ew [[muxtefî]]<br>Hate pişta Haşim ew Nûra sefî<br>Hem ji Haşim bû emanet [[munqelib]]<br>Hate bû [[mêhvan]]ê 'Ebdulmuttelib<br>Silsila wî ta bi Adem da û bab<br>[[pêkve|Pêkve]] dê biçne [[biheşt]]ê [[bêhîsab]]}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
61l4xug7ev8wrxd6uotnv454p8w775p
muxtefî
0
284358
6342184
6341830
2026-08-24T14:46:48Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342184
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# Tişt an kesê xwe [[veşartin|vedişêre]].
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Ew emanet hate nik 'Ebdulmenaf<br>Hem ji nik 'Ebdulmenaf ew [[muxtefî]]<br>Hate pişta Haşim ew Nûra sefî}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
s64zkhd8clq0rfgh1ci58sqkpjl818j
musteqer
0
284368
6342183
6341857
2026-08-24T14:46:45Z
Balyozbot
7867
Bot: Sererastkirina şablonan û koda zimên
6342183
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku}}
# rewşa ku bi [[aram]]î, bi [[îstiqrar]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Nûra Ebû-Bekir di [[wasta]]yê 'Umer <br>'Usman di [[xunser]] [[musteqer]] <br>Hate [[îbham]]ê dibên nûra 'Elî <br>[[şu'lê|Şu'lê]] da tilyan û Cennet [[muncelî]] <br>Hatî Hewwa û nezer da nûrî saf <br>Gotî: “- Ya Adem çi nûr e pir [[şefaf]]? }}
==== Têkildar ====
* [[îstiqrar]]
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
p96vkytjnw7h2h6kxb8av5cmvqpt094
Kunî Hebîbê Ehmeda
0
284372
6341900
5786404
2026-08-24T12:45:21Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341900
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Mane ===
{{cure?|ku}}
# peyda bibe ey Mihemedê delal!
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Girtî yek [[qebde]] ji nûra xwe Xuda,<br>Gote wê: "'''Kunî Hebîbê Ehmeda'''".<br>Hêj ne [[erş]] û [[ferş]] û kursî û qelem<br>Hêj ne [[lewh]] û [[enbiya]]yê [[muhteşem]]<br>Salîha [[tesbîh]] kirî nûra [[şikelf]]<br>Şeş [[mîet]] [[elf]] û çîhar û bîst û [[elf]]}}
j4w0qdhi35fkx46a8mvdgtyzkfavrwn
sucûd
0
284436
6341888
6287703
2026-08-24T12:38:15Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341888
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-kîte}}
=== Rengdêr ===
{{rengdêr|ku}}
# [[sicde]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Pirr girî û xweş girî bê hed gelek<br>[[Newheê “inna zelemna”]] çû felek<br>Rojekê ew [[der]] [[sucûd]]ê bê [[mefer]]<br>Pirr girî û hem li erşê kir [[nezer]] }}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Anbetung|f|guman=erê}}
{{werger-bin}}
swf4nw5mrqbdxn705t3xohbsks1jh9q
Newheê “inna zelemna”
0
284437
6341897
5786406
2026-08-24T12:44:16Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341897
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Mane ===
{{cure?|ku}}
# dengê “min neheqî kir”
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Pirr girî û xweş girî bê hed gelek<br>[[Newheê “inna zelemna”]] çû felek<br>Rojekê ew [[der]] [[sucûd]]ê bê [[mefer]]<br>Pirr girî û hem li erşê kir [[nezer]]}}
h6vb6ik3s8gic5mihx8mx42aj1p01g2
pronoun
0
311453
6342262
6261515
2026-08-24T22:27:26Z
Wikihez
7344
/* Navdêr */ bnr en.wikt (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342262
wikitext
text/x-wiki
== {{ziman|en}} ==
=== Bilêvkirin ===
* {{mj|KY}} {{IPA|en|/ˈpɹəʊnaʊn/}}
* {{mj|DYA}} {{IPA|en|/ˈpɹoʊ.naʊn/}}
* {{deng|en|en-us-pronoun.ogg|dever=DYA}}
=== Navdêr ===
{{en-navdêr}}
# {{f|en|rêziman}} [[cînav|Cînav]], [[pronom]].
# {{f|en|bi piranî|wek pirjimar}} Her cînavê ku tercîhên însanekî tarîf dike, bi piranî nasnameya cinsî tarîf dike.
#: {{mk|en|My '''pronouns''' are she/her.|Cînava min a cinsî, keçik e.|rêz=1}}
==== Jornav ====
* {{g|en|part of speech}}
* {{g|en|pro-form}}
==== Jê ====
{{kol3|en
|adjective pronoun|adjectival pronoun|demonstrative pronoun|pronoun demonstrative|determinative pronoun|emphasizing pronoun|indefinite pronoun|intensive pronoun|interrogative pronoun|object pronoun|personal pronoun|possessive pronoun|reciprocal pronoun|reflexive pronoun|relative pronoun|subject pronoun|substantive pronoun|substantival pronoun
|gender-neutral pronoun|epicene pronoun|reflexive possessive pronoun|prepositional pronoun|resumptive pronoun|play the pronoun game|weak pronoun
}}
==== Formên alternatîv ====
* {{g|en|pronoune}} {{mj|kevnbûyî}}
==== Etîmolojî ====
Ji {{pêş|en|pro-|noun}}, modelbûyî ji ser {{ji|frm|en|pronom}}, ji {{ji|la|en|pronomen}}, ew bixwe deynkirî ji {{ji|grc|en|ᾰ̓ντωνῠμῐ́ᾱ}}.
==== Têkildar ====
* {{g|en|pronominal}}
== {{ziman|sco}} ==
=== Navdêr ===
{{navdêr|sco}}
# {{mijar|sco|zimannasî}} {{g|ku|cînav}}, {{g|ku|zemîr}}
=== Çavkanî ===
{{rûpela wergerê|sco|cînav}}
3g5edrq67su8v4pro4wrtda1jgzgtb9
6342263
6342262
2026-08-24T22:28:25Z
Wikihez
7344
/* Navdêr */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342263
wikitext
text/x-wiki
== {{ziman|en}} ==
=== Bilêvkirin ===
* {{mj|KY}} {{IPA|en|/ˈpɹəʊnaʊn/}}
* {{mj|DYA}} {{IPA|en|/ˈpɹoʊ.naʊn/}}
* {{deng|en|en-us-pronoun.ogg|dever=DYA}}
=== Navdêr ===
{{en-navdêr}}
# {{f|en|rêziman}} [[zemîr|Zemîr]], [[cînav]], [[pronom]].
# {{f|en|bi piranî|wek pirjimar}} Her cînavê ku tercîhên însanekî tarîf dike, bi piranî nasnameya cinsî tarîf dike.
#: {{mk|en|My '''pronouns''' are she/her.|Cînava min a cinsî, keçik e.|rêz=1}}
==== Jornav ====
* {{g|en|part of speech}}
* {{g|en|pro-form}}
==== Jê ====
{{kol3|en
|adjective pronoun|adjectival pronoun|demonstrative pronoun|pronoun demonstrative|determinative pronoun|emphasizing pronoun|indefinite pronoun|intensive pronoun|interrogative pronoun|object pronoun|personal pronoun|possessive pronoun|reciprocal pronoun|reflexive pronoun|relative pronoun|subject pronoun|substantive pronoun|substantival pronoun
|gender-neutral pronoun|epicene pronoun|reflexive possessive pronoun|prepositional pronoun|resumptive pronoun|play the pronoun game|weak pronoun
}}
==== Formên alternatîv ====
* {{g|en|pronoune}} {{mj|kevnbûyî}}
==== Etîmolojî ====
Ji {{pêş|en|pro-|noun}}, modelbûyî ji ser {{ji|frm|en|pronom}}, ji {{ji|la|en|pronomen}}, ew bixwe deynkirî ji {{ji|grc|en|ᾰ̓ντωνῠμῐ́ᾱ}}.
==== Têkildar ====
* {{g|en|pronominal}}
== {{ziman|sco}} ==
=== Navdêr ===
{{navdêr|sco}}
# {{mijar|sco|zimannasî}} {{g|ku|cînav}}, {{g|ku|zemîr}}
=== Çavkanî ===
{{rûpela wergerê|sco|cînav}}
s8x04dlofc87f3vw8yoypqawe8zjae6
6342276
6342263
2026-08-24T22:41:12Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342276
wikitext
text/x-wiki
== {{ziman|en}} ==
=== Bilêvkirin ===
* {{mj|KY}} {{IPA|en|/ˈpɹəʊnaʊn/}}
* {{mj|DYA}} {{IPA|en|/ˈpɹoʊ.naʊn/}}
* {{deng|en|en-us-pronoun.ogg|dever=DYA}}
=== Navdêr ===
{{en-navdêr}}
# {{f|en|rêziman}} [[zemîr|Zemîr]], [[cînav]], [[pronom]].
# {{f|en|bi piranî|wek pirjimar}} Her cînavê ku tercîhên însanekî tarîf dike, bi piranî nasnameya cinsî tarîf dike.
#: {{mk|en|My '''pronouns''' are she/her.|Cînava min a cinsî, keçik e.|rêz=1}}
==== Formên alternatîv ====
* {{g|en|pronoune}} {{mj|kevnbûyî}}
==== Jornav ====
* {{g|en|part of speech}}
* {{g|en|pro-form}}
==== Jê ====
{{kol3|en
|adjective pronoun|adjectival pronoun|demonstrative pronoun|pronoun demonstrative|determinative pronoun|emphasizing pronoun|indefinite pronoun|intensive pronoun|interrogative pronoun|object pronoun|personal pronoun|possessive pronoun|reciprocal pronoun|reflexive pronoun|relative pronoun|subject pronoun|substantive pronoun|substantival pronoun
|gender-neutral pronoun|epicene pronoun|reflexive possessive pronoun|prepositional pronoun|resumptive pronoun|play the pronoun game|weak pronoun
}}
==== Têkildar ====
* {{g|en|pronominal}}
==== Etîmolojî ====
Ji {{pêş|en|pro-|noun}}, modelbûyî ji ser {{ji|frm|en|pronom}}, ji {{ji|la|en|pronomen}}, ew bixwe deynkirî ji {{ji|grc|en|ᾰ̓ντωνῠμῐ́ᾱ}}.
== {{ziman|sco}} ==
=== Navdêr ===
{{navdêr|sco}}
# {{mijar|sco|zimannasî}} {{g|ku|cînav}}, {{g|ku|zemîr}}
=== Çavkanî ===
{{rûpela wergerê|sco|cînav}}
ddmaezhw4mea6nfmjg4zgh5hhkt4tkn
omasum
0
314433
6342235
5731346
2026-08-24T20:54:15Z
Şêr
1103
ne pirtûk, pizrûk :)
6342235
wikitext
text/x-wiki
== {{ziman|en}} ==
=== Navdêr ===
{{navdêr|en}}
#(biyol.) [[hezarpizrûk]]
q7537kgws5lcruneew7pqpmfgakpae5
6342245
6342235
2026-08-24T21:24:00Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v1.7).
6342245
wikitext
text/x-wiki
== {{ziman|en}} ==
=== Navdêr ===
{{navdêr|en}}
#(biyol.) [[hezarpizrûk]]
#* {{jêder-kitêb|en|nivîskar=Peter Langer|sernav=Comparative Anatomy of the Gastrointestinal Tract in Eutheria II: Taxonomy, Biogeography and Food. Laurasiatheria|weşanxane=Walter de Gruyter GmbH & Co KG|sal=2017|isbn=978-3-11-056221-7|url=https://www.google.com.tr/books/edition/Comparative_Anatomy_of_the_Gastrointesti/Ge45DwAAQBAJ?hl=en&gbpv=1&dq=omasum&pg=PA481&printsec=frontcover|jêgirtin=In the bovine '''omasum''', Becker et al. (1963) found laminae of the fourth order.}}
qjj2szl3m3qcygicbs9kk5tnx3fhsj6
qefik
0
455381
6342330
6325327
2026-08-25T05:23:37Z
Wikihez
7344
/* Navdêr 2 */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342330
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Navdêr ===
{{navdêr|ku|z=n}}
# [[berqef]] ango bin [[lat]] û [[zinar]]an
#* {{jêder-kovar|ku|jêgirtin=Zivistanê di çeman û golên pir kûr de, '''qefikê''' tahtan cîhê kombûna wan e. Taht tune bin ew erdê vedidin di nav av, qûm û heriyê de ji xwe re qulikan çêdikin û dikevinê. Di wan qulan de bi destan tê girtin. Di girtînê de hostatî lazim e. Masiyên qulan celebê bi cisn in, rind in.|kovar=Kovara Kurmancî|sernav=Masî û masîvanî|url=https://www.institutkurde.org/publications/kurmanci/telechargement/ku50.pdf|nivîskar=Eyûb Sînan KIRAN|weşanxane=Weşanên Enstîtuya kurdî ya Parîsê|hejmar=50|sal=Havîn 2012|rûpel=4}}
==== Tewandin ====
{{ku-tewîn-nav/nû|nêr}}
=== Navdêr 2 ===
[[Wêne:Soil sifter.jpg|thumb|Qefika xîzê]]
{{navdêr|ku|z=m}}
# {{f|ku|Elegez|Kurdiya Kavkazê}} [[amûr]]eke ku pê [[xîz]]ê [[eleg]] dikin, [[kevirgir]], [[bêjing]], [[serad]].
#* {{jêder|ku|jêgirtin=Qûm tê '''qefik''' û hebek ji wê diçe hundur,<br/>Wir diêşîne, nexweş diêxe ruhber bi kenc,<br/>Û rokê jî nişkeva ji wir... dertê durr.|Çerkezê Reş, Şorişa Xebera, Yêrêvan, 1986}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
{{bêetîmolojî|ku}}
==== Werger ====
{{werger-ser}}
{{werger-bin}}
nmr4d0wm54syvlq7ps73pknz7whk3jj
یاری
0
579929
6342268
6081018
2026-08-24T22:33:08Z
Şêr
1103
/* {{ziman|ckb}} */
6342268
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|sc=Arab|tr=-}}
# {{ku-Latn|yarî}}
#* {{jêder-kitêb|ku|jêgirtin=ھەردەم دا لورین چیتە نك و دا بویکا باربی ژبیر کەت ھێلیتە ل مال، چونکی '''یاری''' دگەل ھەڤالا خۆ دکرن و بەس ھزرا وێ لسەر یارییا بوو دگەل وێ|sc=ku-Arab|tr=Herdem da Lurîn çîte nik û da bwîka barbî jibîr ket hêlîte li mal, çunkî yarî digel hevala xo dikirin û bes hizra wê liser '''yarîya''' bû digel wê.|sernav=Bêrîvan û Hîvî (Çîrokêt Zarokan)|nivîskar=Leylan Îsmeîl|weşanxane=Çapxana Xanî|cih=Dihok|sal=2012|r=15}}
== {{ziman|sdh}} ==
=== Navdêr ===
{{navdêr|sdh}}
# [[alîkarî]]
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[lîstik]]
#: {{mînak|ckb|ئەم یارییە زۆر خۆشە.|tr=Em yariye zor xoşe.|werger=Ev lîstik pir xweş e.}}
#: {{mînak|ckb|یارییەکە کاتژمێر هەشت دەست پێدەکات.|tr=Yaryeke katjimêr heşt dest pêdekat.|werger=Lîstik di saet heştan de dest pê dike.}}
==== Lêker ====
* {{g|ckb|یاری کردن}}
==== Têkildar ====
* {{g|ckb|یاریزان}}
* {{g|ckb|یاریگە}}
== {{ziman|fa}} ==
=== Navdêr ===
{{navdêr|fa|tr=yâri}}
# [[alîkarî]], [[harîkarî]], [[harî]], [[alî]], [[destek]], [[misaede]], [[yarmetî]]
==== Jê ====
* {{g|fa|یاری رساندن|tr=yâri rasândan}}
4hjdsbhzffr7jvjk6pzfw35e31nxyb8
6342275
6342268
2026-08-24T22:41:09Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342275
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|sc=Arab|tr=-}}
# {{ku-Latn|yarî}}
#* {{jêder-kitêb|ku|jêgirtin=ھەردەم دا لورین چیتە نك و دا بویکا باربی ژبیر کەت ھێلیتە ل مال، چونکی '''یاری''' دگەل ھەڤالا خۆ دکرن و بەس ھزرا وێ لسەر یارییا بوو دگەل وێ|sc=ku-Arab|tr=Herdem da Lurîn çîte nik û da bwîka barbî jibîr ket hêlîte li mal, çunkî yarî digel hevala xo dikirin û bes hizra wê liser '''yarîya''' bû digel wê.|sernav=Bêrîvan û Hîvî (Çîrokêt Zarokan)|nivîskar=Leylan Îsmeîl|weşanxane=Çapxana Xanî|cih=Dihok|sal=2012|r=15}}
== {{ziman|sdh}} ==
=== Navdêr ===
{{navdêr|sdh}}
# [[alîkarî]]
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[lîstik]]
#: {{mînak|ckb|ئەم یارییە زۆر خۆشە.|tr=Em yariye zor xoşe.|werger=Ev lîstik pir xweş e.}}
#: {{mînak|ckb|یارییەکە کاتژمێر هەشت دەست پێدەکات.|tr=Yaryeke katjimêr heşt dest pêdekat.|werger=Lîstik di saet heştan de dest pê dike.}}
==== Têkildar ====
* {{g|ckb|یاریزان}}
* {{g|ckb|یاریگە}}
==== Lêker ====
* {{g|ckb|یاری کردن}}
== {{ziman|fa}} ==
=== Navdêr ===
{{navdêr|fa|tr=yâri}}
# [[alîkarî]], [[harîkarî]], [[harî]], [[alî]], [[destek]], [[misaede]], [[yarmetî]]
==== Jê ====
* {{g|fa|یاری رساندن|tr=yâri rasândan}}
2qlpv1gwb0czt53f2lg06wr6grp6pjs
ئاشتی
0
580116
6342286
5652692
2026-08-24T22:55:15Z
Şêr
1103
6342286
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|z=-|sc=Arab}}
# {{ku-Latn|aştî}}
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[aştî]], [[aramî]] (rewşa lihevhatin, aramî û nebûna şer û pevçûnan)
#: {{mînak|ckb|هەموو جیهان پێویستی بە ئاشتی هەیە.|tr=Hemû cîhan pêwîstî be aştî heye.|werger=Pêdiviya hemû cîhanê bi aştiyê heye.}}
#: {{mînak|ckb|ئەوان پەیامی ئاشتی و پێکەوەژیان بڵاودەکەنەوە.|tr=Ewan peyamî aştî u pêkewejiyan bilawdekenewe.|werger=Ew peyama aştî û pêkvejiyanê belav dikin.}}
==== Dijmane ====
* {{g|ckb|شەڕ}}
* {{g|ckb|جەنگ}}
==== Hevmane ====
* {{g|ckb|ئارامی}}
* {{g|ckb|تەبایی}}
* {{g|ckb|پێکهاتن}}
==== Têkildar ====
* {{g|ckb|ئاشتیخواز}}
* {{g|ckb|پێکەوەژیان}}
* {{g|ckb|ئاسایش|tr=asayiş}}
psglqtb7tp83u9cr12h5u941e93xo4p
6342316
6342286
2026-08-24T23:41:25Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342316
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|z=-|sc=Arab}}
# {{ku-Latn|aştî}}
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[aştî]], [[aramî]] (rewşa lihevhatin, aramî û nebûna şer û pevçûnan)
#: {{mînak|ckb|هەموو جیهان پێویستی بە ئاشتی هەیە.|tr=Hemû cîhan pêwîstî be aştî heye.|werger=Pêdiviya hemû cîhanê bi aştiyê heye.}}
#: {{mînak|ckb|ئەوان پەیامی ئاشتی و پێکەوەژیان بڵاودەکەنەوە.|tr=Ewan peyamî aştî u pêkewejiyan bilawdekenewe.|werger=Ew peyama aştî û pêkvejiyanê belav dikin.}}
==== Hevmane ====
* {{g|ckb|ئارامی}}
* {{g|ckb|تەبایی}}
* {{g|ckb|پێکهاتن}}
==== Dijmane ====
* {{g|ckb|شەڕ}}
* {{g|ckb|جەنگ}}
==== Têkildar ====
* {{g|ckb|ئاشتیخواز}}
* {{g|ckb|پێکەوەژیان}}
* {{g|ckb|ئاسایش|tr=asayiş}}
chet2pdvvjqtbev6gm9c8hqlv3hujgh
زانست
0
580398
6342282
5042708
2026-08-24T22:49:59Z
Şêr
1103
6342282
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|z=m|tr=-|sc=Arab}}
# {{guherto|ku|zanist}}
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[zanist]], [[elm]], [[zanîn]] (sîstema zanînê ya ku li ser ceribandin, ezmûn û delîlan ava dibe)
#: {{mînak|ckb|زانست کلیلی پێشکەوتنی مرۆڤایەتییە.|tr=Zanist klîlî pêşkewtinî mirovayetîye.|werger=Zanist kilîla pêşketina mirovahiyê ye.}}
#: {{mînak|ckb|ئەو حەزێکی زۆری بۆ فێربوونی زانست هەیە.|tr=Ew hezêkî zorî bo fêrbûnî zanist heye.|werger=Hezeke wî ya mezin ji bo fêrbûna zanistê heye.}}
==== Têkildar ====
* {{g|ckb|زانا}}
* {{g|ckb|زانکۆ}}
* {{g|ckb|زانستی}}
q1f7dafcuh3xv54mcloakxde0fvpjsx
6342283
6342282
2026-08-24T22:51:46Z
Şêr
1103
/* Navdêr */
6342283
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|z=m|tr=-|sc=Arab}}
# {{guherto|ku|zanist}}
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb|tr=zanist}}
# [[zanist]], [[elm]], [[zanîn]] (sîstema zanînê ya ku li ser ceribandin, ezmûn û delîlan ava dibe)
#: {{mînak|ckb|زانست کلیلی پێشکەوتنی مرۆڤایەتییە.|tr=Zanist klîlî pêşkewtinî mirovayetîye.|werger=Zanist kilîla pêşketina mirovahiyê ye.}}
#: {{mînak|ckb|ئەو حەزێکی زۆری بۆ فێربوونی زانست هەیە.|tr=Ew hezêkî zorî bo fêrbûnî zanist heye.|werger=Hezeke wî ya mezin ji bo fêrbûna zanistê heye.}}
==== Têkildar ====
* {{g|ckb|زانا}}
* {{g|ckb|زانکۆ}}
* {{g|ckb|زانستی}}
9zigiql20npq308jkcf6i7k8s5kmi7s
Gotûbêja modulê:ku-Arab-translit
829
652404
6342322
6341874
2026-08-25T00:47:22Z
Ghybu
1393
/* Test */ Bersiv
6342322
wikitext
text/x-wiki
== kod ==
:<small>Ji [[Gotûbêja bikarhêner:Ghybu]]</small>
Silav. Ghybu tu dikarî [[Bikarhêner:Calak/ckb-translit.js|ev kod]] biguherîn bo lua? Ji bo wikiferhenga înglzî dixwazim her wek [[:en:Module:Armn-translit]]. Pirr spas.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 19:12, 27 pûşper 2018 (UTC)
:{{ragihandin|Calak}} Erê, ez çêdikim.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 02:36, 28 pûşper 2018 (UTC)
::Baştire li ser [[Modul:ku-translit]] kar bikin.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 15:18, 29 pûşper 2018 (UTC)
:::regex: | , //b , //s li lua de kar neke.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:19, 29 pûşper 2018 (UTC)
::::{{Silav|Calak}}, dizanim ("|" di nav parantezan kar nake...). Te koda javascript'ê ceriband: [https://sourceforge.net/projects/kurdinus/?source=typ_redirect]? Bo mînak: "برا" bo "Bra" dinivîse...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 20:23, 29 pûşper 2018 (UTC)
:::::Min ceriband. dyar -> diyar, bra -> bira, aşkra -> aşkira li javascript jî kar neke. Ev ne gringe, niha divê ku grifên | , //b , //s çareser bikin... .--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:39, 29 pûşper 2018 (UTC)
::::::{{ragihandin|Calak}}"//b , //s" ne pirsgirêk e, [https://ku.wiktionary.org/wiki/Modul:ku-xwendin vitira] jî tê çêkirin (bo tabloyan) / "|" --> [https://ku.wiktionary.org/w/index.php?title=Modul:ku-Arab&diff=2989948&oldid=2989908]/ //s --> %s. Min tiştik fehm nekir: weteya vê regexê çi ye: [^ء-يٱ-ەwy] (ez tîpên erebî pirr nizanim)? [ٱ-ە]?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 29 pûşper 2018 (UTC)
::::::: ء-ي + ٱ-ە + w + y
::::::: yanî hemî tîpên erebî-kurdî + w + y.
:::::::--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:34, 29 pûşper 2018 (UTC)
:::::::: ء-ي + ٱ-ە = hemî tîpên erebî-kurdî
:::::::::no alternation (the | operator)--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 08:03, 30 pûşper 2018 (UTC)).
::::::::::{{ragihandin|Calak}} Alternatîf nivîsandina du carî ye, mînak (the operator -->test test):
text = mw.ustring.gsub('the operator', '(the|operator)', 'test') '''alternatîf'''
text= mw.ustring.gsub('the operator', 'the', 'test')
text= mw.ustring.gsub(text, 'operator', 'test')
return text
::::::::::--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 11:57, 30 pûşper 2018 (UTC)
{{outdent|::::::::::}}{{ragihandin|Calak}} Min koda berî li gorî peyvan çêkir, vitira bikarananîn regex'an hêsan e. Niha "/b" û "/s" ne pêwîst in. Bi min pirsgirêk hat rakirin...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:13, 30 pûşper 2018 (UTC)
:Niha pirsgirek heye. Li coda javascript de dinivîse "zanistname" an "destkarîy". lêbelê li vir "zansitname" an "destikarîy" hatiye nivîsandin!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 22:04, 30 pûşper 2018 (UTC)
::{{ragihandin|Calak}} Çêbû. Niha koda lua wekî koda javascript'ê derdikevî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 23:22, 30 pûşper 2018 (UTC)
:::Pirr spas. Ji kerema xwe re [[:en:Module:ckb-translit]] edit bike; bizane çi guherandinek pêwîste. function "export.tr" 3 parameter dixwaze "text, lang, sc". Bo zanyarî zêdetir binêre [[:en:Module:tg-translit]], [[:en:Module:bg-translit]] bizane çawan kar dike. dest xweş.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 10:39, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Li [https://en.wiktionary.org/wiki/Module:languages/data3/c vira] (ckb) tê çêkirin. Koda <code>translit_module = "ckb-translit",</code> tevlî agahiyên <code>m["ckb"]</code> bike.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 13:13, 1 tîrmeh 2018 (UTC)
{{outdent|:::}}{{ragihandin|Calak}} Tu dikarî [[:en:Category:Terms with manual transliterations different from the automated ones/ckb|vana]] kontrol bikî? Di nav gotarê de transliterasyonên ku hatine nivîsandin û transliterasyonên lua yek ninin--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 1 tîrmeh 2018 (UTC)
:Erê [https://en.wiktionary.org/wiki/Special:Contributions/Calak binêre]. Pirranî ł, ř, ē, ū li cihê ll, rr, ê, û hatiye nivîsandin. Tu dikarî bi bot [[:en:Category:Terms with redundant transliterations/ckb]] jê bibî?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:28, 1 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, feqet bi botê destûr pêwîst e. Na?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:36, 1 tîrmeh 2018 (UTC)
:::Dikarî her Ghybu bi kar bihînî, kes nazane. Tenê pêwîste bi texîr (delay) edit bikî!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:41, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Min ceriband: bot ser hemû wîkiyan dişuxilî feqet ser en-wîkî nedişuxilî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 22:21, 1 tîrmeh 2018 (UTC)
* {{ku-translit|دەستکاریی}} li cihê destkarîy. Çima?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:54, 2 tîrmeh 2018 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990641&oldid=2990279] heke و nehat ی + ی = îy --[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:58, 2 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, pirsgirêk ew guherandina ye...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:01, 2 tîrmeh 2018 (UTC)
:::{{ragihandin|Calak}} Ew jî çêbû: [https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990667&oldid=2990656]--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:32, 2 tîrmeh 2018 (UTC)
== Pirsgêrek ==
[https://ku.wiktionary.org/w/index.php?title=%D8%AC%D9%86%D8%B3&diff=3735258&oldid=3735231&diffmode=source] (''cinis'')--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:17, 31 tebax 2019 (UTC)
== Test ==
{{silav|Şêr}}. Ji bo testan, tiştekî vitira baştir e: [[:en:Module:ckb-translit/testcases]]. Bi vî awayî em hertim dizanin ku şablon rind dişxule an na... [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:37, 23 tebax 2026 (UTC)
:Silav Ghybu, spas, ev [[:Modul:ku-Arab-translit/testcases]] wisa baş e? An jî bila bibe ckb? -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:40, 23 tebax 2026 (UTC)
::Na ji bo zimanê kurmancî jî tê bikaranîn ji ber vê yekê em "ku-Arab" kir. Herwiha li gor vê modelê kodê binivîse [[Modul:ckb-translit/testcases]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:50, 23 tebax 2026 (UTC)
:::{{r|şêr}} [//ku.wiktionary.org/w/index.php?title=%DA%AF%D8%B1%D9%86%DA%AF&curid=269299&diff=6341546&oldid=5994849] Ji bo gotinên vitira hîn pirr zû ye, belkî problemên din derdikevin :) Te tenê peyvên ku di nav lîsteya TestCasê de sererast kiriye. Tu çito dizanî ku yên din de problemên din derneketine? Vana jî werin kontrol kirin: [[:Kategorî:Translîterasyona zarûrî û manûel bi soranî]] / [[:Kategorî:Transliterasyona zarûrî û manûel bi soranî]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:39, 23 tebax 2026 (UTC)
::::Xebera te ye, gelekî zû ye :(, min ew lîste dît, û dixwest bi awayekî rêz bikim, lê hê nizanim çawa. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:47, 23 tebax 2026 (UTC)
:::::Bi AutoWikiBrowser-ê, sernavê gotar û translîterasyonan (kategoriyên jor) bigir {{param2|tr}}. Paşê jî ew lîsteyê tevlî ''TestCasê'' bike û sererast bike... Paşê jî hemû peyvên soranî bigir û test bike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:54, 23 tebax 2026 (UTC)
::::::Min ji bîr kir ku AWB hê jî heye. :P Ez ê lê binêrim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:57, 23 tebax 2026 (UTC)
:::::::Min bêyî AWB çêkir: [[:Bikarhêner:Şêr/lîste2]]. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:38, 23 tebax 2026 (UTC)
::::::::Ez dibêm dikarî otomatîk lîste çêkî bi riya [[Modul:parser]] an [[Modul:template parser]] feqat çawa nizanim :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]]) 19:45, 23 tebax 2026 (UTC)
:::::::::Min bi Pythoncan û Luayê çêkir. :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:47, 23 tebax 2026 (UTC)
::::::::::Li gorî [[:Bikarhêner:Şêr/lîste2|lîsteyê]] gelek sererastkirin hewce ne, di kodê de. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:50, 23 tebax 2026 (UTC)
:::::::::::Bo agahdarî: nivîsên bi "ll"/"ł" (wekî {{q|ckb|ئاژهڵ|tr=-}} ajell/ajeł) û "rr/ř" ne cuda ne.. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:53, 23 tebax 2026 (UTC)
::::::::::::Min fam kir :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:57, 23 tebax 2026 (UTC)
:::::::::::::Rewşa dawî [[:Bikarhêner:Şêr/lîste2|ev]] e. Ez ê rojeke din, dema wextê min çêbû, dewam bikim. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:19, 23 tebax 2026 (UTC)
{{outdent|:::::::::::::}} {{r|Şêr}} Tu nikarî translîterasyonan bi vî awayî (li gor dengdêr/dengdaran û kîtekirinê) sererast bikî. Binêre {{q|ckb|ئاسن|tr=asin}} û {{q|ckb|ئاسنان|tr=asnan}}, her du jî bi hêsanî tên bilêvkirin, "a-sin" û "as-nan". Çima em dibêjin yê rast "a-si-nan" e? Ji ber ku em peyva "asin" nas dikin û li gor rêzimanî "asin" + "an" = "asinan" ne <s>"asnan"</s> e. Bi gotineke din zanîna peyva ne tewandî hewce ye {{=D}}.
1) Di tabloyên tewadinan de pêşta peyva sade (ne tewandî) translît bike başê jî translîta paşgiran tevlî bike : {{q|ckb|ئاسن|tr=asin}} + {{q|ku|ان}} = asin + an = asinan. Ne yekcarê de... 2) Li vira jî belkî paşgir û pêşgir werin jêkirin û translîtên wan her sêyan werin kirin û paşê jî dîsa werin cem hev :)
<poem>
peyv
↓
paşgir/pêşgir hene? (ان, ێک, ەکە, ەکان, ...)
↓
pêşgir + pSade <small>(peyv bi pêşgir/paşgirê)</small> + paşgir
↓
translit(paşgir) + translit(pSade) + translît(paşgir)
↓
translît
</poem>
--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:35, 24 tebax 2026 (UTC)
:Silav @Ghybu,
:Gelek spas ji bo vê ravekirinê, tam di cih de ye. Îro ez li ser modulê xebitîm û gihîştim heman encama te: Tenê bi rêzikên tîpan (regex) mirov nikare peyvên
:hevedudanî û paşgiran bi awayekî durust çareser bike.
:Min îro di modulê de rêzikek ji bo 4 tîpên bêdeng çêkir (POSITION 1) û bi vê yekê me peyvên mîna kirdin, birdinewe, girtine rast kirin. Lê dîsa jî ji ber ku kod fêm nake peyv ji kîjan beşan pêk tê, ez mecbûr mam ji bo peyvên wek hengwîn, birrbirre an agirpijên lîsteyeke taybet a îstîsnayan (word_exceptions) çêbikin.
:Ji ber vê yekê, ez bi tevahî bi pêşniyara te re hemfikir im: Divê em pêşî peyvê parçe bikin (rayek + paşgir), paşê her beşekê cuda wergerînin latînî.
:Mînak di peyva birdinewe de:
:1. Pêşî paşgira -ewe jê dibe \to tenê birdin dimîne.
:2. Kod bi rehetî birdin dike latînî.
:3. Paşê ewe lê zêde dibe \to dibe birdinewe.
:Bi vî awayî pêdiviya me bi van hemû rêzikên giran û îstîsnayan namîne û piraniya pirsgirêkên "Cuda ye" çareser dibin.
:Çend pirsên min ji bo gava bê:
: - Gelo lîsteyeke te ya paşgirên sereke (wek -an, -ewe, -tir, -în, -din, -tin) heye an te dest pê kiriye?
: - Heke koda te ya pêşnûme ji bo vê parçekirinê hebe, ez dikarim li ser Module:ku-Arab-translit/sandbox zêde bikim da ku em bi mînakên îro biceribînin?
:Silav û rêz,
:--[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 10:25, 24 tebax 2026 (UTC)
::Bo Wîkîferhengê tiştekî vitira tenê ji bo sererastkirinên peyvan tê çêkirin ji ber ku em cureyê peyvê dizaninê. W" li jor qala modula "parser" kirye; bi vê modulê tê zanîn ku ew peyv lêker, navêr û tiştekî din e.
::Feqet ji bo hevokan problemek din heye: zanîna kategoriya rêzimanî hewce ye (lêker (kîjan dem?), navdêr, renddêr, ...). Li gor cureyê peyvê paşgir û pêşgir tên zanîn... Bnr. ''[[:en:Part-of-speech tagging]]''. Ji bo soranî hatiye çêkirin, bnr. ''[https://universaldependencies.org/ckb/index.html UD for Central Kurdish]'' û ''[https://github.com/sinaahmadi/KurdishPOSTagger KurdishPOSTagger]'' (github). [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 00:47, 25 tebax 2026 (UTC)
2qjjmxafe6zpvj4gfqpd8i9j3zel9tl
6342323
6342322
2026-08-25T00:48:14Z
Ghybu
1393
/* Test */
6342323
wikitext
text/x-wiki
== kod ==
:<small>Ji [[Gotûbêja bikarhêner:Ghybu]]</small>
Silav. Ghybu tu dikarî [[Bikarhêner:Calak/ckb-translit.js|ev kod]] biguherîn bo lua? Ji bo wikiferhenga înglzî dixwazim her wek [[:en:Module:Armn-translit]]. Pirr spas.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 19:12, 27 pûşper 2018 (UTC)
:{{ragihandin|Calak}} Erê, ez çêdikim.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 02:36, 28 pûşper 2018 (UTC)
::Baştire li ser [[Modul:ku-translit]] kar bikin.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 15:18, 29 pûşper 2018 (UTC)
:::regex: | , //b , //s li lua de kar neke.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:19, 29 pûşper 2018 (UTC)
::::{{Silav|Calak}}, dizanim ("|" di nav parantezan kar nake...). Te koda javascript'ê ceriband: [https://sourceforge.net/projects/kurdinus/?source=typ_redirect]? Bo mînak: "برا" bo "Bra" dinivîse...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 20:23, 29 pûşper 2018 (UTC)
:::::Min ceriband. dyar -> diyar, bra -> bira, aşkra -> aşkira li javascript jî kar neke. Ev ne gringe, niha divê ku grifên | , //b , //s çareser bikin... .--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:39, 29 pûşper 2018 (UTC)
::::::{{ragihandin|Calak}}"//b , //s" ne pirsgirêk e, [https://ku.wiktionary.org/wiki/Modul:ku-xwendin vitira] jî tê çêkirin (bo tabloyan) / "|" --> [https://ku.wiktionary.org/w/index.php?title=Modul:ku-Arab&diff=2989948&oldid=2989908]/ //s --> %s. Min tiştik fehm nekir: weteya vê regexê çi ye: [^ء-يٱ-ەwy] (ez tîpên erebî pirr nizanim)? [ٱ-ە]?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 29 pûşper 2018 (UTC)
::::::: ء-ي + ٱ-ە + w + y
::::::: yanî hemî tîpên erebî-kurdî + w + y.
:::::::--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:34, 29 pûşper 2018 (UTC)
:::::::: ء-ي + ٱ-ە = hemî tîpên erebî-kurdî
:::::::::no alternation (the | operator)--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 08:03, 30 pûşper 2018 (UTC)).
::::::::::{{ragihandin|Calak}} Alternatîf nivîsandina du carî ye, mînak (the operator -->test test):
text = mw.ustring.gsub('the operator', '(the|operator)', 'test') '''alternatîf'''
text= mw.ustring.gsub('the operator', 'the', 'test')
text= mw.ustring.gsub(text, 'operator', 'test')
return text
::::::::::--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 11:57, 30 pûşper 2018 (UTC)
{{outdent|::::::::::}}{{ragihandin|Calak}} Min koda berî li gorî peyvan çêkir, vitira bikarananîn regex'an hêsan e. Niha "/b" û "/s" ne pêwîst in. Bi min pirsgirêk hat rakirin...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:13, 30 pûşper 2018 (UTC)
:Niha pirsgirek heye. Li coda javascript de dinivîse "zanistname" an "destkarîy". lêbelê li vir "zansitname" an "destikarîy" hatiye nivîsandin!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 22:04, 30 pûşper 2018 (UTC)
::{{ragihandin|Calak}} Çêbû. Niha koda lua wekî koda javascript'ê derdikevî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 23:22, 30 pûşper 2018 (UTC)
:::Pirr spas. Ji kerema xwe re [[:en:Module:ckb-translit]] edit bike; bizane çi guherandinek pêwîste. function "export.tr" 3 parameter dixwaze "text, lang, sc". Bo zanyarî zêdetir binêre [[:en:Module:tg-translit]], [[:en:Module:bg-translit]] bizane çawan kar dike. dest xweş.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 10:39, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Li [https://en.wiktionary.org/wiki/Module:languages/data3/c vira] (ckb) tê çêkirin. Koda <code>translit_module = "ckb-translit",</code> tevlî agahiyên <code>m["ckb"]</code> bike.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 13:13, 1 tîrmeh 2018 (UTC)
{{outdent|:::}}{{ragihandin|Calak}} Tu dikarî [[:en:Category:Terms with manual transliterations different from the automated ones/ckb|vana]] kontrol bikî? Di nav gotarê de transliterasyonên ku hatine nivîsandin û transliterasyonên lua yek ninin--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 1 tîrmeh 2018 (UTC)
:Erê [https://en.wiktionary.org/wiki/Special:Contributions/Calak binêre]. Pirranî ł, ř, ē, ū li cihê ll, rr, ê, û hatiye nivîsandin. Tu dikarî bi bot [[:en:Category:Terms with redundant transliterations/ckb]] jê bibî?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:28, 1 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, feqet bi botê destûr pêwîst e. Na?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:36, 1 tîrmeh 2018 (UTC)
:::Dikarî her Ghybu bi kar bihînî, kes nazane. Tenê pêwîste bi texîr (delay) edit bikî!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:41, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Min ceriband: bot ser hemû wîkiyan dişuxilî feqet ser en-wîkî nedişuxilî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 22:21, 1 tîrmeh 2018 (UTC)
* {{ku-translit|دەستکاریی}} li cihê destkarîy. Çima?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:54, 2 tîrmeh 2018 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990641&oldid=2990279] heke و nehat ی + ی = îy --[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:58, 2 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, pirsgirêk ew guherandina ye...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:01, 2 tîrmeh 2018 (UTC)
:::{{ragihandin|Calak}} Ew jî çêbû: [https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990667&oldid=2990656]--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:32, 2 tîrmeh 2018 (UTC)
== Pirsgêrek ==
[https://ku.wiktionary.org/w/index.php?title=%D8%AC%D9%86%D8%B3&diff=3735258&oldid=3735231&diffmode=source] (''cinis'')--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:17, 31 tebax 2019 (UTC)
== Test ==
{{silav|Şêr}}. Ji bo testan, tiştekî vitira baştir e: [[:en:Module:ckb-translit/testcases]]. Bi vî awayî em hertim dizanin ku şablon rind dişxule an na... [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:37, 23 tebax 2026 (UTC)
:Silav Ghybu, spas, ev [[:Modul:ku-Arab-translit/testcases]] wisa baş e? An jî bila bibe ckb? -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:40, 23 tebax 2026 (UTC)
::Na ji bo zimanê kurmancî jî tê bikaranîn ji ber vê yekê em "ku-Arab" kir. Herwiha li gor vê modelê kodê binivîse [[Modul:ckb-translit/testcases]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:50, 23 tebax 2026 (UTC)
:::{{r|şêr}} [//ku.wiktionary.org/w/index.php?title=%DA%AF%D8%B1%D9%86%DA%AF&curid=269299&diff=6341546&oldid=5994849] Ji bo gotinên vitira hîn pirr zû ye, belkî problemên din derdikevin :) Te tenê peyvên ku di nav lîsteya TestCasê de sererast kiriye. Tu çito dizanî ku yên din de problemên din derneketine? Vana jî werin kontrol kirin: [[:Kategorî:Translîterasyona zarûrî û manûel bi soranî]] / [[:Kategorî:Transliterasyona zarûrî û manûel bi soranî]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:39, 23 tebax 2026 (UTC)
::::Xebera te ye, gelekî zû ye :(, min ew lîste dît, û dixwest bi awayekî rêz bikim, lê hê nizanim çawa. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:47, 23 tebax 2026 (UTC)
:::::Bi AutoWikiBrowser-ê, sernavê gotar û translîterasyonan (kategoriyên jor) bigir {{param2|tr}}. Paşê jî ew lîsteyê tevlî ''TestCasê'' bike û sererast bike... Paşê jî hemû peyvên soranî bigir û test bike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:54, 23 tebax 2026 (UTC)
::::::Min ji bîr kir ku AWB hê jî heye. :P Ez ê lê binêrim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:57, 23 tebax 2026 (UTC)
:::::::Min bêyî AWB çêkir: [[:Bikarhêner:Şêr/lîste2]]. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:38, 23 tebax 2026 (UTC)
::::::::Ez dibêm dikarî otomatîk lîste çêkî bi riya [[Modul:parser]] an [[Modul:template parser]] feqat çawa nizanim :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]]) 19:45, 23 tebax 2026 (UTC)
:::::::::Min bi Pythoncan û Luayê çêkir. :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:47, 23 tebax 2026 (UTC)
::::::::::Li gorî [[:Bikarhêner:Şêr/lîste2|lîsteyê]] gelek sererastkirin hewce ne, di kodê de. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:50, 23 tebax 2026 (UTC)
:::::::::::Bo agahdarî: nivîsên bi "ll"/"ł" (wekî {{q|ckb|ئاژهڵ|tr=-}} ajell/ajeł) û "rr/ř" ne cuda ne.. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:53, 23 tebax 2026 (UTC)
::::::::::::Min fam kir :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:57, 23 tebax 2026 (UTC)
:::::::::::::Rewşa dawî [[:Bikarhêner:Şêr/lîste2|ev]] e. Ez ê rojeke din, dema wextê min çêbû, dewam bikim. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:19, 23 tebax 2026 (UTC)
{{outdent|:::::::::::::}} {{r|Şêr}} Tu nikarî translîterasyonan bi vî awayî (li gor dengdêr/dengdaran û kîtekirinê) sererast bikî. Binêre {{q|ckb|ئاسن|tr=asin}} û {{q|ckb|ئاسنان|tr=asnan}}, her du jî bi hêsanî tên bilêvkirin, "a-sin" û "as-nan". Çima em dibêjin yê rast "a-si-nan" e? Ji ber ku em peyva "asin" nas dikin û li gor rêzimanî "asin" + "an" = "asinan" ne <s>"asnan"</s> e. Bi gotineke din zanîna peyva ne tewandî hewce ye {{=D}}.
1) Di tabloyên tewadinan de pêşta peyva sade (ne tewandî) translît bike başê jî translîta paşgiran tevlî bike : {{q|ckb|ئاسن|tr=asin}} + {{q|ku|ان}} = asin + an = asinan. Ne yekcarê de... 2) Li vira jî belkî paşgir û pêşgir werin jêkirin û translîtên wan her sêyan werin kirin û paşê jî dîsa werin cem hev :)
<poem>
peyv
↓
paşgir/pêşgir hene? (ان, ێک, ەکە, ەکان, ...)
↓
pêşgir + pSade <small>(peyv bi pêşgir/paşgirê)</small> + paşgir
↓
translit(paşgir) + translit(pSade) + translît(paşgir)
↓
translît
</poem>
--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:35, 24 tebax 2026 (UTC)
:Silav @Ghybu,
:Gelek spas ji bo vê ravekirinê, tam di cih de ye. Îro ez li ser modulê xebitîm û gihîştim heman encama te: Tenê bi rêzikên tîpan (regex) mirov nikare peyvên
:hevedudanî û paşgiran bi awayekî durust çareser bike.
:Min îro di modulê de rêzikek ji bo 4 tîpên bêdeng çêkir (POSITION 1) û bi vê yekê me peyvên mîna kirdin, birdinewe, girtine rast kirin. Lê dîsa jî ji ber ku kod fêm nake peyv ji kîjan beşan pêk tê, ez mecbûr mam ji bo peyvên wek hengwîn, birrbirre an agirpijên lîsteyeke taybet a îstîsnayan (word_exceptions) çêbikin.
:Ji ber vê yekê, ez bi tevahî bi pêşniyara te re hemfikir im: Divê em pêşî peyvê parçe bikin (rayek + paşgir), paşê her beşekê cuda wergerînin latînî.
:Mînak di peyva birdinewe de:
:1. Pêşî paşgira -ewe jê dibe \to tenê birdin dimîne.
:2. Kod bi rehetî birdin dike latînî.
:3. Paşê ewe lê zêde dibe \to dibe birdinewe.
:Bi vî awayî pêdiviya me bi van hemû rêzikên giran û îstîsnayan namîne û piraniya pirsgirêkên "Cuda ye" çareser dibin.
:Çend pirsên min ji bo gava bê:
: - Gelo lîsteyeke te ya paşgirên sereke (wek -an, -ewe, -tir, -în, -din, -tin) heye an te dest pê kiriye?
: - Heke koda te ya pêşnûme ji bo vê parçekirinê hebe, ez dikarim li ser Module:ku-Arab-translit/sandbox zêde bikim da ku em bi mînakên îro biceribînin?
:Silav û rêz,
:--[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 10:25, 24 tebax 2026 (UTC)
::Bo Wîkîferhengê tiştekî vitira tenê ji bo sererastkirinên peyvan tê çêkirin ji ber ku em cureyê peyvê dizaninê. We li jor qala modula "parser" kiriye; bi vê modulê tê zanîn ku ew peyv lêker, navêr û tiştekî din e.
::Feqet ji bo hevokan problemek din heye: zanîna kategoriya rêzimanî hewce ye (lêker (kîjan dem?), navdêr, renddêr, ...). Li gor cureyê peyvê paşgir û pêşgir tên zanîn... Bnr. ''[[:en:Part-of-speech tagging]]''. Ji bo soranî hatiye çêkirin, bnr. ''[https://universaldependencies.org/ckb/index.html UD for Central Kurdish]'' û ''[https://github.com/sinaahmadi/KurdishPOSTagger KurdishPOSTagger]'' (github). [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 00:47, 25 tebax 2026 (UTC)
8bpt4xhnpf4vr3i4auvygwdmypccce0
6342324
6342323
2026-08-25T00:49:28Z
Ghybu
1393
/* Test */
6342324
wikitext
text/x-wiki
== kod ==
:<small>Ji [[Gotûbêja bikarhêner:Ghybu]]</small>
Silav. Ghybu tu dikarî [[Bikarhêner:Calak/ckb-translit.js|ev kod]] biguherîn bo lua? Ji bo wikiferhenga înglzî dixwazim her wek [[:en:Module:Armn-translit]]. Pirr spas.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 19:12, 27 pûşper 2018 (UTC)
:{{ragihandin|Calak}} Erê, ez çêdikim.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 02:36, 28 pûşper 2018 (UTC)
::Baştire li ser [[Modul:ku-translit]] kar bikin.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 15:18, 29 pûşper 2018 (UTC)
:::regex: | , //b , //s li lua de kar neke.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:19, 29 pûşper 2018 (UTC)
::::{{Silav|Calak}}, dizanim ("|" di nav parantezan kar nake...). Te koda javascript'ê ceriband: [https://sourceforge.net/projects/kurdinus/?source=typ_redirect]? Bo mînak: "برا" bo "Bra" dinivîse...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 20:23, 29 pûşper 2018 (UTC)
:::::Min ceriband. dyar -> diyar, bra -> bira, aşkra -> aşkira li javascript jî kar neke. Ev ne gringe, niha divê ku grifên | , //b , //s çareser bikin... .--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:39, 29 pûşper 2018 (UTC)
::::::{{ragihandin|Calak}}"//b , //s" ne pirsgirêk e, [https://ku.wiktionary.org/wiki/Modul:ku-xwendin vitira] jî tê çêkirin (bo tabloyan) / "|" --> [https://ku.wiktionary.org/w/index.php?title=Modul:ku-Arab&diff=2989948&oldid=2989908]/ //s --> %s. Min tiştik fehm nekir: weteya vê regexê çi ye: [^ء-يٱ-ەwy] (ez tîpên erebî pirr nizanim)? [ٱ-ە]?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 29 pûşper 2018 (UTC)
::::::: ء-ي + ٱ-ە + w + y
::::::: yanî hemî tîpên erebî-kurdî + w + y.
:::::::--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:34, 29 pûşper 2018 (UTC)
:::::::: ء-ي + ٱ-ە = hemî tîpên erebî-kurdî
:::::::::no alternation (the | operator)--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 08:03, 30 pûşper 2018 (UTC)).
::::::::::{{ragihandin|Calak}} Alternatîf nivîsandina du carî ye, mînak (the operator -->test test):
text = mw.ustring.gsub('the operator', '(the|operator)', 'test') '''alternatîf'''
text= mw.ustring.gsub('the operator', 'the', 'test')
text= mw.ustring.gsub(text, 'operator', 'test')
return text
::::::::::--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 11:57, 30 pûşper 2018 (UTC)
{{outdent|::::::::::}}{{ragihandin|Calak}} Min koda berî li gorî peyvan çêkir, vitira bikarananîn regex'an hêsan e. Niha "/b" û "/s" ne pêwîst in. Bi min pirsgirêk hat rakirin...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:13, 30 pûşper 2018 (UTC)
:Niha pirsgirek heye. Li coda javascript de dinivîse "zanistname" an "destkarîy". lêbelê li vir "zansitname" an "destikarîy" hatiye nivîsandin!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 22:04, 30 pûşper 2018 (UTC)
::{{ragihandin|Calak}} Çêbû. Niha koda lua wekî koda javascript'ê derdikevî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 23:22, 30 pûşper 2018 (UTC)
:::Pirr spas. Ji kerema xwe re [[:en:Module:ckb-translit]] edit bike; bizane çi guherandinek pêwîste. function "export.tr" 3 parameter dixwaze "text, lang, sc". Bo zanyarî zêdetir binêre [[:en:Module:tg-translit]], [[:en:Module:bg-translit]] bizane çawan kar dike. dest xweş.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 10:39, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Li [https://en.wiktionary.org/wiki/Module:languages/data3/c vira] (ckb) tê çêkirin. Koda <code>translit_module = "ckb-translit",</code> tevlî agahiyên <code>m["ckb"]</code> bike.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 13:13, 1 tîrmeh 2018 (UTC)
{{outdent|:::}}{{ragihandin|Calak}} Tu dikarî [[:en:Category:Terms with manual transliterations different from the automated ones/ckb|vana]] kontrol bikî? Di nav gotarê de transliterasyonên ku hatine nivîsandin û transliterasyonên lua yek ninin--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 1 tîrmeh 2018 (UTC)
:Erê [https://en.wiktionary.org/wiki/Special:Contributions/Calak binêre]. Pirranî ł, ř, ē, ū li cihê ll, rr, ê, û hatiye nivîsandin. Tu dikarî bi bot [[:en:Category:Terms with redundant transliterations/ckb]] jê bibî?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:28, 1 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, feqet bi botê destûr pêwîst e. Na?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:36, 1 tîrmeh 2018 (UTC)
:::Dikarî her Ghybu bi kar bihînî, kes nazane. Tenê pêwîste bi texîr (delay) edit bikî!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:41, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Min ceriband: bot ser hemû wîkiyan dişuxilî feqet ser en-wîkî nedişuxilî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 22:21, 1 tîrmeh 2018 (UTC)
* {{ku-translit|دەستکاریی}} li cihê destkarîy. Çima?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:54, 2 tîrmeh 2018 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990641&oldid=2990279] heke و nehat ی + ی = îy --[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:58, 2 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, pirsgirêk ew guherandina ye...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:01, 2 tîrmeh 2018 (UTC)
:::{{ragihandin|Calak}} Ew jî çêbû: [https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990667&oldid=2990656]--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:32, 2 tîrmeh 2018 (UTC)
== Pirsgêrek ==
[https://ku.wiktionary.org/w/index.php?title=%D8%AC%D9%86%D8%B3&diff=3735258&oldid=3735231&diffmode=source] (''cinis'')--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:17, 31 tebax 2019 (UTC)
== Test ==
{{silav|Şêr}}. Ji bo testan, tiştekî vitira baştir e: [[:en:Module:ckb-translit/testcases]]. Bi vî awayî em hertim dizanin ku şablon rind dişxule an na... [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:37, 23 tebax 2026 (UTC)
:Silav Ghybu, spas, ev [[:Modul:ku-Arab-translit/testcases]] wisa baş e? An jî bila bibe ckb? -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:40, 23 tebax 2026 (UTC)
::Na ji bo zimanê kurmancî jî tê bikaranîn ji ber vê yekê em "ku-Arab" kir. Herwiha li gor vê modelê kodê binivîse [[Modul:ckb-translit/testcases]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:50, 23 tebax 2026 (UTC)
:::{{r|şêr}} [//ku.wiktionary.org/w/index.php?title=%DA%AF%D8%B1%D9%86%DA%AF&curid=269299&diff=6341546&oldid=5994849] Ji bo gotinên vitira hîn pirr zû ye, belkî problemên din derdikevin :) Te tenê peyvên ku di nav lîsteya TestCasê de sererast kiriye. Tu çito dizanî ku yên din de problemên din derneketine? Vana jî werin kontrol kirin: [[:Kategorî:Translîterasyona zarûrî û manûel bi soranî]] / [[:Kategorî:Transliterasyona zarûrî û manûel bi soranî]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:39, 23 tebax 2026 (UTC)
::::Xebera te ye, gelekî zû ye :(, min ew lîste dît, û dixwest bi awayekî rêz bikim, lê hê nizanim çawa. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:47, 23 tebax 2026 (UTC)
:::::Bi AutoWikiBrowser-ê, sernavê gotar û translîterasyonan (kategoriyên jor) bigir {{param2|tr}}. Paşê jî ew lîsteyê tevlî ''TestCasê'' bike û sererast bike... Paşê jî hemû peyvên soranî bigir û test bike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:54, 23 tebax 2026 (UTC)
::::::Min ji bîr kir ku AWB hê jî heye. :P Ez ê lê binêrim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:57, 23 tebax 2026 (UTC)
:::::::Min bêyî AWB çêkir: [[:Bikarhêner:Şêr/lîste2]]. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:38, 23 tebax 2026 (UTC)
::::::::Ez dibêm dikarî otomatîk lîste çêkî bi riya [[Modul:parser]] an [[Modul:template parser]] feqat çawa nizanim :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]]) 19:45, 23 tebax 2026 (UTC)
:::::::::Min bi Pythoncan û Luayê çêkir. :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:47, 23 tebax 2026 (UTC)
::::::::::Li gorî [[:Bikarhêner:Şêr/lîste2|lîsteyê]] gelek sererastkirin hewce ne, di kodê de. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:50, 23 tebax 2026 (UTC)
:::::::::::Bo agahdarî: nivîsên bi "ll"/"ł" (wekî {{q|ckb|ئاژهڵ|tr=-}} ajell/ajeł) û "rr/ř" ne cuda ne.. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:53, 23 tebax 2026 (UTC)
::::::::::::Min fam kir :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:57, 23 tebax 2026 (UTC)
:::::::::::::Rewşa dawî [[:Bikarhêner:Şêr/lîste2|ev]] e. Ez ê rojeke din, dema wextê min çêbû, dewam bikim. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:19, 23 tebax 2026 (UTC)
{{outdent|:::::::::::::}} {{r|Şêr}} Tu nikarî translîterasyonan bi vî awayî (li gor dengdêr/dengdaran û kîtekirinê) sererast bikî. Binêre {{q|ckb|ئاسن|tr=asin}} û {{q|ckb|ئاسنان|tr=asnan}}, her du jî bi hêsanî tên bilêvkirin, "a-sin" û "as-nan". Çima em dibêjin yê rast "a-si-nan" e? Ji ber ku em peyva "asin" nas dikin û li gor rêzimanî "asin" + "an" = "asinan" ne <s>"asnan"</s> e. Bi gotineke din zanîna peyva ne tewandî hewce ye {{=D}}.
1) Di tabloyên tewadinan de pêşta peyva sade (ne tewandî) translît bike başê jî translîta paşgiran tevlî bike : {{q|ckb|ئاسن|tr=asin}} + {{q|ku|ان}} = asin + an = asinan. Ne yekcarê de... 2) Li vira jî belkî paşgir û pêşgir werin jêkirin û translîtên wan her sêyan werin kirin û paşê jî dîsa werin cem hev :)
<poem>
peyv
↓
paşgir/pêşgir hene? (ان, ێک, ەکە, ەکان, ...)
↓
pêşgir + pSade <small>(peyv bi pêşgir/paşgirê)</small> + paşgir
↓
translit(paşgir) + translit(pSade) + translît(paşgir)
↓
translît
</poem>
--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:35, 24 tebax 2026 (UTC)
:Silav @Ghybu,
:Gelek spas ji bo vê ravekirinê, tam di cih de ye. Îro ez li ser modulê xebitîm û gihîştim heman encama te: Tenê bi rêzikên tîpan (regex) mirov nikare peyvên
:hevedudanî û paşgiran bi awayekî durust çareser bike.
:Min îro di modulê de rêzikek ji bo 4 tîpên bêdeng çêkir (POSITION 1) û bi vê yekê me peyvên mîna kirdin, birdinewe, girtine rast kirin. Lê dîsa jî ji ber ku kod fêm nake peyv ji kîjan beşan pêk tê, ez mecbûr mam ji bo peyvên wek hengwîn, birrbirre an agirpijên lîsteyeke taybet a îstîsnayan (word_exceptions) çêbikin.
:Ji ber vê yekê, ez bi tevahî bi pêşniyara te re hemfikir im: Divê em pêşî peyvê parçe bikin (rayek + paşgir), paşê her beşekê cuda wergerînin latînî.
:Mînak di peyva birdinewe de:
:1. Pêşî paşgira -ewe jê dibe \to tenê birdin dimîne.
:2. Kod bi rehetî birdin dike latînî.
:3. Paşê ewe lê zêde dibe \to dibe birdinewe.
:Bi vî awayî pêdiviya me bi van hemû rêzikên giran û îstîsnayan namîne û piraniya pirsgirêkên "Cuda ye" çareser dibin.
:Çend pirsên min ji bo gava bê:
: - Gelo lîsteyeke te ya paşgirên sereke (wek -an, -ewe, -tir, -în, -din, -tin) heye an te dest pê kiriye?
: - Heke koda te ya pêşnûme ji bo vê parçekirinê hebe, ez dikarim li ser Module:ku-Arab-translit/sandbox zêde bikim da ku em bi mînakên îro biceribînin?
:Silav û rêz,
:--[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 10:25, 24 tebax 2026 (UTC)
::Bo Wîkîferhengê tiştekî vitira tenê ji bo sererastkirinên peyvan tê çêkirin ji ber ku em cureyê peyvê dizaninê. We li jor qala modula "parser" kiriye; bi vê modulê tê zanîn ku ew peyv lêker, navêr û tiştekî din e.
::Feqet ji bo hevokan problemek din heye: zanîna kategoriya rêzimanî hewce ye (lêker (kîjan dem?), navdêr, renddêr, ...). Li gor cureyê peyvê paşgir û pêşgir tên zanîn... Bnr. ''[[:en:w:Part-of-speech tagging]]''. Ji bo soranî hatiye çêkirin, bnr. ''[https://universaldependencies.org/ckb/index.html UD for Central Kurdish]'' û ''[https://github.com/sinaahmadi/KurdishPOSTagger KurdishPOSTagger]'' (github). [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 00:47, 25 tebax 2026 (UTC)
iuevkixp5s2da45gbgmqkb4s2j2iitp
6342325
6342324
2026-08-25T00:50:47Z
Ghybu
1393
/* Test */
6342325
wikitext
text/x-wiki
== kod ==
:<small>Ji [[Gotûbêja bikarhêner:Ghybu]]</small>
Silav. Ghybu tu dikarî [[Bikarhêner:Calak/ckb-translit.js|ev kod]] biguherîn bo lua? Ji bo wikiferhenga înglzî dixwazim her wek [[:en:Module:Armn-translit]]. Pirr spas.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 19:12, 27 pûşper 2018 (UTC)
:{{ragihandin|Calak}} Erê, ez çêdikim.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 02:36, 28 pûşper 2018 (UTC)
::Baştire li ser [[Modul:ku-translit]] kar bikin.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 15:18, 29 pûşper 2018 (UTC)
:::regex: | , //b , //s li lua de kar neke.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:19, 29 pûşper 2018 (UTC)
::::{{Silav|Calak}}, dizanim ("|" di nav parantezan kar nake...). Te koda javascript'ê ceriband: [https://sourceforge.net/projects/kurdinus/?source=typ_redirect]? Bo mînak: "برا" bo "Bra" dinivîse...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 20:23, 29 pûşper 2018 (UTC)
:::::Min ceriband. dyar -> diyar, bra -> bira, aşkra -> aşkira li javascript jî kar neke. Ev ne gringe, niha divê ku grifên | , //b , //s çareser bikin... .--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:39, 29 pûşper 2018 (UTC)
::::::{{ragihandin|Calak}}"//b , //s" ne pirsgirêk e, [https://ku.wiktionary.org/wiki/Modul:ku-xwendin vitira] jî tê çêkirin (bo tabloyan) / "|" --> [https://ku.wiktionary.org/w/index.php?title=Modul:ku-Arab&diff=2989948&oldid=2989908]/ //s --> %s. Min tiştik fehm nekir: weteya vê regexê çi ye: [^ء-يٱ-ەwy] (ez tîpên erebî pirr nizanim)? [ٱ-ە]?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 29 pûşper 2018 (UTC)
::::::: ء-ي + ٱ-ە + w + y
::::::: yanî hemî tîpên erebî-kurdî + w + y.
:::::::--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:34, 29 pûşper 2018 (UTC)
:::::::: ء-ي + ٱ-ە = hemî tîpên erebî-kurdî
:::::::::no alternation (the | operator)--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 08:03, 30 pûşper 2018 (UTC)).
::::::::::{{ragihandin|Calak}} Alternatîf nivîsandina du carî ye, mînak (the operator -->test test):
text = mw.ustring.gsub('the operator', '(the|operator)', 'test') '''alternatîf'''
text= mw.ustring.gsub('the operator', 'the', 'test')
text= mw.ustring.gsub(text, 'operator', 'test')
return text
::::::::::--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 11:57, 30 pûşper 2018 (UTC)
{{outdent|::::::::::}}{{ragihandin|Calak}} Min koda berî li gorî peyvan çêkir, vitira bikarananîn regex'an hêsan e. Niha "/b" û "/s" ne pêwîst in. Bi min pirsgirêk hat rakirin...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:13, 30 pûşper 2018 (UTC)
:Niha pirsgirek heye. Li coda javascript de dinivîse "zanistname" an "destkarîy". lêbelê li vir "zansitname" an "destikarîy" hatiye nivîsandin!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 22:04, 30 pûşper 2018 (UTC)
::{{ragihandin|Calak}} Çêbû. Niha koda lua wekî koda javascript'ê derdikevî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 23:22, 30 pûşper 2018 (UTC)
:::Pirr spas. Ji kerema xwe re [[:en:Module:ckb-translit]] edit bike; bizane çi guherandinek pêwîste. function "export.tr" 3 parameter dixwaze "text, lang, sc". Bo zanyarî zêdetir binêre [[:en:Module:tg-translit]], [[:en:Module:bg-translit]] bizane çawan kar dike. dest xweş.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 10:39, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Li [https://en.wiktionary.org/wiki/Module:languages/data3/c vira] (ckb) tê çêkirin. Koda <code>translit_module = "ckb-translit",</code> tevlî agahiyên <code>m["ckb"]</code> bike.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 13:13, 1 tîrmeh 2018 (UTC)
{{outdent|:::}}{{ragihandin|Calak}} Tu dikarî [[:en:Category:Terms with manual transliterations different from the automated ones/ckb|vana]] kontrol bikî? Di nav gotarê de transliterasyonên ku hatine nivîsandin û transliterasyonên lua yek ninin--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 1 tîrmeh 2018 (UTC)
:Erê [https://en.wiktionary.org/wiki/Special:Contributions/Calak binêre]. Pirranî ł, ř, ē, ū li cihê ll, rr, ê, û hatiye nivîsandin. Tu dikarî bi bot [[:en:Category:Terms with redundant transliterations/ckb]] jê bibî?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:28, 1 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, feqet bi botê destûr pêwîst e. Na?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:36, 1 tîrmeh 2018 (UTC)
:::Dikarî her Ghybu bi kar bihînî, kes nazane. Tenê pêwîste bi texîr (delay) edit bikî!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:41, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Min ceriband: bot ser hemû wîkiyan dişuxilî feqet ser en-wîkî nedişuxilî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 22:21, 1 tîrmeh 2018 (UTC)
* {{ku-translit|دەستکاریی}} li cihê destkarîy. Çima?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:54, 2 tîrmeh 2018 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990641&oldid=2990279] heke و nehat ی + ی = îy --[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:58, 2 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, pirsgirêk ew guherandina ye...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:01, 2 tîrmeh 2018 (UTC)
:::{{ragihandin|Calak}} Ew jî çêbû: [https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990667&oldid=2990656]--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:32, 2 tîrmeh 2018 (UTC)
== Pirsgêrek ==
[https://ku.wiktionary.org/w/index.php?title=%D8%AC%D9%86%D8%B3&diff=3735258&oldid=3735231&diffmode=source] (''cinis'')--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:17, 31 tebax 2019 (UTC)
== Test ==
{{silav|Şêr}}. Ji bo testan, tiştekî vitira baştir e: [[:en:Module:ckb-translit/testcases]]. Bi vî awayî em hertim dizanin ku şablon rind dişxule an na... [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:37, 23 tebax 2026 (UTC)
:Silav Ghybu, spas, ev [[:Modul:ku-Arab-translit/testcases]] wisa baş e? An jî bila bibe ckb? -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:40, 23 tebax 2026 (UTC)
::Na ji bo zimanê kurmancî jî tê bikaranîn ji ber vê yekê em "ku-Arab" kir. Herwiha li gor vê modelê kodê binivîse [[Modul:ckb-translit/testcases]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:50, 23 tebax 2026 (UTC)
:::{{r|şêr}} [//ku.wiktionary.org/w/index.php?title=%DA%AF%D8%B1%D9%86%DA%AF&curid=269299&diff=6341546&oldid=5994849] Ji bo gotinên vitira hîn pirr zû ye, belkî problemên din derdikevin :) Te tenê peyvên ku di nav lîsteya TestCasê de sererast kiriye. Tu çito dizanî ku yên din de problemên din derneketine? Vana jî werin kontrol kirin: [[:Kategorî:Translîterasyona zarûrî û manûel bi soranî]] / [[:Kategorî:Transliterasyona zarûrî û manûel bi soranî]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:39, 23 tebax 2026 (UTC)
::::Xebera te ye, gelekî zû ye :(, min ew lîste dît, û dixwest bi awayekî rêz bikim, lê hê nizanim çawa. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:47, 23 tebax 2026 (UTC)
:::::Bi AutoWikiBrowser-ê, sernavê gotar û translîterasyonan (kategoriyên jor) bigir {{param2|tr}}. Paşê jî ew lîsteyê tevlî ''TestCasê'' bike û sererast bike... Paşê jî hemû peyvên soranî bigir û test bike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:54, 23 tebax 2026 (UTC)
::::::Min ji bîr kir ku AWB hê jî heye. :P Ez ê lê binêrim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:57, 23 tebax 2026 (UTC)
:::::::Min bêyî AWB çêkir: [[:Bikarhêner:Şêr/lîste2]]. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:38, 23 tebax 2026 (UTC)
::::::::Ez dibêm dikarî otomatîk lîste çêkî bi riya [[Modul:parser]] an [[Modul:template parser]] feqat çawa nizanim :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]]) 19:45, 23 tebax 2026 (UTC)
:::::::::Min bi Pythoncan û Luayê çêkir. :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:47, 23 tebax 2026 (UTC)
::::::::::Li gorî [[:Bikarhêner:Şêr/lîste2|lîsteyê]] gelek sererastkirin hewce ne, di kodê de. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:50, 23 tebax 2026 (UTC)
:::::::::::Bo agahdarî: nivîsên bi "ll"/"ł" (wekî {{q|ckb|ئاژهڵ|tr=-}} ajell/ajeł) û "rr/ř" ne cuda ne.. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:53, 23 tebax 2026 (UTC)
::::::::::::Min fam kir :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:57, 23 tebax 2026 (UTC)
:::::::::::::Rewşa dawî [[:Bikarhêner:Şêr/lîste2|ev]] e. Ez ê rojeke din, dema wextê min çêbû, dewam bikim. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:19, 23 tebax 2026 (UTC)
{{outdent|:::::::::::::}} {{r|Şêr}} Tu nikarî translîterasyonan bi vî awayî (li gor dengdêr/dengdaran û kîtekirinê) sererast bikî. Binêre {{q|ckb|ئاسن|tr=asin}} û {{q|ckb|ئاسنان|tr=asnan}}, her du jî bi hêsanî tên bilêvkirin, "a-sin" û "as-nan". Çima em dibêjin yê rast "a-si-nan" e? Ji ber ku em peyva "asin" nas dikin û li gor rêzimanî "asin" + "an" = "asinan" ne <s>"asnan"</s> e. Bi gotineke din zanîna peyva ne tewandî hewce ye {{=D}}.
1) Di tabloyên tewadinan de pêşta peyva sade (ne tewandî) translît bike başê jî translîta paşgiran tevlî bike : {{q|ckb|ئاسن|tr=asin}} + {{q|ku|ان}} = asin + an = asinan. Ne yekcarê de... 2) Li vira jî belkî paşgir û pêşgir werin jêkirin û translîtên wan her sêyan werin kirin û paşê jî dîsa werin cem hev :)
<poem>
peyv
↓
paşgir/pêşgir hene? (ان, ێک, ەکە, ەکان, ...)
↓
pêşgir + pSade <small>(peyv bi pêşgir/paşgirê)</small> + paşgir
↓
translit(paşgir) + translit(pSade) + translît(paşgir)
↓
translît
</poem>
--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:35, 24 tebax 2026 (UTC)
:Silav @Ghybu,
:Gelek spas ji bo vê ravekirinê, tam di cih de ye. Îro ez li ser modulê xebitîm û gihîştim heman encama te: Tenê bi rêzikên tîpan (regex) mirov nikare peyvên
:hevedudanî û paşgiran bi awayekî durust çareser bike.
:Min îro di modulê de rêzikek ji bo 4 tîpên bêdeng çêkir (POSITION 1) û bi vê yekê me peyvên mîna kirdin, birdinewe, girtine rast kirin. Lê dîsa jî ji ber ku kod fêm nake peyv ji kîjan beşan pêk tê, ez mecbûr mam ji bo peyvên wek hengwîn, birrbirre an agirpijên lîsteyeke taybet a îstîsnayan (word_exceptions) çêbikin.
:Ji ber vê yekê, ez bi tevahî bi pêşniyara te re hemfikir im: Divê em pêşî peyvê parçe bikin (rayek + paşgir), paşê her beşekê cuda wergerînin latînî.
:Mînak di peyva birdinewe de:
:1. Pêşî paşgira -ewe jê dibe \to tenê birdin dimîne.
:2. Kod bi rehetî birdin dike latînî.
:3. Paşê ewe lê zêde dibe \to dibe birdinewe.
:Bi vî awayî pêdiviya me bi van hemû rêzikên giran û îstîsnayan namîne û piraniya pirsgirêkên "Cuda ye" çareser dibin.
:Çend pirsên min ji bo gava bê:
: - Gelo lîsteyeke te ya paşgirên sereke (wek -an, -ewe, -tir, -în, -din, -tin) heye an te dest pê kiriye?
: - Heke koda te ya pêşnûme ji bo vê parçekirinê hebe, ez dikarim li ser Module:ku-Arab-translit/sandbox zêde bikim da ku em bi mînakên îro biceribînin?
:Silav û rêz,
:--[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 10:25, 24 tebax 2026 (UTC)
::Bo Wîkîferhengê tiştekî vitira tenê ji bo sererastkirinên peyvan tê çêkirin ji ber ku em cureyê peyvê dizaninê. We li jor qala modula "parser" kiriye; bi vê modulê tê zanîn ku ew peyv lêker, navêr û tiştekî din e.
::Feqet ji bo hevokan problemeke din heye: zanîna kategoriya rêzimanî hewce ye (lêker (kîjan dem?), navdêr, renddêr, ...). Li gor cureyê peyvê paşgir û pêşgir tên zanîn... Bnr. ''[[:en:w:Part-of-speech tagging]]''. Ji bo soranî hatiye çêkirin, bnr. ''[https://universaldependencies.org/ckb/index.html UD for Central Kurdish]'' û ''[https://github.com/sinaahmadi/KurdishPOSTagger KurdishPOSTagger]'' (github). [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 00:47, 25 tebax 2026 (UTC)
df9o49v01x7nlhkkjebldqnjz41gv5q
6342326
6342325
2026-08-25T00:55:00Z
Ghybu
1393
/* Test */
6342326
wikitext
text/x-wiki
== kod ==
:<small>Ji [[Gotûbêja bikarhêner:Ghybu]]</small>
Silav. Ghybu tu dikarî [[Bikarhêner:Calak/ckb-translit.js|ev kod]] biguherîn bo lua? Ji bo wikiferhenga înglzî dixwazim her wek [[:en:Module:Armn-translit]]. Pirr spas.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 19:12, 27 pûşper 2018 (UTC)
:{{ragihandin|Calak}} Erê, ez çêdikim.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 02:36, 28 pûşper 2018 (UTC)
::Baştire li ser [[Modul:ku-translit]] kar bikin.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 15:18, 29 pûşper 2018 (UTC)
:::regex: | , //b , //s li lua de kar neke.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:19, 29 pûşper 2018 (UTC)
::::{{Silav|Calak}}, dizanim ("|" di nav parantezan kar nake...). Te koda javascript'ê ceriband: [https://sourceforge.net/projects/kurdinus/?source=typ_redirect]? Bo mînak: "برا" bo "Bra" dinivîse...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 20:23, 29 pûşper 2018 (UTC)
:::::Min ceriband. dyar -> diyar, bra -> bira, aşkra -> aşkira li javascript jî kar neke. Ev ne gringe, niha divê ku grifên | , //b , //s çareser bikin... .--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:39, 29 pûşper 2018 (UTC)
::::::{{ragihandin|Calak}}"//b , //s" ne pirsgirêk e, [https://ku.wiktionary.org/wiki/Modul:ku-xwendin vitira] jî tê çêkirin (bo tabloyan) / "|" --> [https://ku.wiktionary.org/w/index.php?title=Modul:ku-Arab&diff=2989948&oldid=2989908]/ //s --> %s. Min tiştik fehm nekir: weteya vê regexê çi ye: [^ء-يٱ-ەwy] (ez tîpên erebî pirr nizanim)? [ٱ-ە]?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 29 pûşper 2018 (UTC)
::::::: ء-ي + ٱ-ە + w + y
::::::: yanî hemî tîpên erebî-kurdî + w + y.
:::::::--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:34, 29 pûşper 2018 (UTC)
:::::::: ء-ي + ٱ-ە = hemî tîpên erebî-kurdî
:::::::::no alternation (the | operator)--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 08:03, 30 pûşper 2018 (UTC)).
::::::::::{{ragihandin|Calak}} Alternatîf nivîsandina du carî ye, mînak (the operator -->test test):
text = mw.ustring.gsub('the operator', '(the|operator)', 'test') '''alternatîf'''
text= mw.ustring.gsub('the operator', 'the', 'test')
text= mw.ustring.gsub(text, 'operator', 'test')
return text
::::::::::--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 11:57, 30 pûşper 2018 (UTC)
{{outdent|::::::::::}}{{ragihandin|Calak}} Min koda berî li gorî peyvan çêkir, vitira bikarananîn regex'an hêsan e. Niha "/b" û "/s" ne pêwîst in. Bi min pirsgirêk hat rakirin...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:13, 30 pûşper 2018 (UTC)
:Niha pirsgirek heye. Li coda javascript de dinivîse "zanistname" an "destkarîy". lêbelê li vir "zansitname" an "destikarîy" hatiye nivîsandin!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 22:04, 30 pûşper 2018 (UTC)
::{{ragihandin|Calak}} Çêbû. Niha koda lua wekî koda javascript'ê derdikevî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 23:22, 30 pûşper 2018 (UTC)
:::Pirr spas. Ji kerema xwe re [[:en:Module:ckb-translit]] edit bike; bizane çi guherandinek pêwîste. function "export.tr" 3 parameter dixwaze "text, lang, sc". Bo zanyarî zêdetir binêre [[:en:Module:tg-translit]], [[:en:Module:bg-translit]] bizane çawan kar dike. dest xweş.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 10:39, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Li [https://en.wiktionary.org/wiki/Module:languages/data3/c vira] (ckb) tê çêkirin. Koda <code>translit_module = "ckb-translit",</code> tevlî agahiyên <code>m["ckb"]</code> bike.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 13:13, 1 tîrmeh 2018 (UTC)
{{outdent|:::}}{{ragihandin|Calak}} Tu dikarî [[:en:Category:Terms with manual transliterations different from the automated ones/ckb|vana]] kontrol bikî? Di nav gotarê de transliterasyonên ku hatine nivîsandin û transliterasyonên lua yek ninin--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 1 tîrmeh 2018 (UTC)
:Erê [https://en.wiktionary.org/wiki/Special:Contributions/Calak binêre]. Pirranî ł, ř, ē, ū li cihê ll, rr, ê, û hatiye nivîsandin. Tu dikarî bi bot [[:en:Category:Terms with redundant transliterations/ckb]] jê bibî?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:28, 1 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, feqet bi botê destûr pêwîst e. Na?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:36, 1 tîrmeh 2018 (UTC)
:::Dikarî her Ghybu bi kar bihînî, kes nazane. Tenê pêwîste bi texîr (delay) edit bikî!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:41, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Min ceriband: bot ser hemû wîkiyan dişuxilî feqet ser en-wîkî nedişuxilî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 22:21, 1 tîrmeh 2018 (UTC)
* {{ku-translit|دەستکاریی}} li cihê destkarîy. Çima?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:54, 2 tîrmeh 2018 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990641&oldid=2990279] heke و nehat ی + ی = îy --[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:58, 2 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, pirsgirêk ew guherandina ye...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:01, 2 tîrmeh 2018 (UTC)
:::{{ragihandin|Calak}} Ew jî çêbû: [https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990667&oldid=2990656]--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:32, 2 tîrmeh 2018 (UTC)
== Pirsgêrek ==
[https://ku.wiktionary.org/w/index.php?title=%D8%AC%D9%86%D8%B3&diff=3735258&oldid=3735231&diffmode=source] (''cinis'')--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:17, 31 tebax 2019 (UTC)
== Test ==
{{silav|Şêr}}. Ji bo testan, tiştekî vitira baştir e: [[:en:Module:ckb-translit/testcases]]. Bi vî awayî em hertim dizanin ku şablon rind dişxule an na... [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:37, 23 tebax 2026 (UTC)
:Silav Ghybu, spas, ev [[:Modul:ku-Arab-translit/testcases]] wisa baş e? An jî bila bibe ckb? -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:40, 23 tebax 2026 (UTC)
::Na ji bo zimanê kurmancî jî tê bikaranîn ji ber vê yekê em "ku-Arab" kir. Herwiha li gor vê modelê kodê binivîse [[Modul:ckb-translit/testcases]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:50, 23 tebax 2026 (UTC)
:::{{r|şêr}} [//ku.wiktionary.org/w/index.php?title=%DA%AF%D8%B1%D9%86%DA%AF&curid=269299&diff=6341546&oldid=5994849] Ji bo gotinên vitira hîn pirr zû ye, belkî problemên din derdikevin :) Te tenê peyvên ku di nav lîsteya TestCasê de sererast kiriye. Tu çito dizanî ku yên din de problemên din derneketine? Vana jî werin kontrol kirin: [[:Kategorî:Translîterasyona zarûrî û manûel bi soranî]] / [[:Kategorî:Transliterasyona zarûrî û manûel bi soranî]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:39, 23 tebax 2026 (UTC)
::::Xebera te ye, gelekî zû ye :(, min ew lîste dît, û dixwest bi awayekî rêz bikim, lê hê nizanim çawa. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:47, 23 tebax 2026 (UTC)
:::::Bi AutoWikiBrowser-ê, sernavê gotar û translîterasyonan (kategoriyên jor) bigir {{param2|tr}}. Paşê jî ew lîsteyê tevlî ''TestCasê'' bike û sererast bike... Paşê jî hemû peyvên soranî bigir û test bike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:54, 23 tebax 2026 (UTC)
::::::Min ji bîr kir ku AWB hê jî heye. :P Ez ê lê binêrim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:57, 23 tebax 2026 (UTC)
:::::::Min bêyî AWB çêkir: [[:Bikarhêner:Şêr/lîste2]]. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:38, 23 tebax 2026 (UTC)
::::::::Ez dibêm dikarî otomatîk lîste çêkî bi riya [[Modul:parser]] an [[Modul:template parser]] feqat çawa nizanim :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]]) 19:45, 23 tebax 2026 (UTC)
:::::::::Min bi Pythoncan û Luayê çêkir. :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:47, 23 tebax 2026 (UTC)
::::::::::Li gorî [[:Bikarhêner:Şêr/lîste2|lîsteyê]] gelek sererastkirin hewce ne, di kodê de. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:50, 23 tebax 2026 (UTC)
:::::::::::Bo agahdarî: nivîsên bi "ll"/"ł" (wekî {{q|ckb|ئاژهڵ|tr=-}} ajell/ajeł) û "rr/ř" ne cuda ne.. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:53, 23 tebax 2026 (UTC)
::::::::::::Min fam kir :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:57, 23 tebax 2026 (UTC)
:::::::::::::Rewşa dawî [[:Bikarhêner:Şêr/lîste2|ev]] e. Ez ê rojeke din, dema wextê min çêbû, dewam bikim. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:19, 23 tebax 2026 (UTC)
{{outdent|:::::::::::::}} {{r|Şêr}} Tu nikarî translîterasyonan bi vî awayî (li gor dengdêr/dengdaran û kîtekirinê) sererast bikî. Binêre {{q|ckb|ئاسن|tr=asin}} û {{q|ckb|ئاسنان|tr=asnan}}, her du jî bi hêsanî tên bilêvkirin, "a-sin" û "as-nan". Çima em dibêjin yê rast "a-si-nan" e? Ji ber ku em peyva "asin" nas dikin û li gor rêzimanî "asin" + "an" = "asinan" ne <s>"asnan"</s> e. Bi gotineke din zanîna peyva ne tewandî hewce ye {{=D}}.
1) Di tabloyên tewadinan de pêşta peyva sade (ne tewandî) translît bike başê jî translîta paşgiran tevlî bike : {{q|ckb|ئاسن|tr=asin}} + {{q|ku|ان}} = asin + an = asinan. Ne yekcarê de... 2) Li vira jî belkî paşgir û pêşgir werin jêkirin û translîtên wan her sêyan werin kirin û paşê jî dîsa werin cem hev :)
<poem>
peyv
↓
paşgir/pêşgir hene? (ان, ێک, ەکە, ەکان, ...)
↓
pêşgir + pSade <small>(peyv bi pêşgir/paşgirê)</small> + paşgir
↓
translit(paşgir) + translit(pSade) + translît(paşgir)
↓
translît
</poem>
--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:35, 24 tebax 2026 (UTC)
:Silav @Ghybu,
:Gelek spas ji bo vê ravekirinê, tam di cih de ye. Îro ez li ser modulê xebitîm û gihîştim heman encama te: Tenê bi rêzikên tîpan (regex) mirov nikare peyvên
:hevedudanî û paşgiran bi awayekî durust çareser bike.
:Min îro di modulê de rêzikek ji bo 4 tîpên bêdeng çêkir (POSITION 1) û bi vê yekê me peyvên mîna kirdin, birdinewe, girtine rast kirin. Lê dîsa jî ji ber ku kod fêm nake peyv ji kîjan beşan pêk tê, ez mecbûr mam ji bo peyvên wek hengwîn, birrbirre an agirpijên lîsteyeke taybet a îstîsnayan (word_exceptions) çêbikin.
:Ji ber vê yekê, ez bi tevahî bi pêşniyara te re hemfikir im: Divê em pêşî peyvê parçe bikin (rayek + paşgir), paşê her beşekê cuda wergerînin latînî.
:Mînak di peyva birdinewe de:
:1. Pêşî paşgira -ewe jê dibe \to tenê birdin dimîne.
:2. Kod bi rehetî birdin dike latînî.
:3. Paşê ewe lê zêde dibe \to dibe birdinewe.
:Bi vî awayî pêdiviya me bi van hemû rêzikên giran û îstîsnayan namîne û piraniya pirsgirêkên "Cuda ye" çareser dibin.
:Çend pirsên min ji bo gava bê:
: - Gelo lîsteyeke te ya paşgirên sereke (wek -an, -ewe, -tir, -în, -din, -tin) heye an te dest pê kiriye?
: - Heke koda te ya pêşnûme ji bo vê parçekirinê hebe, ez dikarim li ser Module:ku-Arab-translit/sandbox zêde bikim da ku em bi mînakên îro biceribînin?
:Silav û rêz,
:--[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 10:25, 24 tebax 2026 (UTC)
::Bo Wîkîferhengê tiştekî vitira tenê ji bo sererastkirinên peyvan tê çêkirin ji ber ku em cureyê peyvê dizaninê. We li jor qala modula "parser" kiriye; bi vê modulê tê zanîn ku ew peyv lêker, navêr û tiştekî din e. Zanîna kategoriya rêzimanî hewce ye (lêker (kîjan dem?), navdêr, renddêr, ...). Li gor cureyê peyvê paşgir û pêşgir tên zanîn..
::Feqet ji bo hevokan nayê zanîn.. Bnr. ''[[:en:w:Part-of-speech tagging]]''. Ji bo soranî hatiye çêkirin, bnr. ''[https://universaldependencies.org/ckb/index.html UD for Central Kurdish]'' û ''[https://github.com/sinaahmadi/KurdishPOSTagger KurdishPOSTagger]'' (github). [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 00:47, 25 tebax 2026 (UTC)
f44cxyzpqcs4gjaftbtbseh2yfdlqh0
6342327
6342326
2026-08-25T01:01:04Z
Ghybu
1393
/* Test */
6342327
wikitext
text/x-wiki
== kod ==
:<small>Ji [[Gotûbêja bikarhêner:Ghybu]]</small>
Silav. Ghybu tu dikarî [[Bikarhêner:Calak/ckb-translit.js|ev kod]] biguherîn bo lua? Ji bo wikiferhenga înglzî dixwazim her wek [[:en:Module:Armn-translit]]. Pirr spas.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 19:12, 27 pûşper 2018 (UTC)
:{{ragihandin|Calak}} Erê, ez çêdikim.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 02:36, 28 pûşper 2018 (UTC)
::Baştire li ser [[Modul:ku-translit]] kar bikin.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 15:18, 29 pûşper 2018 (UTC)
:::regex: | , //b , //s li lua de kar neke.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:19, 29 pûşper 2018 (UTC)
::::{{Silav|Calak}}, dizanim ("|" di nav parantezan kar nake...). Te koda javascript'ê ceriband: [https://sourceforge.net/projects/kurdinus/?source=typ_redirect]? Bo mînak: "برا" bo "Bra" dinivîse...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 20:23, 29 pûşper 2018 (UTC)
:::::Min ceriband. dyar -> diyar, bra -> bira, aşkra -> aşkira li javascript jî kar neke. Ev ne gringe, niha divê ku grifên | , //b , //s çareser bikin... .--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:39, 29 pûşper 2018 (UTC)
::::::{{ragihandin|Calak}}"//b , //s" ne pirsgirêk e, [https://ku.wiktionary.org/wiki/Modul:ku-xwendin vitira] jî tê çêkirin (bo tabloyan) / "|" --> [https://ku.wiktionary.org/w/index.php?title=Modul:ku-Arab&diff=2989948&oldid=2989908]/ //s --> %s. Min tiştik fehm nekir: weteya vê regexê çi ye: [^ء-يٱ-ەwy] (ez tîpên erebî pirr nizanim)? [ٱ-ە]?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 29 pûşper 2018 (UTC)
::::::: ء-ي + ٱ-ە + w + y
::::::: yanî hemî tîpên erebî-kurdî + w + y.
:::::::--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:34, 29 pûşper 2018 (UTC)
:::::::: ء-ي + ٱ-ە = hemî tîpên erebî-kurdî
:::::::::no alternation (the | operator)--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 08:03, 30 pûşper 2018 (UTC)).
::::::::::{{ragihandin|Calak}} Alternatîf nivîsandina du carî ye, mînak (the operator -->test test):
text = mw.ustring.gsub('the operator', '(the|operator)', 'test') '''alternatîf'''
text= mw.ustring.gsub('the operator', 'the', 'test')
text= mw.ustring.gsub(text, 'operator', 'test')
return text
::::::::::--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 11:57, 30 pûşper 2018 (UTC)
{{outdent|::::::::::}}{{ragihandin|Calak}} Min koda berî li gorî peyvan çêkir, vitira bikarananîn regex'an hêsan e. Niha "/b" û "/s" ne pêwîst in. Bi min pirsgirêk hat rakirin...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:13, 30 pûşper 2018 (UTC)
:Niha pirsgirek heye. Li coda javascript de dinivîse "zanistname" an "destkarîy". lêbelê li vir "zansitname" an "destikarîy" hatiye nivîsandin!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 22:04, 30 pûşper 2018 (UTC)
::{{ragihandin|Calak}} Çêbû. Niha koda lua wekî koda javascript'ê derdikevî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 23:22, 30 pûşper 2018 (UTC)
:::Pirr spas. Ji kerema xwe re [[:en:Module:ckb-translit]] edit bike; bizane çi guherandinek pêwîste. function "export.tr" 3 parameter dixwaze "text, lang, sc". Bo zanyarî zêdetir binêre [[:en:Module:tg-translit]], [[:en:Module:bg-translit]] bizane çawan kar dike. dest xweş.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 10:39, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Li [https://en.wiktionary.org/wiki/Module:languages/data3/c vira] (ckb) tê çêkirin. Koda <code>translit_module = "ckb-translit",</code> tevlî agahiyên <code>m["ckb"]</code> bike.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 13:13, 1 tîrmeh 2018 (UTC)
{{outdent|:::}}{{ragihandin|Calak}} Tu dikarî [[:en:Category:Terms with manual transliterations different from the automated ones/ckb|vana]] kontrol bikî? Di nav gotarê de transliterasyonên ku hatine nivîsandin û transliterasyonên lua yek ninin--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 1 tîrmeh 2018 (UTC)
:Erê [https://en.wiktionary.org/wiki/Special:Contributions/Calak binêre]. Pirranî ł, ř, ē, ū li cihê ll, rr, ê, û hatiye nivîsandin. Tu dikarî bi bot [[:en:Category:Terms with redundant transliterations/ckb]] jê bibî?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:28, 1 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, feqet bi botê destûr pêwîst e. Na?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:36, 1 tîrmeh 2018 (UTC)
:::Dikarî her Ghybu bi kar bihînî, kes nazane. Tenê pêwîste bi texîr (delay) edit bikî!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:41, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Min ceriband: bot ser hemû wîkiyan dişuxilî feqet ser en-wîkî nedişuxilî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 22:21, 1 tîrmeh 2018 (UTC)
* {{ku-translit|دەستکاریی}} li cihê destkarîy. Çima?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:54, 2 tîrmeh 2018 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990641&oldid=2990279] heke و nehat ی + ی = îy --[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:58, 2 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, pirsgirêk ew guherandina ye...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:01, 2 tîrmeh 2018 (UTC)
:::{{ragihandin|Calak}} Ew jî çêbû: [https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990667&oldid=2990656]--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:32, 2 tîrmeh 2018 (UTC)
== Pirsgêrek ==
[https://ku.wiktionary.org/w/index.php?title=%D8%AC%D9%86%D8%B3&diff=3735258&oldid=3735231&diffmode=source] (''cinis'')--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:17, 31 tebax 2019 (UTC)
== Test ==
{{silav|Şêr}}. Ji bo testan, tiştekî vitira baştir e: [[:en:Module:ckb-translit/testcases]]. Bi vî awayî em hertim dizanin ku şablon rind dişxule an na... [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:37, 23 tebax 2026 (UTC)
:Silav Ghybu, spas, ev [[:Modul:ku-Arab-translit/testcases]] wisa baş e? An jî bila bibe ckb? -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:40, 23 tebax 2026 (UTC)
::Na ji bo zimanê kurmancî jî tê bikaranîn ji ber vê yekê em "ku-Arab" kir. Herwiha li gor vê modelê kodê binivîse [[Modul:ckb-translit/testcases]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:50, 23 tebax 2026 (UTC)
:::{{r|şêr}} [//ku.wiktionary.org/w/index.php?title=%DA%AF%D8%B1%D9%86%DA%AF&curid=269299&diff=6341546&oldid=5994849] Ji bo gotinên vitira hîn pirr zû ye, belkî problemên din derdikevin :) Te tenê peyvên ku di nav lîsteya TestCasê de sererast kiriye. Tu çito dizanî ku yên din de problemên din derneketine? Vana jî werin kontrol kirin: [[:Kategorî:Translîterasyona zarûrî û manûel bi soranî]] / [[:Kategorî:Transliterasyona zarûrî û manûel bi soranî]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:39, 23 tebax 2026 (UTC)
::::Xebera te ye, gelekî zû ye :(, min ew lîste dît, û dixwest bi awayekî rêz bikim, lê hê nizanim çawa. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:47, 23 tebax 2026 (UTC)
:::::Bi AutoWikiBrowser-ê, sernavê gotar û translîterasyonan (kategoriyên jor) bigir {{param2|tr}}. Paşê jî ew lîsteyê tevlî ''TestCasê'' bike û sererast bike... Paşê jî hemû peyvên soranî bigir û test bike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:54, 23 tebax 2026 (UTC)
::::::Min ji bîr kir ku AWB hê jî heye. :P Ez ê lê binêrim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:57, 23 tebax 2026 (UTC)
:::::::Min bêyî AWB çêkir: [[:Bikarhêner:Şêr/lîste2]]. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:38, 23 tebax 2026 (UTC)
::::::::Ez dibêm dikarî otomatîk lîste çêkî bi riya [[Modul:parser]] an [[Modul:template parser]] feqat çawa nizanim :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]]) 19:45, 23 tebax 2026 (UTC)
:::::::::Min bi Pythoncan û Luayê çêkir. :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:47, 23 tebax 2026 (UTC)
::::::::::Li gorî [[:Bikarhêner:Şêr/lîste2|lîsteyê]] gelek sererastkirin hewce ne, di kodê de. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:50, 23 tebax 2026 (UTC)
:::::::::::Bo agahdarî: nivîsên bi "ll"/"ł" (wekî {{q|ckb|ئاژهڵ|tr=-}} ajell/ajeł) û "rr/ř" ne cuda ne.. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:53, 23 tebax 2026 (UTC)
::::::::::::Min fam kir :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:57, 23 tebax 2026 (UTC)
:::::::::::::Rewşa dawî [[:Bikarhêner:Şêr/lîste2|ev]] e. Ez ê rojeke din, dema wextê min çêbû, dewam bikim. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:19, 23 tebax 2026 (UTC)
{{outdent|:::::::::::::}} {{r|Şêr}} Tu nikarî translîterasyonan bi vî awayî (li gor dengdêr/dengdaran û kîtekirinê) sererast bikî. Binêre {{q|ckb|ئاسن|tr=asin}} û {{q|ckb|ئاسنان|tr=asnan}}, her du jî bi hêsanî tên bilêvkirin, "a-sin" û "as-nan". Çima em dibêjin yê rast "a-si-nan" e? Ji ber ku em peyva "asin" nas dikin û li gor rêzimanî "asin" + "an" = "asinan" ne <s>"asnan"</s> e. Bi gotineke din zanîna peyva ne tewandî hewce ye {{=D}}.
1) Di tabloyên tewadinan de pêşta peyva sade (ne tewandî) translît bike başê jî translîta paşgiran tevlî bike : {{q|ckb|ئاسن|tr=asin}} + {{q|ku|ان}} = asin + an = asinan. Ne yekcarê de... 2) Li vira jî belkî paşgir û pêşgir werin jêkirin û translîtên wan her sêyan werin kirin û paşê jî dîsa werin cem hev :)
<poem>
peyv
↓
paşgir/pêşgir hene? (ان, ێک, ەکە, ەکان, ...)
↓
pêşgir + pSade <small>(peyv bi pêşgir/paşgirê)</small> + paşgir
↓
translit(paşgir) + translit(pSade) + translît(paşgir)
↓
translît
</poem>
--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:35, 24 tebax 2026 (UTC)
:Silav @Ghybu,
:Gelek spas ji bo vê ravekirinê, tam di cih de ye. Îro ez li ser modulê xebitîm û gihîştim heman encama te: Tenê bi rêzikên tîpan (regex) mirov nikare peyvên
:hevedudanî û paşgiran bi awayekî durust çareser bike.
:Min îro di modulê de rêzikek ji bo 4 tîpên bêdeng çêkir (POSITION 1) û bi vê yekê me peyvên mîna kirdin, birdinewe, girtine rast kirin. Lê dîsa jî ji ber ku kod fêm nake peyv ji kîjan beşan pêk tê, ez mecbûr mam ji bo peyvên wek hengwîn, birrbirre an agirpijên lîsteyeke taybet a îstîsnayan (word_exceptions) çêbikin.
:Ji ber vê yekê, ez bi tevahî bi pêşniyara te re hemfikir im: Divê em pêşî peyvê parçe bikin (rayek + paşgir), paşê her beşekê cuda wergerînin latînî.
:Mînak di peyva birdinewe de:
:1. Pêşî paşgira -ewe jê dibe \to tenê birdin dimîne.
:2. Kod bi rehetî birdin dike latînî.
:3. Paşê ewe lê zêde dibe \to dibe birdinewe.
:Bi vî awayî pêdiviya me bi van hemû rêzikên giran û îstîsnayan namîne û piraniya pirsgirêkên "Cuda ye" çareser dibin.
:Çend pirsên min ji bo gava bê:
: - Gelo lîsteyeke te ya paşgirên sereke (wek -an, -ewe, -tir, -în, -din, -tin) heye an te dest pê kiriye?
: - Heke koda te ya pêşnûme ji bo vê parçekirinê hebe, ez dikarim li ser Module:ku-Arab-translit/sandbox zêde bikim da ku em bi mînakên îro biceribînin?
:Silav û rêz,
:--[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 10:25, 24 tebax 2026 (UTC)
::Bo Wîkîferhengê tiştekî vitira tenê ji bo sererastkirinên peyvan tê çêkirin ji ber ku em cureyê peyvê dizaninê. We li jor qala modula "parser" kiriye; bi vê modulê an jî bi şablona ku hatiye bikaranîn tê zanîn ku ew peyv lêker, navêr û tiştekî din e. Zanîna kategoriya rêzimanî hewce ye (lêker (kîjan dem?), navdêr, renddêr, ...). Li gor cureyê peyvê paşgir û pêşgir tên zanîn..
::Feqet ji bo hevokan nayê zanîn.. Bnr. ''[[:en:w:Part-of-speech tagging]]''. Ji bo soranî hatiye çêkirin, bnr. ''[https://universaldependencies.org/ckb/index.html UD for Central Kurdish]'' û ''[https://github.com/sinaahmadi/KurdishPOSTagger KurdishPOSTagger]'' (github). [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 00:47, 25 tebax 2026 (UTC)
c77wcm9duvo9k2wngge3oa5h57fih7u
6342328
6342327
2026-08-25T01:02:06Z
Ghybu
1393
/* Test */
6342328
wikitext
text/x-wiki
== kod ==
:<small>Ji [[Gotûbêja bikarhêner:Ghybu]]</small>
Silav. Ghybu tu dikarî [[Bikarhêner:Calak/ckb-translit.js|ev kod]] biguherîn bo lua? Ji bo wikiferhenga înglzî dixwazim her wek [[:en:Module:Armn-translit]]. Pirr spas.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 19:12, 27 pûşper 2018 (UTC)
:{{ragihandin|Calak}} Erê, ez çêdikim.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 02:36, 28 pûşper 2018 (UTC)
::Baştire li ser [[Modul:ku-translit]] kar bikin.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 15:18, 29 pûşper 2018 (UTC)
:::regex: | , //b , //s li lua de kar neke.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:19, 29 pûşper 2018 (UTC)
::::{{Silav|Calak}}, dizanim ("|" di nav parantezan kar nake...). Te koda javascript'ê ceriband: [https://sourceforge.net/projects/kurdinus/?source=typ_redirect]? Bo mînak: "برا" bo "Bra" dinivîse...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 20:23, 29 pûşper 2018 (UTC)
:::::Min ceriband. dyar -> diyar, bra -> bira, aşkra -> aşkira li javascript jî kar neke. Ev ne gringe, niha divê ku grifên | , //b , //s çareser bikin... .--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:39, 29 pûşper 2018 (UTC)
::::::{{ragihandin|Calak}}"//b , //s" ne pirsgirêk e, [https://ku.wiktionary.org/wiki/Modul:ku-xwendin vitira] jî tê çêkirin (bo tabloyan) / "|" --> [https://ku.wiktionary.org/w/index.php?title=Modul:ku-Arab&diff=2989948&oldid=2989908]/ //s --> %s. Min tiştik fehm nekir: weteya vê regexê çi ye: [^ء-يٱ-ەwy] (ez tîpên erebî pirr nizanim)? [ٱ-ە]?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 29 pûşper 2018 (UTC)
::::::: ء-ي + ٱ-ە + w + y
::::::: yanî hemî tîpên erebî-kurdî + w + y.
:::::::--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:34, 29 pûşper 2018 (UTC)
:::::::: ء-ي + ٱ-ە = hemî tîpên erebî-kurdî
:::::::::no alternation (the | operator)--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 08:03, 30 pûşper 2018 (UTC)).
::::::::::{{ragihandin|Calak}} Alternatîf nivîsandina du carî ye, mînak (the operator -->test test):
text = mw.ustring.gsub('the operator', '(the|operator)', 'test') '''alternatîf'''
text= mw.ustring.gsub('the operator', 'the', 'test')
text= mw.ustring.gsub(text, 'operator', 'test')
return text
::::::::::--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 11:57, 30 pûşper 2018 (UTC)
{{outdent|::::::::::}}{{ragihandin|Calak}} Min koda berî li gorî peyvan çêkir, vitira bikarananîn regex'an hêsan e. Niha "/b" û "/s" ne pêwîst in. Bi min pirsgirêk hat rakirin...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:13, 30 pûşper 2018 (UTC)
:Niha pirsgirek heye. Li coda javascript de dinivîse "zanistname" an "destkarîy". lêbelê li vir "zansitname" an "destikarîy" hatiye nivîsandin!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 22:04, 30 pûşper 2018 (UTC)
::{{ragihandin|Calak}} Çêbû. Niha koda lua wekî koda javascript'ê derdikevî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 23:22, 30 pûşper 2018 (UTC)
:::Pirr spas. Ji kerema xwe re [[:en:Module:ckb-translit]] edit bike; bizane çi guherandinek pêwîste. function "export.tr" 3 parameter dixwaze "text, lang, sc". Bo zanyarî zêdetir binêre [[:en:Module:tg-translit]], [[:en:Module:bg-translit]] bizane çawan kar dike. dest xweş.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 10:39, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Li [https://en.wiktionary.org/wiki/Module:languages/data3/c vira] (ckb) tê çêkirin. Koda <code>translit_module = "ckb-translit",</code> tevlî agahiyên <code>m["ckb"]</code> bike.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 13:13, 1 tîrmeh 2018 (UTC)
{{outdent|:::}}{{ragihandin|Calak}} Tu dikarî [[:en:Category:Terms with manual transliterations different from the automated ones/ckb|vana]] kontrol bikî? Di nav gotarê de transliterasyonên ku hatine nivîsandin û transliterasyonên lua yek ninin--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 1 tîrmeh 2018 (UTC)
:Erê [https://en.wiktionary.org/wiki/Special:Contributions/Calak binêre]. Pirranî ł, ř, ē, ū li cihê ll, rr, ê, û hatiye nivîsandin. Tu dikarî bi bot [[:en:Category:Terms with redundant transliterations/ckb]] jê bibî?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:28, 1 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, feqet bi botê destûr pêwîst e. Na?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:36, 1 tîrmeh 2018 (UTC)
:::Dikarî her Ghybu bi kar bihînî, kes nazane. Tenê pêwîste bi texîr (delay) edit bikî!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:41, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Min ceriband: bot ser hemû wîkiyan dişuxilî feqet ser en-wîkî nedişuxilî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 22:21, 1 tîrmeh 2018 (UTC)
* {{ku-translit|دەستکاریی}} li cihê destkarîy. Çima?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:54, 2 tîrmeh 2018 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990641&oldid=2990279] heke و nehat ی + ی = îy --[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:58, 2 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, pirsgirêk ew guherandina ye...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:01, 2 tîrmeh 2018 (UTC)
:::{{ragihandin|Calak}} Ew jî çêbû: [https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990667&oldid=2990656]--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:32, 2 tîrmeh 2018 (UTC)
== Pirsgêrek ==
[https://ku.wiktionary.org/w/index.php?title=%D8%AC%D9%86%D8%B3&diff=3735258&oldid=3735231&diffmode=source] (''cinis'')--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:17, 31 tebax 2019 (UTC)
== Test ==
{{silav|Şêr}}. Ji bo testan, tiştekî vitira baştir e: [[:en:Module:ckb-translit/testcases]]. Bi vî awayî em hertim dizanin ku şablon rind dişxule an na... [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:37, 23 tebax 2026 (UTC)
:Silav Ghybu, spas, ev [[:Modul:ku-Arab-translit/testcases]] wisa baş e? An jî bila bibe ckb? -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:40, 23 tebax 2026 (UTC)
::Na ji bo zimanê kurmancî jî tê bikaranîn ji ber vê yekê em "ku-Arab" kir. Herwiha li gor vê modelê kodê binivîse [[Modul:ckb-translit/testcases]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:50, 23 tebax 2026 (UTC)
:::{{r|şêr}} [//ku.wiktionary.org/w/index.php?title=%DA%AF%D8%B1%D9%86%DA%AF&curid=269299&diff=6341546&oldid=5994849] Ji bo gotinên vitira hîn pirr zû ye, belkî problemên din derdikevin :) Te tenê peyvên ku di nav lîsteya TestCasê de sererast kiriye. Tu çito dizanî ku yên din de problemên din derneketine? Vana jî werin kontrol kirin: [[:Kategorî:Translîterasyona zarûrî û manûel bi soranî]] / [[:Kategorî:Transliterasyona zarûrî û manûel bi soranî]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:39, 23 tebax 2026 (UTC)
::::Xebera te ye, gelekî zû ye :(, min ew lîste dît, û dixwest bi awayekî rêz bikim, lê hê nizanim çawa. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:47, 23 tebax 2026 (UTC)
:::::Bi AutoWikiBrowser-ê, sernavê gotar û translîterasyonan (kategoriyên jor) bigir {{param2|tr}}. Paşê jî ew lîsteyê tevlî ''TestCasê'' bike û sererast bike... Paşê jî hemû peyvên soranî bigir û test bike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:54, 23 tebax 2026 (UTC)
::::::Min ji bîr kir ku AWB hê jî heye. :P Ez ê lê binêrim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:57, 23 tebax 2026 (UTC)
:::::::Min bêyî AWB çêkir: [[:Bikarhêner:Şêr/lîste2]]. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:38, 23 tebax 2026 (UTC)
::::::::Ez dibêm dikarî otomatîk lîste çêkî bi riya [[Modul:parser]] an [[Modul:template parser]] feqat çawa nizanim :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]]) 19:45, 23 tebax 2026 (UTC)
:::::::::Min bi Pythoncan û Luayê çêkir. :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:47, 23 tebax 2026 (UTC)
::::::::::Li gorî [[:Bikarhêner:Şêr/lîste2|lîsteyê]] gelek sererastkirin hewce ne, di kodê de. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:50, 23 tebax 2026 (UTC)
:::::::::::Bo agahdarî: nivîsên bi "ll"/"ł" (wekî {{q|ckb|ئاژهڵ|tr=-}} ajell/ajeł) û "rr/ř" ne cuda ne.. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:53, 23 tebax 2026 (UTC)
::::::::::::Min fam kir :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:57, 23 tebax 2026 (UTC)
:::::::::::::Rewşa dawî [[:Bikarhêner:Şêr/lîste2|ev]] e. Ez ê rojeke din, dema wextê min çêbû, dewam bikim. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:19, 23 tebax 2026 (UTC)
{{outdent|:::::::::::::}} {{r|Şêr}} Tu nikarî translîterasyonan bi vî awayî (li gor dengdêr/dengdaran û kîtekirinê) sererast bikî. Binêre {{q|ckb|ئاسن|tr=asin}} û {{q|ckb|ئاسنان|tr=asnan}}, her du jî bi hêsanî tên bilêvkirin, "a-sin" û "as-nan". Çima em dibêjin yê rast "a-si-nan" e? Ji ber ku em peyva "asin" nas dikin û li gor rêzimanî "asin" + "an" = "asinan" ne <s>"asnan"</s> e. Bi gotineke din zanîna peyva ne tewandî hewce ye {{=D}}.
1) Di tabloyên tewadinan de pêşta peyva sade (ne tewandî) translît bike başê jî translîta paşgiran tevlî bike : {{q|ckb|ئاسن|tr=asin}} + {{q|ku|ان}} = asin + an = asinan. Ne yekcarê de... 2) Li vira jî belkî paşgir û pêşgir werin jêkirin û translîtên wan her sêyan werin kirin û paşê jî dîsa werin cem hev :)
<poem>
peyv
↓
paşgir/pêşgir hene? (ان, ێک, ەکە, ەکان, ...)
↓
pêşgir + pSade <small>(peyv bi pêşgir/paşgirê)</small> + paşgir
↓
translit(paşgir) + translit(pSade) + translît(paşgir)
↓
translît
</poem>
--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:35, 24 tebax 2026 (UTC)
:Silav @Ghybu,
:Gelek spas ji bo vê ravekirinê, tam di cih de ye. Îro ez li ser modulê xebitîm û gihîştim heman encama te: Tenê bi rêzikên tîpan (regex) mirov nikare peyvên
:hevedudanî û paşgiran bi awayekî durust çareser bike.
:Min îro di modulê de rêzikek ji bo 4 tîpên bêdeng çêkir (POSITION 1) û bi vê yekê me peyvên mîna kirdin, birdinewe, girtine rast kirin. Lê dîsa jî ji ber ku kod fêm nake peyv ji kîjan beşan pêk tê, ez mecbûr mam ji bo peyvên wek hengwîn, birrbirre an agirpijên lîsteyeke taybet a îstîsnayan (word_exceptions) çêbikin.
:Ji ber vê yekê, ez bi tevahî bi pêşniyara te re hemfikir im: Divê em pêşî peyvê parçe bikin (rayek + paşgir), paşê her beşekê cuda wergerînin latînî.
:Mînak di peyva birdinewe de:
:1. Pêşî paşgira -ewe jê dibe \to tenê birdin dimîne.
:2. Kod bi rehetî birdin dike latînî.
:3. Paşê ewe lê zêde dibe \to dibe birdinewe.
:Bi vî awayî pêdiviya me bi van hemû rêzikên giran û îstîsnayan namîne û piraniya pirsgirêkên "Cuda ye" çareser dibin.
:Çend pirsên min ji bo gava bê:
: - Gelo lîsteyeke te ya paşgirên sereke (wek -an, -ewe, -tir, -în, -din, -tin) heye an te dest pê kiriye?
: - Heke koda te ya pêşnûme ji bo vê parçekirinê hebe, ez dikarim li ser Module:ku-Arab-translit/sandbox zêde bikim da ku em bi mînakên îro biceribînin?
:Silav û rêz,
:--[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 10:25, 24 tebax 2026 (UTC)
::Bo Wîkîferhengê tiştekî vitira tenê ji bo sererastkirinên peyvan tê çêkirin ji ber ku em cureyê peyvê dizaninê. We li jor qala modula "parser" kiriye; bi vê modulê an jî bi şablona ku hatiye bikaranîn tê zanîn ku ew peyv lêker, navêr û tiştekî din e. Zanîna kategoriya rêzimanî hewce ye (lêker (kîjan dem?), navdêr, renddêr, ...). Li gor cureyê peyvê paşgir û pêşgir tên fêm kirin...
::Feqet ji bo hevokan nayê zanîn.. Bnr. ''[[:en:w:Part-of-speech tagging]]''. Ji bo soranî hatiye çêkirin, bnr. ''[https://universaldependencies.org/ckb/index.html UD for Central Kurdish]'' û ''[https://github.com/sinaahmadi/KurdishPOSTagger KurdishPOSTagger]'' (github). [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 00:47, 25 tebax 2026 (UTC)
66wg8kdexpiyj4ta5j368feqn0r2ygq
6342329
6342328
2026-08-25T01:12:08Z
Ghybu
1393
/* Test */
6342329
wikitext
text/x-wiki
== kod ==
:<small>Ji [[Gotûbêja bikarhêner:Ghybu]]</small>
Silav. Ghybu tu dikarî [[Bikarhêner:Calak/ckb-translit.js|ev kod]] biguherîn bo lua? Ji bo wikiferhenga înglzî dixwazim her wek [[:en:Module:Armn-translit]]. Pirr spas.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 19:12, 27 pûşper 2018 (UTC)
:{{ragihandin|Calak}} Erê, ez çêdikim.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 02:36, 28 pûşper 2018 (UTC)
::Baştire li ser [[Modul:ku-translit]] kar bikin.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 15:18, 29 pûşper 2018 (UTC)
:::regex: | , //b , //s li lua de kar neke.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:19, 29 pûşper 2018 (UTC)
::::{{Silav|Calak}}, dizanim ("|" di nav parantezan kar nake...). Te koda javascript'ê ceriband: [https://sourceforge.net/projects/kurdinus/?source=typ_redirect]? Bo mînak: "برا" bo "Bra" dinivîse...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 20:23, 29 pûşper 2018 (UTC)
:::::Min ceriband. dyar -> diyar, bra -> bira, aşkra -> aşkira li javascript jî kar neke. Ev ne gringe, niha divê ku grifên | , //b , //s çareser bikin... .--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:39, 29 pûşper 2018 (UTC)
::::::{{ragihandin|Calak}}"//b , //s" ne pirsgirêk e, [https://ku.wiktionary.org/wiki/Modul:ku-xwendin vitira] jî tê çêkirin (bo tabloyan) / "|" --> [https://ku.wiktionary.org/w/index.php?title=Modul:ku-Arab&diff=2989948&oldid=2989908]/ //s --> %s. Min tiştik fehm nekir: weteya vê regexê çi ye: [^ء-يٱ-ەwy] (ez tîpên erebî pirr nizanim)? [ٱ-ە]?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 29 pûşper 2018 (UTC)
::::::: ء-ي + ٱ-ە + w + y
::::::: yanî hemî tîpên erebî-kurdî + w + y.
:::::::--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:34, 29 pûşper 2018 (UTC)
:::::::: ء-ي + ٱ-ە = hemî tîpên erebî-kurdî
:::::::::no alternation (the | operator)--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 08:03, 30 pûşper 2018 (UTC)).
::::::::::{{ragihandin|Calak}} Alternatîf nivîsandina du carî ye, mînak (the operator -->test test):
text = mw.ustring.gsub('the operator', '(the|operator)', 'test') '''alternatîf'''
text= mw.ustring.gsub('the operator', 'the', 'test')
text= mw.ustring.gsub(text, 'operator', 'test')
return text
::::::::::--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 11:57, 30 pûşper 2018 (UTC)
{{outdent|::::::::::}}{{ragihandin|Calak}} Min koda berî li gorî peyvan çêkir, vitira bikarananîn regex'an hêsan e. Niha "/b" û "/s" ne pêwîst in. Bi min pirsgirêk hat rakirin...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:13, 30 pûşper 2018 (UTC)
:Niha pirsgirek heye. Li coda javascript de dinivîse "zanistname" an "destkarîy". lêbelê li vir "zansitname" an "destikarîy" hatiye nivîsandin!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 22:04, 30 pûşper 2018 (UTC)
::{{ragihandin|Calak}} Çêbû. Niha koda lua wekî koda javascript'ê derdikevî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 23:22, 30 pûşper 2018 (UTC)
:::Pirr spas. Ji kerema xwe re [[:en:Module:ckb-translit]] edit bike; bizane çi guherandinek pêwîste. function "export.tr" 3 parameter dixwaze "text, lang, sc". Bo zanyarî zêdetir binêre [[:en:Module:tg-translit]], [[:en:Module:bg-translit]] bizane çawan kar dike. dest xweş.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 10:39, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Li [https://en.wiktionary.org/wiki/Module:languages/data3/c vira] (ckb) tê çêkirin. Koda <code>translit_module = "ckb-translit",</code> tevlî agahiyên <code>m["ckb"]</code> bike.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 13:13, 1 tîrmeh 2018 (UTC)
{{outdent|:::}}{{ragihandin|Calak}} Tu dikarî [[:en:Category:Terms with manual transliterations different from the automated ones/ckb|vana]] kontrol bikî? Di nav gotarê de transliterasyonên ku hatine nivîsandin û transliterasyonên lua yek ninin--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 1 tîrmeh 2018 (UTC)
:Erê [https://en.wiktionary.org/wiki/Special:Contributions/Calak binêre]. Pirranî ł, ř, ē, ū li cihê ll, rr, ê, û hatiye nivîsandin. Tu dikarî bi bot [[:en:Category:Terms with redundant transliterations/ckb]] jê bibî?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:28, 1 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, feqet bi botê destûr pêwîst e. Na?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:36, 1 tîrmeh 2018 (UTC)
:::Dikarî her Ghybu bi kar bihînî, kes nazane. Tenê pêwîste bi texîr (delay) edit bikî!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:41, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Min ceriband: bot ser hemû wîkiyan dişuxilî feqet ser en-wîkî nedişuxilî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 22:21, 1 tîrmeh 2018 (UTC)
* {{ku-translit|دەستکاریی}} li cihê destkarîy. Çima?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:54, 2 tîrmeh 2018 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990641&oldid=2990279] heke و nehat ی + ی = îy --[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:58, 2 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, pirsgirêk ew guherandina ye...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:01, 2 tîrmeh 2018 (UTC)
:::{{ragihandin|Calak}} Ew jî çêbû: [https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990667&oldid=2990656]--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:32, 2 tîrmeh 2018 (UTC)
== Pirsgêrek ==
[https://ku.wiktionary.org/w/index.php?title=%D8%AC%D9%86%D8%B3&diff=3735258&oldid=3735231&diffmode=source] (''cinis'')--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:17, 31 tebax 2019 (UTC)
== Test ==
{{silav|Şêr}}. Ji bo testan, tiştekî vitira baştir e: [[:en:Module:ckb-translit/testcases]]. Bi vî awayî em hertim dizanin ku şablon rind dişxule an na... [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:37, 23 tebax 2026 (UTC)
:Silav Ghybu, spas, ev [[:Modul:ku-Arab-translit/testcases]] wisa baş e? An jî bila bibe ckb? -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:40, 23 tebax 2026 (UTC)
::Na ji bo zimanê kurmancî jî tê bikaranîn ji ber vê yekê em "ku-Arab" kir. Herwiha li gor vê modelê kodê binivîse [[Modul:ckb-translit/testcases]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:50, 23 tebax 2026 (UTC)
:::{{r|şêr}} [//ku.wiktionary.org/w/index.php?title=%DA%AF%D8%B1%D9%86%DA%AF&curid=269299&diff=6341546&oldid=5994849] Ji bo gotinên vitira hîn pirr zû ye, belkî problemên din derdikevin :) Te tenê peyvên ku di nav lîsteya TestCasê de sererast kiriye. Tu çito dizanî ku yên din de problemên din derneketine? Vana jî werin kontrol kirin: [[:Kategorî:Translîterasyona zarûrî û manûel bi soranî]] / [[:Kategorî:Transliterasyona zarûrî û manûel bi soranî]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:39, 23 tebax 2026 (UTC)
::::Xebera te ye, gelekî zû ye :(, min ew lîste dît, û dixwest bi awayekî rêz bikim, lê hê nizanim çawa. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:47, 23 tebax 2026 (UTC)
:::::Bi AutoWikiBrowser-ê, sernavê gotar û translîterasyonan (kategoriyên jor) bigir {{param2|tr}}. Paşê jî ew lîsteyê tevlî ''TestCasê'' bike û sererast bike... Paşê jî hemû peyvên soranî bigir û test bike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:54, 23 tebax 2026 (UTC)
::::::Min ji bîr kir ku AWB hê jî heye. :P Ez ê lê binêrim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:57, 23 tebax 2026 (UTC)
:::::::Min bêyî AWB çêkir: [[:Bikarhêner:Şêr/lîste2]]. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:38, 23 tebax 2026 (UTC)
::::::::Ez dibêm dikarî otomatîk lîste çêkî bi riya [[Modul:parser]] an [[Modul:template parser]] feqat çawa nizanim :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]]) 19:45, 23 tebax 2026 (UTC)
:::::::::Min bi Pythoncan û Luayê çêkir. :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:47, 23 tebax 2026 (UTC)
::::::::::Li gorî [[:Bikarhêner:Şêr/lîste2|lîsteyê]] gelek sererastkirin hewce ne, di kodê de. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:50, 23 tebax 2026 (UTC)
:::::::::::Bo agahdarî: nivîsên bi "ll"/"ł" (wekî {{q|ckb|ئاژهڵ|tr=-}} ajell/ajeł) û "rr/ř" ne cuda ne.. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:53, 23 tebax 2026 (UTC)
::::::::::::Min fam kir :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:57, 23 tebax 2026 (UTC)
:::::::::::::Rewşa dawî [[:Bikarhêner:Şêr/lîste2|ev]] e. Ez ê rojeke din, dema wextê min çêbû, dewam bikim. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:19, 23 tebax 2026 (UTC)
{{outdent|:::::::::::::}} {{r|Şêr}} Tu nikarî translîterasyonan bi vî awayî (li gor dengdêr/dengdaran û kîtekirinê) sererast bikî. Binêre {{q|ckb|ئاسن|tr=asin}} û {{q|ckb|ئاسنان|tr=asnan}}, her du jî bi hêsanî tên bilêvkirin, "a-sin" û "as-nan". Çima em dibêjin yê rast "a-si-nan" e? Ji ber ku em peyva "asin" nas dikin û li gor rêzimanî "asin" + "an" = "asinan" ne <s>"asnan"</s> e. Bi gotineke din zanîna peyva ne tewandî hewce ye {{=D}}.
1) Di tabloyên tewadinan de pêşta peyva sade (ne tewandî) translît bike başê jî translîta paşgiran tevlî bike : {{q|ckb|ئاسن|tr=asin}} + {{q|ku|ان}} = asin + an = asinan. Ne yekcarê de... 2) Li vira jî belkî paşgir û pêşgir werin jêkirin û translîtên wan her sêyan werin kirin û paşê jî dîsa werin cem hev :)
<poem>
peyv
↓
paşgir/pêşgir hene? (ان, ێک, ەکە, ەکان, ...)
↓
pêşgir + pSade <small>(peyv bi pêşgir/paşgirê)</small> + paşgir
↓
translit(paşgir) + translit(pSade) + translît(paşgir)
↓
translît
</poem>
--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:35, 24 tebax 2026 (UTC)
:Silav @Ghybu,
:Gelek spas ji bo vê ravekirinê, tam di cih de ye. Îro ez li ser modulê xebitîm û gihîştim heman encama te: Tenê bi rêzikên tîpan (regex) mirov nikare peyvên
:hevedudanî û paşgiran bi awayekî durust çareser bike.
:Min îro di modulê de rêzikek ji bo 4 tîpên bêdeng çêkir (POSITION 1) û bi vê yekê me peyvên mîna kirdin, birdinewe, girtine rast kirin. Lê dîsa jî ji ber ku kod fêm nake peyv ji kîjan beşan pêk tê, ez mecbûr mam ji bo peyvên wek hengwîn, birrbirre an agirpijên lîsteyeke taybet a îstîsnayan (word_exceptions) çêbikin.
:Ji ber vê yekê, ez bi tevahî bi pêşniyara te re hemfikir im: Divê em pêşî peyvê parçe bikin (rayek + paşgir), paşê her beşekê cuda wergerînin latînî.
:Mînak di peyva birdinewe de:
:1. Pêşî paşgira -ewe jê dibe \to tenê birdin dimîne.
:2. Kod bi rehetî birdin dike latînî.
:3. Paşê ewe lê zêde dibe \to dibe birdinewe.
:Bi vî awayî pêdiviya me bi van hemû rêzikên giran û îstîsnayan namîne û piraniya pirsgirêkên "Cuda ye" çareser dibin.
:Çend pirsên min ji bo gava bê:
: - Gelo lîsteyeke te ya paşgirên sereke (wek -an, -ewe, -tir, -în, -din, -tin) heye an te dest pê kiriye?
: - Heke koda te ya pêşnûme ji bo vê parçekirinê hebe, ez dikarim li ser Module:ku-Arab-translit/sandbox zêde bikim da ku em bi mînakên îro biceribînin?
:Silav û rêz,
:--[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 10:25, 24 tebax 2026 (UTC)
::Bo Wîkîferhengê tiştekî vitira tenê ji bo sererastkirinên peyvan tê çêkirin ji ber ku em cureyê peyvê dizaninê. We li jor qala modula "parser" kiriye; bi vê modulê an jî bi şablona ku hatiye bikaranîn tê zanîn ku ew peyv lêker, navdêr (tewandî an na) û tiştekî din e. Zanîna kategoriya rêzimanî hewce ye (lêker (kîjan dem?), navdêr (tewandî an na ?), rengdêr, ...). Li gor cureyê rêzimanî paşgir û pêşgir tên fêm kirin... Li vira em dibêjin: dema ku ew lêker e bnr. paşgirên lêkeran, dema ku ew naddêr e bnr. paşgirên navdêran, ...
::Feqet ji bo hevokan nayê fêm kirin... Bnr. ''[[:en:w:Part-of-speech tagging]]''. Ji bo soranî hatiye çêkirin, bnr. ''[https://universaldependencies.org/ckb/index.html UD for Central Kurdish]'' û ''[https://github.com/sinaahmadi/KurdishPOSTagger KurdishPOSTagger]'' (github). [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 00:47, 25 tebax 2026 (UTC)
tsirikoqnyop2n8nbcidhjbvxguj06z
6342342
6342329
2026-08-25T07:52:50Z
Şêr
1103
/* Test */ Bersiv
6342342
wikitext
text/x-wiki
== kod ==
:<small>Ji [[Gotûbêja bikarhêner:Ghybu]]</small>
Silav. Ghybu tu dikarî [[Bikarhêner:Calak/ckb-translit.js|ev kod]] biguherîn bo lua? Ji bo wikiferhenga înglzî dixwazim her wek [[:en:Module:Armn-translit]]. Pirr spas.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 19:12, 27 pûşper 2018 (UTC)
:{{ragihandin|Calak}} Erê, ez çêdikim.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 02:36, 28 pûşper 2018 (UTC)
::Baştire li ser [[Modul:ku-translit]] kar bikin.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 15:18, 29 pûşper 2018 (UTC)
:::regex: | , //b , //s li lua de kar neke.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:19, 29 pûşper 2018 (UTC)
::::{{Silav|Calak}}, dizanim ("|" di nav parantezan kar nake...). Te koda javascript'ê ceriband: [https://sourceforge.net/projects/kurdinus/?source=typ_redirect]? Bo mînak: "برا" bo "Bra" dinivîse...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 20:23, 29 pûşper 2018 (UTC)
:::::Min ceriband. dyar -> diyar, bra -> bira, aşkra -> aşkira li javascript jî kar neke. Ev ne gringe, niha divê ku grifên | , //b , //s çareser bikin... .--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 20:39, 29 pûşper 2018 (UTC)
::::::{{ragihandin|Calak}}"//b , //s" ne pirsgirêk e, [https://ku.wiktionary.org/wiki/Modul:ku-xwendin vitira] jî tê çêkirin (bo tabloyan) / "|" --> [https://ku.wiktionary.org/w/index.php?title=Modul:ku-Arab&diff=2989948&oldid=2989908]/ //s --> %s. Min tiştik fehm nekir: weteya vê regexê çi ye: [^ء-يٱ-ەwy] (ez tîpên erebî pirr nizanim)? [ٱ-ە]?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 29 pûşper 2018 (UTC)
::::::: ء-ي + ٱ-ە + w + y
::::::: yanî hemî tîpên erebî-kurdî + w + y.
:::::::--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:34, 29 pûşper 2018 (UTC)
:::::::: ء-ي + ٱ-ە = hemî tîpên erebî-kurdî
:::::::::no alternation (the | operator)--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 08:03, 30 pûşper 2018 (UTC)).
::::::::::{{ragihandin|Calak}} Alternatîf nivîsandina du carî ye, mînak (the operator -->test test):
text = mw.ustring.gsub('the operator', '(the|operator)', 'test') '''alternatîf'''
text= mw.ustring.gsub('the operator', 'the', 'test')
text= mw.ustring.gsub(text, 'operator', 'test')
return text
::::::::::--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 11:57, 30 pûşper 2018 (UTC)
{{outdent|::::::::::}}{{ragihandin|Calak}} Min koda berî li gorî peyvan çêkir, vitira bikarananîn regex'an hêsan e. Niha "/b" û "/s" ne pêwîst in. Bi min pirsgirêk hat rakirin...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:13, 30 pûşper 2018 (UTC)
:Niha pirsgirek heye. Li coda javascript de dinivîse "zanistname" an "destkarîy". lêbelê li vir "zansitname" an "destikarîy" hatiye nivîsandin!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 22:04, 30 pûşper 2018 (UTC)
::{{ragihandin|Calak}} Çêbû. Niha koda lua wekî koda javascript'ê derdikevî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 23:22, 30 pûşper 2018 (UTC)
:::Pirr spas. Ji kerema xwe re [[:en:Module:ckb-translit]] edit bike; bizane çi guherandinek pêwîste. function "export.tr" 3 parameter dixwaze "text, lang, sc". Bo zanyarî zêdetir binêre [[:en:Module:tg-translit]], [[:en:Module:bg-translit]] bizane çawan kar dike. dest xweş.--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 10:39, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Li [https://en.wiktionary.org/wiki/Module:languages/data3/c vira] (ckb) tê çêkirin. Koda <code>translit_module = "ckb-translit",</code> tevlî agahiyên <code>m["ckb"]</code> bike.--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 13:13, 1 tîrmeh 2018 (UTC)
{{outdent|:::}}{{ragihandin|Calak}} Tu dikarî [[:en:Category:Terms with manual transliterations different from the automated ones/ckb|vana]] kontrol bikî? Di nav gotarê de transliterasyonên ku hatine nivîsandin û transliterasyonên lua yek ninin--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:22, 1 tîrmeh 2018 (UTC)
:Erê [https://en.wiktionary.org/wiki/Special:Contributions/Calak binêre]. Pirranî ł, ř, ē, ū li cihê ll, rr, ê, û hatiye nivîsandin. Tu dikarî bi bot [[:en:Category:Terms with redundant transliterations/ckb]] jê bibî?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:28, 1 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, feqet bi botê destûr pêwîst e. Na?--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 21:36, 1 tîrmeh 2018 (UTC)
:::Dikarî her Ghybu bi kar bihînî, kes nazane. Tenê pêwîste bi texîr (delay) edit bikî!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 21:41, 1 tîrmeh 2018 (UTC)
::::{{ragihandin|Calak}} Min ceriband: bot ser hemû wîkiyan dişuxilî feqet ser en-wîkî nedişuxilî...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 22:21, 1 tîrmeh 2018 (UTC)
* {{ku-translit|دەستکاریی}} li cihê destkarîy. Çima?!--[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:54, 2 tîrmeh 2018 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990641&oldid=2990279] heke و nehat ی + ی = îy --[[Bikarhêner:Calak|Çalak]]<sup>[[Bikarhêner nîqaş:Calak|Готубеж]] </sup> 17:58, 2 tîrmeh 2018 (UTC)
::{{ragihandin|Calak}} Erê, pirsgirêk ew guherandina ye...--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:01, 2 tîrmeh 2018 (UTC)
:::{{ragihandin|Calak}} Ew jî çêbû: [https://ku.wiktionary.org/w/index.php?title=Modul:ku-translit&curid=652329&diff=2990667&oldid=2990656]--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu#top|gotûbêj]]) 18:32, 2 tîrmeh 2018 (UTC)
== Pirsgêrek ==
[https://ku.wiktionary.org/w/index.php?title=%D8%AC%D9%86%D8%B3&diff=3735258&oldid=3735231&diffmode=source] (''cinis'')--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:17, 31 tebax 2019 (UTC)
== Test ==
{{silav|Şêr}}. Ji bo testan, tiştekî vitira baştir e: [[:en:Module:ckb-translit/testcases]]. Bi vî awayî em hertim dizanin ku şablon rind dişxule an na... [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:37, 23 tebax 2026 (UTC)
:Silav Ghybu, spas, ev [[:Modul:ku-Arab-translit/testcases]] wisa baş e? An jî bila bibe ckb? -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:40, 23 tebax 2026 (UTC)
::Na ji bo zimanê kurmancî jî tê bikaranîn ji ber vê yekê em "ku-Arab" kir. Herwiha li gor vê modelê kodê binivîse [[Modul:ckb-translit/testcases]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 16:50, 23 tebax 2026 (UTC)
:::{{r|şêr}} [//ku.wiktionary.org/w/index.php?title=%DA%AF%D8%B1%D9%86%DA%AF&curid=269299&diff=6341546&oldid=5994849] Ji bo gotinên vitira hîn pirr zû ye, belkî problemên din derdikevin :) Te tenê peyvên ku di nav lîsteya TestCasê de sererast kiriye. Tu çito dizanî ku yên din de problemên din derneketine? Vana jî werin kontrol kirin: [[:Kategorî:Translîterasyona zarûrî û manûel bi soranî]] / [[:Kategorî:Transliterasyona zarûrî û manûel bi soranî]] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:39, 23 tebax 2026 (UTC)
::::Xebera te ye, gelekî zû ye :(, min ew lîste dît, û dixwest bi awayekî rêz bikim, lê hê nizanim çawa. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:47, 23 tebax 2026 (UTC)
:::::Bi AutoWikiBrowser-ê, sernavê gotar û translîterasyonan (kategoriyên jor) bigir {{param2|tr}}. Paşê jî ew lîsteyê tevlî ''TestCasê'' bike û sererast bike... Paşê jî hemû peyvên soranî bigir û test bike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:54, 23 tebax 2026 (UTC)
::::::Min ji bîr kir ku AWB hê jî heye. :P Ez ê lê binêrim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:57, 23 tebax 2026 (UTC)
:::::::Min bêyî AWB çêkir: [[:Bikarhêner:Şêr/lîste2]]. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:38, 23 tebax 2026 (UTC)
::::::::Ez dibêm dikarî otomatîk lîste çêkî bi riya [[Modul:parser]] an [[Modul:template parser]] feqat çawa nizanim :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]]) 19:45, 23 tebax 2026 (UTC)
:::::::::Min bi Pythoncan û Luayê çêkir. :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:47, 23 tebax 2026 (UTC)
::::::::::Li gorî [[:Bikarhêner:Şêr/lîste2|lîsteyê]] gelek sererastkirin hewce ne, di kodê de. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:50, 23 tebax 2026 (UTC)
:::::::::::Bo agahdarî: nivîsên bi "ll"/"ł" (wekî {{q|ckb|ئاژهڵ|tr=-}} ajell/ajeł) û "rr/ř" ne cuda ne.. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:53, 23 tebax 2026 (UTC)
::::::::::::Min fam kir :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 19:57, 23 tebax 2026 (UTC)
:::::::::::::Rewşa dawî [[:Bikarhêner:Şêr/lîste2|ev]] e. Ez ê rojeke din, dema wextê min çêbû, dewam bikim. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:19, 23 tebax 2026 (UTC)
{{outdent|:::::::::::::}} {{r|Şêr}} Tu nikarî translîterasyonan bi vî awayî (li gor dengdêr/dengdaran û kîtekirinê) sererast bikî. Binêre {{q|ckb|ئاسن|tr=asin}} û {{q|ckb|ئاسنان|tr=asnan}}, her du jî bi hêsanî tên bilêvkirin, "a-sin" û "as-nan". Çima em dibêjin yê rast "a-si-nan" e? Ji ber ku em peyva "asin" nas dikin û li gor rêzimanî "asin" + "an" = "asinan" ne <s>"asnan"</s> e. Bi gotineke din zanîna peyva ne tewandî hewce ye {{=D}}.
1) Di tabloyên tewadinan de pêşta peyva sade (ne tewandî) translît bike başê jî translîta paşgiran tevlî bike : {{q|ckb|ئاسن|tr=asin}} + {{q|ku|ان}} = asin + an = asinan. Ne yekcarê de... 2) Li vira jî belkî paşgir û pêşgir werin jêkirin û translîtên wan her sêyan werin kirin û paşê jî dîsa werin cem hev :)
<poem>
peyv
↓
paşgir/pêşgir hene? (ان, ێک, ەکە, ەکان, ...)
↓
pêşgir + pSade <small>(peyv bi pêşgir/paşgirê)</small> + paşgir
↓
translit(paşgir) + translit(pSade) + translît(paşgir)
↓
translît
</poem>
--[[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 02:35, 24 tebax 2026 (UTC)
:Silav @Ghybu,
:Gelek spas ji bo vê ravekirinê, tam di cih de ye. Îro ez li ser modulê xebitîm û gihîştim heman encama te: Tenê bi rêzikên tîpan (regex) mirov nikare peyvên
:hevedudanî û paşgiran bi awayekî durust çareser bike.
:Min îro di modulê de rêzikek ji bo 4 tîpên bêdeng çêkir (POSITION 1) û bi vê yekê me peyvên mîna kirdin, birdinewe, girtine rast kirin. Lê dîsa jî ji ber ku kod fêm nake peyv ji kîjan beşan pêk tê, ez mecbûr mam ji bo peyvên wek hengwîn, birrbirre an agirpijên lîsteyeke taybet a îstîsnayan (word_exceptions) çêbikin.
:Ji ber vê yekê, ez bi tevahî bi pêşniyara te re hemfikir im: Divê em pêşî peyvê parçe bikin (rayek + paşgir), paşê her beşekê cuda wergerînin latînî.
:Mînak di peyva birdinewe de:
:1. Pêşî paşgira -ewe jê dibe \to tenê birdin dimîne.
:2. Kod bi rehetî birdin dike latînî.
:3. Paşê ewe lê zêde dibe \to dibe birdinewe.
:Bi vî awayî pêdiviya me bi van hemû rêzikên giran û îstîsnayan namîne û piraniya pirsgirêkên "Cuda ye" çareser dibin.
:Çend pirsên min ji bo gava bê:
: - Gelo lîsteyeke te ya paşgirên sereke (wek -an, -ewe, -tir, -în, -din, -tin) heye an te dest pê kiriye?
: - Heke koda te ya pêşnûme ji bo vê parçekirinê hebe, ez dikarim li ser Module:ku-Arab-translit/sandbox zêde bikim da ku em bi mînakên îro biceribînin?
:Silav û rêz,
:--[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 10:25, 24 tebax 2026 (UTC)
::Bo Wîkîferhengê tiştekî vitira tenê ji bo sererastkirinên peyvan tê çêkirin ji ber ku em cureyê peyvê dizaninê. We li jor qala modula "parser" kiriye; bi vê modulê an jî bi şablona ku hatiye bikaranîn tê zanîn ku ew peyv lêker, navdêr (tewandî an na) û tiştekî din e. Zanîna kategoriya rêzimanî hewce ye (lêker (kîjan dem?), navdêr (tewandî an na ?), rengdêr, ...). Li gor cureyê rêzimanî paşgir û pêşgir tên fêm kirin... Li vira em dibêjin: dema ku ew lêker e bnr. paşgirên lêkeran, dema ku ew naddêr e bnr. paşgirên navdêran, ...
::Feqet ji bo hevokan nayê fêm kirin... Bnr. ''[[:en:w:Part-of-speech tagging]]''. Ji bo soranî hatiye çêkirin, bnr. ''[https://universaldependencies.org/ckb/index.html UD for Central Kurdish]'' û ''[https://github.com/sinaahmadi/KurdishPOSTagger KurdishPOSTagger]'' (github). [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 00:47, 25 tebax 2026 (UTC)
:::Gelek spas Ghybu, min fam kir. Wisa bi rehetî çênabe, diyar e. :) Belkî bi rêya POS-Tagger tiştek/çareyek bê dîtin. Lê bi awayekî tam-otomatîk zor e, wekî ku te jî got -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 07:52, 25 tebax 2026 (UTC)
8h6eouqcq66spzrx1w0dbhpenpsmbt2
esel
0
670576
6341907
6252056
2026-08-24T12:50:18Z
Balyozbot
7867
+şablona jêgirtinê [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341907
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* [[']]esel
=== Navdêr ===
{{navdêr|ku|z=}}
# {{f|ku|tenê di edebiyata klasîk de}} [[hingivîn]], [[hingiv]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Spî û wek şîr şêrîn, wek esel <br>[[nê|Nê]] ji wê şîr û esel bûne mesel}}
==== Bi alfabeyên din ====
* {{ku-ar|عهسهل}}
==== Formên alternatîv ====
* [['esel]]
==== Etîmolojî ====
Ji {{deyn|ar|ku|عسل|tr='esel}}.
== {{ziman|no}} ==
=== Navdêr ===
{{navdêr|no|z=nt}}
# {{mijar|no|heywan}} {{g|ku|ker}} ([[dewar]]ek)
=== Çavkanî ===
{{rûpela wergerê|no|ker}}
== {{ziman|tpi}} ==
=== Navdêr ===
{{navdêr|tpi}}
# {{mijar|tpi|heywan}} {{g|ku|ker}} ([[dewar]]ek)
=== Çavkanî ===
{{rûpela wergerê|tpi|ker}}
6gg2b670q4ovdhmdddlxna04bjtb43r
6341917
6341907
2026-08-24T12:55:53Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341917
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* [[']]esel
=== Navdêr ===
{{navdêr|ku|z=}}
# {{f|ku|tenê di edebiyata klasîk de}} [[hingivîn]], [[hingiv]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Spî û wek şîr şêrîn, wek esel <br>[[nê|Nê]] ji wê şîr û esel bûne mesel}}
==== Bi alfabeyên din ====
* {{ku-ar|عهسهل}}
==== Formên alternatîv ====
* [['esel]]
==== Etîmolojî ====
Ji {{deyn|ar|ku|عسل|tr='esel}}.
== {{ziman|no}} ==
=== Navdêr ===
{{navdêr|no|z=nt}}
# {{mijar|no|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|no|ker}}
== {{ziman|tpi}} ==
=== Navdêr ===
{{navdêr|tpi}}
# {{mijar|tpi|heywan}} {{g|ku|ker}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|tpi|ker}}
q1xooe16m571kr7nkpccfln96orajej
6341989
6341917
2026-08-24T12:59:20Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6341989
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* [[']]esel
=== Navdêr ===
{{navdêr|ku|z=}}
# {{f|ku|tenê di edebiyata klasîk de}} [[hingivîn]], [[hingiv]]
#* {{J:Mela Hisênê Bateyî:Mewlûda Kurdî|jêgirtin=Spî û wek şîr şêrîn, wek esel <br>[[nê|Nê]] ji wê şîr û esel bûne mesel}}
==== Bi alfabeyên din ====
* {{ku-ar|عهسهل}}
==== Formên alternatîv ====
* [['esel]]
==== Etîmolojî ====
Ji {{deyn|ar|ku|عسل|tr='esel}}.
== {{ziman|no}} ==
=== Navdêr ===
{{navdêr|no|z=nt}}
# {{mijar|no|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|no|ker}}
== {{ziman|tpi}} ==
=== Navdêr ===
{{navdêr|tpi}}
# {{mijar|tpi|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|tpi|ker}}
j7chhh8mhjnsh8h0w37l28bozyjcv8l
بوون
0
670784
6342209
5044962
2026-08-24T20:05:44Z
Şêr
1103
mînak
6342209
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Lêker ===
{{lêker|ckb}}
# [[bûn]]
#* {{mînak|ckb|ئەو دەبێتە پزیشک.|tr=Ew debête pizîşk.|werger=Ew dibe bijîşk.}}
#* {{mînak|ckb|هەوا سارد دەبێت.|tr=Hewa sard debêt.|werger=Hewa sar dibe.}}
#* {{mînak|ckb|من فێری زمانی کوردی دەبم.|tr=Min fêrî zimanî Kurdî debim.|werger=Ez fêrî zimanê kurdî dibim.}}
6vm12x8ir41e649ajcjdyl7kjlr4h22
6342215
6342209
2026-08-24T20:18:26Z
Şêr
1103
6342215
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Lêker ===
{{lêker|ckb}}
# [[bûn]]
#: {{mînak|ckb|ئەو دەبێتە پزیشک.|tr=Ew debête pizîşk.|werger=Ew dibe bijîşk.}}
#: {{mînak|ckb|هەوا سارد دەبێت.|tr=Hewa sard debêt.|werger=Hewa sar dibe.}}
#: {{mînak|ckb|من فێری زمانی کوردی دەبم.|tr=Min fêrî zimanî Kurdî debim.|werger=Ez fêrî zimanê kurdî dibim.}}
g2j17qqttzkddmaf7vq9px6hjxvx5zx
zanan
0
745692
6341920
5299217
2026-08-24T12:56:34Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341920
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Formeke navdêrê ===
{{ku-tew-nav|zan|mê|çemandî|binavkirî}}
{{navdêr|ku|form=erê}}
# ''Rewşa [[çemandî]] ya pirjimar a binavkirî ya'' '''[[zan]]'''.
== {{ziman|ssy}} ==
=== Navdêr ===
{{navdêr|ssy}}
# {{mijar|ssy|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ssy|ker}}
71zciqb5fl2zw5ejlciu5wwwi3ouiwe
asino
0
796730
6341918
6020721
2026-08-24T12:56:26Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341918
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Formeke navdêrê ===
{{ku-tew-nav|as|mê|bangkirin}}
{{navdêr|ku|form=erê}}
# ''Rewşa [[bangkirin]]ê ya mê ya pirjimar ya'' '''[[as]]'''.
== {{ziman|ilo}} ==
=== Cînav ===
{{cînav|ilo}}
# [[kî#ku|kî]]
== {{ziman|ia}} ==
=== Navdêr ===
{{navdêr|ia}}
# {{mijar|ia|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ia|ker}}
== {{ziman|it}} ==
=== Bilêvkirin ===
* {{deng|it|LL-Q652 (ita)-Ciampix-asino.wav|Deng|dever=Îtalya}}
=== Navdêr ===
{{navdêr|it|z=n}}
# {{mijar|it|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|it|ker}}
1dyy1cxlvrypyubqub670w546d8506m
𒀲
0
838020
6341919
5298730
2026-08-24T12:56:30Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341919
wikitext
text/x-wiki
== {{ziman|akk}} ==
=== Navdêr ===
{{navdêr|akk|tr=imēru|z=n}}
# {{mijar|akk|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|akk|ker}}
== {{ziman|sux}} ==
=== Navdêr ===
{{navdêr|sux}}
# [[hesp]]
3yb6pblfsi7of0gc2f2ml5s0jfw38i9
Bikarhêner:Wikihez/common.js
2
873671
6342200
6333720
2026-08-24T19:21:44Z
Wikihez
7344
6342200
javascript
text/javascript
/*---------Gadget-morebits.js-------------
[[Bikarhêner:Wikihez/skrîpt/Gadget/Gadget-morebits.js]]
[[Bikarhêner:Wikihez/skrîpt/Gadget/Gadget-morebits.css]]*/
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/skrîpt/Gadget/Gadget-morebits.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/Gadget/Gadget-morebits.js&action=raw&ctype=text/javascript');
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&action=raw&ctype=text/javascript');
( function () {
'use strict';
if ( [ 'Recentchanges', 'Watchlist' ].indexOf( mw.config.get( 'wgCanonicalSpecialPageName' ) ) === -1 ) {
return;
}
var style = document.createElement( 'style' );
style.textContent = '.mw-rollback-link { display: none !important; }';
document.head.appendChild( style );
}() );
//[[Bikarhêner:Wikihez/skrîpt/js/templateParamRenamer.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/templateParamRenamer.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/quicklinks.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/quicklinks.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/citeKurdifier.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/citeKurdifier.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/Gadget-defaultVisibilityToggles.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-defaultVisibilityToggles.js&action=raw&ctype=text/javascript');
/*---------QQ.js-------------
[[Bikarhêner:Wikihez/Gadget-QQ.js]]
[[Bikarhêner:Wikihez/Gadget-QQ.css]]
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/Gadget-QQ.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-QQ.js&action=raw&ctype=text/javascript');
*/
/*---------add-examples.js-------------
[[Bikarhêner:Wikihez/Gadget-wikt.add-examples.js]]
[[Bikarhêner:Wikihez/Gadget-wikt.add-examples.css]]*/
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/Gadget-wikt.add-examples.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-wikt.add-examples.js&action=raw&ctype=text/javascript');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/loader.js&action=raw&ctype=text/javascript')
importScript( 'Bikarhêner:Wikihez/skrîpt/js/copyTitle.js' ); // Backlink: [[Bikarhêner:Wikihez/skrîpt/js/copyTitle.js]]
// [[Bikarhêner:Wikihez/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/addAutoCat.js&action=raw&ctype=text/javascript');
//importScript( 'Bikarhêner:Wikihez/newentrywiz.js' ); // Backlink: [[Bikarhêner:Wikihez/newentrywiz.js]]
//[[Bikarhêner:Wikihez/CreateTranslation.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/CreateTranslation.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/wergerîne.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/wergerîne.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/getinflections.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/getinflections.js&action=raw&ctype=text/javascript');
//[[:w:Bikarhêner:Wikihez/skrîpt/js/OngletPurge.js]]
mw.loader.load('//ku.wikipedia.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/OngletPurge.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/templateScript2.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/templateScript2.js&action=raw&ctype=text/javascript');
// [[Bikarhêner:Wikihez/şablon-lêke.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/şablon-lêke.js&action=raw&ctype=text/javascript');
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:BrandonXLF/TodoList.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/test.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/test.js&action=raw&ctype=text/javascript');
//================================================================================================================================
/*---------start.js-------------
[[Bikarhêner:Wikihez/Gadget-start.js]]
[[Bikarhêner:Wikihez/Gadget-start.css]]
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/Gadget-start.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-start.js&action=raw&ctype=text/javascript');
*/
//importScript( 'Bikarhêner:Wikihez/skrîpt/js/Gadget-citoid-helper.js' ); // Backlink: [[Bikarhêner:Wikihez/skrîpt/js/Gadget-citoid-helper.js]]
//importScript( 'Bikarhêner:Wikihez/Gadget-linkify.js' ); // Backlink: [[Bikarhêner:Wikihez/Gadget-linkify.js]]
//[[Bikarhêner:Wikihez/skrîpt/js/Gadget-catfix.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/Gadget-catfix.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/editor.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/editor.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/UpdateLanguageNameAndCode.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/UpdateLanguageNameAndCode.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/TranslationAdder-Data.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/TranslationAdder-Data.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/LanguageUtils.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/LanguageUtils.js&action=raw&ctype=text/javascript');
/*---------aWa.js-------------
[[Bikarhêner:Wikihez/Gadget-aWa.js]]
[[Bikarhêner:Wikihez/Gadget-aWa.css]]
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/Gadget-aWa.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-aWa.js&action=raw&ctype=text/javascript');
*/
// This array of dependencies comes from [[MediaWiki:Gadgets-definition]].
// If the list of dependencies changes, copy the text after dependencies=
// for TranslationAdder and run console.log(JSON.stringify("paste dependencies here".split(/, ?/)))
// in your browser's JavaScript console. Put the resulting array as the first argument to mw.loader.using.
//[[User:Wikihez/skrîpt/js/TranslationAdder.js]]
//mw.loader.using(["ext.gadget.LegacyScriptsNewNode","mediawiki.cookie","mediawiki.util"],
//function() {
// importScript('User:Wikihez/skrîpt/js/TranslationAdder.js');
//});
/*
// [[:w:en:MediaWiki:Gadget-edittop.js]]
mw.loader.load('//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-edittop.js&action=raw&ctype=text/javascript');
// [[Bikarhêner:Wikihez/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/addAutoCat.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Balyozbot/Gadget-CommonWikt.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozbot/Gadget-CommonWikt.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/hw-ceke.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/hw-ceke.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/sort-langheaders.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/sort-langheaders.js&action=raw&ctype=text/javascript');
//[[:en:User:Conrad.Irwin/Api.js]]
mw.loader.load('//en.wiktionary.org/w/index.php?title=User:Conrad.Irwin/Api.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/etîket-çêke.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/etîket-çêke.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/tagger.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/tagger.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/Gadget-CatMaker.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-CatMaker.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/VisibilityToggles.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/VisibilityToggles.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/Gadget-WiktAccFormCreation.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-WiktAccFormCreation.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/XMLize.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/XMLize.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/RhymesAdder.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/RhymesAdder.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/Editor.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Editor.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/FilterTranslations.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/FilterTranslations.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/custom.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/custom.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/reformat.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/reformat.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/translateWiki.js]] ji aliyê [[Bikarhêner:Guherto]], [[Taybet:PermanentLink/4854098#Translatewiki.net]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/translateWiki.js&action=raw&ctype=text/javascript');
// Various fixes for the trees generated by [[Module:family tree]].
$(function () {
// Show the top toggle.
$('.familytree-toptoggle').css('display', '');
// Initialize the text of the toggles.
$('.familytree').get().forEach(function (tree) {
var isCollapsed = tree.classList.contains('mw-collapsed');
var toggles = $(tree).find('.familytree-toggle');
if (toggles[0]) {
var customToggleClass = Array.prototype.filter.call(toggles[0].classList, function (className) {
return className.indexOf('mw-customtoggle-familytree') === 0;
})[0];
if (customToggleClass) {
var toggledElement = $('#' + customToggleClass.replace('mw-customtoggle', 'mw-customcollapsible'));
if (toggledElement) {
toggles.html(toggledElement.data(isCollapsed ? 'expandtext' : 'collapsetext'));
}
}
}
});
// Change the text in the custom toggles generated by [[Module:family tree]]
// when they are clicked.
$('.mw-collapsible').on('beforeExpand.mw-collapsible beforeCollapse.mw-collapsible',
function (event) {
if (this.id.indexOf('mw-customcollapsible-familytree') === 0) {
var toggle = $('.' + this.id.replace('mw-customcollapsible', 'mw-customtoggle'));
if (event.type === 'beforeExpand') {
toggle.html(this.dataset.collapsetext);
} else { // beforeCollapse
toggle.html(this.dataset.expandtext);
}
event.stopPropagation();
}
});
});
*/
08el5b0dei0dyr0pqkayc93xvlm0jxq
6342565
6342200
2026-08-25T11:17:35Z
Wikihez
7344
6342565
javascript
text/javascript
/*---------Gadget-morebits.js-------------
[[Bikarhêner:Wikihez/skrîpt/Gadget/Gadget-morebits.js]]
[[Bikarhêner:Wikihez/skrîpt/Gadget/Gadget-morebits.css]]*/
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/skrîpt/Gadget/Gadget-morebits.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/Gadget/Gadget-morebits.js&action=raw&ctype=text/javascript');
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&action=raw&ctype=text/javascript');
( function () {
'use strict';
if ( [ 'Recentchanges', 'Watchlist' ].indexOf( mw.config.get( 'wgCanonicalSpecialPageName' ) ) === -1 ) {
return;
}
var style = document.createElement( 'style' );
style.textContent = '.mw-rollback-link { display: none !important; }';
document.head.appendChild( style );
}() );
//[[Bikarhêner:Wikihez/skrîpt/js/templateParamRenamer.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/templateParamRenamer.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/quicklinks.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/quicklinks.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/citeKurdifier.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/citeKurdifier.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/Gadget-defaultVisibilityToggles.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-defaultVisibilityToggles.js&action=raw&ctype=text/javascript');
/*---------QQ.js-------------
[[Bikarhêner:Wikihez/Gadget-QQ.js]]
[[Bikarhêner:Wikihez/Gadget-QQ.css]]
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/Gadget-QQ.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-QQ.js&action=raw&ctype=text/javascript');
*/
/*---------add-examples.js-------------
[[Bikarhêner:Wikihez/Gadget-wikt.add-examples.js]]
[[Bikarhêner:Wikihez/Gadget-wikt.add-examples.css]]*/
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/Gadget-wikt.add-examples.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-wikt.add-examples.js&action=raw&ctype=text/javascript');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/loader.js&action=raw&ctype=text/javascript')
importScript( 'Bikarhêner:Wikihez/skrîpt/js/copyTitle.js' ); // Backlink: [[Bikarhêner:Wikihez/skrîpt/js/copyTitle.js]]
// [[Bikarhêner:Wikihez/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/addAutoCat.js&action=raw&ctype=text/javascript');
//importScript( 'Bikarhêner:Wikihez/newentrywiz.js' ); // Backlink: [[Bikarhêner:Wikihez/newentrywiz.js]]
//[[Bikarhêner:Wikihez/CreateTranslation.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/CreateTranslation.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/wergerîne.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/wergerîne.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/getinflections.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/getinflections.js&action=raw&ctype=text/javascript');
//[[:w:Bikarhêner:Wikihez/skrîpt/js/OngletPurge.js]]
mw.loader.load('//ku.wikipedia.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/OngletPurge.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/templateScript2.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/templateScript2.js&action=raw&ctype=text/javascript');
// [[Bikarhêner:Wikihez/şablon-lêke.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/şablon-lêke.js&action=raw&ctype=text/javascript');
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:BrandonXLF/TodoList.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/test.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/test.js&action=raw&ctype=text/javascript');
//================================================================================================================================
/*---------start.js-------------
[[Bikarhêner:Wikihez/Gadget-start.js]]
[[Bikarhêner:Wikihez/Gadget-start.css]]
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/Gadget-start.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-start.js&action=raw&ctype=text/javascript');
*/
importScript( 'Bikarhêner:Wikihez/skrîpt/js/Gadget-citoid-helper.js' ); // Backlink: [[Bikarhêner:Wikihez/skrîpt/js/Gadget-citoid-helper.js]]
//importScript( 'Bikarhêner:Wikihez/Gadget-linkify.js' ); // Backlink: [[Bikarhêner:Wikihez/Gadget-linkify.js]]
//[[Bikarhêner:Wikihez/skrîpt/js/Gadget-catfix.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/Gadget-catfix.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/editor.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/editor.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/UpdateLanguageNameAndCode.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/UpdateLanguageNameAndCode.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/TranslationAdder-Data.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/TranslationAdder-Data.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/LanguageUtils.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/LanguageUtils.js&action=raw&ctype=text/javascript');
/*---------aWa.js-------------
[[Bikarhêner:Wikihez/Gadget-aWa.js]]
[[Bikarhêner:Wikihez/Gadget-aWa.css]]
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/Gadget-aWa.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-aWa.js&action=raw&ctype=text/javascript');
*/
// This array of dependencies comes from [[MediaWiki:Gadgets-definition]].
// If the list of dependencies changes, copy the text after dependencies=
// for TranslationAdder and run console.log(JSON.stringify("paste dependencies here".split(/, ?/)))
// in your browser's JavaScript console. Put the resulting array as the first argument to mw.loader.using.
//[[User:Wikihez/skrîpt/js/TranslationAdder.js]]
//mw.loader.using(["ext.gadget.LegacyScriptsNewNode","mediawiki.cookie","mediawiki.util"],
//function() {
// importScript('User:Wikihez/skrîpt/js/TranslationAdder.js');
//});
/*
// [[:w:en:MediaWiki:Gadget-edittop.js]]
mw.loader.load('//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-edittop.js&action=raw&ctype=text/javascript');
// [[Bikarhêner:Wikihez/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/addAutoCat.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Balyozbot/Gadget-CommonWikt.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozbot/Gadget-CommonWikt.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/hw-ceke.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/hw-ceke.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/sort-langheaders.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/sort-langheaders.js&action=raw&ctype=text/javascript');
//[[:en:User:Conrad.Irwin/Api.js]]
mw.loader.load('//en.wiktionary.org/w/index.php?title=User:Conrad.Irwin/Api.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/etîket-çêke.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/etîket-çêke.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/tagger.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/tagger.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/Gadget-CatMaker.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-CatMaker.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/VisibilityToggles.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/VisibilityToggles.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/Gadget-WiktAccFormCreation.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-WiktAccFormCreation.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/XMLize.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/XMLize.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/RhymesAdder.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/RhymesAdder.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/Editor.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Editor.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/FilterTranslations.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/FilterTranslations.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/custom.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/custom.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/reformat.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/reformat.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/translateWiki.js]] ji aliyê [[Bikarhêner:Guherto]], [[Taybet:PermanentLink/4854098#Translatewiki.net]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/translateWiki.js&action=raw&ctype=text/javascript');
// Various fixes for the trees generated by [[Module:family tree]].
$(function () {
// Show the top toggle.
$('.familytree-toptoggle').css('display', '');
// Initialize the text of the toggles.
$('.familytree').get().forEach(function (tree) {
var isCollapsed = tree.classList.contains('mw-collapsed');
var toggles = $(tree).find('.familytree-toggle');
if (toggles[0]) {
var customToggleClass = Array.prototype.filter.call(toggles[0].classList, function (className) {
return className.indexOf('mw-customtoggle-familytree') === 0;
})[0];
if (customToggleClass) {
var toggledElement = $('#' + customToggleClass.replace('mw-customtoggle', 'mw-customcollapsible'));
if (toggledElement) {
toggles.html(toggledElement.data(isCollapsed ? 'expandtext' : 'collapsetext'));
}
}
}
});
// Change the text in the custom toggles generated by [[Module:family tree]]
// when they are clicked.
$('.mw-collapsible').on('beforeExpand.mw-collapsible beforeCollapse.mw-collapsible',
function (event) {
if (this.id.indexOf('mw-customcollapsible-familytree') === 0) {
var toggle = $('.' + this.id.replace('mw-customcollapsible', 'mw-customtoggle'));
if (event.type === 'beforeExpand') {
toggle.html(this.dataset.collapsetext);
} else { // beforeCollapse
toggle.html(this.dataset.expandtext);
}
event.stopPropagation();
}
});
});
*/
hwucoxpt1eznk1z3kot62bheg2mn65k
6342566
6342565
2026-08-25T11:26:02Z
Wikihez
7344
6342566
javascript
text/javascript
/*---------Gadget-morebits.js-------------
[[Bikarhêner:Wikihez/skrîpt/Gadget/Gadget-morebits.js]]
[[Bikarhêner:Wikihez/skrîpt/Gadget/Gadget-morebits.css]]*/
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/skrîpt/Gadget/Gadget-morebits.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/Gadget/Gadget-morebits.js&action=raw&ctype=text/javascript');
importScript( 'Bikarhêner:Wikihez/skrîpt/js/Gadget-citoid-helper.js' ); // Backlink: [[Bikarhêner:Wikihez/skrîpt/js/Gadget-citoid-helper.js]]
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&action=raw&ctype=text/javascript');
( function () {
'use strict';
if ( [ 'Recentchanges', 'Watchlist' ].indexOf( mw.config.get( 'wgCanonicalSpecialPageName' ) ) === -1 ) {
return;
}
var style = document.createElement( 'style' );
style.textContent = '.mw-rollback-link { display: none !important; }';
document.head.appendChild( style );
}() );
//[[Bikarhêner:Wikihez/skrîpt/js/templateParamRenamer.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/templateParamRenamer.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/quicklinks.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/quicklinks.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/citeKurdifier.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/citeKurdifier.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/Gadget-defaultVisibilityToggles.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-defaultVisibilityToggles.js&action=raw&ctype=text/javascript');
/*---------QQ.js-------------
[[Bikarhêner:Wikihez/Gadget-QQ.js]]
[[Bikarhêner:Wikihez/Gadget-QQ.css]]
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/Gadget-QQ.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-QQ.js&action=raw&ctype=text/javascript');
*/
/*---------add-examples.js-------------
[[Bikarhêner:Wikihez/Gadget-wikt.add-examples.js]]
[[Bikarhêner:Wikihez/Gadget-wikt.add-examples.css]]*/
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/Gadget-wikt.add-examples.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-wikt.add-examples.js&action=raw&ctype=text/javascript');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/loader.js&action=raw&ctype=text/javascript')
importScript( 'Bikarhêner:Wikihez/skrîpt/js/copyTitle.js' ); // Backlink: [[Bikarhêner:Wikihez/skrîpt/js/copyTitle.js]]
// [[Bikarhêner:Wikihez/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/addAutoCat.js&action=raw&ctype=text/javascript');
//importScript( 'Bikarhêner:Wikihez/newentrywiz.js' ); // Backlink: [[Bikarhêner:Wikihez/newentrywiz.js]]
//[[Bikarhêner:Wikihez/CreateTranslation.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/CreateTranslation.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/wergerîne.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/wergerîne.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/getinflections.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/getinflections.js&action=raw&ctype=text/javascript');
//[[:w:Bikarhêner:Wikihez/skrîpt/js/OngletPurge.js]]
mw.loader.load('//ku.wikipedia.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/OngletPurge.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/templateScript2.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/templateScript2.js&action=raw&ctype=text/javascript');
// [[Bikarhêner:Wikihez/şablon-lêke.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/şablon-lêke.js&action=raw&ctype=text/javascript');
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:BrandonXLF/TodoList.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/test.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/test.js&action=raw&ctype=text/javascript');
//================================================================================================================================
/*---------start.js-------------
[[Bikarhêner:Wikihez/Gadget-start.js]]
[[Bikarhêner:Wikihez/Gadget-start.css]]
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/Gadget-start.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-start.js&action=raw&ctype=text/javascript');
*/
//importScript( 'Bikarhêner:Wikihez/Gadget-linkify.js' ); // Backlink: [[Bikarhêner:Wikihez/Gadget-linkify.js]]
//[[Bikarhêner:Wikihez/skrîpt/js/Gadget-catfix.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/Gadget-catfix.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/editor.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/editor.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/UpdateLanguageNameAndCode.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/UpdateLanguageNameAndCode.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/skrîpt/js/TranslationAdder-Data.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/skrîpt/js/TranslationAdder-Data.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/LanguageUtils.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/LanguageUtils.js&action=raw&ctype=text/javascript');
/*---------aWa.js-------------
[[Bikarhêner:Wikihez/Gadget-aWa.js]]
[[Bikarhêner:Wikihez/Gadget-aWa.css]]
mw.loader.load(mw.util.wikiScript() + '?title=Bikarhêner:Wikihez/Gadget-aWa.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-aWa.js&action=raw&ctype=text/javascript');
*/
// This array of dependencies comes from [[MediaWiki:Gadgets-definition]].
// If the list of dependencies changes, copy the text after dependencies=
// for TranslationAdder and run console.log(JSON.stringify("paste dependencies here".split(/, ?/)))
// in your browser's JavaScript console. Put the resulting array as the first argument to mw.loader.using.
//[[User:Wikihez/skrîpt/js/TranslationAdder.js]]
//mw.loader.using(["ext.gadget.LegacyScriptsNewNode","mediawiki.cookie","mediawiki.util"],
//function() {
// importScript('User:Wikihez/skrîpt/js/TranslationAdder.js');
//});
/*
// [[:w:en:MediaWiki:Gadget-edittop.js]]
mw.loader.load('//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-edittop.js&action=raw&ctype=text/javascript');
// [[Bikarhêner:Wikihez/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/addAutoCat.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Balyozbot/Gadget-CommonWikt.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozbot/Gadget-CommonWikt.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/hw-ceke.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/hw-ceke.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/sort-langheaders.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/sort-langheaders.js&action=raw&ctype=text/javascript');
//[[:en:User:Conrad.Irwin/Api.js]]
mw.loader.load('//en.wiktionary.org/w/index.php?title=User:Conrad.Irwin/Api.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/etîket-çêke.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/etîket-çêke.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/tagger.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/tagger.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/Gadget-CatMaker.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-CatMaker.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/VisibilityToggles.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/VisibilityToggles.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/Gadget-WiktAccFormCreation.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Gadget-WiktAccFormCreation.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/XMLize.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/XMLize.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/RhymesAdder.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/RhymesAdder.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/Editor.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/Editor.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/FilterTranslations.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/FilterTranslations.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/custom.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/custom.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/reformat.js]]
//mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/reformat.js&action=raw&ctype=text/javascript');
//[[Bikarhêner:Wikihez/translateWiki.js]] ji aliyê [[Bikarhêner:Guherto]], [[Taybet:PermanentLink/4854098#Translatewiki.net]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Wikihez/translateWiki.js&action=raw&ctype=text/javascript');
// Various fixes for the trees generated by [[Module:family tree]].
$(function () {
// Show the top toggle.
$('.familytree-toptoggle').css('display', '');
// Initialize the text of the toggles.
$('.familytree').get().forEach(function (tree) {
var isCollapsed = tree.classList.contains('mw-collapsed');
var toggles = $(tree).find('.familytree-toggle');
if (toggles[0]) {
var customToggleClass = Array.prototype.filter.call(toggles[0].classList, function (className) {
return className.indexOf('mw-customtoggle-familytree') === 0;
})[0];
if (customToggleClass) {
var toggledElement = $('#' + customToggleClass.replace('mw-customtoggle', 'mw-customcollapsible'));
if (toggledElement) {
toggles.html(toggledElement.data(isCollapsed ? 'expandtext' : 'collapsetext'));
}
}
}
});
// Change the text in the custom toggles generated by [[Module:family tree]]
// when they are clicked.
$('.mw-collapsible').on('beforeExpand.mw-collapsible beforeCollapse.mw-collapsible',
function (event) {
if (this.id.indexOf('mw-customcollapsible-familytree') === 0) {
var toggle = $('.' + this.id.replace('mw-customcollapsible', 'mw-customtoggle'));
if (event.type === 'beforeExpand') {
toggle.html(this.dataset.collapsetext);
} else { // beforeCollapse
toggle.html(this.dataset.expandtext);
}
event.stopPropagation();
}
});
});
*/
5bp2hucxhm7i96zui3jnlnys63trebn
Bikarhêner:Wikihez/test.js
2
969083
6342195
6329713
2026-08-24T18:56:24Z
Wikihez
7344
6342195
javascript
text/javascript
// Ji bo şablonên [[Şablon:jêder]] hatiye nivîsandin.
// Parametreyên ku di navbera "<span class="j-pewist">...</span>" an "{{j-pêwîst|...}}" de ne venaşêre.
// Each jeder is registered under the "Jêderê" category in window.VisibilityToggles
// (from [[MediaWiki:Gadget-VisibilityToggles.js]]), so the "Jêderê veşêre / Jêderê nîşan bide"
// sidebar link can show or hide every jeder at once; each "+"/"↩" link toggles just its own entry.
$(function() {
function nivisaKurtTevliBike(sund, nivisKurt) {
var zede = $('<a>+</a>')
.addClass('click')
.attr('href', '#')
.attr('title', 'zêdetir')
.css('font-weight', 'bold');
var kurt = $(' <a>↩</a>')
.addClass('click-kurt')
.attr('href', '#')
.attr('title', 'veşêre')
.css('font-weight', 'bold');
var jederKurt = $('<span>' + nivisKurt + '</span>')
.append(zede).append(')')
.addClass('jeder-kurt')
.css('font-size', '0.85em')
.insertAfter(sund);
sund.append(' ').append(kurt);
// defaultStatus = false: the category's initial status is "visible" (full
// citation shown), so the sidebar link starts as "Jêderê veşêre".
var toggle = window.VisibilityToggles.register("Jêderê", function show() {
sund.css('display', 'inline');
jederKurt.css('display', 'none');
}, function hide() {
sund.css('display', 'none');
jederKurt.css('display', 'inline');
}, false);
zede.add(kurt).on('click', function(e) {
e.preventDefault();
toggle();
});
}
function vesere() {
// .cited-source = Modul:quote's wrapper, now used by jêder-* templates (Modul_jeder.lua routes through Modul:quote); .e-source = Modul:usex's own wrapper (renamed from "jeder"), used by plain {{usex|source=}}-style annotations.
$('.cited-source, .e-source').each(function() {
var elmTab = $(this).find('.j-pewist').clone();
if (elmTab.length) {
var elm = '';
for (var i = elmTab.length - 1; i >= 0; i--) {
elm = elmTab.eq(i).html() + ', ' + elm;
}
var nivisKurt = ' — (' + elm;
nivisaKurtTevliBike($(this), nivisKurt);
}
// else: no j-pewist fields to shorten — leave the full citation
// as it already renders (visible), nothing to do.
});
}
vesere();
});
oq09syuvz5lsdc2zxlqj8kkxlo8omi0
6342197
6342195
2026-08-24T19:17:01Z
Wikihez
7344
6342197
javascript
text/javascript
// Ji bo şablonên [[Şablon:jêder]] hatiye nivîsandin.
// Parametreyên ku di navbera "<span class="j-pewist">...</span>" an "{{j-pêwîst|...}}" de ne venaşêre.
// Each jeder is registered under the "Jêderê" category in window.VisibilityToggles
// (from [[MediaWiki:Gadget-VisibilityToggles.js]]), so the "Jêderê veşêre / Jêderê nîşan bide"
// sidebar link can show or hide every jeder at once; each "+"/"↩" link toggles just its own entry.
$(function() {
function nivisaKurtTevliBike(sund, nivisKurt) {
var zede = $('<a>+</a>')
.addClass('click')
.attr('href', '#')
.attr('title', 'zêdetir')
.css('font-weight', 'bold');
var kurt = $(' <a>↩</a>')
.addClass('click-kurt')
.attr('href', '#')
.attr('title', 'veşêre')
.css('font-weight', 'bold');
// Colon matches the one Modul:quote's export.source() appends to the full citation (see ":" not being part of any .j-pewist span, so it has to be re-added here).
var jederKurt = $('<span>' + nivisKurt + ':</span>')
.append(' ').append(zede)
.addClass('jeder-kurt')
.insertAfter(sund);
sund.append(' ').append(kurt);
// defaultStatus = false: the category's initial status is "visible" (full
// citation shown), so the sidebar link starts as "Jêderê veşêre".
var toggle = window.VisibilityToggles.register("Jêderê", function show() {
sund.css('display', 'inline');
jederKurt.css('display', 'none');
}, function hide() {
sund.css('display', 'none');
jederKurt.css('display', 'inline');
}, false);
zede.add(kurt).on('click', function(e) {
e.preventDefault();
toggle();
});
}
function vesere() {
// .cited-source = Modul:quote's wrapper, now used by jêder-* templates (Modul_jeder.lua routes through Modul:quote); .e-source = Modul:usex's own wrapper (renamed from "jeder"), used by plain {{usex|source=}}-style annotations.
$('.cited-source, .e-source').each(function() {
var elmTab = $(this).find('.j-pewist').clone();
if (elmTab.length) {
var elm = '';
for (var i = elmTab.length - 1; i >= 0; i--) {
elm = elmTab.eq(i).html() + ', ' + elm;
}
elm = elm.replace(/,\s*$/, ''); // drop trailing ", " from the last field
nivisaKurtTevliBike($(this), elm);
}
// else: no j-pewist fields to shorten — leave the full citation
// as it already renders (visible), nothing to do.
});
}
vesere();
});
not5vq6ftxx3g1m3fa3hbhrrkfufhba
6342198
6342197
2026-08-24T19:18:52Z
Wikihez
7344
6342198
javascript
text/javascript
// Ji bo şablonên [[Şablon:jêder]] hatiye nivîsandin.
// Parametreyên ku di navbera "<span class="j-pewist">...</span>" an "{{j-pêwîst|...}}" de ne venaşêre.
// Each jeder is registered under the "Jêderê" category in window.VisibilityToggles
// (from [[MediaWiki:Gadget-VisibilityToggles.js]]), so the "Jêderê kurt bike / Jêderê nîşan bide"
// sidebar link can show or hide every jeder at once; each "+"/"↩" link toggles just its own entry.
$(function() {
function nivisaKurtTevliBike(sund, nivisKurt) {
var zede = $('<a>+</a>')
.addClass('click')
.attr('href', '#')
.attr('title', 'zêdetir')
.css('font-weight', 'bold');
var kurt = $(' <a>↩</a>')
.addClass('click-kurt')
.attr('href', '#')
.attr('title', 'kurt bike')
.css('font-weight', 'bold');
// Colon matches the one Modul:quote's export.source() appends to the full citation (see ":" not being part of any .j-pewist span, so it has to be re-added here).
var jederKurt = $('<span>' + nivisKurt + ':</span>')
.append(' ').append(zede)
.addClass('jeder-kurt')
.insertAfter(sund);
sund.append(' ').append(kurt);
// defaultStatus = false: the category's initial status is "visible" (full
// citation shown), so the sidebar link starts as "Jêderê veşêre".
var toggle = window.VisibilityToggles.register("Jêderê", function show() {
sund.css('display', 'inline');
jederKurt.css('display', 'none');
}, function hide() {
sund.css('display', 'none');
jederKurt.css('display', 'inline');
}, false);
zede.add(kurt).on('click', function(e) {
e.preventDefault();
toggle();
});
}
function vesere() {
// .cited-source = Modul:quote's wrapper, now used by jêder-* templates (Modul_jeder.lua routes through Modul:quote); .e-source = Modul:usex's own wrapper (renamed from "jeder"), used by plain {{usex|source=}}-style annotations.
$('.cited-source, .e-source').each(function() {
var elmTab = $(this).find('.j-pewist').clone();
if (elmTab.length) {
var elm = '';
for (var i = elmTab.length - 1; i >= 0; i--) {
elm = elmTab.eq(i).html() + ', ' + elm;
}
elm = elm.replace(/,\s*$/, ''); // drop trailing ", " from the last field
nivisaKurtTevliBike($(this), elm);
}
// else: no j-pewist fields to shorten — leave the full citation
// as it already renders (visible), nothing to do.
});
}
vesere();
});
4prhrxc4rgedwpoozphtc2os4w5c3oh
6342204
6342198
2026-08-24T19:34:26Z
Wikihez
7344
6342204
javascript
text/javascript
// Ji bo şablonên [[Şablon:jêder]] hatiye nivîsandin.
// Parametreyên ku di navbera "<span class="j-pewist">...</span>" an "{{j-pêwîst|...}}" de ne venaşêre.
// Each jeder is registered under the "Jêderê" category in window.VisibilityToggles
// (from [[MediaWiki:Gadget-VisibilityToggles.js]]), so the "Jêderê veşêre / Jêderê nîşan bide"
// sidebar link can show or hide every jeder at once; each "+"/"↩" link toggles just its own entry.
$(function() {
function nivisaKurtTevliBike(sund, nivisKurt) {
var zede = $('<a>[+]</a>')
.addClass('click')
.attr('href', '#')
.attr('title', 'zêdetir')
.css('font-weight', 'bold');
var kurt = $(' <a>[↩]</a>')
.addClass('click-kurt')
.attr('href', '#')
.attr('title', 'veşêre')
.css('font-weight', 'bold');
// Colon matches the one Modul:quote's export.source() appends to the full citation (see ":" not being part of any .j-pewist span, so it has to be re-added here).
var jederKurt = $('<span>' + nivisKurt + ':</span>')
.append(' ').append(zede)
.addClass('jeder-kurt')
.insertAfter(sund);
sund.append(' ').append(kurt);
// defaultStatus = false: the category's initial status is "visible" (full
// citation shown), so the sidebar link starts as "Jêderê veşêre".
var toggle = window.VisibilityToggles.register("Jêderê", function show() {
sund.css('display', 'inline');
jederKurt.css('display', 'none');
}, function hide() {
sund.css('display', 'none');
jederKurt.css('display', 'inline');
}, false);
zede.add(kurt).on('click', function(e) {
e.preventDefault();
toggle();
});
}
// Minimum length (chars) the full citation must exceed the shortened one by before the toggle is worth
// showing. When the j-pewist fields already cover most/all of the source (e.g. everything crammed into
// one j-pewist span, nothing meaningful left outside it), "short" and "full" end up nearly identical and
// clicking "+" looks like it does nothing.
var MIN_SAVINGS = 4;
function vesere() {
// .cited-source = Modul:quote's wrapper, now used by jêder-* templates (Modul_jeder.lua routes through Modul:quote); .e-source = Modul:usex's own wrapper (renamed from "jeder"), used by plain {{usex|source=}}-style annotations.
$('.cited-source, .e-source').each(function() {
var $sund = $(this);
var elmTab = $sund.find('.j-pewist').clone();
if (!elmTab.length) {
// No j-pewist fields to shorten — leave the full citation as it already renders, nothing to do.
return;
}
var elm = '';
for (var i = elmTab.length - 1; i >= 0; i--) {
elm = elmTab.eq(i).html() + ', ' + elm;
}
elm = elm.replace(/,\s*$/, ''); // drop trailing ", " from the last field
// Compare the plain text of the short version against the full citation's own text (read before
// any "+"/"↩" link is appended below) to see whether shortening actually removes anything.
var fullText = $sund.text().replace(/\s+/g, ' ').trim();
var shortText = ($('<div>').html(elm).text() + ':').replace(/\s+/g, ' ').trim();
if (fullText.length - shortText.length < MIN_SAVINGS) {
return;
}
nivisaKurtTevliBike($sund, elm);
});
}
vesere();
});
708g44w58n50ycmzhjhygz8funmqi8o
6342205
6342204
2026-08-24T19:37:09Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6342205
javascript
text/javascript
// Ji bo şablonên [[Şablon:jêder]] hatiye nivîsandin.
// Parametreyên ku di navbera "<span class="j-pewist">...</span>" an "{{j-pêwîst|...}}" de ne venaşêre.
// Each jeder is registered under the "Jêderê" category in window.VisibilityToggles
// (from [[MediaWiki:Gadget-VisibilityToggles.js]]), so the "Jêderê veşêre / Jêderê nîşan bide"
// sidebar link can show or hide every jeder at once; each "+"/"↩" link toggles just its own entry.
$(function() {
function nivisaKurtTevliBike(sund, nivisKurt) {
var zede = $('<a>[+]</a>')
.addClass('click')
.attr('href', '#')
.attr('title', 'zêdetir')
.css('font-weight', 'bold');
var kurt = $(' <a>↩</a>')
.addClass('click-kurt')
.attr('href', '#')
.attr('title', 'veşêre')
.css('font-weight', 'bold');
// Colon matches the one Modul:quote's export.source() appends to the full citation (see ":" not being part of any .j-pewist span, so it has to be re-added here).
var jederKurt = $('<span>' + nivisKurt + ':</span>')
.append(' ').append(zede)
.addClass('jeder-kurt')
.insertAfter(sund);
sund.append(' ').append(kurt);
// defaultStatus = false: the category's initial status is "visible" (full
// citation shown), so the sidebar link starts as "Jêderê veşêre".
var toggle = window.VisibilityToggles.register("Jêderê", function show() {
sund.css('display', 'inline');
jederKurt.css('display', 'none');
}, function hide() {
sund.css('display', 'none');
jederKurt.css('display', 'inline');
}, false);
zede.add(kurt).on('click', function(e) {
e.preventDefault();
toggle();
});
}
// Minimum length (chars) the full citation must exceed the shortened one by before the toggle is worth
// showing. When the j-pewist fields already cover most/all of the source (e.g. everything crammed into
// one j-pewist span, nothing meaningful left outside it), "short" and "full" end up nearly identical and
// clicking "+" looks like it does nothing.
var MIN_SAVINGS = 4;
function vesere() {
// .cited-source = Modul:quote's wrapper, now used by jêder-* templates (Modul_jeder.lua routes through Modul:quote); .e-source = Modul:usex's own wrapper (renamed from "jeder"), used by plain {{usex|source=}}-style annotations.
$('.cited-source, .e-source').each(function() {
var $sund = $(this);
var elmTab = $sund.find('.j-pewist').clone();
if (!elmTab.length) {
// No j-pewist fields to shorten — leave the full citation as it already renders, nothing to do.
return;
}
var elm = '';
for (var i = elmTab.length - 1; i >= 0; i--) {
elm = elmTab.eq(i).html() + ', ' + elm;
}
elm = elm.replace(/,\s*$/, ''); // drop trailing ", " from the last field
// Compare the plain text of the short version against the full citation's own text (read before
// any "+"/"↩" link is appended below) to see whether shortening actually removes anything.
var fullText = $sund.text().replace(/\s+/g, ' ').trim();
var shortText = ($('<div>').html(elm).text() + ':').replace(/\s+/g, ' ').trim();
if (fullText.length - shortText.length < MIN_SAVINGS) {
return;
}
nivisaKurtTevliBike($sund, elm);
});
}
vesere();
});
ht7ubb4ipox4kphm50fnlajtsbi3vzx
6342206
6342205
2026-08-24T19:40:04Z
Wikihez
7344
6342206
javascript
text/javascript
// Ji bo şablonên [[Şablon:jêder]] hatiye nivîsandin.
// Parametreyên ku di navbera "<span class="j-pewist">...</span>" an "{{j-pêwîst|...}}" de ne venaşêre.
// Each jeder is registered under the "Jêderê" category in window.VisibilityToggles
// (from [[MediaWiki:Gadget-VisibilityToggles.js]]), so the "Jêderê veşêre / Jêderê nîşan bide"
// sidebar link can show or hide every jeder at once; each "+"/"↩" link toggles just its own entry.
$(function() {
function nivisaKurtTevliBike(sund, nivisKurt) {
var zede = $('<a>[+]</a>')
.addClass('click')
.attr('href', '#')
.attr('title', 'zêdetir');
var kurt = $(' <a>↩</a>')
.addClass('click-kurt')
.attr('href', '#')
.attr('title', 'veşêre');
// Colon matches the one Modul:quote's export.source() appends to the full citation (see ":" not being part of any .j-pewist span, so it has to be re-added here).
var jederKurt = $('<span>' + nivisKurt + ':</span>')
.append(' ').append(zede)
.addClass('jeder-kurt')
.insertAfter(sund);
sund.append(' ').append(kurt);
// defaultStatus = false: the category's initial status is "visible" (full
// citation shown), so the sidebar link starts as "Jêderê veşêre".
var toggle = window.VisibilityToggles.register("Jêderê", function show() {
sund.css('display', 'inline');
jederKurt.css('display', 'none');
}, function hide() {
sund.css('display', 'none');
jederKurt.css('display', 'inline');
}, false);
zede.add(kurt).on('click', function(e) {
e.preventDefault();
toggle();
});
}
// Minimum length (chars) the full citation must exceed the shortened one by before the toggle is worth
// showing. When the j-pewist fields already cover most/all of the source (e.g. everything crammed into
// one j-pewist span, nothing meaningful left outside it), "short" and "full" end up nearly identical and
// clicking "+" looks like it does nothing.
var MIN_SAVINGS = 4;
function vesere() {
// .cited-source = Modul:quote's wrapper, now used by jêder-* templates (Modul_jeder.lua routes through Modul:quote); .e-source = Modul:usex's own wrapper (renamed from "jeder"), used by plain {{usex|source=}}-style annotations.
$('.cited-source, .e-source').each(function() {
var $sund = $(this);
var elmTab = $sund.find('.j-pewist').clone();
if (!elmTab.length) {
// No j-pewist fields to shorten — leave the full citation as it already renders, nothing to do.
return;
}
var elm = '';
for (var i = elmTab.length - 1; i >= 0; i--) {
elm = elmTab.eq(i).html() + ', ' + elm;
}
elm = elm.replace(/,\s*$/, ''); // drop trailing ", " from the last field
// Compare the plain text of the short version against the full citation's own text (read before
// any "+"/"↩" link is appended below) to see whether shortening actually removes anything.
var fullText = $sund.text().replace(/\s+/g, ' ').trim();
var shortText = ($('<div>').html(elm).text() + ':').replace(/\s+/g, ' ').trim();
if (fullText.length - shortText.length < MIN_SAVINGS) {
return;
}
nivisaKurtTevliBike($sund, elm);
});
}
vesere();
});
ewuuknv76lkc5mifxg1jwagxkzlx3g9
6342208
6342206
2026-08-24T20:03:39Z
Wikihez
7344
6342208
javascript
text/javascript
// Ji bo şablonên [[Şablon:jêder]] hatiye nivîsandin.
// Parametreyên ku di navbera "<span class="j-pewist">...</span>" an "{{j-pêwîst|...}}" de ne venaşêre.
// Each jeder is registered under the "Jêderê" category in window.VisibilityToggles
// (from [[MediaWiki:Gadget-VisibilityToggles.js]]), so the "Jêderê veşêre / Jêderê nîşan bide"
// sidebar link can show or hide every jeder at once; each "+"/"↩" link toggles just its own entry.
$(function() {
function nivisaKurtTevliBike(sund, nivisKurt) {
var zede = $('<a>[+]</a>')
.addClass('click')
.attr('href', '#')
.attr('title', 'zêdetir');
var kurt = $(' <a>↩</a>')
.addClass('click-kurt')
.attr('href', '#')
.attr('title', 'veşêre');
// Colon matches the one Modul:quote's export.source() appends to the full citation (see ":" not being part of any .j-pewist span, so it has to be re-added here).
var jederKurt = $('<span>' + nivisKurt + ':</span>')
.append(' ').append(zede)
.addClass('jeder-kurt')
.insertAfter(sund);
sund.append(' ').append(kurt);
// defaultStatus = false: the category's initial status is "visible" (full
// citation shown), so the sidebar link starts as "Jêderê veşêre".
var toggle = window.VisibilityToggles.register("Jêderê", function show() {
sund.css('display', 'inline');
jederKurt.css('display', 'none');
}, function hide() {
sund.css('display', 'none');
jederKurt.css('display', 'inline');
}, false);
zede.add(kurt).on('click', function(e) {
e.preventDefault();
toggle();
});
}
// Minimum length (chars) the full citation must exceed the shortened one by before the toggle is worth
// showing. When the j-pewist fields already cover most/all of the source (e.g. everything crammed into
// one j-pewist span, nothing meaningful left outside it), "short" and "full" end up nearly identical and
// clicking "+" looks like it does nothing.
var MIN_SAVINGS = 4;
function vesere() {
// .cited-source = Modul:quote's wrapper, now used by jêder-* templates (Modul_jeder.lua routes through Modul:quote); .e-source = Modul:usex's own wrapper (renamed from "jeder"), used by plain {{usex|source=}}-style annotations.
// Only ".cited-source" nested in "div.citation-whole" (Modul:quote's block/usage-example mode) is targeted -- a "<ref>"/footnote or bibliography-list citation renders as "span.citation-whole" instead (Modul:quote's inline/cite mode: "(is_inline and span or div)"), so this selector already excludes those on its own; the reference/footnote closest() check below is just a backstop.
$('div.citation-whole > .cited-source, .e-source').each(function() {
var $sund = $(this);
if ($sund.closest('.reference-text, .mw-references-wrap, ol.references').length) {
// Footnote/reference citation -- shortening doesn't belong here.
return;
}
var elmTab = $sund.find('.j-pewist').clone();
if (!elmTab.length) {
// No j-pewist fields to shorten — leave the full citation as it already renders, nothing to do.
return;
}
var elm = '';
for (var i = elmTab.length - 1; i >= 0; i--) {
elm = elmTab.eq(i).html() + ', ' + elm;
}
elm = elm.replace(/,\s*$/, ''); // drop trailing ", " from the last field
// Compare the plain text of the short version against the full citation's own text (read before
// any "+"/"↩" link is appended below) to see whether shortening actually removes anything.
var fullText = $sund.text().replace(/\s+/g, ' ').trim();
var shortText = ($('<div>').html(elm).text() + ':').replace(/\s+/g, ' ').trim();
if (fullText.length - shortText.length < MIN_SAVINGS) {
return;
}
nivisaKurtTevliBike($sund, elm);
});
}
vesere();
});
j9buihbmp5n0l1a1di0nl0se8wrmfh3
6342210
6342208
2026-08-24T20:07:07Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6342210
javascript
text/javascript
// Ji bo şablonên [[Şablon:jêder]] hatiye nivîsandin.
// Parametreyên ku di navbera "<span class="j-pewist">...</span>" an "{{j-pêwîst|...}}" de ne venaşêre.
// Each jeder is registered under the "Jêderê" category in window.VisibilityToggles
// (from [[MediaWiki:Gadget-VisibilityToggles.js]]), so the "Jêderê veşêre / Jêderê nîşan bide"
// sidebar link can show or hide every jeder at once; each "+"/"↩" link toggles just its own entry.
$(function() {
function nivisaKurtTevliBike(sund, nivisKurt) {
var zede = $('<a>[+]</a>')
.addClass('click')
.attr('href', '#')
.attr('title', 'zêdetir')
.css('font-size', '0.85em');
var kurt = $(' <a>↩</a>')
.addClass('click-kurt')
.attr('href', '#')
.attr('title', 'veşêre')
.css('font-size', '0.85em');
// Colon matches the one Modul:quote's export.source() appends to the full citation (see ":" not being part of any .j-pewist span, so it has to be re-added here).
var jederKurt = $('<span>' + nivisKurt + ':</span>')
.append(' ').append(zede)
.addClass('jeder-kurt')
.insertAfter(sund);
sund.append(' ').append(kurt);
// defaultStatus = false: the category's initial status is "visible" (full
// citation shown), so the sidebar link starts as "Jêderê veşêre".
var toggle = window.VisibilityToggles.register("Jêderê", function show() {
sund.css('display', 'inline');
jederKurt.css('display', 'none');
}, function hide() {
sund.css('display', 'none');
jederKurt.css('display', 'inline');
}, false);
zede.add(kurt).on('click', function(e) {
e.preventDefault();
toggle();
});
}
// Minimum length (chars) the full citation must exceed the shortened one by before the toggle is worth
// showing. When the j-pewist fields already cover most/all of the source (e.g. everything crammed into
// one j-pewist span, nothing meaningful left outside it), "short" and "full" end up nearly identical and
// clicking "+" looks like it does nothing.
var MIN_SAVINGS = 4;
function vesere() {
// .cited-source = Modul:quote's wrapper, now used by jêder-* templates (Modul_jeder.lua routes through Modul:quote); .e-source = Modul:usex's own wrapper (renamed from "jeder"), used by plain {{usex|source=}}-style annotations.
// Only ".cited-source" nested in "div.citation-whole" (Modul:quote's block/usage-example mode) is targeted -- a "<ref>"/footnote or bibliography-list citation renders as "span.citation-whole" instead (Modul:quote's inline/cite mode: "(is_inline and span or div)"), so this selector already excludes those on its own; the reference/footnote closest() check below is just a backstop.
$('div.citation-whole > .cited-source, .e-source').each(function() {
var $sund = $(this);
if ($sund.closest('.reference-text, .mw-references-wrap, ol.references').length) {
// Footnote/reference citation -- shortening doesn't belong here.
return;
}
var elmTab = $sund.find('.j-pewist').clone();
if (!elmTab.length) {
// No j-pewist fields to shorten — leave the full citation as it already renders, nothing to do.
return;
}
var elm = '';
for (var i = elmTab.length - 1; i >= 0; i--) {
elm = elmTab.eq(i).html() + ', ' + elm;
}
elm = elm.replace(/,\s*$/, ''); // drop trailing ", " from the last field
// Compare the plain text of the short version against the full citation's own text (read before
// any "+"/"↩" link is appended below) to see whether shortening actually removes anything.
var fullText = $sund.text().replace(/\s+/g, ' ').trim();
var shortText = ($('<div>').html(elm).text() + ':').replace(/\s+/g, ' ').trim();
if (fullText.length - shortText.length < MIN_SAVINGS) {
return;
}
nivisaKurtTevliBike($sund, elm);
});
}
vesere();
});
l8fvycee35u98emxvy6w20h563r80q1
hevalê
0
969734
6342260
6291668
2026-08-24T22:23:56Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v2.0).
6342260
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/hɛˈvɑːleː/}}
* {{ku-kîte}}
=== Formeke navdêrê ===
{{ku-tew-nav|heval|mê û nêr}}
{{navdêr|ku|form=erê}}
# {{ku-tewîna-nav|heval|mê û nêr}}
##: {{nimûne|ku|test}}
9uh3zx7mees9txhsdnwdkrs4wg6kzv7
6342261
6342260
2026-08-24T22:24:13Z
Wikihez
7344
/* Formeke navdêrê */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342261
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/hɛˈvɑːleː/}}
* {{ku-kîte}}
=== Formeke navdêrê ===
{{ku-tew-nav|heval|mê û nêr}}
{{navdêr|ku|form=erê}}
# {{ku-tewîna-nav|heval|mê û nêr}}
apy2fk4sy0hktyht2zbib7u1h5yq4x3
6342266
6342261
2026-08-24T22:32:38Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v2.0).
6342266
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/hɛˈvɑːleː/}}
* {{ku-kîte}}
=== Formeke navdêrê ===
{{ku-tew-nav|heval|mê û nêr}}
{{navdêr|ku|form=erê}}
# {{ku-tewîna-nav|heval|mê û nêr}}
#* {{jêder-websîte|ku|nivîskar=Zinarê Xamo|sernav=Li ser gotina "heval" û "xalo"|websîte=HINDIK - RINDIK|url=https://zinarexamo.blogspot.com/2009/09/li-ser-gotina-heval-u-xalo.html|tarîx=2009-09-18|jêgirtin=Helbet gava meriv xwar rûne û rast bipeyive, Zinar Ala ne '''hevalê''' min ê zaroktiyê ye, ez bawer dikim ez 20-30 salekî jê mestir im.}}
kj7ev7bfswq9lrvl6j82xy5v749ws7v
6342267
6342266
2026-08-24T22:33:03Z
Wikihez
7344
/* Formeke navdêrê */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342267
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/hɛˈvɑːleː/}}
* {{ku-kîte}}
=== Formeke navdêrê ===
{{ku-tew-nav|heval|mê û nêr}}
{{navdêr|ku|form=erê}}
# {{ku-tewîna-nav|heval|mê û nêr}}
##* {{jêder-websîte|ku|nivîskar=Zinarê Xamo|sernav=Li ser gotina "heval" û "xalo"|websîte=HINDIK - RINDIK|url=https://zinarexamo.blogspot.com/2009/09/li-ser-gotina-heval-u-xalo.html|tarîx=2009-09-18|jêgirtin=Helbet gava meriv xwar rûne û rast bipeyive, Zinar Ala ne '''hevalê''' min ê zaroktiyê ye, ez bawer dikim ez 20-30 salekî jê mestir im.}}
t8br4l9xanna5nfi4nnl3v01q1547r9
6342269
6342267
2026-08-24T22:33:21Z
Wikihez
7344
/* Formeke navdêrê */
6342269
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/hɛˈvɑːleː/}}
* {{ku-kîte}}
=== Formeke navdêrê ===
{{ku-tew-nav|heval|mê û nêr}}
{{navdêr|ku|form=erê}}
# {{ku-tewîna-nav|heval|mê û nêr}}
#* {{jêder-websîte|ku|nivîskar=Zinarê Xamo|sernav=Li ser gotina "heval" û "xalo"|websîte=HINDIK - RINDIK|url=https://zinarexamo.blogspot.com/2009/09/li-ser-gotina-heval-u-xalo.html|tarîx=2009-09-18|jêgirtin=Helbet gava meriv xwar rûne û rast bipeyive, Zinar Ala ne '''hevalê''' min ê zaroktiyê ye, ez bawer dikim ez 20-30 salekî jê mestir im.}}
kj7ev7bfswq9lrvl6j82xy5v749ws7v
6342270
6342269
2026-08-24T22:34:54Z
Wikihez
7344
/* Formeke navdêrê */ {{j-wesf|halê îzafeyî}} ? (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342270
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/hɛˈvɑːleː/}}
* {{ku-kîte}}
=== Formeke navdêrê ===
{{ku-tew-nav|heval|mê û nêr}}
{{navdêr|ku|form=erê}}
# {{ku-tewîna-nav|heval|mê û nêr}}
#* {{jêder-websîte|ku|nivîskar=Zinarê Xamo|sernav=Li ser gotina "heval" û "xalo"|websîte=HINDIK - RINDIK|url=https://zinarexamo.blogspot.com/2009/09/li-ser-gotina-heval-u-xalo.html|tarîx=2009-09-18|jêgirtin=Helbet gava meriv xwar rûne û rast bipeyive, Zinar Ala ne '''hevalê''' {{j-wesf|halê îzafeyî}} min ê zaroktiyê ye, ez bawer dikim ez 20-30 salekî jê mestir im.}}
iaa77kql538k5i31puw58bc99m344zm
6342273
6342270
2026-08-24T22:39:18Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v2.0).
6342273
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{IPA|ku|/hɛˈvɑːleː/}}
* {{ku-kîte}}
=== Formeke navdêrê ===
{{ku-tew-nav|heval|mê û nêr}}
{{navdêr|ku|form=erê}}
# {{ku-tewîna-nav|heval|mê û nêr}}
#* {{jêder-websîte|ku|nivîskar=Zinarê Xamo|sernav=Li ser gotina "heval" û "xalo"|websîte=HINDIK - RINDIK|url=https://zinarexamo.blogspot.com/2009/09/li-ser-gotina-heval-u-xalo.html|tarîx=2009-09-18|jêgirtin=Helbet gava meriv xwar rûne û rast bipeyive, Zinar Ala ne '''hevalê''' {{j-wesf|halê îzafeyî}} min ê zaroktiyê ye, ez bawer dikim ez 20-30 salekî jê mestir im.}}
#* {{jêder-websîte|ku|nivîskar=Xecê|sernav=Rê Heval|websîte=www.muzikakurdi.org|url=https://www.muzikakurdi.org/xece-re-heval_2d9b0eefb.html|tarîx=2019-10-26|jêgirtin=Rê '''hevalê''' çima nayê<br>Yar '''hevalê''' {{j-wesf|halê çemandî}} çima nayê}}
4djin8xbwm6gobd8oc47y0cq8ykh4d6
پەژارە
0
975605
6342307
5085107
2026-08-24T23:31:51Z
Şêr
1103
6342307
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[kovan]], [[xem]], [[keser]], [[kul]], [[pejarî]] (hesteke kûr a xemgînî, dilgiraniyê an êşa derûnî)
#: {{mînak|ckb|دڵی پڕ بوو لە پەژارە و خەم.|tr=Dillî pirr bû le pejare u xem.|werger=Dilê wî tijî xem û kovan bû.}}
#: {{mînak|ckb|گوێگرتن لە مۆسیقا پەژارەی دەروونی کەم دەکردەوە.|tr=Gwêgirtin le mosîqa pejareyî derûnî kem dekirdewe.|werger=Guhdarkirina muzîkê kovana wî ya derûnî kêm dikir.}}
==== Dijmane ====
* {{g|ckb|شادی}}
* {{g|ckb|دڵخۆشی}}
* {{g|ckb|کەیف}}
==== Hevmane ====
* {{g|ckb|خەم}}
* {{g|ckb|مەینەت}}
* {{g|ckb|کوڵ}}
==== Têkildar ====
* {{g|ckb|پەژارەبار}}
* {{g|ckb|دڵگرانی}}
* {{g|ckb|ئازار}}
ejffb0q22cbb8czgii1m8poj8rg7ydx
6342311
6342307
2026-08-24T23:41:10Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342311
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[kovan]], [[xem]], [[keser]], [[kul]], [[pejarî]] (hesteke kûr a xemgînî, dilgiraniyê an êşa derûnî)
#: {{mînak|ckb|دڵی پڕ بوو لە پەژارە و خەم.|tr=Dillî pirr bû le pejare u xem.|werger=Dilê wî tijî xem û kovan bû.}}
#: {{mînak|ckb|گوێگرتن لە مۆسیقا پەژارەی دەروونی کەم دەکردەوە.|tr=Gwêgirtin le mosîqa pejareyî derûnî kem dekirdewe.|werger=Guhdarkirina muzîkê kovana wî ya derûnî kêm dikir.}}
==== Hevmane ====
* {{g|ckb|خەم}}
* {{g|ckb|مەینەت}}
* {{g|ckb|کوڵ}}
==== Dijmane ====
* {{g|ckb|شادی}}
* {{g|ckb|دڵخۆشی}}
* {{g|ckb|کەیف}}
==== Têkildar ====
* {{g|ckb|پەژارەبار}}
* {{g|ckb|دڵگرانی}}
* {{g|ckb|ئازار}}
b6xa7lzt1zbmw57dj7bertyhe7yyifk
Gotûbêja bikarhêner:Wikihez
3
977511
6342217
6337695
2026-08-24T20:25:03Z
Şêr
1103
/* Soranî bi tîpên latînî */ beşeke nû
6342217
wikitext
text/x-wiki
== Astengî Bi Sepana Lingua Libre. ==
Silav Birêz,
Vaye 2-3 roj e ku ez nikarim dengê xwe bi rêya sepana Lingua Libre'yê ve biweşînim. Ez dikarim têkevim û deng tomar bikim, lê nikarim dengê xwe li ser Wikimedia Commons biweşînim. Gava ku ez pêl li ser bişkoka "Li Ser Wikimedia Commons Biweşîne" dikim qebûl nake û bişkoka "Dubare Biceribîne Barkirin Bi Ser Neket" dide nîşan. Gava ez pêlê wê jî dikim, tiştek nabe û ev bişkok dîsa derkevî ser holê. Tû kar nake. Derbarê vî mijarê min li ser tora Lingua Libre nivîsand, lê tû encam derneket. Ev program dengê min tomar dike, le naweşîne. Gelo tû fikr û ramanê te li ser vî mijarê heye? Sipas. [[Bikarhêner:Key Mîrza|Key Mîrza]] ([[Gotûbêja bikarhêner:Key Mîrza|gotûbêj]]) 23:38, 28 kanûna paşîn 2023 (UTC)
== Modul û şablonên Wîkîpediya yên Zazakî ==
Silav birêz Balyozxane!
Tu dikarî di Wîkîpediya Zazakî de alîkariya min bikî? Li wir kesek neqeydkirî hin modul û şablon guhert. Ji ber vê yekê agahî tevlihev dibin. Min ew vegerand, lê ew wek nimûne di "Nıfus" ([https://diq.wikipedia.org/wiki/Modul:N%C4%B1fus Modul:Nıfus] û [https://diq.wikipedia.org/wiki/%C5%9Eablon:N%C4%B1fus Şablon:Nıfus]) de xuya nake. Ez berê spas dikim! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 19:50, 21 gulan 2023 (UTC)
:@[[Bikarhêner:Mirzali|Mirzali]] Silav. Problemeke gelemper li wîkiyê heye. Bnr. [[:w:en:Wikipedia:Village_pump_(technical)#Graph_extension_disabled_per_immediate_effect|vê gotûbêja en.wîkiyê]]. Grafîk niha naxebite heta xwediyên wîkiyê çareser bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 05:46, 22 gulan 2023 (UTC)
:: Spas ji bo pêşniyarê! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 06:12, 22 gulan 2023 (UTC)
== Li ser pêwîstiya sê çavkaniyan ji bo nivîsên etîmolojiya peyvên kurdî. ==
Silav Birêz,
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzika bo afirandina peyveke nû bo etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse. Dema ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî çavkanîyê bibînî û peyt bikî
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzikên afirandina peyveke nû, bo nivîsa etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse? Dema ku ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî ew çavkanîyê bibînî û peyt bikî. Ma tenê çavkaniyek têr e? Yan gerek sisê bibe? Ger tu bawer nakî ez dikarim çendîn nimune nîşanê te bidim. Benda bersiva cenabê te me. Sipas [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 08:59, 6 hezîran 2023 (UTC)
:Silav @[[Bikarhêner:Ebulfîda|Ebulfîda]]. Tu hinek bi awayekî şovenîst tevdigerî. Hinek bêhnfireh be ji kerema xwe re. Tu çavkanî dixwazî lê belê çavkanî kêm in. Yên heyî jî tu qebûl nakî. Min ji te re Chyet wek referans da, te ew jî qebûl nekir. Chyet nêzî 40 zimanan dizane û hemû zaravayên kurdî jî dizane dîsa jî tu qebûl nakî. Tu wekî folk etymology difikirî û dixwazî her tiştî bikî kurdî. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 08:37, 8 hezîran 2023 (UTC)
::Sipas, Ma tu jî şovenê hevalê xwe nînî? Bo çin 3 referans bo her kes nameşe? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:33, 8 hezîran 2023 (UTC)
:::Xwedê hiş daye mirov ku bi kar bînî:
:::1-Çawa peyva "Befr", "Baran" ya Kurdî/Îranî heye lê "Cemed"a Kurdî/Îranî tineye? Dibe? Hemû bi hev re girêdayî nînin? Pirtirîn dewletên ereban da "cemed" çênabe. Ma çima reha/koka cemed "cam" ne bî? Ma hemû zimanzanan û etîmologan ser rêya rast in? Li gor min na. Ez zimanzanek wek "Garnik S. Asatrian" û "David Neil MacKenzie" nas nakim. Min jiyana wan xwendiye her du jî dijminatiya Kurdan kirine:
:::https://www.quora.com/Do-you-believe-that-all-Kurdish-linguists-to-date-have-acted-impartially-and-scientifically/answer/Hamdi-Aciksoz
:::2- Ger peyva "Evîn"a Kurdî tinebe, gelo Kurd ji Ereban hînê hezkirinê bûne? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:50, 8 hezîran 2023 (UTC)
== Derbarê pêwistiya 3 referans bo afirandina peyvên nû û nivîsên etîmolojiyên nû. ==
Birêz, Êdî ez westiyam. Cara dawî ji te û hemû nivîskaran rica dikim ku bêyî 3 referans peyvên nû neafirînin û etîmolojî nenivîsînin. Ger ez rastîyê nivîsek/referansek bêyî 3 referans bikevim ezê bi hirs û dijûn livir derkevim. Ji we rica dikim mercên xwe bi kar bînin.[[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 17:42, 10 hezîran 2023 (UTC)
:Qaîdeyeke ji bo etîmolojiyê wekî ku tu dibêjî tune ye. Ger dixwazî, dikarî dengdaneke bidî destpêkirin û li gorî encama dengdanê em dikarin bixebitin. Bi xatirê te. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:21, 14 hezîran 2023 (UTC)
== Çêkirina botekê ==
Merheba hêja {{r|Balyozxane}} Ez bi şanazî dibînim ku tu bota "Balyozbot" bo zêdekirina rûpelên nû ji beşa wergeran bi kar tînî. Ev karekî pir baş e, siheta te xweş! Gelo ez jî dikarim bi awayekî wisa bibim alîkar? Bi silavên germ re! --[[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 07:00, 9 tebax 2023 (UTC)
:@[[Bikarhêner:Ferhengvan|Ferhengvan]] Balyozbot niha bi otomatîk naxebite, Ez li ser scrîptekê dixebitim ya ku dikare hemû wergerê carekê de çêke. Ger rast bixebite, ez ê skrîptê bidim te. Lê niha hin pirsgirêk çêdibin. Wisa dixuye ku ew ê çênebe. Lê dîsa jî hewl didim.
:::P.S. Tu dikarî [[:w:WP:AWB]] biceribînî. Heger hinek hîn bibî, dikarî hesabekî botê çêkî û ez dikarim alîkariya te bikim.
:[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:29, 9 tebax 2023 (UTC)
::Silav @[[Bikarhêner:Ghybu|Ghybu]] Çêkirina gelek rûpelan bi butonekê qedexe ye yan na? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:03, 9 tebax 2023 (UTC)
:::Silav, ne qedexe ye. Piraniya rupelên fr.wiki û en.wiki bi botê hatine çêkirin. Tenê ''[//meta.wikimedia.org/wiki/Copyright copyright]'' û ''[//meta.wikimedia.org/wiki/Bot_policy Bot policy]'' dîqet bikin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:14, 9 tebax 2023 (UTC)
::Gelek spas bo xebata te ya hêja! [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 18:35, 9 tebax 2023 (UTC)
:::@[[Bikarhêner:Ghybu|Ghybu]] Ez behsa botekê nakim. Nimûne Ez dikarim bi hesaba xwe ya Balyozxane gelek rûpel carekê de çêkim bi skrîpta [[User:Balyozbot/CreateTranslation.js]]? Dema pêlî "Hemû çêke" dikî, skrîpt yek bi yek hemû rûpelên wergeran çêdike. Ew tiştek normal e? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:37, 9 tebax 2023 (UTC)
::::Nimûne: [[Taybet:Beşdarî/Balyozxane|2 deqe 34 rûpel hatin çêkirin bi skrîptê]] [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:49, 9 tebax 2023 (UTC)
:::::Tu hesabê xwe wekî botê bikar tinî û leza guherandina botê hindik bilind e (>12 guherandin/deq). Bi min, bo guherandinên biçûk pirsgirêk tine ye... Feqet tu nikarî tenê carekê de pênc sed an hezar gotar bi vî avayî çêkî :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 20:50, 9 tebax 2023 (UTC)
::::::@[[Bikarhêner:Ghybu|Ghybu]] çima na yaw bazarî tune ye? {{=D}} Bi hesabê xwe deqê de çend gotar bi vî awayî çêkim, ne pirsgirêk e? Ne tenê ez, ez ê bidime Ferhengvanî jî :D [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:16, 9 tebax 2023 (UTC)
:::::::Bnr. [https://ku.wiktionary.org/wiki/Got%C3%BBb%C3%AAja_bikarh%C3%AAner:%C5%9E%C3%AAr#Nochmal_wegen_Deinem_Bot] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:23, 9 tebax 2023 (UTC)
::::::::@[[Bikarhêner:Ghybu|Ghybu]] Li gorî Bot policy 12 edits per minute ji bo botekê baş e. Lê tiştek li ser bikarhêneran nayê gotin. Em ji deqê de 12 rûpel çêkin pirsgirêk çêbibe? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:38, 9 tebax 2023 (UTC)
:::::::::Min ne got ku ew problem e ji ber ku li vira kes ne dijî ye (wikiyên din eleqedar nake). Dîsa jî, belkî, li ser Dîwanê ji bo bikaranîna amûrê dengek pêwîst e {{=)}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:49, 9 tebax 2023 (UTC)
::::::::::PS: Problem tenê ji bo [[Taybet:Guherandinên dawî]] ye (nayê xwandin) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:56, 9 tebax 2023 (UTC)
:::::::::::Li ser Wergerê: bi min dema ku hemû beşa Wergerê li ser en.wiki tê kopî kirin, nivîsanda çavkanîyê jî pêwîst e, wekî: [//ku.wiktionary.org/w/index.php?title=xwarin&diff=5207568&oldid=5207001]. Na? [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 22:13, 9 tebax 2023 (UTC)
::::::::::::bi ya min dengdan ne hewce ye lê ger tu bêjî hewce ye, em dikarin yekî çêkin :/
::::::::::::ji bo guherandinên dawî min etiketek çêkir, nimûne [https://ku.wiktionary.org/w/index.php?title=Bikarh%C3%AAner:Balyozxane/testinggg&action=history] tu dikarî guhartinên dawî parzûn bikî ji bo ku guhartinên bi vî etîketî neyên dîtin.
::::::::::::Belê çavkanîdayîn jî pêwîst e. Ez ê wê jî tevlî skrîptê bikim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 22:32, 9 tebax 2023 (UTC)
{{outdent|::::::::::::}} {{silav|Ferhengvan}}. Min koda çêkirina wergeran nû kir. Êdî ne hewce ye yek bi yek pê li lînkan bikî. Pê li "Hemû çêke" bike. "Cureyê peyvê hilbijêre", Maneya wergerê binivîse ( bi otomatîkî navê rûpelê tê lê dikarî tiştên din lê zêde bikî), dûre ger dixwazî "Etîket" lê zêde bike bike "element, anatomî, biyolojî, ekonomî, hwd.) Dûre pê li "Bişîne" bike. Hemû werger yek bi yek tên çêkirin. Di deqiqeyê de herî zêde 6 rûpel çêdike loma hinek hêdî ye. @[[User:Ghybu|Ghbu]] Çiqas bilez be ne pirsgirêk e? --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:22, 11 tebax 2023 (UTC)
:Ji bo veşartina rûpelên ku bi CreateTranslation hatine çêkirin di rûpela Guhartinên dawî de pê li "Nîşankirin" bikin, dûre Pê li "Yên bijartî derxe" bikin û "CreateTranslation hilbijêrin. Bi vî awayî vedişêrin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:24, 11 tebax 2023 (UTC)
::Her hebî, pir baş çêdike. Wisa here, em ê di çend mehan de bigihin milyonek rûpelan :-) [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 14:07, 11 tebax 2023 (UTC)
:::@[[Bikarhêner:Ferhengvan|Ferhengvan]] înşela :) lê divê em hay jê hebin rûpelên xelet çênekin, dema çêdikî maneya peyvê bi eşkere bidin nivîsîn [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:17, 11 tebax 2023 (UTC)
::::@[[Bikarhêner:Ferhengvan|Ferhengvan]] herwiha ger te xeletîyek dît, min agahdar bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:18, 11 tebax 2023 (UTC)
::::Merheba, ji cûrên peyvan (navdêr, rengdêr, lêker...) "hejmar" kêm e, divê ew jî hebe. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:29, 12 tebax 2023 (UTC)
* @[[Bikarhêner:Ferhengvan|Ferhengvan]] di vê navberê de ger wextê te hebe, Xêra xwe dikarî navê zimanan jî bikî kurdî [[Modul:ziman]], ji ber ku em gelek rûpel çêdikin navên zimanan bi îngilîzî dimînin. Divê werin kurdîkirin ji bo ku em karibin kategoriyên wan çêkin.
Ji bo çêkirina kategoriyan Koda jêr tevlî [[Special:MyPage/common.js|rûpela xwe ya common.js]] bike:
<syntaxhighlight lang="javascript>
//[[Bikarhêner:Balyozxane/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozxane/addAutoCat.js&action=raw&ctype=text/javascript');
</syntaxhighlight>
:--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
::{{r|Ferhengvan}} Rûpelên xelet çêneke. Min hejmar lê zêde kir lê dema tiştek kêm be heta were sererastkirin bisekine Xêra xwe. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
:::Temam. Lê yên çêkirî ne xelet in ji ber ku hemû hejmar di heman demê de navdêr in jî. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:51, 12 tebax 2023 (UTC)
::::Silav @[[Bikarhêner:Ghybu|Ghybu]]. Em çêkirina rûpelan bi hesaba xwe dewam bikin yan jî hesaba xwe ya botê bi kar bînin? pîng {{r|Ferhengvan}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 19:37, 14 tebax 2023 (UTC)
== Bot ==
Silav Balyozxane, Sererastkirina rêzimanî bi botê problem e: te jî [https://ku.wiktionary.org/w/index.php?title=Koban%C3%AE&curid=279200&diff=5551838&oldid=5551836 dît], ji ber ku jêgirtin û çavkaniyan jî sererast dike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 14:48, 21 îlon 2023 (UTC)
:Silav @[[Bikarhêner:Ghybu|Ghybu]] Min yek bi yek AWB kontrol dikir û wextê xeletî çêkir, min rawestand, xeletiyê rast kir û dîsa dewam kir :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:50, 21 îlon 2023 (UTC)
== çêkirina forman bo [[hûr kirin]] ==
Silav Balyozxane,
gelo çi dibe sedem ku forma [[hûr kir]] bi awayekî otomatîk nayê afirandin? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:15, 12 çiriya paşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Li cem min pirsgirêk tine ye. Ka rûpelê purge bike û dîsa biceribîne. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:18, 12 çiriya paşîn 2023 (UTC)
::Silav, niha, piştî ku te rêz guhart, çêbû. - [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:20, 12 çiriya paşîn 2023 (UTC)
:::Û gelek caran divê ez ji peyvê derkevim ji ber ku form amade nabin (dema ku ez pê lê dikim). Bnr.: [https://ku.wiktionary.org/w/index.php?title=d%C3%BBr_kir&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=d%C3%BBr%20kirin&accel1=pos-l%C3%AAker%20bor%C3%AE%7C1%7Cyj-form-of&accel2=pos-l%C3%AAker%20bor%C3%AE%7C2%7Cyj-form-of&accel3=pos-l%C3%AAker%20bor%C3%AE%7C3%7Cyj-form-of&accel4=pos-l%C3%AAker%20bor%C3%AE%7C123%7Cp-form-of]. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:21, 12 çiriya paşîn 2023 (UTC)
::: Gava ez ji formê dertêm, û dîsa li ser gotara sereke dîsa pê li formê bikim, hingê çêdibe. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:23, 12 çiriya paşîn 2023 (UTC)
::::@[[Bikarhêner:Şêr|Şêr]] Ger li jor URL hebe û tê de agahdarî hebin, wê demê ne hewce ye derkevî rûpelê dîsa bar bike ew ê were çêkirin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:37, 12 çiriya paşîn 2023 (UTC)
:::::Baş e, mala te ava. :) Dem baş --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:38, 12 çiriya paşîn 2023 (UTC)
::::::URL bi piranî tune. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:42, 12 çiriya paşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Ez lê dinêrim lê min ti pirsgirêk nedît. Belkî tu hinek zû tevdigerî û bêyî ku lînk were derdikevî? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 12:17, 12 çiriya paşîn 2023 (UTC)
::::::::@[[Bikarhêner:Şêr|Şêr]] Hay ji syntaxhighlighter hebe, dema vekirî be carinan ji ber wê encam dernakevin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:26, 12 çiriya paşîn 2023 (UTC)
== amûra "wergerîne" ==
Silav keko,
min hewl da ku wergeran (ji ferhenga en) bidim wergirtin bi rêya amûra te, lê nebû. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:18, 16 çiriya paşîn 2023 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Silav. Te çi kir? Divê ji en.wiktê beşa Translation rasterast li rûpeleke ku.wiktê kopî bikî. Ti tişt neguherîne. Divê şablonên <nowiki>{{trans-top}} û {{trans-bottom}}</nowiki> hebe. (Heke navê şablona trans-top-see be divê -see jê bibî.) Dûre pê li Wergerîne bike û navê rûpela en.wiktê binivîse. Tiştek din nenivîse. Ew qas :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:21, 16 çiriya paşîn 2023 (UTC)
::@[[Bikarhêner:Şêr|Şêr]] Di amûra CreateTranslation de piştî te pê li "Bişîne" kir, divê rûpel vekirî bimîne heta hemû werger werin çêkirin. Ger ji rûpelê derkevî, amûr betal dibe. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
::Spas, fam kir ;)
:::PS: qismê > beşa çêtir e, ji ber ku beş "kurdîtir" e. Silav --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] "beş" li vir wekî hemû beşa Wergerê karibe were fêmkirin, lê di beşekê de dikare ji yekî zêdetir qism hebin loma me peyva qism tercîh kir. Herwiha ji mêj ve ye me dev ji dîtina peyveke "kurdîtir" berdaye, kîjan peyv berbelav be em wê bi kar tînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:39, 16 çiriya paşîn 2023 (UTC)
::::Ez jî wisa difikirim. Lê mixabin hin kurdên me serê xwe bi "paqijkirina" kurdî diêşînin. Ger em li gorî vê mantiqê tev bigerin, divê em nîvê zimanê almanî jê bibin. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:47, 16 çiriya paşîn 2023 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Va ye dîsa em ketin vê nîqaşê [[:w:Gotûbêj:Bangeşe#Barkirina_Bangeşe_12-2023]]. Xwedê ez ê dîn bibim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 10 kanûna pêşîn 2023 (UTC)
::::::Herwiha [[:w:Pêjimêrk]] {{dîwar}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:06, 10 kanûna pêşîn 2023 (UTC)
::::::Bi demê re gotinên biyanî tevkariyeke girîng li zimanê kurdî kirine û bûne beşekî ji wê. Ev peyv danûstandina çandî, pêşketina zanistî û bandorên din nîşan didin. Zimanekî bê peyvên biyanî ne tenê ji aliyê zimanî ve belengaz e, di heman demê de ji aliyê çandî ve jî îzole dibe û nikare xwe adapte bike. Tê bêjî qey 5 hezar peyvên latînî wê kurdî xira bikin. :) Serê xwe bi wan neêşîne. Bawer bike mirov newêre kurdên me hînî kurdî bike. Wek mînak gava ez bêjim kursî, wê tiliyên xwe di nav çavên min re rakin. :( Wê li dewsa wê bêjin "rûniştek", lê ev peyv ji bo her tiştê ku mirov li ser "rûdinê" tine ziman. Xeman nexwe, yên wisa wê xilas nebin :-) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:29, 10 kanûna pêşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Erê lê pirsgirêk ew ê fêmbariya wîkîpediya xira dibe. Loma dixwazim qet nebe tiştên wekî sernavên gotar û kategoriyan baş bin lê ew jî nabe. Ew kes timî bi peyvên ecêb dinivîse ku êdî meriv jê ti tişt fêm nake. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:31, 10 kanûna pêşîn 2023 (UTC)
::::::::Ez jî li aliyê te me. Lê bawer ke wî hevalî ji ev peyv ji yekî wek "xwe" hîn bûne. Ev şaşî ne ya wî ye. Gava ew jî van xeletiyan bidomîne, wê yên piştî wî jî wisa hîn bibin. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:35, 10 kanûna pêşîn 2023 (UTC)
== Forma nû a çêkirina peyvan zû bar dibe ==
Silav Balyozxane,
bi min forma nû a (wek ya viyetnamî) zû bar dibe. Dema ez dixwazim formên tewandî yên navdêran çêbikim, formên skrîptê bar nabin dema ku ez forma kesk ya tabloya tewandinê ditikînim.. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:55, 1 kanûna pêşîn 2023 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1 Mînak] --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:56, 1 kanûna pêşîn 2023 (UTC)
::Silav @[[Bikarhêner:Şêr|Şêr]] Dema di URLyê de ''User:Balyozxane/creation/intro'' [https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=avaker&accel1=pos-navd%C3%AAr%20def%7Cconstr%7Cp-form-of%20gender-n] hebe li cem min form bar nabe. Lê wekî din her tim bar dibe. Ger karekî te bi vî amûrî tinebe dikarî li ser [[Taybet:Tercîh#mw-prefsection-gadgets]] neçalak bikî. Li qutiya li kêleka "Forma çêkirina rûpelên nû çalak bike" bitikîne ew ê were '''ne'''çalakkirin. Dûre dikarî dîsa çalak bikî. Niha çareseriyeke din nabînim. Ger fikrekî te hebe, bibêje em biceribînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 16:06, 1 kanûna pêşîn 2023 (UTC)
:::Spas, min ne-çalak kirin, pirsgirêk çareser bû. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:09, 1 kanûna pêşîn 2023 (UTC)
== çêkirina kategoriyên tên xwestin ==
Silav Balyozxane,
ez [https://ku.wiktionary.org/wiki/Taybet:Kategor%C3%AEy%C3%AAn_t%C3%AAn_xwestin van] kategoriyên xwestî bi bo çêbikim? Min kategoriyek wek test çêkir, [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ker%C3%AE li vir bnr] -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:26, 2 kanûna pêşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Ger dixwazî, çêke lê pêşî [[WF:SB#katbike-rec]] bi kar bîne wek "pwb.py katbike-rec -wantedcategories". (Ne hewce ye lîsteyekî çêkî) Daku jorkategorî û înterwîkî lê were zêdekirin. Piştî hemû xilas bû îcar bi [[WF:SB#katbike]] dîsa hemû -wantedcategories çêke. Spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:30, 2 kanûna pêşîn 2023 (UTC)
::Temam, spas, va min dest pê kir [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ok%C3%AE]. Ez ê vêga bi hesabê bot bidim çêkirin. Êvara te bimîne xweş, û spas ji bo keda te. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:46, 2 kanûna pêşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Gelek spas! A te jî bimîne xweş :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:49, 2 kanûna pêşîn 2023 (UTC)
== Speech recognition ji bo kurmancî ==
Silav bira,
te [https://huggingface.co/Akashpb13/xlsr_kurmanji_kurdish ev] dîtiye? Xuya ye ku nû ji bo kurmancî hatiye çêkirin. Piraniya hevokan hema bêje ji sedî 90 nas dike --17:50, 7 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 17:50, 7 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] ne welle min nedîtiye û zêde bala min tiştên wisa nakişîne lê belê hevalê @[[Bikarhêner:Guherto|Guherto]] pê eleqedar dibe, ez ê jê re bişînim. Gelek spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:59, 7 kanûna paşîn 2024 (UTC)
::Ev tişt bala min dikişînin. :)) Eger pirsên Guherto hebin, dikare bi min re bikeve têkiliyê. Êvara te bimîne xweş :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:02, 7 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Ew ê dê gelek bextiyar be :) Êvar baş! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 7 kanûna paşîn 2024 (UTC)
::::{{r|Şêr}} Di sala 2023an li ser ''commonvoice.mozilla'' de zêdetirî 15 hezar devokên kurdî hatine qeyd kirin, bnr https://commonvoice.mozilla.org/kmr. Berê me nikarîbû bikin ji ber ku dane kêm bûn, niha bi ''[[:w:en:Artificial neural network]]'' bi hêsanî tê çêkirin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:25, 7 kanûna paşîn 2024 (UTC)
:::::Silav Ghybu, gelek spas ji bo agahiyê, bo keda we. Jixwe li wir Mozilla Commonvoice jî wek çavkanî hatiye bikaranîn. Silav û rêz. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:13, 7 kanûna paşîn 2024 (UTC)
::::::[https://huggingface.co/facebook/mms-tts-kmr-script_latin?text=Ew+%C3%AEro+%C3%A7i+dike%3F Ev jî] nivîsê dike deng. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:28, 9 kanûna paşîn 2024 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Te ceriband? Xweş dixebite gelo? Belkî em dikarin gotarên Wîkîpediyayê bidin xwendin û lînka dengî li rûpelan zêde bikin :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:31, 9 kanûna paşîn 2024 (UTC)
::::::::Min hê îro dît. Li gorî testên min nîvî-nîvî ye. Modela deng di hin peyvan xwe pirsgirêkan derdixe, zêde "qeba" ye, û hin tîp tên daqurtandin (bi lêv nake). [Û her wiha]Pêdiviya me bi zimanekî naziktir heye. :)) Model divê hinekî were perwerdekirin. Ji bo niha ez bikaranîna wê pêşniyar nakim bi rastî.- Silav û rêz ..[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:40, 9 kanûna paşîn 2024 (UTC)
::::::::Ez ê li ser Google Colab, modelê daxim û test bikim. Lê tu jî diarî peyvên xwe an jî cumleyên/hevokên xwe binivîsî. :) Wê gavê ne hewce ye ku tu daxî. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:42, 9 kanûna paşîn 2024 (UTC)
:::::::::Gelek spas! Ez ê li ser PAWS biceribînim [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:48, 9 kanûna paşîn 2024 (UTC)
::::::::::Merheba ji we re hevalno. Min hê li ew tiştê ko Şêr lînk kiriye neceribandiye lê piçekî tecrûba min bi van tiştan re heye. Wextê ko hê nû Metayê proja xwe ya bi navê "[https://ai.meta.com/blog/multilingual-model-speech-recognition/ MMS]" derxistibû min xwest biceribênim û min dûvre jî ceriband. TTSa wê zêde bi kêr nayê ji ber ko dengên rast dernaxe (li gora alfabê diçe û alfaba me ji bo şanîkirina dengan bi kêr nayê), lê speech-recognitiona wê bi kêr tê. Hinek gotinan peve dinivîsêne lê ew piştre rehet kare were edilandin (bi destan jî û bi otomatîkî jî). Metayê proja NLLByê jî derxistibû û ew jî di mesela tercimekirinê de ji Google Translate gelekî baştir e. (Dîse jî ji bo kurmancî ya herî baş Bing Translate e). Ez bi rastî bêjim ez piçekî bi xwe serbilind im, [[Wîkîferheng:Dîwan/arşîv 2020#CommonVoice bi kurmancî|ji ber ko herî pêşî min ji CommonVoicê xwest ko kurmancî lê zêde bikin]], berî çar salan. [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:09, 10 kanûna paşîn 2024 (UTC)
:::::::::::@[[Bikarhêner:Şêr|Şêr]] Ew proja ko te lînk kiriye ji MMSa Metayê kevntir e. Berî 2 salan hatiye çêkirin û li vir dosyeyek li serê heye: https://aclanthology.org/2022.lrec-1.689.pdf [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:13, 10 kanûna paşîn 2024 (UTC)
== POS-Tag Kurmancî ==
Min tiştekî wisa ya bikêrhatî dît niha: [http://stanza.run/]. --23:33, 13 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:33, 13 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Gelek spas. Min niha ceriband xweş xuya dike :D. Dikarî emaila xwe vekî, dixwazim tiştek li te pirs bikim? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 23:43, 13 kanûna paşîn 2024 (UTC)
:{{r|Şêr}} Min ê vê amûrê kod bikira, bnr. [//ku.wiktionary.org/wiki/W%C3%AEk%C3%AEferheng:D%C3%AEwan/2023#Am%C3%BBr%C3%AAn_anal%C3%AEzkirina_kurmanc%C3%AE? ''Amûrên analîzkirina kurmancî?''] Ping {{r|Ferhengvan}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 23:47, 13 kanûna paşîn 2024 (UTC)
::{{r|Ghybu}}, {{r|Balyozxane}}, di hin lêkeran de kêmasî hene, lê bi piranî dixebite. Mirov dikare [https://huggingface.co/stanfordnlp/stanza-kmr li vir] pêşniyazan bike? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:03, 14 kanûna paşîn 2024 (UTC)
::{{r|Balyozxane}}, min standina e-peyaman aktîv kir. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:07, 14 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Min şand, înşela te dîtibe :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:46, 14 kanûna paşîn 2024 (UTC)
::::Belê, min dît. Lê divê pêşî ez wê sepanokê daxim. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Temam bira :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
::::::Min ID şand. ;) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:23, 14 kanûna paşîn 2024 (UTC)
== tîpen erebî ==
: → ''Li rûpela'' [[Wîkîferheng:Dîwan/2024#tîpen erebî]] ''hat barkirin.''
== [[Wîkîferheng:ceribandin/aWa]] ==
null —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:05, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî ye —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:15, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:06, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:07, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:20, 24 çiriya paşîn 2024 (UTC)
== Files on Commons ==
Hi! I moved most of the files to Commons. So now they can be used on other wikis. The local files in [[:Kategorî:Gotarên ku bên jêbirin]] can now be deleted. Can you have a look? [[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 16:20, 31 kanûna pêşîn 2024 (UTC)
:@[[Bikarhêner:MGA73|MGA73]] Sorry for the late reply. I've been quite busy lately, your message completely slipped my mind. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:53, 13 kanûna paşîn 2025 (UTC)
:: Hello! No worries :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 06:41, 14 kanûna paşîn 2025 (UTC)
I noticed that there is one unused file without a license: [[:Wêne:Wîkîferheng-guhertin.png]]. It it is no longer usable then I suggest to delete it. --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:41, 14 kanûna paşîn 2025 (UTC)
:Done, thanks! [[Bikarhêner:Wikihez|Wikihez]]<small><sup>'''[[Bikarhêner:Balyozxane|Balyozxane]]''' ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]])</sup></small> 15:44, 14 kanûna paşîn 2025 (UTC)
::Happy to help. Now [[Special:ListFiles]] looks nice and short :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:46, 14 kanûna paşîn 2025 (UTC)
== Kom ==
Silav bira, hê jî ew koma we ya ku tu, Bikarhêner û her wiha Guherto tê de bûn, heye? Ez jî demekê tê de bûm, lê ji ber zanîngehê dema min tune bû, û ez bêdeng û bêseda jê derketibûm. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:38, 7 sibat 2025 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Erê, Min mesaj şand ka lê binêre :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:06, 7 sibat 2025 (UTC)
::@[[Bikarhêner:Wikihez|Wikihez]], niha min dît. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:13, 7 sibat 2025 (UTC)
== jêgirtin ==
#* {{jêder-pirtûk|ku|jêgirtin=û |nivîskar=J.R.R. Tolkien|sernav=Hobbit|wergêr=Samî Hêzil|cîh=Enqere|weşanxane={{w|Weşanên Cervantes|Cervantes}}|sal=2023|çap=1|rûpel=9|isbn=9786257724838}}
merhaba. Navê wergêr xuya nake dikarî bidî xuya kirin xêra xwe. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:01, 28 sibat 2025 (UTC)
:Merheba {{r|Rewiye tine}}. Gereg {{param|wergêr}} be te "Wergêr:" nivîsiye.--[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:06, 28 sibat 2025 (UTC)
::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Bira, qaîdeyeke wisa heye ku nimûneyên bikaranîna kelîmeyan gereg pêşî ji nivîskarên bi kurdî nivîsîne were wergirtin, eger çavkaniyên ji kitêbên kurdî tine be, wê demê meriv dikare tercimeyên kitêban ji zimanên din bi kar bîne. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:11, 28 sibat 2025 (UTC)
:::Yanê pirtukên werger ji bo mînak naye qebûl kirin? [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:16, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Em nabêjin "nayê qebûlkirin" lê gereg pêşî çavkaniyên kurdî be dûre yên tercime. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:23, 28 sibat 2025 (UTC)
:::Rast e. Lê min vê pirtûkê xwendîye û hinek peyva bijartîye. Ez nîyetim wan jêgirtina derbas bikim. Mesele ev e. Berîya vê, min ji pirtûkên klasîk jî jêgirtina derbas kiriye. Ji bo hişyarî mala te ava. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:27, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Yên klasîk pir muhîm in, tê de kîjan kelîme derbas bin gereg em herf bi herf li wir qeyd bikin, lê yên tercime tenê eger çavkaniyên kurdî tinebin baş in. Tu dîsa kelîmeyên ku te bijartine binivîse lê ji bo kelîmeyên naskirî nekî çêtir e. Qerar dîsa jî ya te ye. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:32, 28 sibat 2025 (UTC)
== kurmancîyek şkestî ==
Silav {{r|Wikihez}}
https://www.youtube.com/watch?v=hH-DO1RT8zM [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 12:23, 24 adar 2025 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 20:06, 28 nîsan 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 -->
== [[bilgîsayar]] ==
Silav @[[Bikarhêner:Wikihez|Wikihez]], di gotara [[bilgîsayar]] de çavkanî hewce ne. ''[[Wîkîferheng:Pîvekên tevlîkirinê|Çavkanî hewce ye]].'' —[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 00:11, 30 hezîran 2026 (UTC)
== Lîsteyek heye? ==
Silav WikiHez, te got şablon hene, eceba lîsteyek heye ku ez jê hemû şablonên WikiFerhengê bibînim? [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:14, 31 tîrmeh 2026 (UTC)
:Merheba @[[Bikarhêner:Kurdanparez|Kurdanparez]], Li vira [[Alîkarî:Bikaranîna şablonan]] lîsteyek heye feqat hem gelek ji wan kevn bûne, hem jî ne mimkûn e em hemû şablonan rêz bikin. Pêşî li ser wîkîya îngilîzî li şablona dixwazî bigere, eger înterwîkiyan de tinebe, ji min re binivîse ez ê çêkim.
:Pirsek Min non-gloss [[:en:T:n-g]] wekî {{ş|îzaha ne eleqedarî maneyê}} (bi kurtî înm) tercime kir feqat çi eleqeyê ez jî nizanim fikrekî te hebe li gotûbêjê binivîse em rast bikin. Niha dibêjim, gloss bikim îzaha maneyî, non-gloss bikim îzaha nemaneyî belkî baştir be, tu çi dibêjî? [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:22, 31 tîrmeh 2026 (UTC)
::Gelek spas. Ez ê li wir binivîsim. [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:27, 31 tîrmeh 2026 (UTC)
:::@[[Bikarhêner:Kurdanparez|Kurdanparez]] [https://ku.wiktionary.org/w/index.php?title=dimil%C3%AE&diff=6292587&oldid=6292584] Ji bo înlîne-modifiers bnr [[Modul:columns#L-711]] ji bo etîketan [[Modul:labels#Çêkirina_etîketan]] jkx yên ku kêm in îlawe bike. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:49, 31 tîrmeh 2026 (UTC)
::::Gelek spas :)) [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 23:03, 31 tîrmeh 2026 (UTC)
== کرمانجی ==
سەلام. پرسیارێکم هەبوو، کرمانجی زمانە یان زاراوە؟ [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 12:34, 19 tebax 2026 (UTC)
:زاراوا یە فەقات ژ بۆ ژ هەڤ ئێجستنا کورمانجی و سۆرانی ل ڤر وەکی زمان خویا دبە [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 12:41, 19 tebax 2026 (UTC)
::باشە لە [https://ku.wiktionary.org/wiki/Destp%C3%AAk دەستپێک] نووسراوە «فەرهەنگ بە '''کورمانجی''' و زێدەیێ ۳۸۱۹ زیمانێن دینێ»، باشتر نەبوو نووسرابا '''کوردی کرمانجی'''؟
::[[:Kategorî:Kurmancî|لێرەش]] لە نێو ئەو باکسەی نووسراوە '''زیمانێ کورمانجی''' نەک '''زاراڤەیا کورمانجی'''. [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 19:02, 19 tebax 2026 (UTC)
:::Ew ne tiştên muhîm in, ne lazim e em her daîm kurdî kurmancî binivîsin, kurmancî jî soranî jî kurdî ne, her kes jî wisa qebûl dike. Kategorî jî ji ber ku otomatîk tê çêkirin min nexwest wextê xwe pê re xerc bikim. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 10:51, 21 tebax 2026 (UTC)
== Soranî bi tîpên latînî ==
Silav birako, min dît ku bo eynî/heman kelîmeyên soranî guhartoya bi tîpên latînî jî heye. Û translîterasyon jî tevlihev dibe. Wekî nimûne binêre: [https://ku.wiktionary.org/wiki/b%C3%AErkirdinewe#Soran%C3%AE]. Gelo baş e ku her du guharto hebin (farisî-erêbî û latînî)? Ez newêrim devê mijarê vekim,lê bala min kişand. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:25, 24 tebax 2026 (UTC)
j9c7w3m5uszuz9me83r0k3eb5co835h
6342219
6342217
2026-08-24T20:31:15Z
Wikihez
7344
/* Soranî bi tîpên latînî */ Bersiv
6342219
wikitext
text/x-wiki
== Astengî Bi Sepana Lingua Libre. ==
Silav Birêz,
Vaye 2-3 roj e ku ez nikarim dengê xwe bi rêya sepana Lingua Libre'yê ve biweşînim. Ez dikarim têkevim û deng tomar bikim, lê nikarim dengê xwe li ser Wikimedia Commons biweşînim. Gava ku ez pêl li ser bişkoka "Li Ser Wikimedia Commons Biweşîne" dikim qebûl nake û bişkoka "Dubare Biceribîne Barkirin Bi Ser Neket" dide nîşan. Gava ez pêlê wê jî dikim, tiştek nabe û ev bişkok dîsa derkevî ser holê. Tû kar nake. Derbarê vî mijarê min li ser tora Lingua Libre nivîsand, lê tû encam derneket. Ev program dengê min tomar dike, le naweşîne. Gelo tû fikr û ramanê te li ser vî mijarê heye? Sipas. [[Bikarhêner:Key Mîrza|Key Mîrza]] ([[Gotûbêja bikarhêner:Key Mîrza|gotûbêj]]) 23:38, 28 kanûna paşîn 2023 (UTC)
== Modul û şablonên Wîkîpediya yên Zazakî ==
Silav birêz Balyozxane!
Tu dikarî di Wîkîpediya Zazakî de alîkariya min bikî? Li wir kesek neqeydkirî hin modul û şablon guhert. Ji ber vê yekê agahî tevlihev dibin. Min ew vegerand, lê ew wek nimûne di "Nıfus" ([https://diq.wikipedia.org/wiki/Modul:N%C4%B1fus Modul:Nıfus] û [https://diq.wikipedia.org/wiki/%C5%9Eablon:N%C4%B1fus Şablon:Nıfus]) de xuya nake. Ez berê spas dikim! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 19:50, 21 gulan 2023 (UTC)
:@[[Bikarhêner:Mirzali|Mirzali]] Silav. Problemeke gelemper li wîkiyê heye. Bnr. [[:w:en:Wikipedia:Village_pump_(technical)#Graph_extension_disabled_per_immediate_effect|vê gotûbêja en.wîkiyê]]. Grafîk niha naxebite heta xwediyên wîkiyê çareser bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 05:46, 22 gulan 2023 (UTC)
:: Spas ji bo pêşniyarê! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 06:12, 22 gulan 2023 (UTC)
== Li ser pêwîstiya sê çavkaniyan ji bo nivîsên etîmolojiya peyvên kurdî. ==
Silav Birêz,
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzika bo afirandina peyveke nû bo etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse. Dema ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî çavkanîyê bibînî û peyt bikî
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzikên afirandina peyveke nû, bo nivîsa etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse? Dema ku ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî ew çavkanîyê bibînî û peyt bikî. Ma tenê çavkaniyek têr e? Yan gerek sisê bibe? Ger tu bawer nakî ez dikarim çendîn nimune nîşanê te bidim. Benda bersiva cenabê te me. Sipas [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 08:59, 6 hezîran 2023 (UTC)
:Silav @[[Bikarhêner:Ebulfîda|Ebulfîda]]. Tu hinek bi awayekî şovenîst tevdigerî. Hinek bêhnfireh be ji kerema xwe re. Tu çavkanî dixwazî lê belê çavkanî kêm in. Yên heyî jî tu qebûl nakî. Min ji te re Chyet wek referans da, te ew jî qebûl nekir. Chyet nêzî 40 zimanan dizane û hemû zaravayên kurdî jî dizane dîsa jî tu qebûl nakî. Tu wekî folk etymology difikirî û dixwazî her tiştî bikî kurdî. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 08:37, 8 hezîran 2023 (UTC)
::Sipas, Ma tu jî şovenê hevalê xwe nînî? Bo çin 3 referans bo her kes nameşe? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:33, 8 hezîran 2023 (UTC)
:::Xwedê hiş daye mirov ku bi kar bînî:
:::1-Çawa peyva "Befr", "Baran" ya Kurdî/Îranî heye lê "Cemed"a Kurdî/Îranî tineye? Dibe? Hemû bi hev re girêdayî nînin? Pirtirîn dewletên ereban da "cemed" çênabe. Ma çima reha/koka cemed "cam" ne bî? Ma hemû zimanzanan û etîmologan ser rêya rast in? Li gor min na. Ez zimanzanek wek "Garnik S. Asatrian" û "David Neil MacKenzie" nas nakim. Min jiyana wan xwendiye her du jî dijminatiya Kurdan kirine:
:::https://www.quora.com/Do-you-believe-that-all-Kurdish-linguists-to-date-have-acted-impartially-and-scientifically/answer/Hamdi-Aciksoz
:::2- Ger peyva "Evîn"a Kurdî tinebe, gelo Kurd ji Ereban hînê hezkirinê bûne? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:50, 8 hezîran 2023 (UTC)
== Derbarê pêwistiya 3 referans bo afirandina peyvên nû û nivîsên etîmolojiyên nû. ==
Birêz, Êdî ez westiyam. Cara dawî ji te û hemû nivîskaran rica dikim ku bêyî 3 referans peyvên nû neafirînin û etîmolojî nenivîsînin. Ger ez rastîyê nivîsek/referansek bêyî 3 referans bikevim ezê bi hirs û dijûn livir derkevim. Ji we rica dikim mercên xwe bi kar bînin.[[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 17:42, 10 hezîran 2023 (UTC)
:Qaîdeyeke ji bo etîmolojiyê wekî ku tu dibêjî tune ye. Ger dixwazî, dikarî dengdaneke bidî destpêkirin û li gorî encama dengdanê em dikarin bixebitin. Bi xatirê te. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:21, 14 hezîran 2023 (UTC)
== Çêkirina botekê ==
Merheba hêja {{r|Balyozxane}} Ez bi şanazî dibînim ku tu bota "Balyozbot" bo zêdekirina rûpelên nû ji beşa wergeran bi kar tînî. Ev karekî pir baş e, siheta te xweş! Gelo ez jî dikarim bi awayekî wisa bibim alîkar? Bi silavên germ re! --[[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 07:00, 9 tebax 2023 (UTC)
:@[[Bikarhêner:Ferhengvan|Ferhengvan]] Balyozbot niha bi otomatîk naxebite, Ez li ser scrîptekê dixebitim ya ku dikare hemû wergerê carekê de çêke. Ger rast bixebite, ez ê skrîptê bidim te. Lê niha hin pirsgirêk çêdibin. Wisa dixuye ku ew ê çênebe. Lê dîsa jî hewl didim.
:::P.S. Tu dikarî [[:w:WP:AWB]] biceribînî. Heger hinek hîn bibî, dikarî hesabekî botê çêkî û ez dikarim alîkariya te bikim.
:[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:29, 9 tebax 2023 (UTC)
::Silav @[[Bikarhêner:Ghybu|Ghybu]] Çêkirina gelek rûpelan bi butonekê qedexe ye yan na? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:03, 9 tebax 2023 (UTC)
:::Silav, ne qedexe ye. Piraniya rupelên fr.wiki û en.wiki bi botê hatine çêkirin. Tenê ''[//meta.wikimedia.org/wiki/Copyright copyright]'' û ''[//meta.wikimedia.org/wiki/Bot_policy Bot policy]'' dîqet bikin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:14, 9 tebax 2023 (UTC)
::Gelek spas bo xebata te ya hêja! [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 18:35, 9 tebax 2023 (UTC)
:::@[[Bikarhêner:Ghybu|Ghybu]] Ez behsa botekê nakim. Nimûne Ez dikarim bi hesaba xwe ya Balyozxane gelek rûpel carekê de çêkim bi skrîpta [[User:Balyozbot/CreateTranslation.js]]? Dema pêlî "Hemû çêke" dikî, skrîpt yek bi yek hemû rûpelên wergeran çêdike. Ew tiştek normal e? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:37, 9 tebax 2023 (UTC)
::::Nimûne: [[Taybet:Beşdarî/Balyozxane|2 deqe 34 rûpel hatin çêkirin bi skrîptê]] [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:49, 9 tebax 2023 (UTC)
:::::Tu hesabê xwe wekî botê bikar tinî û leza guherandina botê hindik bilind e (>12 guherandin/deq). Bi min, bo guherandinên biçûk pirsgirêk tine ye... Feqet tu nikarî tenê carekê de pênc sed an hezar gotar bi vî avayî çêkî :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 20:50, 9 tebax 2023 (UTC)
::::::@[[Bikarhêner:Ghybu|Ghybu]] çima na yaw bazarî tune ye? {{=D}} Bi hesabê xwe deqê de çend gotar bi vî awayî çêkim, ne pirsgirêk e? Ne tenê ez, ez ê bidime Ferhengvanî jî :D [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:16, 9 tebax 2023 (UTC)
:::::::Bnr. [https://ku.wiktionary.org/wiki/Got%C3%BBb%C3%AAja_bikarh%C3%AAner:%C5%9E%C3%AAr#Nochmal_wegen_Deinem_Bot] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:23, 9 tebax 2023 (UTC)
::::::::@[[Bikarhêner:Ghybu|Ghybu]] Li gorî Bot policy 12 edits per minute ji bo botekê baş e. Lê tiştek li ser bikarhêneran nayê gotin. Em ji deqê de 12 rûpel çêkin pirsgirêk çêbibe? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:38, 9 tebax 2023 (UTC)
:::::::::Min ne got ku ew problem e ji ber ku li vira kes ne dijî ye (wikiyên din eleqedar nake). Dîsa jî, belkî, li ser Dîwanê ji bo bikaranîna amûrê dengek pêwîst e {{=)}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:49, 9 tebax 2023 (UTC)
::::::::::PS: Problem tenê ji bo [[Taybet:Guherandinên dawî]] ye (nayê xwandin) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:56, 9 tebax 2023 (UTC)
:::::::::::Li ser Wergerê: bi min dema ku hemû beşa Wergerê li ser en.wiki tê kopî kirin, nivîsanda çavkanîyê jî pêwîst e, wekî: [//ku.wiktionary.org/w/index.php?title=xwarin&diff=5207568&oldid=5207001]. Na? [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 22:13, 9 tebax 2023 (UTC)
::::::::::::bi ya min dengdan ne hewce ye lê ger tu bêjî hewce ye, em dikarin yekî çêkin :/
::::::::::::ji bo guherandinên dawî min etiketek çêkir, nimûne [https://ku.wiktionary.org/w/index.php?title=Bikarh%C3%AAner:Balyozxane/testinggg&action=history] tu dikarî guhartinên dawî parzûn bikî ji bo ku guhartinên bi vî etîketî neyên dîtin.
::::::::::::Belê çavkanîdayîn jî pêwîst e. Ez ê wê jî tevlî skrîptê bikim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 22:32, 9 tebax 2023 (UTC)
{{outdent|::::::::::::}} {{silav|Ferhengvan}}. Min koda çêkirina wergeran nû kir. Êdî ne hewce ye yek bi yek pê li lînkan bikî. Pê li "Hemû çêke" bike. "Cureyê peyvê hilbijêre", Maneya wergerê binivîse ( bi otomatîkî navê rûpelê tê lê dikarî tiştên din lê zêde bikî), dûre ger dixwazî "Etîket" lê zêde bike bike "element, anatomî, biyolojî, ekonomî, hwd.) Dûre pê li "Bişîne" bike. Hemû werger yek bi yek tên çêkirin. Di deqiqeyê de herî zêde 6 rûpel çêdike loma hinek hêdî ye. @[[User:Ghybu|Ghbu]] Çiqas bilez be ne pirsgirêk e? --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:22, 11 tebax 2023 (UTC)
:Ji bo veşartina rûpelên ku bi CreateTranslation hatine çêkirin di rûpela Guhartinên dawî de pê li "Nîşankirin" bikin, dûre Pê li "Yên bijartî derxe" bikin û "CreateTranslation hilbijêrin. Bi vî awayî vedişêrin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:24, 11 tebax 2023 (UTC)
::Her hebî, pir baş çêdike. Wisa here, em ê di çend mehan de bigihin milyonek rûpelan :-) [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 14:07, 11 tebax 2023 (UTC)
:::@[[Bikarhêner:Ferhengvan|Ferhengvan]] înşela :) lê divê em hay jê hebin rûpelên xelet çênekin, dema çêdikî maneya peyvê bi eşkere bidin nivîsîn [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:17, 11 tebax 2023 (UTC)
::::@[[Bikarhêner:Ferhengvan|Ferhengvan]] herwiha ger te xeletîyek dît, min agahdar bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:18, 11 tebax 2023 (UTC)
::::Merheba, ji cûrên peyvan (navdêr, rengdêr, lêker...) "hejmar" kêm e, divê ew jî hebe. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:29, 12 tebax 2023 (UTC)
* @[[Bikarhêner:Ferhengvan|Ferhengvan]] di vê navberê de ger wextê te hebe, Xêra xwe dikarî navê zimanan jî bikî kurdî [[Modul:ziman]], ji ber ku em gelek rûpel çêdikin navên zimanan bi îngilîzî dimînin. Divê werin kurdîkirin ji bo ku em karibin kategoriyên wan çêkin.
Ji bo çêkirina kategoriyan Koda jêr tevlî [[Special:MyPage/common.js|rûpela xwe ya common.js]] bike:
<syntaxhighlight lang="javascript>
//[[Bikarhêner:Balyozxane/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozxane/addAutoCat.js&action=raw&ctype=text/javascript');
</syntaxhighlight>
:--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
::{{r|Ferhengvan}} Rûpelên xelet çêneke. Min hejmar lê zêde kir lê dema tiştek kêm be heta were sererastkirin bisekine Xêra xwe. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
:::Temam. Lê yên çêkirî ne xelet in ji ber ku hemû hejmar di heman demê de navdêr in jî. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:51, 12 tebax 2023 (UTC)
::::Silav @[[Bikarhêner:Ghybu|Ghybu]]. Em çêkirina rûpelan bi hesaba xwe dewam bikin yan jî hesaba xwe ya botê bi kar bînin? pîng {{r|Ferhengvan}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 19:37, 14 tebax 2023 (UTC)
== Bot ==
Silav Balyozxane, Sererastkirina rêzimanî bi botê problem e: te jî [https://ku.wiktionary.org/w/index.php?title=Koban%C3%AE&curid=279200&diff=5551838&oldid=5551836 dît], ji ber ku jêgirtin û çavkaniyan jî sererast dike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 14:48, 21 îlon 2023 (UTC)
:Silav @[[Bikarhêner:Ghybu|Ghybu]] Min yek bi yek AWB kontrol dikir û wextê xeletî çêkir, min rawestand, xeletiyê rast kir û dîsa dewam kir :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:50, 21 îlon 2023 (UTC)
== çêkirina forman bo [[hûr kirin]] ==
Silav Balyozxane,
gelo çi dibe sedem ku forma [[hûr kir]] bi awayekî otomatîk nayê afirandin? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:15, 12 çiriya paşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Li cem min pirsgirêk tine ye. Ka rûpelê purge bike û dîsa biceribîne. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:18, 12 çiriya paşîn 2023 (UTC)
::Silav, niha, piştî ku te rêz guhart, çêbû. - [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:20, 12 çiriya paşîn 2023 (UTC)
:::Û gelek caran divê ez ji peyvê derkevim ji ber ku form amade nabin (dema ku ez pê lê dikim). Bnr.: [https://ku.wiktionary.org/w/index.php?title=d%C3%BBr_kir&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=d%C3%BBr%20kirin&accel1=pos-l%C3%AAker%20bor%C3%AE%7C1%7Cyj-form-of&accel2=pos-l%C3%AAker%20bor%C3%AE%7C2%7Cyj-form-of&accel3=pos-l%C3%AAker%20bor%C3%AE%7C3%7Cyj-form-of&accel4=pos-l%C3%AAker%20bor%C3%AE%7C123%7Cp-form-of]. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:21, 12 çiriya paşîn 2023 (UTC)
::: Gava ez ji formê dertêm, û dîsa li ser gotara sereke dîsa pê li formê bikim, hingê çêdibe. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:23, 12 çiriya paşîn 2023 (UTC)
::::@[[Bikarhêner:Şêr|Şêr]] Ger li jor URL hebe û tê de agahdarî hebin, wê demê ne hewce ye derkevî rûpelê dîsa bar bike ew ê were çêkirin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:37, 12 çiriya paşîn 2023 (UTC)
:::::Baş e, mala te ava. :) Dem baş --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:38, 12 çiriya paşîn 2023 (UTC)
::::::URL bi piranî tune. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:42, 12 çiriya paşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Ez lê dinêrim lê min ti pirsgirêk nedît. Belkî tu hinek zû tevdigerî û bêyî ku lînk were derdikevî? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 12:17, 12 çiriya paşîn 2023 (UTC)
::::::::@[[Bikarhêner:Şêr|Şêr]] Hay ji syntaxhighlighter hebe, dema vekirî be carinan ji ber wê encam dernakevin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:26, 12 çiriya paşîn 2023 (UTC)
== amûra "wergerîne" ==
Silav keko,
min hewl da ku wergeran (ji ferhenga en) bidim wergirtin bi rêya amûra te, lê nebû. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:18, 16 çiriya paşîn 2023 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Silav. Te çi kir? Divê ji en.wiktê beşa Translation rasterast li rûpeleke ku.wiktê kopî bikî. Ti tişt neguherîne. Divê şablonên <nowiki>{{trans-top}} û {{trans-bottom}}</nowiki> hebe. (Heke navê şablona trans-top-see be divê -see jê bibî.) Dûre pê li Wergerîne bike û navê rûpela en.wiktê binivîse. Tiştek din nenivîse. Ew qas :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:21, 16 çiriya paşîn 2023 (UTC)
::@[[Bikarhêner:Şêr|Şêr]] Di amûra CreateTranslation de piştî te pê li "Bişîne" kir, divê rûpel vekirî bimîne heta hemû werger werin çêkirin. Ger ji rûpelê derkevî, amûr betal dibe. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
::Spas, fam kir ;)
:::PS: qismê > beşa çêtir e, ji ber ku beş "kurdîtir" e. Silav --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] "beş" li vir wekî hemû beşa Wergerê karibe were fêmkirin, lê di beşekê de dikare ji yekî zêdetir qism hebin loma me peyva qism tercîh kir. Herwiha ji mêj ve ye me dev ji dîtina peyveke "kurdîtir" berdaye, kîjan peyv berbelav be em wê bi kar tînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:39, 16 çiriya paşîn 2023 (UTC)
::::Ez jî wisa difikirim. Lê mixabin hin kurdên me serê xwe bi "paqijkirina" kurdî diêşînin. Ger em li gorî vê mantiqê tev bigerin, divê em nîvê zimanê almanî jê bibin. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:47, 16 çiriya paşîn 2023 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Va ye dîsa em ketin vê nîqaşê [[:w:Gotûbêj:Bangeşe#Barkirina_Bangeşe_12-2023]]. Xwedê ez ê dîn bibim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 10 kanûna pêşîn 2023 (UTC)
::::::Herwiha [[:w:Pêjimêrk]] {{dîwar}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:06, 10 kanûna pêşîn 2023 (UTC)
::::::Bi demê re gotinên biyanî tevkariyeke girîng li zimanê kurdî kirine û bûne beşekî ji wê. Ev peyv danûstandina çandî, pêşketina zanistî û bandorên din nîşan didin. Zimanekî bê peyvên biyanî ne tenê ji aliyê zimanî ve belengaz e, di heman demê de ji aliyê çandî ve jî îzole dibe û nikare xwe adapte bike. Tê bêjî qey 5 hezar peyvên latînî wê kurdî xira bikin. :) Serê xwe bi wan neêşîne. Bawer bike mirov newêre kurdên me hînî kurdî bike. Wek mînak gava ez bêjim kursî, wê tiliyên xwe di nav çavên min re rakin. :( Wê li dewsa wê bêjin "rûniştek", lê ev peyv ji bo her tiştê ku mirov li ser "rûdinê" tine ziman. Xeman nexwe, yên wisa wê xilas nebin :-) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:29, 10 kanûna pêşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Erê lê pirsgirêk ew ê fêmbariya wîkîpediya xira dibe. Loma dixwazim qet nebe tiştên wekî sernavên gotar û kategoriyan baş bin lê ew jî nabe. Ew kes timî bi peyvên ecêb dinivîse ku êdî meriv jê ti tişt fêm nake. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:31, 10 kanûna pêşîn 2023 (UTC)
::::::::Ez jî li aliyê te me. Lê bawer ke wî hevalî ji ev peyv ji yekî wek "xwe" hîn bûne. Ev şaşî ne ya wî ye. Gava ew jî van xeletiyan bidomîne, wê yên piştî wî jî wisa hîn bibin. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:35, 10 kanûna pêşîn 2023 (UTC)
== Forma nû a çêkirina peyvan zû bar dibe ==
Silav Balyozxane,
bi min forma nû a (wek ya viyetnamî) zû bar dibe. Dema ez dixwazim formên tewandî yên navdêran çêbikim, formên skrîptê bar nabin dema ku ez forma kesk ya tabloya tewandinê ditikînim.. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:55, 1 kanûna pêşîn 2023 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1 Mînak] --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:56, 1 kanûna pêşîn 2023 (UTC)
::Silav @[[Bikarhêner:Şêr|Şêr]] Dema di URLyê de ''User:Balyozxane/creation/intro'' [https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=avaker&accel1=pos-navd%C3%AAr%20def%7Cconstr%7Cp-form-of%20gender-n] hebe li cem min form bar nabe. Lê wekî din her tim bar dibe. Ger karekî te bi vî amûrî tinebe dikarî li ser [[Taybet:Tercîh#mw-prefsection-gadgets]] neçalak bikî. Li qutiya li kêleka "Forma çêkirina rûpelên nû çalak bike" bitikîne ew ê were '''ne'''çalakkirin. Dûre dikarî dîsa çalak bikî. Niha çareseriyeke din nabînim. Ger fikrekî te hebe, bibêje em biceribînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 16:06, 1 kanûna pêşîn 2023 (UTC)
:::Spas, min ne-çalak kirin, pirsgirêk çareser bû. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:09, 1 kanûna pêşîn 2023 (UTC)
== çêkirina kategoriyên tên xwestin ==
Silav Balyozxane,
ez [https://ku.wiktionary.org/wiki/Taybet:Kategor%C3%AEy%C3%AAn_t%C3%AAn_xwestin van] kategoriyên xwestî bi bo çêbikim? Min kategoriyek wek test çêkir, [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ker%C3%AE li vir bnr] -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:26, 2 kanûna pêşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Ger dixwazî, çêke lê pêşî [[WF:SB#katbike-rec]] bi kar bîne wek "pwb.py katbike-rec -wantedcategories". (Ne hewce ye lîsteyekî çêkî) Daku jorkategorî û înterwîkî lê were zêdekirin. Piştî hemû xilas bû îcar bi [[WF:SB#katbike]] dîsa hemû -wantedcategories çêke. Spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:30, 2 kanûna pêşîn 2023 (UTC)
::Temam, spas, va min dest pê kir [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ok%C3%AE]. Ez ê vêga bi hesabê bot bidim çêkirin. Êvara te bimîne xweş, û spas ji bo keda te. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:46, 2 kanûna pêşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Gelek spas! A te jî bimîne xweş :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:49, 2 kanûna pêşîn 2023 (UTC)
== Speech recognition ji bo kurmancî ==
Silav bira,
te [https://huggingface.co/Akashpb13/xlsr_kurmanji_kurdish ev] dîtiye? Xuya ye ku nû ji bo kurmancî hatiye çêkirin. Piraniya hevokan hema bêje ji sedî 90 nas dike --17:50, 7 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 17:50, 7 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] ne welle min nedîtiye û zêde bala min tiştên wisa nakişîne lê belê hevalê @[[Bikarhêner:Guherto|Guherto]] pê eleqedar dibe, ez ê jê re bişînim. Gelek spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:59, 7 kanûna paşîn 2024 (UTC)
::Ev tişt bala min dikişînin. :)) Eger pirsên Guherto hebin, dikare bi min re bikeve têkiliyê. Êvara te bimîne xweş :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:02, 7 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Ew ê dê gelek bextiyar be :) Êvar baş! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 7 kanûna paşîn 2024 (UTC)
::::{{r|Şêr}} Di sala 2023an li ser ''commonvoice.mozilla'' de zêdetirî 15 hezar devokên kurdî hatine qeyd kirin, bnr https://commonvoice.mozilla.org/kmr. Berê me nikarîbû bikin ji ber ku dane kêm bûn, niha bi ''[[:w:en:Artificial neural network]]'' bi hêsanî tê çêkirin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:25, 7 kanûna paşîn 2024 (UTC)
:::::Silav Ghybu, gelek spas ji bo agahiyê, bo keda we. Jixwe li wir Mozilla Commonvoice jî wek çavkanî hatiye bikaranîn. Silav û rêz. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:13, 7 kanûna paşîn 2024 (UTC)
::::::[https://huggingface.co/facebook/mms-tts-kmr-script_latin?text=Ew+%C3%AEro+%C3%A7i+dike%3F Ev jî] nivîsê dike deng. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:28, 9 kanûna paşîn 2024 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Te ceriband? Xweş dixebite gelo? Belkî em dikarin gotarên Wîkîpediyayê bidin xwendin û lînka dengî li rûpelan zêde bikin :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:31, 9 kanûna paşîn 2024 (UTC)
::::::::Min hê îro dît. Li gorî testên min nîvî-nîvî ye. Modela deng di hin peyvan xwe pirsgirêkan derdixe, zêde "qeba" ye, û hin tîp tên daqurtandin (bi lêv nake). [Û her wiha]Pêdiviya me bi zimanekî naziktir heye. :)) Model divê hinekî were perwerdekirin. Ji bo niha ez bikaranîna wê pêşniyar nakim bi rastî.- Silav û rêz ..[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:40, 9 kanûna paşîn 2024 (UTC)
::::::::Ez ê li ser Google Colab, modelê daxim û test bikim. Lê tu jî diarî peyvên xwe an jî cumleyên/hevokên xwe binivîsî. :) Wê gavê ne hewce ye ku tu daxî. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:42, 9 kanûna paşîn 2024 (UTC)
:::::::::Gelek spas! Ez ê li ser PAWS biceribînim [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:48, 9 kanûna paşîn 2024 (UTC)
::::::::::Merheba ji we re hevalno. Min hê li ew tiştê ko Şêr lînk kiriye neceribandiye lê piçekî tecrûba min bi van tiştan re heye. Wextê ko hê nû Metayê proja xwe ya bi navê "[https://ai.meta.com/blog/multilingual-model-speech-recognition/ MMS]" derxistibû min xwest biceribênim û min dûvre jî ceriband. TTSa wê zêde bi kêr nayê ji ber ko dengên rast dernaxe (li gora alfabê diçe û alfaba me ji bo şanîkirina dengan bi kêr nayê), lê speech-recognitiona wê bi kêr tê. Hinek gotinan peve dinivîsêne lê ew piştre rehet kare were edilandin (bi destan jî û bi otomatîkî jî). Metayê proja NLLByê jî derxistibû û ew jî di mesela tercimekirinê de ji Google Translate gelekî baştir e. (Dîse jî ji bo kurmancî ya herî baş Bing Translate e). Ez bi rastî bêjim ez piçekî bi xwe serbilind im, [[Wîkîferheng:Dîwan/arşîv 2020#CommonVoice bi kurmancî|ji ber ko herî pêşî min ji CommonVoicê xwest ko kurmancî lê zêde bikin]], berî çar salan. [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:09, 10 kanûna paşîn 2024 (UTC)
:::::::::::@[[Bikarhêner:Şêr|Şêr]] Ew proja ko te lînk kiriye ji MMSa Metayê kevntir e. Berî 2 salan hatiye çêkirin û li vir dosyeyek li serê heye: https://aclanthology.org/2022.lrec-1.689.pdf [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:13, 10 kanûna paşîn 2024 (UTC)
== POS-Tag Kurmancî ==
Min tiştekî wisa ya bikêrhatî dît niha: [http://stanza.run/]. --23:33, 13 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:33, 13 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Gelek spas. Min niha ceriband xweş xuya dike :D. Dikarî emaila xwe vekî, dixwazim tiştek li te pirs bikim? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 23:43, 13 kanûna paşîn 2024 (UTC)
:{{r|Şêr}} Min ê vê amûrê kod bikira, bnr. [//ku.wiktionary.org/wiki/W%C3%AEk%C3%AEferheng:D%C3%AEwan/2023#Am%C3%BBr%C3%AAn_anal%C3%AEzkirina_kurmanc%C3%AE? ''Amûrên analîzkirina kurmancî?''] Ping {{r|Ferhengvan}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 23:47, 13 kanûna paşîn 2024 (UTC)
::{{r|Ghybu}}, {{r|Balyozxane}}, di hin lêkeran de kêmasî hene, lê bi piranî dixebite. Mirov dikare [https://huggingface.co/stanfordnlp/stanza-kmr li vir] pêşniyazan bike? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:03, 14 kanûna paşîn 2024 (UTC)
::{{r|Balyozxane}}, min standina e-peyaman aktîv kir. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:07, 14 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Min şand, înşela te dîtibe :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:46, 14 kanûna paşîn 2024 (UTC)
::::Belê, min dît. Lê divê pêşî ez wê sepanokê daxim. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Temam bira :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
::::::Min ID şand. ;) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:23, 14 kanûna paşîn 2024 (UTC)
== tîpen erebî ==
: → ''Li rûpela'' [[Wîkîferheng:Dîwan/2024#tîpen erebî]] ''hat barkirin.''
== [[Wîkîferheng:ceribandin/aWa]] ==
null —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:05, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî ye —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:15, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:06, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:07, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:20, 24 çiriya paşîn 2024 (UTC)
== Files on Commons ==
Hi! I moved most of the files to Commons. So now they can be used on other wikis. The local files in [[:Kategorî:Gotarên ku bên jêbirin]] can now be deleted. Can you have a look? [[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 16:20, 31 kanûna pêşîn 2024 (UTC)
:@[[Bikarhêner:MGA73|MGA73]] Sorry for the late reply. I've been quite busy lately, your message completely slipped my mind. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:53, 13 kanûna paşîn 2025 (UTC)
:: Hello! No worries :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 06:41, 14 kanûna paşîn 2025 (UTC)
I noticed that there is one unused file without a license: [[:Wêne:Wîkîferheng-guhertin.png]]. It it is no longer usable then I suggest to delete it. --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:41, 14 kanûna paşîn 2025 (UTC)
:Done, thanks! [[Bikarhêner:Wikihez|Wikihez]]<small><sup>'''[[Bikarhêner:Balyozxane|Balyozxane]]''' ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]])</sup></small> 15:44, 14 kanûna paşîn 2025 (UTC)
::Happy to help. Now [[Special:ListFiles]] looks nice and short :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:46, 14 kanûna paşîn 2025 (UTC)
== Kom ==
Silav bira, hê jî ew koma we ya ku tu, Bikarhêner û her wiha Guherto tê de bûn, heye? Ez jî demekê tê de bûm, lê ji ber zanîngehê dema min tune bû, û ez bêdeng û bêseda jê derketibûm. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:38, 7 sibat 2025 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Erê, Min mesaj şand ka lê binêre :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:06, 7 sibat 2025 (UTC)
::@[[Bikarhêner:Wikihez|Wikihez]], niha min dît. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:13, 7 sibat 2025 (UTC)
== jêgirtin ==
#* {{jêder-pirtûk|ku|jêgirtin=û |nivîskar=J.R.R. Tolkien|sernav=Hobbit|wergêr=Samî Hêzil|cîh=Enqere|weşanxane={{w|Weşanên Cervantes|Cervantes}}|sal=2023|çap=1|rûpel=9|isbn=9786257724838}}
merhaba. Navê wergêr xuya nake dikarî bidî xuya kirin xêra xwe. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:01, 28 sibat 2025 (UTC)
:Merheba {{r|Rewiye tine}}. Gereg {{param|wergêr}} be te "Wergêr:" nivîsiye.--[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:06, 28 sibat 2025 (UTC)
::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Bira, qaîdeyeke wisa heye ku nimûneyên bikaranîna kelîmeyan gereg pêşî ji nivîskarên bi kurdî nivîsîne were wergirtin, eger çavkaniyên ji kitêbên kurdî tine be, wê demê meriv dikare tercimeyên kitêban ji zimanên din bi kar bîne. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:11, 28 sibat 2025 (UTC)
:::Yanê pirtukên werger ji bo mînak naye qebûl kirin? [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:16, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Em nabêjin "nayê qebûlkirin" lê gereg pêşî çavkaniyên kurdî be dûre yên tercime. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:23, 28 sibat 2025 (UTC)
:::Rast e. Lê min vê pirtûkê xwendîye û hinek peyva bijartîye. Ez nîyetim wan jêgirtina derbas bikim. Mesele ev e. Berîya vê, min ji pirtûkên klasîk jî jêgirtina derbas kiriye. Ji bo hişyarî mala te ava. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:27, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Yên klasîk pir muhîm in, tê de kîjan kelîme derbas bin gereg em herf bi herf li wir qeyd bikin, lê yên tercime tenê eger çavkaniyên kurdî tinebin baş in. Tu dîsa kelîmeyên ku te bijartine binivîse lê ji bo kelîmeyên naskirî nekî çêtir e. Qerar dîsa jî ya te ye. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:32, 28 sibat 2025 (UTC)
== kurmancîyek şkestî ==
Silav {{r|Wikihez}}
https://www.youtube.com/watch?v=hH-DO1RT8zM [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 12:23, 24 adar 2025 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 20:06, 28 nîsan 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 -->
== [[bilgîsayar]] ==
Silav @[[Bikarhêner:Wikihez|Wikihez]], di gotara [[bilgîsayar]] de çavkanî hewce ne. ''[[Wîkîferheng:Pîvekên tevlîkirinê|Çavkanî hewce ye]].'' —[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 00:11, 30 hezîran 2026 (UTC)
== Lîsteyek heye? ==
Silav WikiHez, te got şablon hene, eceba lîsteyek heye ku ez jê hemû şablonên WikiFerhengê bibînim? [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:14, 31 tîrmeh 2026 (UTC)
:Merheba @[[Bikarhêner:Kurdanparez|Kurdanparez]], Li vira [[Alîkarî:Bikaranîna şablonan]] lîsteyek heye feqat hem gelek ji wan kevn bûne, hem jî ne mimkûn e em hemû şablonan rêz bikin. Pêşî li ser wîkîya îngilîzî li şablona dixwazî bigere, eger înterwîkiyan de tinebe, ji min re binivîse ez ê çêkim.
:Pirsek Min non-gloss [[:en:T:n-g]] wekî {{ş|îzaha ne eleqedarî maneyê}} (bi kurtî înm) tercime kir feqat çi eleqeyê ez jî nizanim fikrekî te hebe li gotûbêjê binivîse em rast bikin. Niha dibêjim, gloss bikim îzaha maneyî, non-gloss bikim îzaha nemaneyî belkî baştir be, tu çi dibêjî? [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:22, 31 tîrmeh 2026 (UTC)
::Gelek spas. Ez ê li wir binivîsim. [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:27, 31 tîrmeh 2026 (UTC)
:::@[[Bikarhêner:Kurdanparez|Kurdanparez]] [https://ku.wiktionary.org/w/index.php?title=dimil%C3%AE&diff=6292587&oldid=6292584] Ji bo înlîne-modifiers bnr [[Modul:columns#L-711]] ji bo etîketan [[Modul:labels#Çêkirina_etîketan]] jkx yên ku kêm in îlawe bike. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:49, 31 tîrmeh 2026 (UTC)
::::Gelek spas :)) [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 23:03, 31 tîrmeh 2026 (UTC)
== کرمانجی ==
سەلام. پرسیارێکم هەبوو، کرمانجی زمانە یان زاراوە؟ [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 12:34, 19 tebax 2026 (UTC)
:زاراوا یە فەقات ژ بۆ ژ هەڤ ئێجستنا کورمانجی و سۆرانی ل ڤر وەکی زمان خویا دبە [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 12:41, 19 tebax 2026 (UTC)
::باشە لە [https://ku.wiktionary.org/wiki/Destp%C3%AAk دەستپێک] نووسراوە «فەرهەنگ بە '''کورمانجی''' و زێدەیێ ۳۸۱۹ زیمانێن دینێ»، باشتر نەبوو نووسرابا '''کوردی کرمانجی'''؟
::[[:Kategorî:Kurmancî|لێرەش]] لە نێو ئەو باکسەی نووسراوە '''زیمانێ کورمانجی''' نەک '''زاراڤەیا کورمانجی'''. [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 19:02, 19 tebax 2026 (UTC)
:::Ew ne tiştên muhîm in, ne lazim e em her daîm kurdî kurmancî binivîsin, kurmancî jî soranî jî kurdî ne, her kes jî wisa qebûl dike. Kategorî jî ji ber ku otomatîk tê çêkirin min nexwest wextê xwe pê re xerc bikim. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 10:51, 21 tebax 2026 (UTC)
== Soranî bi tîpên latînî ==
Silav birako, min dît ku bo eynî/heman kelîmeyên soranî guhartoya bi tîpên latînî jî heye. Û translîterasyon jî tevlihev dibe. Wekî nimûne binêre: [https://ku.wiktionary.org/wiki/b%C3%AErkirdinewe#Soran%C3%AE]. Gelo baş e ku her du guharto hebin (farisî-erêbî û latînî)? Ez newêrim devê mijarê vekim,lê bala min kişand. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:25, 24 tebax 2026 (UTC)
:Merheba, tiştên wisa li [[WF:Dîwan]]ê binivîsî çêtir e, feqat eger tenê fikrê min dipirsî, bi min yên soranî qet ne hewce ne, îro soranî tenê bi '''herfên''' erebî tên nivîsin feqat min kovarên kevn ên 1970î de soranî bi herfên latînî jî dîtine, [https://books.vejin.net/ck/books Vejîn Kitêbekan] jî yên erebî transkrîbeyî latînî dikin. Dîsa jî bila hebin, zerara wan nîne bi şerta ku li vir hatiye dayîn: [[Wîkîferheng:Dîwan/2026#Peyvên_soranî_bi_latînî_(Kategorî:Soranî)]] [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:31, 24 tebax 2026 (UTC)
bacij1bed72wmipxs2sky39l196cqzz
6342223
6342219
2026-08-24T20:36:31Z
Şêr
1103
/* Soranî bi tîpên latînî */ Bersiv
6342223
wikitext
text/x-wiki
== Astengî Bi Sepana Lingua Libre. ==
Silav Birêz,
Vaye 2-3 roj e ku ez nikarim dengê xwe bi rêya sepana Lingua Libre'yê ve biweşînim. Ez dikarim têkevim û deng tomar bikim, lê nikarim dengê xwe li ser Wikimedia Commons biweşînim. Gava ku ez pêl li ser bişkoka "Li Ser Wikimedia Commons Biweşîne" dikim qebûl nake û bişkoka "Dubare Biceribîne Barkirin Bi Ser Neket" dide nîşan. Gava ez pêlê wê jî dikim, tiştek nabe û ev bişkok dîsa derkevî ser holê. Tû kar nake. Derbarê vî mijarê min li ser tora Lingua Libre nivîsand, lê tû encam derneket. Ev program dengê min tomar dike, le naweşîne. Gelo tû fikr û ramanê te li ser vî mijarê heye? Sipas. [[Bikarhêner:Key Mîrza|Key Mîrza]] ([[Gotûbêja bikarhêner:Key Mîrza|gotûbêj]]) 23:38, 28 kanûna paşîn 2023 (UTC)
== Modul û şablonên Wîkîpediya yên Zazakî ==
Silav birêz Balyozxane!
Tu dikarî di Wîkîpediya Zazakî de alîkariya min bikî? Li wir kesek neqeydkirî hin modul û şablon guhert. Ji ber vê yekê agahî tevlihev dibin. Min ew vegerand, lê ew wek nimûne di "Nıfus" ([https://diq.wikipedia.org/wiki/Modul:N%C4%B1fus Modul:Nıfus] û [https://diq.wikipedia.org/wiki/%C5%9Eablon:N%C4%B1fus Şablon:Nıfus]) de xuya nake. Ez berê spas dikim! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 19:50, 21 gulan 2023 (UTC)
:@[[Bikarhêner:Mirzali|Mirzali]] Silav. Problemeke gelemper li wîkiyê heye. Bnr. [[:w:en:Wikipedia:Village_pump_(technical)#Graph_extension_disabled_per_immediate_effect|vê gotûbêja en.wîkiyê]]. Grafîk niha naxebite heta xwediyên wîkiyê çareser bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 05:46, 22 gulan 2023 (UTC)
:: Spas ji bo pêşniyarê! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 06:12, 22 gulan 2023 (UTC)
== Li ser pêwîstiya sê çavkaniyan ji bo nivîsên etîmolojiya peyvên kurdî. ==
Silav Birêz,
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzika bo afirandina peyveke nû bo etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse. Dema ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî çavkanîyê bibînî û peyt bikî
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzikên afirandina peyveke nû, bo nivîsa etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse? Dema ku ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî ew çavkanîyê bibînî û peyt bikî. Ma tenê çavkaniyek têr e? Yan gerek sisê bibe? Ger tu bawer nakî ez dikarim çendîn nimune nîşanê te bidim. Benda bersiva cenabê te me. Sipas [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 08:59, 6 hezîran 2023 (UTC)
:Silav @[[Bikarhêner:Ebulfîda|Ebulfîda]]. Tu hinek bi awayekî şovenîst tevdigerî. Hinek bêhnfireh be ji kerema xwe re. Tu çavkanî dixwazî lê belê çavkanî kêm in. Yên heyî jî tu qebûl nakî. Min ji te re Chyet wek referans da, te ew jî qebûl nekir. Chyet nêzî 40 zimanan dizane û hemû zaravayên kurdî jî dizane dîsa jî tu qebûl nakî. Tu wekî folk etymology difikirî û dixwazî her tiştî bikî kurdî. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 08:37, 8 hezîran 2023 (UTC)
::Sipas, Ma tu jî şovenê hevalê xwe nînî? Bo çin 3 referans bo her kes nameşe? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:33, 8 hezîran 2023 (UTC)
:::Xwedê hiş daye mirov ku bi kar bînî:
:::1-Çawa peyva "Befr", "Baran" ya Kurdî/Îranî heye lê "Cemed"a Kurdî/Îranî tineye? Dibe? Hemû bi hev re girêdayî nînin? Pirtirîn dewletên ereban da "cemed" çênabe. Ma çima reha/koka cemed "cam" ne bî? Ma hemû zimanzanan û etîmologan ser rêya rast in? Li gor min na. Ez zimanzanek wek "Garnik S. Asatrian" û "David Neil MacKenzie" nas nakim. Min jiyana wan xwendiye her du jî dijminatiya Kurdan kirine:
:::https://www.quora.com/Do-you-believe-that-all-Kurdish-linguists-to-date-have-acted-impartially-and-scientifically/answer/Hamdi-Aciksoz
:::2- Ger peyva "Evîn"a Kurdî tinebe, gelo Kurd ji Ereban hînê hezkirinê bûne? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:50, 8 hezîran 2023 (UTC)
== Derbarê pêwistiya 3 referans bo afirandina peyvên nû û nivîsên etîmolojiyên nû. ==
Birêz, Êdî ez westiyam. Cara dawî ji te û hemû nivîskaran rica dikim ku bêyî 3 referans peyvên nû neafirînin û etîmolojî nenivîsînin. Ger ez rastîyê nivîsek/referansek bêyî 3 referans bikevim ezê bi hirs û dijûn livir derkevim. Ji we rica dikim mercên xwe bi kar bînin.[[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 17:42, 10 hezîran 2023 (UTC)
:Qaîdeyeke ji bo etîmolojiyê wekî ku tu dibêjî tune ye. Ger dixwazî, dikarî dengdaneke bidî destpêkirin û li gorî encama dengdanê em dikarin bixebitin. Bi xatirê te. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:21, 14 hezîran 2023 (UTC)
== Çêkirina botekê ==
Merheba hêja {{r|Balyozxane}} Ez bi şanazî dibînim ku tu bota "Balyozbot" bo zêdekirina rûpelên nû ji beşa wergeran bi kar tînî. Ev karekî pir baş e, siheta te xweş! Gelo ez jî dikarim bi awayekî wisa bibim alîkar? Bi silavên germ re! --[[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 07:00, 9 tebax 2023 (UTC)
:@[[Bikarhêner:Ferhengvan|Ferhengvan]] Balyozbot niha bi otomatîk naxebite, Ez li ser scrîptekê dixebitim ya ku dikare hemû wergerê carekê de çêke. Ger rast bixebite, ez ê skrîptê bidim te. Lê niha hin pirsgirêk çêdibin. Wisa dixuye ku ew ê çênebe. Lê dîsa jî hewl didim.
:::P.S. Tu dikarî [[:w:WP:AWB]] biceribînî. Heger hinek hîn bibî, dikarî hesabekî botê çêkî û ez dikarim alîkariya te bikim.
:[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:29, 9 tebax 2023 (UTC)
::Silav @[[Bikarhêner:Ghybu|Ghybu]] Çêkirina gelek rûpelan bi butonekê qedexe ye yan na? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:03, 9 tebax 2023 (UTC)
:::Silav, ne qedexe ye. Piraniya rupelên fr.wiki û en.wiki bi botê hatine çêkirin. Tenê ''[//meta.wikimedia.org/wiki/Copyright copyright]'' û ''[//meta.wikimedia.org/wiki/Bot_policy Bot policy]'' dîqet bikin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:14, 9 tebax 2023 (UTC)
::Gelek spas bo xebata te ya hêja! [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 18:35, 9 tebax 2023 (UTC)
:::@[[Bikarhêner:Ghybu|Ghybu]] Ez behsa botekê nakim. Nimûne Ez dikarim bi hesaba xwe ya Balyozxane gelek rûpel carekê de çêkim bi skrîpta [[User:Balyozbot/CreateTranslation.js]]? Dema pêlî "Hemû çêke" dikî, skrîpt yek bi yek hemû rûpelên wergeran çêdike. Ew tiştek normal e? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:37, 9 tebax 2023 (UTC)
::::Nimûne: [[Taybet:Beşdarî/Balyozxane|2 deqe 34 rûpel hatin çêkirin bi skrîptê]] [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:49, 9 tebax 2023 (UTC)
:::::Tu hesabê xwe wekî botê bikar tinî û leza guherandina botê hindik bilind e (>12 guherandin/deq). Bi min, bo guherandinên biçûk pirsgirêk tine ye... Feqet tu nikarî tenê carekê de pênc sed an hezar gotar bi vî avayî çêkî :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 20:50, 9 tebax 2023 (UTC)
::::::@[[Bikarhêner:Ghybu|Ghybu]] çima na yaw bazarî tune ye? {{=D}} Bi hesabê xwe deqê de çend gotar bi vî awayî çêkim, ne pirsgirêk e? Ne tenê ez, ez ê bidime Ferhengvanî jî :D [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:16, 9 tebax 2023 (UTC)
:::::::Bnr. [https://ku.wiktionary.org/wiki/Got%C3%BBb%C3%AAja_bikarh%C3%AAner:%C5%9E%C3%AAr#Nochmal_wegen_Deinem_Bot] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:23, 9 tebax 2023 (UTC)
::::::::@[[Bikarhêner:Ghybu|Ghybu]] Li gorî Bot policy 12 edits per minute ji bo botekê baş e. Lê tiştek li ser bikarhêneran nayê gotin. Em ji deqê de 12 rûpel çêkin pirsgirêk çêbibe? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:38, 9 tebax 2023 (UTC)
:::::::::Min ne got ku ew problem e ji ber ku li vira kes ne dijî ye (wikiyên din eleqedar nake). Dîsa jî, belkî, li ser Dîwanê ji bo bikaranîna amûrê dengek pêwîst e {{=)}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:49, 9 tebax 2023 (UTC)
::::::::::PS: Problem tenê ji bo [[Taybet:Guherandinên dawî]] ye (nayê xwandin) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:56, 9 tebax 2023 (UTC)
:::::::::::Li ser Wergerê: bi min dema ku hemû beşa Wergerê li ser en.wiki tê kopî kirin, nivîsanda çavkanîyê jî pêwîst e, wekî: [//ku.wiktionary.org/w/index.php?title=xwarin&diff=5207568&oldid=5207001]. Na? [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 22:13, 9 tebax 2023 (UTC)
::::::::::::bi ya min dengdan ne hewce ye lê ger tu bêjî hewce ye, em dikarin yekî çêkin :/
::::::::::::ji bo guherandinên dawî min etiketek çêkir, nimûne [https://ku.wiktionary.org/w/index.php?title=Bikarh%C3%AAner:Balyozxane/testinggg&action=history] tu dikarî guhartinên dawî parzûn bikî ji bo ku guhartinên bi vî etîketî neyên dîtin.
::::::::::::Belê çavkanîdayîn jî pêwîst e. Ez ê wê jî tevlî skrîptê bikim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 22:32, 9 tebax 2023 (UTC)
{{outdent|::::::::::::}} {{silav|Ferhengvan}}. Min koda çêkirina wergeran nû kir. Êdî ne hewce ye yek bi yek pê li lînkan bikî. Pê li "Hemû çêke" bike. "Cureyê peyvê hilbijêre", Maneya wergerê binivîse ( bi otomatîkî navê rûpelê tê lê dikarî tiştên din lê zêde bikî), dûre ger dixwazî "Etîket" lê zêde bike bike "element, anatomî, biyolojî, ekonomî, hwd.) Dûre pê li "Bişîne" bike. Hemû werger yek bi yek tên çêkirin. Di deqiqeyê de herî zêde 6 rûpel çêdike loma hinek hêdî ye. @[[User:Ghybu|Ghbu]] Çiqas bilez be ne pirsgirêk e? --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:22, 11 tebax 2023 (UTC)
:Ji bo veşartina rûpelên ku bi CreateTranslation hatine çêkirin di rûpela Guhartinên dawî de pê li "Nîşankirin" bikin, dûre Pê li "Yên bijartî derxe" bikin û "CreateTranslation hilbijêrin. Bi vî awayî vedişêrin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:24, 11 tebax 2023 (UTC)
::Her hebî, pir baş çêdike. Wisa here, em ê di çend mehan de bigihin milyonek rûpelan :-) [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 14:07, 11 tebax 2023 (UTC)
:::@[[Bikarhêner:Ferhengvan|Ferhengvan]] înşela :) lê divê em hay jê hebin rûpelên xelet çênekin, dema çêdikî maneya peyvê bi eşkere bidin nivîsîn [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:17, 11 tebax 2023 (UTC)
::::@[[Bikarhêner:Ferhengvan|Ferhengvan]] herwiha ger te xeletîyek dît, min agahdar bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:18, 11 tebax 2023 (UTC)
::::Merheba, ji cûrên peyvan (navdêr, rengdêr, lêker...) "hejmar" kêm e, divê ew jî hebe. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:29, 12 tebax 2023 (UTC)
* @[[Bikarhêner:Ferhengvan|Ferhengvan]] di vê navberê de ger wextê te hebe, Xêra xwe dikarî navê zimanan jî bikî kurdî [[Modul:ziman]], ji ber ku em gelek rûpel çêdikin navên zimanan bi îngilîzî dimînin. Divê werin kurdîkirin ji bo ku em karibin kategoriyên wan çêkin.
Ji bo çêkirina kategoriyan Koda jêr tevlî [[Special:MyPage/common.js|rûpela xwe ya common.js]] bike:
<syntaxhighlight lang="javascript>
//[[Bikarhêner:Balyozxane/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozxane/addAutoCat.js&action=raw&ctype=text/javascript');
</syntaxhighlight>
:--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
::{{r|Ferhengvan}} Rûpelên xelet çêneke. Min hejmar lê zêde kir lê dema tiştek kêm be heta were sererastkirin bisekine Xêra xwe. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
:::Temam. Lê yên çêkirî ne xelet in ji ber ku hemû hejmar di heman demê de navdêr in jî. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:51, 12 tebax 2023 (UTC)
::::Silav @[[Bikarhêner:Ghybu|Ghybu]]. Em çêkirina rûpelan bi hesaba xwe dewam bikin yan jî hesaba xwe ya botê bi kar bînin? pîng {{r|Ferhengvan}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 19:37, 14 tebax 2023 (UTC)
== Bot ==
Silav Balyozxane, Sererastkirina rêzimanî bi botê problem e: te jî [https://ku.wiktionary.org/w/index.php?title=Koban%C3%AE&curid=279200&diff=5551838&oldid=5551836 dît], ji ber ku jêgirtin û çavkaniyan jî sererast dike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 14:48, 21 îlon 2023 (UTC)
:Silav @[[Bikarhêner:Ghybu|Ghybu]] Min yek bi yek AWB kontrol dikir û wextê xeletî çêkir, min rawestand, xeletiyê rast kir û dîsa dewam kir :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:50, 21 îlon 2023 (UTC)
== çêkirina forman bo [[hûr kirin]] ==
Silav Balyozxane,
gelo çi dibe sedem ku forma [[hûr kir]] bi awayekî otomatîk nayê afirandin? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:15, 12 çiriya paşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Li cem min pirsgirêk tine ye. Ka rûpelê purge bike û dîsa biceribîne. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:18, 12 çiriya paşîn 2023 (UTC)
::Silav, niha, piştî ku te rêz guhart, çêbû. - [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:20, 12 çiriya paşîn 2023 (UTC)
:::Û gelek caran divê ez ji peyvê derkevim ji ber ku form amade nabin (dema ku ez pê lê dikim). Bnr.: [https://ku.wiktionary.org/w/index.php?title=d%C3%BBr_kir&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=d%C3%BBr%20kirin&accel1=pos-l%C3%AAker%20bor%C3%AE%7C1%7Cyj-form-of&accel2=pos-l%C3%AAker%20bor%C3%AE%7C2%7Cyj-form-of&accel3=pos-l%C3%AAker%20bor%C3%AE%7C3%7Cyj-form-of&accel4=pos-l%C3%AAker%20bor%C3%AE%7C123%7Cp-form-of]. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:21, 12 çiriya paşîn 2023 (UTC)
::: Gava ez ji formê dertêm, û dîsa li ser gotara sereke dîsa pê li formê bikim, hingê çêdibe. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:23, 12 çiriya paşîn 2023 (UTC)
::::@[[Bikarhêner:Şêr|Şêr]] Ger li jor URL hebe û tê de agahdarî hebin, wê demê ne hewce ye derkevî rûpelê dîsa bar bike ew ê were çêkirin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:37, 12 çiriya paşîn 2023 (UTC)
:::::Baş e, mala te ava. :) Dem baş --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:38, 12 çiriya paşîn 2023 (UTC)
::::::URL bi piranî tune. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:42, 12 çiriya paşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Ez lê dinêrim lê min ti pirsgirêk nedît. Belkî tu hinek zû tevdigerî û bêyî ku lînk were derdikevî? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 12:17, 12 çiriya paşîn 2023 (UTC)
::::::::@[[Bikarhêner:Şêr|Şêr]] Hay ji syntaxhighlighter hebe, dema vekirî be carinan ji ber wê encam dernakevin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:26, 12 çiriya paşîn 2023 (UTC)
== amûra "wergerîne" ==
Silav keko,
min hewl da ku wergeran (ji ferhenga en) bidim wergirtin bi rêya amûra te, lê nebû. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:18, 16 çiriya paşîn 2023 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Silav. Te çi kir? Divê ji en.wiktê beşa Translation rasterast li rûpeleke ku.wiktê kopî bikî. Ti tişt neguherîne. Divê şablonên <nowiki>{{trans-top}} û {{trans-bottom}}</nowiki> hebe. (Heke navê şablona trans-top-see be divê -see jê bibî.) Dûre pê li Wergerîne bike û navê rûpela en.wiktê binivîse. Tiştek din nenivîse. Ew qas :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:21, 16 çiriya paşîn 2023 (UTC)
::@[[Bikarhêner:Şêr|Şêr]] Di amûra CreateTranslation de piştî te pê li "Bişîne" kir, divê rûpel vekirî bimîne heta hemû werger werin çêkirin. Ger ji rûpelê derkevî, amûr betal dibe. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
::Spas, fam kir ;)
:::PS: qismê > beşa çêtir e, ji ber ku beş "kurdîtir" e. Silav --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] "beş" li vir wekî hemû beşa Wergerê karibe were fêmkirin, lê di beşekê de dikare ji yekî zêdetir qism hebin loma me peyva qism tercîh kir. Herwiha ji mêj ve ye me dev ji dîtina peyveke "kurdîtir" berdaye, kîjan peyv berbelav be em wê bi kar tînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:39, 16 çiriya paşîn 2023 (UTC)
::::Ez jî wisa difikirim. Lê mixabin hin kurdên me serê xwe bi "paqijkirina" kurdî diêşînin. Ger em li gorî vê mantiqê tev bigerin, divê em nîvê zimanê almanî jê bibin. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:47, 16 çiriya paşîn 2023 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Va ye dîsa em ketin vê nîqaşê [[:w:Gotûbêj:Bangeşe#Barkirina_Bangeşe_12-2023]]. Xwedê ez ê dîn bibim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 10 kanûna pêşîn 2023 (UTC)
::::::Herwiha [[:w:Pêjimêrk]] {{dîwar}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:06, 10 kanûna pêşîn 2023 (UTC)
::::::Bi demê re gotinên biyanî tevkariyeke girîng li zimanê kurdî kirine û bûne beşekî ji wê. Ev peyv danûstandina çandî, pêşketina zanistî û bandorên din nîşan didin. Zimanekî bê peyvên biyanî ne tenê ji aliyê zimanî ve belengaz e, di heman demê de ji aliyê çandî ve jî îzole dibe û nikare xwe adapte bike. Tê bêjî qey 5 hezar peyvên latînî wê kurdî xira bikin. :) Serê xwe bi wan neêşîne. Bawer bike mirov newêre kurdên me hînî kurdî bike. Wek mînak gava ez bêjim kursî, wê tiliyên xwe di nav çavên min re rakin. :( Wê li dewsa wê bêjin "rûniştek", lê ev peyv ji bo her tiştê ku mirov li ser "rûdinê" tine ziman. Xeman nexwe, yên wisa wê xilas nebin :-) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:29, 10 kanûna pêşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Erê lê pirsgirêk ew ê fêmbariya wîkîpediya xira dibe. Loma dixwazim qet nebe tiştên wekî sernavên gotar û kategoriyan baş bin lê ew jî nabe. Ew kes timî bi peyvên ecêb dinivîse ku êdî meriv jê ti tişt fêm nake. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:31, 10 kanûna pêşîn 2023 (UTC)
::::::::Ez jî li aliyê te me. Lê bawer ke wî hevalî ji ev peyv ji yekî wek "xwe" hîn bûne. Ev şaşî ne ya wî ye. Gava ew jî van xeletiyan bidomîne, wê yên piştî wî jî wisa hîn bibin. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:35, 10 kanûna pêşîn 2023 (UTC)
== Forma nû a çêkirina peyvan zû bar dibe ==
Silav Balyozxane,
bi min forma nû a (wek ya viyetnamî) zû bar dibe. Dema ez dixwazim formên tewandî yên navdêran çêbikim, formên skrîptê bar nabin dema ku ez forma kesk ya tabloya tewandinê ditikînim.. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:55, 1 kanûna pêşîn 2023 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1 Mînak] --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:56, 1 kanûna pêşîn 2023 (UTC)
::Silav @[[Bikarhêner:Şêr|Şêr]] Dema di URLyê de ''User:Balyozxane/creation/intro'' [https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=avaker&accel1=pos-navd%C3%AAr%20def%7Cconstr%7Cp-form-of%20gender-n] hebe li cem min form bar nabe. Lê wekî din her tim bar dibe. Ger karekî te bi vî amûrî tinebe dikarî li ser [[Taybet:Tercîh#mw-prefsection-gadgets]] neçalak bikî. Li qutiya li kêleka "Forma çêkirina rûpelên nû çalak bike" bitikîne ew ê were '''ne'''çalakkirin. Dûre dikarî dîsa çalak bikî. Niha çareseriyeke din nabînim. Ger fikrekî te hebe, bibêje em biceribînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 16:06, 1 kanûna pêşîn 2023 (UTC)
:::Spas, min ne-çalak kirin, pirsgirêk çareser bû. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:09, 1 kanûna pêşîn 2023 (UTC)
== çêkirina kategoriyên tên xwestin ==
Silav Balyozxane,
ez [https://ku.wiktionary.org/wiki/Taybet:Kategor%C3%AEy%C3%AAn_t%C3%AAn_xwestin van] kategoriyên xwestî bi bo çêbikim? Min kategoriyek wek test çêkir, [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ker%C3%AE li vir bnr] -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:26, 2 kanûna pêşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Ger dixwazî, çêke lê pêşî [[WF:SB#katbike-rec]] bi kar bîne wek "pwb.py katbike-rec -wantedcategories". (Ne hewce ye lîsteyekî çêkî) Daku jorkategorî û înterwîkî lê were zêdekirin. Piştî hemû xilas bû îcar bi [[WF:SB#katbike]] dîsa hemû -wantedcategories çêke. Spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:30, 2 kanûna pêşîn 2023 (UTC)
::Temam, spas, va min dest pê kir [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ok%C3%AE]. Ez ê vêga bi hesabê bot bidim çêkirin. Êvara te bimîne xweş, û spas ji bo keda te. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:46, 2 kanûna pêşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Gelek spas! A te jî bimîne xweş :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:49, 2 kanûna pêşîn 2023 (UTC)
== Speech recognition ji bo kurmancî ==
Silav bira,
te [https://huggingface.co/Akashpb13/xlsr_kurmanji_kurdish ev] dîtiye? Xuya ye ku nû ji bo kurmancî hatiye çêkirin. Piraniya hevokan hema bêje ji sedî 90 nas dike --17:50, 7 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 17:50, 7 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] ne welle min nedîtiye û zêde bala min tiştên wisa nakişîne lê belê hevalê @[[Bikarhêner:Guherto|Guherto]] pê eleqedar dibe, ez ê jê re bişînim. Gelek spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:59, 7 kanûna paşîn 2024 (UTC)
::Ev tişt bala min dikişînin. :)) Eger pirsên Guherto hebin, dikare bi min re bikeve têkiliyê. Êvara te bimîne xweş :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:02, 7 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Ew ê dê gelek bextiyar be :) Êvar baş! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 7 kanûna paşîn 2024 (UTC)
::::{{r|Şêr}} Di sala 2023an li ser ''commonvoice.mozilla'' de zêdetirî 15 hezar devokên kurdî hatine qeyd kirin, bnr https://commonvoice.mozilla.org/kmr. Berê me nikarîbû bikin ji ber ku dane kêm bûn, niha bi ''[[:w:en:Artificial neural network]]'' bi hêsanî tê çêkirin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:25, 7 kanûna paşîn 2024 (UTC)
:::::Silav Ghybu, gelek spas ji bo agahiyê, bo keda we. Jixwe li wir Mozilla Commonvoice jî wek çavkanî hatiye bikaranîn. Silav û rêz. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:13, 7 kanûna paşîn 2024 (UTC)
::::::[https://huggingface.co/facebook/mms-tts-kmr-script_latin?text=Ew+%C3%AEro+%C3%A7i+dike%3F Ev jî] nivîsê dike deng. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:28, 9 kanûna paşîn 2024 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Te ceriband? Xweş dixebite gelo? Belkî em dikarin gotarên Wîkîpediyayê bidin xwendin û lînka dengî li rûpelan zêde bikin :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:31, 9 kanûna paşîn 2024 (UTC)
::::::::Min hê îro dît. Li gorî testên min nîvî-nîvî ye. Modela deng di hin peyvan xwe pirsgirêkan derdixe, zêde "qeba" ye, û hin tîp tên daqurtandin (bi lêv nake). [Û her wiha]Pêdiviya me bi zimanekî naziktir heye. :)) Model divê hinekî were perwerdekirin. Ji bo niha ez bikaranîna wê pêşniyar nakim bi rastî.- Silav û rêz ..[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:40, 9 kanûna paşîn 2024 (UTC)
::::::::Ez ê li ser Google Colab, modelê daxim û test bikim. Lê tu jî diarî peyvên xwe an jî cumleyên/hevokên xwe binivîsî. :) Wê gavê ne hewce ye ku tu daxî. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:42, 9 kanûna paşîn 2024 (UTC)
:::::::::Gelek spas! Ez ê li ser PAWS biceribînim [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:48, 9 kanûna paşîn 2024 (UTC)
::::::::::Merheba ji we re hevalno. Min hê li ew tiştê ko Şêr lînk kiriye neceribandiye lê piçekî tecrûba min bi van tiştan re heye. Wextê ko hê nû Metayê proja xwe ya bi navê "[https://ai.meta.com/blog/multilingual-model-speech-recognition/ MMS]" derxistibû min xwest biceribênim û min dûvre jî ceriband. TTSa wê zêde bi kêr nayê ji ber ko dengên rast dernaxe (li gora alfabê diçe û alfaba me ji bo şanîkirina dengan bi kêr nayê), lê speech-recognitiona wê bi kêr tê. Hinek gotinan peve dinivîsêne lê ew piştre rehet kare were edilandin (bi destan jî û bi otomatîkî jî). Metayê proja NLLByê jî derxistibû û ew jî di mesela tercimekirinê de ji Google Translate gelekî baştir e. (Dîse jî ji bo kurmancî ya herî baş Bing Translate e). Ez bi rastî bêjim ez piçekî bi xwe serbilind im, [[Wîkîferheng:Dîwan/arşîv 2020#CommonVoice bi kurmancî|ji ber ko herî pêşî min ji CommonVoicê xwest ko kurmancî lê zêde bikin]], berî çar salan. [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:09, 10 kanûna paşîn 2024 (UTC)
:::::::::::@[[Bikarhêner:Şêr|Şêr]] Ew proja ko te lînk kiriye ji MMSa Metayê kevntir e. Berî 2 salan hatiye çêkirin û li vir dosyeyek li serê heye: https://aclanthology.org/2022.lrec-1.689.pdf [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:13, 10 kanûna paşîn 2024 (UTC)
== POS-Tag Kurmancî ==
Min tiştekî wisa ya bikêrhatî dît niha: [http://stanza.run/]. --23:33, 13 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:33, 13 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Gelek spas. Min niha ceriband xweş xuya dike :D. Dikarî emaila xwe vekî, dixwazim tiştek li te pirs bikim? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 23:43, 13 kanûna paşîn 2024 (UTC)
:{{r|Şêr}} Min ê vê amûrê kod bikira, bnr. [//ku.wiktionary.org/wiki/W%C3%AEk%C3%AEferheng:D%C3%AEwan/2023#Am%C3%BBr%C3%AAn_anal%C3%AEzkirina_kurmanc%C3%AE? ''Amûrên analîzkirina kurmancî?''] Ping {{r|Ferhengvan}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 23:47, 13 kanûna paşîn 2024 (UTC)
::{{r|Ghybu}}, {{r|Balyozxane}}, di hin lêkeran de kêmasî hene, lê bi piranî dixebite. Mirov dikare [https://huggingface.co/stanfordnlp/stanza-kmr li vir] pêşniyazan bike? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:03, 14 kanûna paşîn 2024 (UTC)
::{{r|Balyozxane}}, min standina e-peyaman aktîv kir. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:07, 14 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Min şand, înşela te dîtibe :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:46, 14 kanûna paşîn 2024 (UTC)
::::Belê, min dît. Lê divê pêşî ez wê sepanokê daxim. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Temam bira :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
::::::Min ID şand. ;) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:23, 14 kanûna paşîn 2024 (UTC)
== tîpen erebî ==
: → ''Li rûpela'' [[Wîkîferheng:Dîwan/2024#tîpen erebî]] ''hat barkirin.''
== [[Wîkîferheng:ceribandin/aWa]] ==
null —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:05, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî ye —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:15, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:06, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:07, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:20, 24 çiriya paşîn 2024 (UTC)
== Files on Commons ==
Hi! I moved most of the files to Commons. So now they can be used on other wikis. The local files in [[:Kategorî:Gotarên ku bên jêbirin]] can now be deleted. Can you have a look? [[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 16:20, 31 kanûna pêşîn 2024 (UTC)
:@[[Bikarhêner:MGA73|MGA73]] Sorry for the late reply. I've been quite busy lately, your message completely slipped my mind. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:53, 13 kanûna paşîn 2025 (UTC)
:: Hello! No worries :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 06:41, 14 kanûna paşîn 2025 (UTC)
I noticed that there is one unused file without a license: [[:Wêne:Wîkîferheng-guhertin.png]]. It it is no longer usable then I suggest to delete it. --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:41, 14 kanûna paşîn 2025 (UTC)
:Done, thanks! [[Bikarhêner:Wikihez|Wikihez]]<small><sup>'''[[Bikarhêner:Balyozxane|Balyozxane]]''' ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]])</sup></small> 15:44, 14 kanûna paşîn 2025 (UTC)
::Happy to help. Now [[Special:ListFiles]] looks nice and short :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:46, 14 kanûna paşîn 2025 (UTC)
== Kom ==
Silav bira, hê jî ew koma we ya ku tu, Bikarhêner û her wiha Guherto tê de bûn, heye? Ez jî demekê tê de bûm, lê ji ber zanîngehê dema min tune bû, û ez bêdeng û bêseda jê derketibûm. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:38, 7 sibat 2025 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Erê, Min mesaj şand ka lê binêre :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:06, 7 sibat 2025 (UTC)
::@[[Bikarhêner:Wikihez|Wikihez]], niha min dît. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:13, 7 sibat 2025 (UTC)
== jêgirtin ==
#* {{jêder-pirtûk|ku|jêgirtin=û |nivîskar=J.R.R. Tolkien|sernav=Hobbit|wergêr=Samî Hêzil|cîh=Enqere|weşanxane={{w|Weşanên Cervantes|Cervantes}}|sal=2023|çap=1|rûpel=9|isbn=9786257724838}}
merhaba. Navê wergêr xuya nake dikarî bidî xuya kirin xêra xwe. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:01, 28 sibat 2025 (UTC)
:Merheba {{r|Rewiye tine}}. Gereg {{param|wergêr}} be te "Wergêr:" nivîsiye.--[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:06, 28 sibat 2025 (UTC)
::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Bira, qaîdeyeke wisa heye ku nimûneyên bikaranîna kelîmeyan gereg pêşî ji nivîskarên bi kurdî nivîsîne were wergirtin, eger çavkaniyên ji kitêbên kurdî tine be, wê demê meriv dikare tercimeyên kitêban ji zimanên din bi kar bîne. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:11, 28 sibat 2025 (UTC)
:::Yanê pirtukên werger ji bo mînak naye qebûl kirin? [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:16, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Em nabêjin "nayê qebûlkirin" lê gereg pêşî çavkaniyên kurdî be dûre yên tercime. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:23, 28 sibat 2025 (UTC)
:::Rast e. Lê min vê pirtûkê xwendîye û hinek peyva bijartîye. Ez nîyetim wan jêgirtina derbas bikim. Mesele ev e. Berîya vê, min ji pirtûkên klasîk jî jêgirtina derbas kiriye. Ji bo hişyarî mala te ava. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:27, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Yên klasîk pir muhîm in, tê de kîjan kelîme derbas bin gereg em herf bi herf li wir qeyd bikin, lê yên tercime tenê eger çavkaniyên kurdî tinebin baş in. Tu dîsa kelîmeyên ku te bijartine binivîse lê ji bo kelîmeyên naskirî nekî çêtir e. Qerar dîsa jî ya te ye. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:32, 28 sibat 2025 (UTC)
== kurmancîyek şkestî ==
Silav {{r|Wikihez}}
https://www.youtube.com/watch?v=hH-DO1RT8zM [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 12:23, 24 adar 2025 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 20:06, 28 nîsan 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 -->
== [[bilgîsayar]] ==
Silav @[[Bikarhêner:Wikihez|Wikihez]], di gotara [[bilgîsayar]] de çavkanî hewce ne. ''[[Wîkîferheng:Pîvekên tevlîkirinê|Çavkanî hewce ye]].'' —[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 00:11, 30 hezîran 2026 (UTC)
== Lîsteyek heye? ==
Silav WikiHez, te got şablon hene, eceba lîsteyek heye ku ez jê hemû şablonên WikiFerhengê bibînim? [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:14, 31 tîrmeh 2026 (UTC)
:Merheba @[[Bikarhêner:Kurdanparez|Kurdanparez]], Li vira [[Alîkarî:Bikaranîna şablonan]] lîsteyek heye feqat hem gelek ji wan kevn bûne, hem jî ne mimkûn e em hemû şablonan rêz bikin. Pêşî li ser wîkîya îngilîzî li şablona dixwazî bigere, eger înterwîkiyan de tinebe, ji min re binivîse ez ê çêkim.
:Pirsek Min non-gloss [[:en:T:n-g]] wekî {{ş|îzaha ne eleqedarî maneyê}} (bi kurtî înm) tercime kir feqat çi eleqeyê ez jî nizanim fikrekî te hebe li gotûbêjê binivîse em rast bikin. Niha dibêjim, gloss bikim îzaha maneyî, non-gloss bikim îzaha nemaneyî belkî baştir be, tu çi dibêjî? [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:22, 31 tîrmeh 2026 (UTC)
::Gelek spas. Ez ê li wir binivîsim. [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:27, 31 tîrmeh 2026 (UTC)
:::@[[Bikarhêner:Kurdanparez|Kurdanparez]] [https://ku.wiktionary.org/w/index.php?title=dimil%C3%AE&diff=6292587&oldid=6292584] Ji bo înlîne-modifiers bnr [[Modul:columns#L-711]] ji bo etîketan [[Modul:labels#Çêkirina_etîketan]] jkx yên ku kêm in îlawe bike. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:49, 31 tîrmeh 2026 (UTC)
::::Gelek spas :)) [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 23:03, 31 tîrmeh 2026 (UTC)
== کرمانجی ==
سەلام. پرسیارێکم هەبوو، کرمانجی زمانە یان زاراوە؟ [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 12:34, 19 tebax 2026 (UTC)
:زاراوا یە فەقات ژ بۆ ژ هەڤ ئێجستنا کورمانجی و سۆرانی ل ڤر وەکی زمان خویا دبە [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 12:41, 19 tebax 2026 (UTC)
::باشە لە [https://ku.wiktionary.org/wiki/Destp%C3%AAk دەستپێک] نووسراوە «فەرهەنگ بە '''کورمانجی''' و زێدەیێ ۳۸۱۹ زیمانێن دینێ»، باشتر نەبوو نووسرابا '''کوردی کرمانجی'''؟
::[[:Kategorî:Kurmancî|لێرەش]] لە نێو ئەو باکسەی نووسراوە '''زیمانێ کورمانجی''' نەک '''زاراڤەیا کورمانجی'''. [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 19:02, 19 tebax 2026 (UTC)
:::Ew ne tiştên muhîm in, ne lazim e em her daîm kurdî kurmancî binivîsin, kurmancî jî soranî jî kurdî ne, her kes jî wisa qebûl dike. Kategorî jî ji ber ku otomatîk tê çêkirin min nexwest wextê xwe pê re xerc bikim. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 10:51, 21 tebax 2026 (UTC)
== Soranî bi tîpên latînî ==
Silav birako, min dît ku bo eynî/heman kelîmeyên soranî guhartoya bi tîpên latînî jî heye. Û translîterasyon jî tevlihev dibe. Wekî nimûne binêre: [https://ku.wiktionary.org/wiki/b%C3%AErkirdinewe#Soran%C3%AE]. Gelo baş e ku her du guharto hebin (farisî-erêbî û latînî)? Ez newêrim devê mijarê vekim,lê bala min kişand. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:25, 24 tebax 2026 (UTC)
:Merheba, tiştên wisa li [[WF:Dîwan]]ê binivîsî çêtir e, feqat eger tenê fikrê min dipirsî, bi min yên soranî qet ne hewce ne, îro soranî tenê bi '''herfên''' erebî tên nivîsin feqat min kovarên kevn ên 1970î de soranî bi herfên latînî jî dîtine, [https://books.vejin.net/ck/books Vejîn Kitêbekan] jî yên erebî transkrîbeyî latînî dikin. Dîsa jî bila hebin, zerara wan nîne bi şerta ku li vir hatiye dayîn: [[Wîkîferheng:Dîwan/2026#Peyvên_soranî_bi_latînî_(Kategorî:Soranî)]] [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:31, 24 tebax 2026 (UTC)
::Spas ji bo bersivê. Bi taybetî min ji ber şablonan pirsî, ji ber ku tîp^en ji alfabeya erebî jî tevlî dibin. Wa Ghybu mijar vekiriye. Gava wextê min çêbû. Ez ê cewaba wî bidim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:36, 24 tebax 2026 (UTC)
keicdur0b63b910ev5ksg1zv7582kwq
6342236
6342223
2026-08-24T20:56:41Z
Wikihez
7344
/* Soranî bi tîpên latînî */ Bersiv
6342236
wikitext
text/x-wiki
== Astengî Bi Sepana Lingua Libre. ==
Silav Birêz,
Vaye 2-3 roj e ku ez nikarim dengê xwe bi rêya sepana Lingua Libre'yê ve biweşînim. Ez dikarim têkevim û deng tomar bikim, lê nikarim dengê xwe li ser Wikimedia Commons biweşînim. Gava ku ez pêl li ser bişkoka "Li Ser Wikimedia Commons Biweşîne" dikim qebûl nake û bişkoka "Dubare Biceribîne Barkirin Bi Ser Neket" dide nîşan. Gava ez pêlê wê jî dikim, tiştek nabe û ev bişkok dîsa derkevî ser holê. Tû kar nake. Derbarê vî mijarê min li ser tora Lingua Libre nivîsand, lê tû encam derneket. Ev program dengê min tomar dike, le naweşîne. Gelo tû fikr û ramanê te li ser vî mijarê heye? Sipas. [[Bikarhêner:Key Mîrza|Key Mîrza]] ([[Gotûbêja bikarhêner:Key Mîrza|gotûbêj]]) 23:38, 28 kanûna paşîn 2023 (UTC)
== Modul û şablonên Wîkîpediya yên Zazakî ==
Silav birêz Balyozxane!
Tu dikarî di Wîkîpediya Zazakî de alîkariya min bikî? Li wir kesek neqeydkirî hin modul û şablon guhert. Ji ber vê yekê agahî tevlihev dibin. Min ew vegerand, lê ew wek nimûne di "Nıfus" ([https://diq.wikipedia.org/wiki/Modul:N%C4%B1fus Modul:Nıfus] û [https://diq.wikipedia.org/wiki/%C5%9Eablon:N%C4%B1fus Şablon:Nıfus]) de xuya nake. Ez berê spas dikim! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 19:50, 21 gulan 2023 (UTC)
:@[[Bikarhêner:Mirzali|Mirzali]] Silav. Problemeke gelemper li wîkiyê heye. Bnr. [[:w:en:Wikipedia:Village_pump_(technical)#Graph_extension_disabled_per_immediate_effect|vê gotûbêja en.wîkiyê]]. Grafîk niha naxebite heta xwediyên wîkiyê çareser bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 05:46, 22 gulan 2023 (UTC)
:: Spas ji bo pêşniyarê! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 06:12, 22 gulan 2023 (UTC)
== Li ser pêwîstiya sê çavkaniyan ji bo nivîsên etîmolojiya peyvên kurdî. ==
Silav Birêz,
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzika bo afirandina peyveke nû bo etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse. Dema ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî çavkanîyê bibînî û peyt bikî
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzikên afirandina peyveke nû, bo nivîsa etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse? Dema ku ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî ew çavkanîyê bibînî û peyt bikî. Ma tenê çavkaniyek têr e? Yan gerek sisê bibe? Ger tu bawer nakî ez dikarim çendîn nimune nîşanê te bidim. Benda bersiva cenabê te me. Sipas [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 08:59, 6 hezîran 2023 (UTC)
:Silav @[[Bikarhêner:Ebulfîda|Ebulfîda]]. Tu hinek bi awayekî şovenîst tevdigerî. Hinek bêhnfireh be ji kerema xwe re. Tu çavkanî dixwazî lê belê çavkanî kêm in. Yên heyî jî tu qebûl nakî. Min ji te re Chyet wek referans da, te ew jî qebûl nekir. Chyet nêzî 40 zimanan dizane û hemû zaravayên kurdî jî dizane dîsa jî tu qebûl nakî. Tu wekî folk etymology difikirî û dixwazî her tiştî bikî kurdî. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 08:37, 8 hezîran 2023 (UTC)
::Sipas, Ma tu jî şovenê hevalê xwe nînî? Bo çin 3 referans bo her kes nameşe? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:33, 8 hezîran 2023 (UTC)
:::Xwedê hiş daye mirov ku bi kar bînî:
:::1-Çawa peyva "Befr", "Baran" ya Kurdî/Îranî heye lê "Cemed"a Kurdî/Îranî tineye? Dibe? Hemû bi hev re girêdayî nînin? Pirtirîn dewletên ereban da "cemed" çênabe. Ma çima reha/koka cemed "cam" ne bî? Ma hemû zimanzanan û etîmologan ser rêya rast in? Li gor min na. Ez zimanzanek wek "Garnik S. Asatrian" û "David Neil MacKenzie" nas nakim. Min jiyana wan xwendiye her du jî dijminatiya Kurdan kirine:
:::https://www.quora.com/Do-you-believe-that-all-Kurdish-linguists-to-date-have-acted-impartially-and-scientifically/answer/Hamdi-Aciksoz
:::2- Ger peyva "Evîn"a Kurdî tinebe, gelo Kurd ji Ereban hînê hezkirinê bûne? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:50, 8 hezîran 2023 (UTC)
== Derbarê pêwistiya 3 referans bo afirandina peyvên nû û nivîsên etîmolojiyên nû. ==
Birêz, Êdî ez westiyam. Cara dawî ji te û hemû nivîskaran rica dikim ku bêyî 3 referans peyvên nû neafirînin û etîmolojî nenivîsînin. Ger ez rastîyê nivîsek/referansek bêyî 3 referans bikevim ezê bi hirs û dijûn livir derkevim. Ji we rica dikim mercên xwe bi kar bînin.[[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 17:42, 10 hezîran 2023 (UTC)
:Qaîdeyeke ji bo etîmolojiyê wekî ku tu dibêjî tune ye. Ger dixwazî, dikarî dengdaneke bidî destpêkirin û li gorî encama dengdanê em dikarin bixebitin. Bi xatirê te. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:21, 14 hezîran 2023 (UTC)
== Çêkirina botekê ==
Merheba hêja {{r|Balyozxane}} Ez bi şanazî dibînim ku tu bota "Balyozbot" bo zêdekirina rûpelên nû ji beşa wergeran bi kar tînî. Ev karekî pir baş e, siheta te xweş! Gelo ez jî dikarim bi awayekî wisa bibim alîkar? Bi silavên germ re! --[[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 07:00, 9 tebax 2023 (UTC)
:@[[Bikarhêner:Ferhengvan|Ferhengvan]] Balyozbot niha bi otomatîk naxebite, Ez li ser scrîptekê dixebitim ya ku dikare hemû wergerê carekê de çêke. Ger rast bixebite, ez ê skrîptê bidim te. Lê niha hin pirsgirêk çêdibin. Wisa dixuye ku ew ê çênebe. Lê dîsa jî hewl didim.
:::P.S. Tu dikarî [[:w:WP:AWB]] biceribînî. Heger hinek hîn bibî, dikarî hesabekî botê çêkî û ez dikarim alîkariya te bikim.
:[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:29, 9 tebax 2023 (UTC)
::Silav @[[Bikarhêner:Ghybu|Ghybu]] Çêkirina gelek rûpelan bi butonekê qedexe ye yan na? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:03, 9 tebax 2023 (UTC)
:::Silav, ne qedexe ye. Piraniya rupelên fr.wiki û en.wiki bi botê hatine çêkirin. Tenê ''[//meta.wikimedia.org/wiki/Copyright copyright]'' û ''[//meta.wikimedia.org/wiki/Bot_policy Bot policy]'' dîqet bikin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:14, 9 tebax 2023 (UTC)
::Gelek spas bo xebata te ya hêja! [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 18:35, 9 tebax 2023 (UTC)
:::@[[Bikarhêner:Ghybu|Ghybu]] Ez behsa botekê nakim. Nimûne Ez dikarim bi hesaba xwe ya Balyozxane gelek rûpel carekê de çêkim bi skrîpta [[User:Balyozbot/CreateTranslation.js]]? Dema pêlî "Hemû çêke" dikî, skrîpt yek bi yek hemû rûpelên wergeran çêdike. Ew tiştek normal e? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:37, 9 tebax 2023 (UTC)
::::Nimûne: [[Taybet:Beşdarî/Balyozxane|2 deqe 34 rûpel hatin çêkirin bi skrîptê]] [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:49, 9 tebax 2023 (UTC)
:::::Tu hesabê xwe wekî botê bikar tinî û leza guherandina botê hindik bilind e (>12 guherandin/deq). Bi min, bo guherandinên biçûk pirsgirêk tine ye... Feqet tu nikarî tenê carekê de pênc sed an hezar gotar bi vî avayî çêkî :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 20:50, 9 tebax 2023 (UTC)
::::::@[[Bikarhêner:Ghybu|Ghybu]] çima na yaw bazarî tune ye? {{=D}} Bi hesabê xwe deqê de çend gotar bi vî awayî çêkim, ne pirsgirêk e? Ne tenê ez, ez ê bidime Ferhengvanî jî :D [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:16, 9 tebax 2023 (UTC)
:::::::Bnr. [https://ku.wiktionary.org/wiki/Got%C3%BBb%C3%AAja_bikarh%C3%AAner:%C5%9E%C3%AAr#Nochmal_wegen_Deinem_Bot] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:23, 9 tebax 2023 (UTC)
::::::::@[[Bikarhêner:Ghybu|Ghybu]] Li gorî Bot policy 12 edits per minute ji bo botekê baş e. Lê tiştek li ser bikarhêneran nayê gotin. Em ji deqê de 12 rûpel çêkin pirsgirêk çêbibe? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:38, 9 tebax 2023 (UTC)
:::::::::Min ne got ku ew problem e ji ber ku li vira kes ne dijî ye (wikiyên din eleqedar nake). Dîsa jî, belkî, li ser Dîwanê ji bo bikaranîna amûrê dengek pêwîst e {{=)}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:49, 9 tebax 2023 (UTC)
::::::::::PS: Problem tenê ji bo [[Taybet:Guherandinên dawî]] ye (nayê xwandin) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:56, 9 tebax 2023 (UTC)
:::::::::::Li ser Wergerê: bi min dema ku hemû beşa Wergerê li ser en.wiki tê kopî kirin, nivîsanda çavkanîyê jî pêwîst e, wekî: [//ku.wiktionary.org/w/index.php?title=xwarin&diff=5207568&oldid=5207001]. Na? [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 22:13, 9 tebax 2023 (UTC)
::::::::::::bi ya min dengdan ne hewce ye lê ger tu bêjî hewce ye, em dikarin yekî çêkin :/
::::::::::::ji bo guherandinên dawî min etiketek çêkir, nimûne [https://ku.wiktionary.org/w/index.php?title=Bikarh%C3%AAner:Balyozxane/testinggg&action=history] tu dikarî guhartinên dawî parzûn bikî ji bo ku guhartinên bi vî etîketî neyên dîtin.
::::::::::::Belê çavkanîdayîn jî pêwîst e. Ez ê wê jî tevlî skrîptê bikim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 22:32, 9 tebax 2023 (UTC)
{{outdent|::::::::::::}} {{silav|Ferhengvan}}. Min koda çêkirina wergeran nû kir. Êdî ne hewce ye yek bi yek pê li lînkan bikî. Pê li "Hemû çêke" bike. "Cureyê peyvê hilbijêre", Maneya wergerê binivîse ( bi otomatîkî navê rûpelê tê lê dikarî tiştên din lê zêde bikî), dûre ger dixwazî "Etîket" lê zêde bike bike "element, anatomî, biyolojî, ekonomî, hwd.) Dûre pê li "Bişîne" bike. Hemû werger yek bi yek tên çêkirin. Di deqiqeyê de herî zêde 6 rûpel çêdike loma hinek hêdî ye. @[[User:Ghybu|Ghbu]] Çiqas bilez be ne pirsgirêk e? --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:22, 11 tebax 2023 (UTC)
:Ji bo veşartina rûpelên ku bi CreateTranslation hatine çêkirin di rûpela Guhartinên dawî de pê li "Nîşankirin" bikin, dûre Pê li "Yên bijartî derxe" bikin û "CreateTranslation hilbijêrin. Bi vî awayî vedişêrin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:24, 11 tebax 2023 (UTC)
::Her hebî, pir baş çêdike. Wisa here, em ê di çend mehan de bigihin milyonek rûpelan :-) [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 14:07, 11 tebax 2023 (UTC)
:::@[[Bikarhêner:Ferhengvan|Ferhengvan]] înşela :) lê divê em hay jê hebin rûpelên xelet çênekin, dema çêdikî maneya peyvê bi eşkere bidin nivîsîn [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:17, 11 tebax 2023 (UTC)
::::@[[Bikarhêner:Ferhengvan|Ferhengvan]] herwiha ger te xeletîyek dît, min agahdar bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:18, 11 tebax 2023 (UTC)
::::Merheba, ji cûrên peyvan (navdêr, rengdêr, lêker...) "hejmar" kêm e, divê ew jî hebe. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:29, 12 tebax 2023 (UTC)
* @[[Bikarhêner:Ferhengvan|Ferhengvan]] di vê navberê de ger wextê te hebe, Xêra xwe dikarî navê zimanan jî bikî kurdî [[Modul:ziman]], ji ber ku em gelek rûpel çêdikin navên zimanan bi îngilîzî dimînin. Divê werin kurdîkirin ji bo ku em karibin kategoriyên wan çêkin.
Ji bo çêkirina kategoriyan Koda jêr tevlî [[Special:MyPage/common.js|rûpela xwe ya common.js]] bike:
<syntaxhighlight lang="javascript>
//[[Bikarhêner:Balyozxane/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozxane/addAutoCat.js&action=raw&ctype=text/javascript');
</syntaxhighlight>
:--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
::{{r|Ferhengvan}} Rûpelên xelet çêneke. Min hejmar lê zêde kir lê dema tiştek kêm be heta were sererastkirin bisekine Xêra xwe. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
:::Temam. Lê yên çêkirî ne xelet in ji ber ku hemû hejmar di heman demê de navdêr in jî. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:51, 12 tebax 2023 (UTC)
::::Silav @[[Bikarhêner:Ghybu|Ghybu]]. Em çêkirina rûpelan bi hesaba xwe dewam bikin yan jî hesaba xwe ya botê bi kar bînin? pîng {{r|Ferhengvan}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 19:37, 14 tebax 2023 (UTC)
== Bot ==
Silav Balyozxane, Sererastkirina rêzimanî bi botê problem e: te jî [https://ku.wiktionary.org/w/index.php?title=Koban%C3%AE&curid=279200&diff=5551838&oldid=5551836 dît], ji ber ku jêgirtin û çavkaniyan jî sererast dike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 14:48, 21 îlon 2023 (UTC)
:Silav @[[Bikarhêner:Ghybu|Ghybu]] Min yek bi yek AWB kontrol dikir û wextê xeletî çêkir, min rawestand, xeletiyê rast kir û dîsa dewam kir :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:50, 21 îlon 2023 (UTC)
== çêkirina forman bo [[hûr kirin]] ==
Silav Balyozxane,
gelo çi dibe sedem ku forma [[hûr kir]] bi awayekî otomatîk nayê afirandin? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:15, 12 çiriya paşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Li cem min pirsgirêk tine ye. Ka rûpelê purge bike û dîsa biceribîne. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:18, 12 çiriya paşîn 2023 (UTC)
::Silav, niha, piştî ku te rêz guhart, çêbû. - [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:20, 12 çiriya paşîn 2023 (UTC)
:::Û gelek caran divê ez ji peyvê derkevim ji ber ku form amade nabin (dema ku ez pê lê dikim). Bnr.: [https://ku.wiktionary.org/w/index.php?title=d%C3%BBr_kir&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=d%C3%BBr%20kirin&accel1=pos-l%C3%AAker%20bor%C3%AE%7C1%7Cyj-form-of&accel2=pos-l%C3%AAker%20bor%C3%AE%7C2%7Cyj-form-of&accel3=pos-l%C3%AAker%20bor%C3%AE%7C3%7Cyj-form-of&accel4=pos-l%C3%AAker%20bor%C3%AE%7C123%7Cp-form-of]. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:21, 12 çiriya paşîn 2023 (UTC)
::: Gava ez ji formê dertêm, û dîsa li ser gotara sereke dîsa pê li formê bikim, hingê çêdibe. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:23, 12 çiriya paşîn 2023 (UTC)
::::@[[Bikarhêner:Şêr|Şêr]] Ger li jor URL hebe û tê de agahdarî hebin, wê demê ne hewce ye derkevî rûpelê dîsa bar bike ew ê were çêkirin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:37, 12 çiriya paşîn 2023 (UTC)
:::::Baş e, mala te ava. :) Dem baş --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:38, 12 çiriya paşîn 2023 (UTC)
::::::URL bi piranî tune. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:42, 12 çiriya paşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Ez lê dinêrim lê min ti pirsgirêk nedît. Belkî tu hinek zû tevdigerî û bêyî ku lînk were derdikevî? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 12:17, 12 çiriya paşîn 2023 (UTC)
::::::::@[[Bikarhêner:Şêr|Şêr]] Hay ji syntaxhighlighter hebe, dema vekirî be carinan ji ber wê encam dernakevin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:26, 12 çiriya paşîn 2023 (UTC)
== amûra "wergerîne" ==
Silav keko,
min hewl da ku wergeran (ji ferhenga en) bidim wergirtin bi rêya amûra te, lê nebû. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:18, 16 çiriya paşîn 2023 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Silav. Te çi kir? Divê ji en.wiktê beşa Translation rasterast li rûpeleke ku.wiktê kopî bikî. Ti tişt neguherîne. Divê şablonên <nowiki>{{trans-top}} û {{trans-bottom}}</nowiki> hebe. (Heke navê şablona trans-top-see be divê -see jê bibî.) Dûre pê li Wergerîne bike û navê rûpela en.wiktê binivîse. Tiştek din nenivîse. Ew qas :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:21, 16 çiriya paşîn 2023 (UTC)
::@[[Bikarhêner:Şêr|Şêr]] Di amûra CreateTranslation de piştî te pê li "Bişîne" kir, divê rûpel vekirî bimîne heta hemû werger werin çêkirin. Ger ji rûpelê derkevî, amûr betal dibe. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
::Spas, fam kir ;)
:::PS: qismê > beşa çêtir e, ji ber ku beş "kurdîtir" e. Silav --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] "beş" li vir wekî hemû beşa Wergerê karibe were fêmkirin, lê di beşekê de dikare ji yekî zêdetir qism hebin loma me peyva qism tercîh kir. Herwiha ji mêj ve ye me dev ji dîtina peyveke "kurdîtir" berdaye, kîjan peyv berbelav be em wê bi kar tînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:39, 16 çiriya paşîn 2023 (UTC)
::::Ez jî wisa difikirim. Lê mixabin hin kurdên me serê xwe bi "paqijkirina" kurdî diêşînin. Ger em li gorî vê mantiqê tev bigerin, divê em nîvê zimanê almanî jê bibin. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:47, 16 çiriya paşîn 2023 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Va ye dîsa em ketin vê nîqaşê [[:w:Gotûbêj:Bangeşe#Barkirina_Bangeşe_12-2023]]. Xwedê ez ê dîn bibim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 10 kanûna pêşîn 2023 (UTC)
::::::Herwiha [[:w:Pêjimêrk]] {{dîwar}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:06, 10 kanûna pêşîn 2023 (UTC)
::::::Bi demê re gotinên biyanî tevkariyeke girîng li zimanê kurdî kirine û bûne beşekî ji wê. Ev peyv danûstandina çandî, pêşketina zanistî û bandorên din nîşan didin. Zimanekî bê peyvên biyanî ne tenê ji aliyê zimanî ve belengaz e, di heman demê de ji aliyê çandî ve jî îzole dibe û nikare xwe adapte bike. Tê bêjî qey 5 hezar peyvên latînî wê kurdî xira bikin. :) Serê xwe bi wan neêşîne. Bawer bike mirov newêre kurdên me hînî kurdî bike. Wek mînak gava ez bêjim kursî, wê tiliyên xwe di nav çavên min re rakin. :( Wê li dewsa wê bêjin "rûniştek", lê ev peyv ji bo her tiştê ku mirov li ser "rûdinê" tine ziman. Xeman nexwe, yên wisa wê xilas nebin :-) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:29, 10 kanûna pêşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Erê lê pirsgirêk ew ê fêmbariya wîkîpediya xira dibe. Loma dixwazim qet nebe tiştên wekî sernavên gotar û kategoriyan baş bin lê ew jî nabe. Ew kes timî bi peyvên ecêb dinivîse ku êdî meriv jê ti tişt fêm nake. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:31, 10 kanûna pêşîn 2023 (UTC)
::::::::Ez jî li aliyê te me. Lê bawer ke wî hevalî ji ev peyv ji yekî wek "xwe" hîn bûne. Ev şaşî ne ya wî ye. Gava ew jî van xeletiyan bidomîne, wê yên piştî wî jî wisa hîn bibin. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:35, 10 kanûna pêşîn 2023 (UTC)
== Forma nû a çêkirina peyvan zû bar dibe ==
Silav Balyozxane,
bi min forma nû a (wek ya viyetnamî) zû bar dibe. Dema ez dixwazim formên tewandî yên navdêran çêbikim, formên skrîptê bar nabin dema ku ez forma kesk ya tabloya tewandinê ditikînim.. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:55, 1 kanûna pêşîn 2023 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1 Mînak] --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:56, 1 kanûna pêşîn 2023 (UTC)
::Silav @[[Bikarhêner:Şêr|Şêr]] Dema di URLyê de ''User:Balyozxane/creation/intro'' [https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=avaker&accel1=pos-navd%C3%AAr%20def%7Cconstr%7Cp-form-of%20gender-n] hebe li cem min form bar nabe. Lê wekî din her tim bar dibe. Ger karekî te bi vî amûrî tinebe dikarî li ser [[Taybet:Tercîh#mw-prefsection-gadgets]] neçalak bikî. Li qutiya li kêleka "Forma çêkirina rûpelên nû çalak bike" bitikîne ew ê were '''ne'''çalakkirin. Dûre dikarî dîsa çalak bikî. Niha çareseriyeke din nabînim. Ger fikrekî te hebe, bibêje em biceribînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 16:06, 1 kanûna pêşîn 2023 (UTC)
:::Spas, min ne-çalak kirin, pirsgirêk çareser bû. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:09, 1 kanûna pêşîn 2023 (UTC)
== çêkirina kategoriyên tên xwestin ==
Silav Balyozxane,
ez [https://ku.wiktionary.org/wiki/Taybet:Kategor%C3%AEy%C3%AAn_t%C3%AAn_xwestin van] kategoriyên xwestî bi bo çêbikim? Min kategoriyek wek test çêkir, [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ker%C3%AE li vir bnr] -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:26, 2 kanûna pêşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Ger dixwazî, çêke lê pêşî [[WF:SB#katbike-rec]] bi kar bîne wek "pwb.py katbike-rec -wantedcategories". (Ne hewce ye lîsteyekî çêkî) Daku jorkategorî û înterwîkî lê were zêdekirin. Piştî hemû xilas bû îcar bi [[WF:SB#katbike]] dîsa hemû -wantedcategories çêke. Spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:30, 2 kanûna pêşîn 2023 (UTC)
::Temam, spas, va min dest pê kir [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ok%C3%AE]. Ez ê vêga bi hesabê bot bidim çêkirin. Êvara te bimîne xweş, û spas ji bo keda te. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:46, 2 kanûna pêşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Gelek spas! A te jî bimîne xweş :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:49, 2 kanûna pêşîn 2023 (UTC)
== Speech recognition ji bo kurmancî ==
Silav bira,
te [https://huggingface.co/Akashpb13/xlsr_kurmanji_kurdish ev] dîtiye? Xuya ye ku nû ji bo kurmancî hatiye çêkirin. Piraniya hevokan hema bêje ji sedî 90 nas dike --17:50, 7 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 17:50, 7 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] ne welle min nedîtiye û zêde bala min tiştên wisa nakişîne lê belê hevalê @[[Bikarhêner:Guherto|Guherto]] pê eleqedar dibe, ez ê jê re bişînim. Gelek spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:59, 7 kanûna paşîn 2024 (UTC)
::Ev tişt bala min dikişînin. :)) Eger pirsên Guherto hebin, dikare bi min re bikeve têkiliyê. Êvara te bimîne xweş :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:02, 7 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Ew ê dê gelek bextiyar be :) Êvar baş! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 7 kanûna paşîn 2024 (UTC)
::::{{r|Şêr}} Di sala 2023an li ser ''commonvoice.mozilla'' de zêdetirî 15 hezar devokên kurdî hatine qeyd kirin, bnr https://commonvoice.mozilla.org/kmr. Berê me nikarîbû bikin ji ber ku dane kêm bûn, niha bi ''[[:w:en:Artificial neural network]]'' bi hêsanî tê çêkirin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:25, 7 kanûna paşîn 2024 (UTC)
:::::Silav Ghybu, gelek spas ji bo agahiyê, bo keda we. Jixwe li wir Mozilla Commonvoice jî wek çavkanî hatiye bikaranîn. Silav û rêz. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:13, 7 kanûna paşîn 2024 (UTC)
::::::[https://huggingface.co/facebook/mms-tts-kmr-script_latin?text=Ew+%C3%AEro+%C3%A7i+dike%3F Ev jî] nivîsê dike deng. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:28, 9 kanûna paşîn 2024 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Te ceriband? Xweş dixebite gelo? Belkî em dikarin gotarên Wîkîpediyayê bidin xwendin û lînka dengî li rûpelan zêde bikin :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:31, 9 kanûna paşîn 2024 (UTC)
::::::::Min hê îro dît. Li gorî testên min nîvî-nîvî ye. Modela deng di hin peyvan xwe pirsgirêkan derdixe, zêde "qeba" ye, û hin tîp tên daqurtandin (bi lêv nake). [Û her wiha]Pêdiviya me bi zimanekî naziktir heye. :)) Model divê hinekî were perwerdekirin. Ji bo niha ez bikaranîna wê pêşniyar nakim bi rastî.- Silav û rêz ..[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:40, 9 kanûna paşîn 2024 (UTC)
::::::::Ez ê li ser Google Colab, modelê daxim û test bikim. Lê tu jî diarî peyvên xwe an jî cumleyên/hevokên xwe binivîsî. :) Wê gavê ne hewce ye ku tu daxî. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:42, 9 kanûna paşîn 2024 (UTC)
:::::::::Gelek spas! Ez ê li ser PAWS biceribînim [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:48, 9 kanûna paşîn 2024 (UTC)
::::::::::Merheba ji we re hevalno. Min hê li ew tiştê ko Şêr lînk kiriye neceribandiye lê piçekî tecrûba min bi van tiştan re heye. Wextê ko hê nû Metayê proja xwe ya bi navê "[https://ai.meta.com/blog/multilingual-model-speech-recognition/ MMS]" derxistibû min xwest biceribênim û min dûvre jî ceriband. TTSa wê zêde bi kêr nayê ji ber ko dengên rast dernaxe (li gora alfabê diçe û alfaba me ji bo şanîkirina dengan bi kêr nayê), lê speech-recognitiona wê bi kêr tê. Hinek gotinan peve dinivîsêne lê ew piştre rehet kare were edilandin (bi destan jî û bi otomatîkî jî). Metayê proja NLLByê jî derxistibû û ew jî di mesela tercimekirinê de ji Google Translate gelekî baştir e. (Dîse jî ji bo kurmancî ya herî baş Bing Translate e). Ez bi rastî bêjim ez piçekî bi xwe serbilind im, [[Wîkîferheng:Dîwan/arşîv 2020#CommonVoice bi kurmancî|ji ber ko herî pêşî min ji CommonVoicê xwest ko kurmancî lê zêde bikin]], berî çar salan. [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:09, 10 kanûna paşîn 2024 (UTC)
:::::::::::@[[Bikarhêner:Şêr|Şêr]] Ew proja ko te lînk kiriye ji MMSa Metayê kevntir e. Berî 2 salan hatiye çêkirin û li vir dosyeyek li serê heye: https://aclanthology.org/2022.lrec-1.689.pdf [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:13, 10 kanûna paşîn 2024 (UTC)
== POS-Tag Kurmancî ==
Min tiştekî wisa ya bikêrhatî dît niha: [http://stanza.run/]. --23:33, 13 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:33, 13 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Gelek spas. Min niha ceriband xweş xuya dike :D. Dikarî emaila xwe vekî, dixwazim tiştek li te pirs bikim? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 23:43, 13 kanûna paşîn 2024 (UTC)
:{{r|Şêr}} Min ê vê amûrê kod bikira, bnr. [//ku.wiktionary.org/wiki/W%C3%AEk%C3%AEferheng:D%C3%AEwan/2023#Am%C3%BBr%C3%AAn_anal%C3%AEzkirina_kurmanc%C3%AE? ''Amûrên analîzkirina kurmancî?''] Ping {{r|Ferhengvan}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 23:47, 13 kanûna paşîn 2024 (UTC)
::{{r|Ghybu}}, {{r|Balyozxane}}, di hin lêkeran de kêmasî hene, lê bi piranî dixebite. Mirov dikare [https://huggingface.co/stanfordnlp/stanza-kmr li vir] pêşniyazan bike? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:03, 14 kanûna paşîn 2024 (UTC)
::{{r|Balyozxane}}, min standina e-peyaman aktîv kir. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:07, 14 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Min şand, înşela te dîtibe :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:46, 14 kanûna paşîn 2024 (UTC)
::::Belê, min dît. Lê divê pêşî ez wê sepanokê daxim. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Temam bira :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
::::::Min ID şand. ;) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:23, 14 kanûna paşîn 2024 (UTC)
== tîpen erebî ==
: → ''Li rûpela'' [[Wîkîferheng:Dîwan/2024#tîpen erebî]] ''hat barkirin.''
== [[Wîkîferheng:ceribandin/aWa]] ==
null —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:05, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî ye —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:15, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:06, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:07, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:20, 24 çiriya paşîn 2024 (UTC)
== Files on Commons ==
Hi! I moved most of the files to Commons. So now they can be used on other wikis. The local files in [[:Kategorî:Gotarên ku bên jêbirin]] can now be deleted. Can you have a look? [[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 16:20, 31 kanûna pêşîn 2024 (UTC)
:@[[Bikarhêner:MGA73|MGA73]] Sorry for the late reply. I've been quite busy lately, your message completely slipped my mind. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:53, 13 kanûna paşîn 2025 (UTC)
:: Hello! No worries :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 06:41, 14 kanûna paşîn 2025 (UTC)
I noticed that there is one unused file without a license: [[:Wêne:Wîkîferheng-guhertin.png]]. It it is no longer usable then I suggest to delete it. --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:41, 14 kanûna paşîn 2025 (UTC)
:Done, thanks! [[Bikarhêner:Wikihez|Wikihez]]<small><sup>'''[[Bikarhêner:Balyozxane|Balyozxane]]''' ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]])</sup></small> 15:44, 14 kanûna paşîn 2025 (UTC)
::Happy to help. Now [[Special:ListFiles]] looks nice and short :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:46, 14 kanûna paşîn 2025 (UTC)
== Kom ==
Silav bira, hê jî ew koma we ya ku tu, Bikarhêner û her wiha Guherto tê de bûn, heye? Ez jî demekê tê de bûm, lê ji ber zanîngehê dema min tune bû, û ez bêdeng û bêseda jê derketibûm. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:38, 7 sibat 2025 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Erê, Min mesaj şand ka lê binêre :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:06, 7 sibat 2025 (UTC)
::@[[Bikarhêner:Wikihez|Wikihez]], niha min dît. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:13, 7 sibat 2025 (UTC)
== jêgirtin ==
#* {{jêder-pirtûk|ku|jêgirtin=û |nivîskar=J.R.R. Tolkien|sernav=Hobbit|wergêr=Samî Hêzil|cîh=Enqere|weşanxane={{w|Weşanên Cervantes|Cervantes}}|sal=2023|çap=1|rûpel=9|isbn=9786257724838}}
merhaba. Navê wergêr xuya nake dikarî bidî xuya kirin xêra xwe. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:01, 28 sibat 2025 (UTC)
:Merheba {{r|Rewiye tine}}. Gereg {{param|wergêr}} be te "Wergêr:" nivîsiye.--[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:06, 28 sibat 2025 (UTC)
::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Bira, qaîdeyeke wisa heye ku nimûneyên bikaranîna kelîmeyan gereg pêşî ji nivîskarên bi kurdî nivîsîne were wergirtin, eger çavkaniyên ji kitêbên kurdî tine be, wê demê meriv dikare tercimeyên kitêban ji zimanên din bi kar bîne. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:11, 28 sibat 2025 (UTC)
:::Yanê pirtukên werger ji bo mînak naye qebûl kirin? [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:16, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Em nabêjin "nayê qebûlkirin" lê gereg pêşî çavkaniyên kurdî be dûre yên tercime. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:23, 28 sibat 2025 (UTC)
:::Rast e. Lê min vê pirtûkê xwendîye û hinek peyva bijartîye. Ez nîyetim wan jêgirtina derbas bikim. Mesele ev e. Berîya vê, min ji pirtûkên klasîk jî jêgirtina derbas kiriye. Ji bo hişyarî mala te ava. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:27, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Yên klasîk pir muhîm in, tê de kîjan kelîme derbas bin gereg em herf bi herf li wir qeyd bikin, lê yên tercime tenê eger çavkaniyên kurdî tinebin baş in. Tu dîsa kelîmeyên ku te bijartine binivîse lê ji bo kelîmeyên naskirî nekî çêtir e. Qerar dîsa jî ya te ye. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:32, 28 sibat 2025 (UTC)
== kurmancîyek şkestî ==
Silav {{r|Wikihez}}
https://www.youtube.com/watch?v=hH-DO1RT8zM [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 12:23, 24 adar 2025 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 20:06, 28 nîsan 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 -->
== [[bilgîsayar]] ==
Silav @[[Bikarhêner:Wikihez|Wikihez]], di gotara [[bilgîsayar]] de çavkanî hewce ne. ''[[Wîkîferheng:Pîvekên tevlîkirinê|Çavkanî hewce ye]].'' —[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 00:11, 30 hezîran 2026 (UTC)
== Lîsteyek heye? ==
Silav WikiHez, te got şablon hene, eceba lîsteyek heye ku ez jê hemû şablonên WikiFerhengê bibînim? [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:14, 31 tîrmeh 2026 (UTC)
:Merheba @[[Bikarhêner:Kurdanparez|Kurdanparez]], Li vira [[Alîkarî:Bikaranîna şablonan]] lîsteyek heye feqat hem gelek ji wan kevn bûne, hem jî ne mimkûn e em hemû şablonan rêz bikin. Pêşî li ser wîkîya îngilîzî li şablona dixwazî bigere, eger înterwîkiyan de tinebe, ji min re binivîse ez ê çêkim.
:Pirsek Min non-gloss [[:en:T:n-g]] wekî {{ş|îzaha ne eleqedarî maneyê}} (bi kurtî înm) tercime kir feqat çi eleqeyê ez jî nizanim fikrekî te hebe li gotûbêjê binivîse em rast bikin. Niha dibêjim, gloss bikim îzaha maneyî, non-gloss bikim îzaha nemaneyî belkî baştir be, tu çi dibêjî? [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:22, 31 tîrmeh 2026 (UTC)
::Gelek spas. Ez ê li wir binivîsim. [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:27, 31 tîrmeh 2026 (UTC)
:::@[[Bikarhêner:Kurdanparez|Kurdanparez]] [https://ku.wiktionary.org/w/index.php?title=dimil%C3%AE&diff=6292587&oldid=6292584] Ji bo înlîne-modifiers bnr [[Modul:columns#L-711]] ji bo etîketan [[Modul:labels#Çêkirina_etîketan]] jkx yên ku kêm in îlawe bike. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:49, 31 tîrmeh 2026 (UTC)
::::Gelek spas :)) [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 23:03, 31 tîrmeh 2026 (UTC)
== کرمانجی ==
سەلام. پرسیارێکم هەبوو، کرمانجی زمانە یان زاراوە؟ [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 12:34, 19 tebax 2026 (UTC)
:زاراوا یە فەقات ژ بۆ ژ هەڤ ئێجستنا کورمانجی و سۆرانی ل ڤر وەکی زمان خویا دبە [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 12:41, 19 tebax 2026 (UTC)
::باشە لە [https://ku.wiktionary.org/wiki/Destp%C3%AAk دەستپێک] نووسراوە «فەرهەنگ بە '''کورمانجی''' و زێدەیێ ۳۸۱۹ زیمانێن دینێ»، باشتر نەبوو نووسرابا '''کوردی کرمانجی'''؟
::[[:Kategorî:Kurmancî|لێرەش]] لە نێو ئەو باکسەی نووسراوە '''زیمانێ کورمانجی''' نەک '''زاراڤەیا کورمانجی'''. [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 19:02, 19 tebax 2026 (UTC)
:::Ew ne tiştên muhîm in, ne lazim e em her daîm kurdî kurmancî binivîsin, kurmancî jî soranî jî kurdî ne, her kes jî wisa qebûl dike. Kategorî jî ji ber ku otomatîk tê çêkirin min nexwest wextê xwe pê re xerc bikim. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 10:51, 21 tebax 2026 (UTC)
== Soranî bi tîpên latînî ==
Silav birako, min dît ku bo eynî/heman kelîmeyên soranî guhartoya bi tîpên latînî jî heye. Û translîterasyon jî tevlihev dibe. Wekî nimûne binêre: [https://ku.wiktionary.org/wiki/b%C3%AErkirdinewe#Soran%C3%AE]. Gelo baş e ku her du guharto hebin (farisî-erêbî û latînî)? Ez newêrim devê mijarê vekim,lê bala min kişand. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:25, 24 tebax 2026 (UTC)
:Merheba, tiştên wisa li [[WF:Dîwan]]ê binivîsî çêtir e, feqat eger tenê fikrê min dipirsî, bi min yên soranî qet ne hewce ne, îro soranî tenê bi '''herfên''' erebî tên nivîsin feqat min kovarên kevn ên 1970î de soranî bi herfên latînî jî dîtine, [https://books.vejin.net/ck/books Vejîn Kitêbekan] jî yên erebî transkrîbeyî latînî dikin. Dîsa jî bila hebin, zerara wan nîne bi şerta ku li vir hatiye dayîn: [[Wîkîferheng:Dîwan/2026#Peyvên_soranî_bi_latînî_(Kategorî:Soranî)]] [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:31, 24 tebax 2026 (UTC)
::Spas ji bo bersivê. Bi taybetî min ji ber şablonan pirsî, ji ber ku tîp^en ji alfabeya erebî jî tevlî dibin. Wa Ghybu mijar vekiriye. Gava wextê min çêbû. Ez ê cewaba wî bidim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:36, 24 tebax 2026 (UTC)
:::Bnr [[Modul:rêziman#L-188]] tu dikarî yên bi latînî bi riya <code>lang:findBestScript(pagename)</code> derxî.
:::Li vir[https://ku.wiktionary.org/w/index.php?title=%D9%86%DB%95%D8%B1%D9%85%D8%A7%D9%85%DB%8E%D8%B1&curid=1358825&diff=6342225&oldid=6342224] rênima çi ye? Talîmat e? hejmardarî mihasebe ye? Kesê ku vê ferhengê bi kar tîne çawa ji heqê vî zimanî derkeve? :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:56, 24 tebax 2026 (UTC)
nplo2vw562n07j1g4hny3zgixkmku7q
6342242
6342236
2026-08-24T21:17:49Z
Şêr
1103
/* Soranî bi tîpên latînî */ Bersiv
6342242
wikitext
text/x-wiki
== Astengî Bi Sepana Lingua Libre. ==
Silav Birêz,
Vaye 2-3 roj e ku ez nikarim dengê xwe bi rêya sepana Lingua Libre'yê ve biweşînim. Ez dikarim têkevim û deng tomar bikim, lê nikarim dengê xwe li ser Wikimedia Commons biweşînim. Gava ku ez pêl li ser bişkoka "Li Ser Wikimedia Commons Biweşîne" dikim qebûl nake û bişkoka "Dubare Biceribîne Barkirin Bi Ser Neket" dide nîşan. Gava ez pêlê wê jî dikim, tiştek nabe û ev bişkok dîsa derkevî ser holê. Tû kar nake. Derbarê vî mijarê min li ser tora Lingua Libre nivîsand, lê tû encam derneket. Ev program dengê min tomar dike, le naweşîne. Gelo tû fikr û ramanê te li ser vî mijarê heye? Sipas. [[Bikarhêner:Key Mîrza|Key Mîrza]] ([[Gotûbêja bikarhêner:Key Mîrza|gotûbêj]]) 23:38, 28 kanûna paşîn 2023 (UTC)
== Modul û şablonên Wîkîpediya yên Zazakî ==
Silav birêz Balyozxane!
Tu dikarî di Wîkîpediya Zazakî de alîkariya min bikî? Li wir kesek neqeydkirî hin modul û şablon guhert. Ji ber vê yekê agahî tevlihev dibin. Min ew vegerand, lê ew wek nimûne di "Nıfus" ([https://diq.wikipedia.org/wiki/Modul:N%C4%B1fus Modul:Nıfus] û [https://diq.wikipedia.org/wiki/%C5%9Eablon:N%C4%B1fus Şablon:Nıfus]) de xuya nake. Ez berê spas dikim! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 19:50, 21 gulan 2023 (UTC)
:@[[Bikarhêner:Mirzali|Mirzali]] Silav. Problemeke gelemper li wîkiyê heye. Bnr. [[:w:en:Wikipedia:Village_pump_(technical)#Graph_extension_disabled_per_immediate_effect|vê gotûbêja en.wîkiyê]]. Grafîk niha naxebite heta xwediyên wîkiyê çareser bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 05:46, 22 gulan 2023 (UTC)
:: Spas ji bo pêşniyarê! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 06:12, 22 gulan 2023 (UTC)
== Li ser pêwîstiya sê çavkaniyan ji bo nivîsên etîmolojiya peyvên kurdî. ==
Silav Birêz,
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzika bo afirandina peyveke nû bo etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse. Dema ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî çavkanîyê bibînî û peyt bikî
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzikên afirandina peyveke nû, bo nivîsa etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse? Dema ku ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî ew çavkanîyê bibînî û peyt bikî. Ma tenê çavkaniyek têr e? Yan gerek sisê bibe? Ger tu bawer nakî ez dikarim çendîn nimune nîşanê te bidim. Benda bersiva cenabê te me. Sipas [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 08:59, 6 hezîran 2023 (UTC)
:Silav @[[Bikarhêner:Ebulfîda|Ebulfîda]]. Tu hinek bi awayekî şovenîst tevdigerî. Hinek bêhnfireh be ji kerema xwe re. Tu çavkanî dixwazî lê belê çavkanî kêm in. Yên heyî jî tu qebûl nakî. Min ji te re Chyet wek referans da, te ew jî qebûl nekir. Chyet nêzî 40 zimanan dizane û hemû zaravayên kurdî jî dizane dîsa jî tu qebûl nakî. Tu wekî folk etymology difikirî û dixwazî her tiştî bikî kurdî. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 08:37, 8 hezîran 2023 (UTC)
::Sipas, Ma tu jî şovenê hevalê xwe nînî? Bo çin 3 referans bo her kes nameşe? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:33, 8 hezîran 2023 (UTC)
:::Xwedê hiş daye mirov ku bi kar bînî:
:::1-Çawa peyva "Befr", "Baran" ya Kurdî/Îranî heye lê "Cemed"a Kurdî/Îranî tineye? Dibe? Hemû bi hev re girêdayî nînin? Pirtirîn dewletên ereban da "cemed" çênabe. Ma çima reha/koka cemed "cam" ne bî? Ma hemû zimanzanan û etîmologan ser rêya rast in? Li gor min na. Ez zimanzanek wek "Garnik S. Asatrian" û "David Neil MacKenzie" nas nakim. Min jiyana wan xwendiye her du jî dijminatiya Kurdan kirine:
:::https://www.quora.com/Do-you-believe-that-all-Kurdish-linguists-to-date-have-acted-impartially-and-scientifically/answer/Hamdi-Aciksoz
:::2- Ger peyva "Evîn"a Kurdî tinebe, gelo Kurd ji Ereban hînê hezkirinê bûne? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:50, 8 hezîran 2023 (UTC)
== Derbarê pêwistiya 3 referans bo afirandina peyvên nû û nivîsên etîmolojiyên nû. ==
Birêz, Êdî ez westiyam. Cara dawî ji te û hemû nivîskaran rica dikim ku bêyî 3 referans peyvên nû neafirînin û etîmolojî nenivîsînin. Ger ez rastîyê nivîsek/referansek bêyî 3 referans bikevim ezê bi hirs û dijûn livir derkevim. Ji we rica dikim mercên xwe bi kar bînin.[[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 17:42, 10 hezîran 2023 (UTC)
:Qaîdeyeke ji bo etîmolojiyê wekî ku tu dibêjî tune ye. Ger dixwazî, dikarî dengdaneke bidî destpêkirin û li gorî encama dengdanê em dikarin bixebitin. Bi xatirê te. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:21, 14 hezîran 2023 (UTC)
== Çêkirina botekê ==
Merheba hêja {{r|Balyozxane}} Ez bi şanazî dibînim ku tu bota "Balyozbot" bo zêdekirina rûpelên nû ji beşa wergeran bi kar tînî. Ev karekî pir baş e, siheta te xweş! Gelo ez jî dikarim bi awayekî wisa bibim alîkar? Bi silavên germ re! --[[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 07:00, 9 tebax 2023 (UTC)
:@[[Bikarhêner:Ferhengvan|Ferhengvan]] Balyozbot niha bi otomatîk naxebite, Ez li ser scrîptekê dixebitim ya ku dikare hemû wergerê carekê de çêke. Ger rast bixebite, ez ê skrîptê bidim te. Lê niha hin pirsgirêk çêdibin. Wisa dixuye ku ew ê çênebe. Lê dîsa jî hewl didim.
:::P.S. Tu dikarî [[:w:WP:AWB]] biceribînî. Heger hinek hîn bibî, dikarî hesabekî botê çêkî û ez dikarim alîkariya te bikim.
:[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:29, 9 tebax 2023 (UTC)
::Silav @[[Bikarhêner:Ghybu|Ghybu]] Çêkirina gelek rûpelan bi butonekê qedexe ye yan na? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:03, 9 tebax 2023 (UTC)
:::Silav, ne qedexe ye. Piraniya rupelên fr.wiki û en.wiki bi botê hatine çêkirin. Tenê ''[//meta.wikimedia.org/wiki/Copyright copyright]'' û ''[//meta.wikimedia.org/wiki/Bot_policy Bot policy]'' dîqet bikin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:14, 9 tebax 2023 (UTC)
::Gelek spas bo xebata te ya hêja! [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 18:35, 9 tebax 2023 (UTC)
:::@[[Bikarhêner:Ghybu|Ghybu]] Ez behsa botekê nakim. Nimûne Ez dikarim bi hesaba xwe ya Balyozxane gelek rûpel carekê de çêkim bi skrîpta [[User:Balyozbot/CreateTranslation.js]]? Dema pêlî "Hemû çêke" dikî, skrîpt yek bi yek hemû rûpelên wergeran çêdike. Ew tiştek normal e? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:37, 9 tebax 2023 (UTC)
::::Nimûne: [[Taybet:Beşdarî/Balyozxane|2 deqe 34 rûpel hatin çêkirin bi skrîptê]] [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:49, 9 tebax 2023 (UTC)
:::::Tu hesabê xwe wekî botê bikar tinî û leza guherandina botê hindik bilind e (>12 guherandin/deq). Bi min, bo guherandinên biçûk pirsgirêk tine ye... Feqet tu nikarî tenê carekê de pênc sed an hezar gotar bi vî avayî çêkî :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 20:50, 9 tebax 2023 (UTC)
::::::@[[Bikarhêner:Ghybu|Ghybu]] çima na yaw bazarî tune ye? {{=D}} Bi hesabê xwe deqê de çend gotar bi vî awayî çêkim, ne pirsgirêk e? Ne tenê ez, ez ê bidime Ferhengvanî jî :D [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:16, 9 tebax 2023 (UTC)
:::::::Bnr. [https://ku.wiktionary.org/wiki/Got%C3%BBb%C3%AAja_bikarh%C3%AAner:%C5%9E%C3%AAr#Nochmal_wegen_Deinem_Bot] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:23, 9 tebax 2023 (UTC)
::::::::@[[Bikarhêner:Ghybu|Ghybu]] Li gorî Bot policy 12 edits per minute ji bo botekê baş e. Lê tiştek li ser bikarhêneran nayê gotin. Em ji deqê de 12 rûpel çêkin pirsgirêk çêbibe? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:38, 9 tebax 2023 (UTC)
:::::::::Min ne got ku ew problem e ji ber ku li vira kes ne dijî ye (wikiyên din eleqedar nake). Dîsa jî, belkî, li ser Dîwanê ji bo bikaranîna amûrê dengek pêwîst e {{=)}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:49, 9 tebax 2023 (UTC)
::::::::::PS: Problem tenê ji bo [[Taybet:Guherandinên dawî]] ye (nayê xwandin) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:56, 9 tebax 2023 (UTC)
:::::::::::Li ser Wergerê: bi min dema ku hemû beşa Wergerê li ser en.wiki tê kopî kirin, nivîsanda çavkanîyê jî pêwîst e, wekî: [//ku.wiktionary.org/w/index.php?title=xwarin&diff=5207568&oldid=5207001]. Na? [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 22:13, 9 tebax 2023 (UTC)
::::::::::::bi ya min dengdan ne hewce ye lê ger tu bêjî hewce ye, em dikarin yekî çêkin :/
::::::::::::ji bo guherandinên dawî min etiketek çêkir, nimûne [https://ku.wiktionary.org/w/index.php?title=Bikarh%C3%AAner:Balyozxane/testinggg&action=history] tu dikarî guhartinên dawî parzûn bikî ji bo ku guhartinên bi vî etîketî neyên dîtin.
::::::::::::Belê çavkanîdayîn jî pêwîst e. Ez ê wê jî tevlî skrîptê bikim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 22:32, 9 tebax 2023 (UTC)
{{outdent|::::::::::::}} {{silav|Ferhengvan}}. Min koda çêkirina wergeran nû kir. Êdî ne hewce ye yek bi yek pê li lînkan bikî. Pê li "Hemû çêke" bike. "Cureyê peyvê hilbijêre", Maneya wergerê binivîse ( bi otomatîkî navê rûpelê tê lê dikarî tiştên din lê zêde bikî), dûre ger dixwazî "Etîket" lê zêde bike bike "element, anatomî, biyolojî, ekonomî, hwd.) Dûre pê li "Bişîne" bike. Hemû werger yek bi yek tên çêkirin. Di deqiqeyê de herî zêde 6 rûpel çêdike loma hinek hêdî ye. @[[User:Ghybu|Ghbu]] Çiqas bilez be ne pirsgirêk e? --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:22, 11 tebax 2023 (UTC)
:Ji bo veşartina rûpelên ku bi CreateTranslation hatine çêkirin di rûpela Guhartinên dawî de pê li "Nîşankirin" bikin, dûre Pê li "Yên bijartî derxe" bikin û "CreateTranslation hilbijêrin. Bi vî awayî vedişêrin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:24, 11 tebax 2023 (UTC)
::Her hebî, pir baş çêdike. Wisa here, em ê di çend mehan de bigihin milyonek rûpelan :-) [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 14:07, 11 tebax 2023 (UTC)
:::@[[Bikarhêner:Ferhengvan|Ferhengvan]] înşela :) lê divê em hay jê hebin rûpelên xelet çênekin, dema çêdikî maneya peyvê bi eşkere bidin nivîsîn [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:17, 11 tebax 2023 (UTC)
::::@[[Bikarhêner:Ferhengvan|Ferhengvan]] herwiha ger te xeletîyek dît, min agahdar bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:18, 11 tebax 2023 (UTC)
::::Merheba, ji cûrên peyvan (navdêr, rengdêr, lêker...) "hejmar" kêm e, divê ew jî hebe. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:29, 12 tebax 2023 (UTC)
* @[[Bikarhêner:Ferhengvan|Ferhengvan]] di vê navberê de ger wextê te hebe, Xêra xwe dikarî navê zimanan jî bikî kurdî [[Modul:ziman]], ji ber ku em gelek rûpel çêdikin navên zimanan bi îngilîzî dimînin. Divê werin kurdîkirin ji bo ku em karibin kategoriyên wan çêkin.
Ji bo çêkirina kategoriyan Koda jêr tevlî [[Special:MyPage/common.js|rûpela xwe ya common.js]] bike:
<syntaxhighlight lang="javascript>
//[[Bikarhêner:Balyozxane/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozxane/addAutoCat.js&action=raw&ctype=text/javascript');
</syntaxhighlight>
:--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
::{{r|Ferhengvan}} Rûpelên xelet çêneke. Min hejmar lê zêde kir lê dema tiştek kêm be heta were sererastkirin bisekine Xêra xwe. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
:::Temam. Lê yên çêkirî ne xelet in ji ber ku hemû hejmar di heman demê de navdêr in jî. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:51, 12 tebax 2023 (UTC)
::::Silav @[[Bikarhêner:Ghybu|Ghybu]]. Em çêkirina rûpelan bi hesaba xwe dewam bikin yan jî hesaba xwe ya botê bi kar bînin? pîng {{r|Ferhengvan}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 19:37, 14 tebax 2023 (UTC)
== Bot ==
Silav Balyozxane, Sererastkirina rêzimanî bi botê problem e: te jî [https://ku.wiktionary.org/w/index.php?title=Koban%C3%AE&curid=279200&diff=5551838&oldid=5551836 dît], ji ber ku jêgirtin û çavkaniyan jî sererast dike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 14:48, 21 îlon 2023 (UTC)
:Silav @[[Bikarhêner:Ghybu|Ghybu]] Min yek bi yek AWB kontrol dikir û wextê xeletî çêkir, min rawestand, xeletiyê rast kir û dîsa dewam kir :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:50, 21 îlon 2023 (UTC)
== çêkirina forman bo [[hûr kirin]] ==
Silav Balyozxane,
gelo çi dibe sedem ku forma [[hûr kir]] bi awayekî otomatîk nayê afirandin? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:15, 12 çiriya paşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Li cem min pirsgirêk tine ye. Ka rûpelê purge bike û dîsa biceribîne. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:18, 12 çiriya paşîn 2023 (UTC)
::Silav, niha, piştî ku te rêz guhart, çêbû. - [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:20, 12 çiriya paşîn 2023 (UTC)
:::Û gelek caran divê ez ji peyvê derkevim ji ber ku form amade nabin (dema ku ez pê lê dikim). Bnr.: [https://ku.wiktionary.org/w/index.php?title=d%C3%BBr_kir&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=d%C3%BBr%20kirin&accel1=pos-l%C3%AAker%20bor%C3%AE%7C1%7Cyj-form-of&accel2=pos-l%C3%AAker%20bor%C3%AE%7C2%7Cyj-form-of&accel3=pos-l%C3%AAker%20bor%C3%AE%7C3%7Cyj-form-of&accel4=pos-l%C3%AAker%20bor%C3%AE%7C123%7Cp-form-of]. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:21, 12 çiriya paşîn 2023 (UTC)
::: Gava ez ji formê dertêm, û dîsa li ser gotara sereke dîsa pê li formê bikim, hingê çêdibe. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:23, 12 çiriya paşîn 2023 (UTC)
::::@[[Bikarhêner:Şêr|Şêr]] Ger li jor URL hebe û tê de agahdarî hebin, wê demê ne hewce ye derkevî rûpelê dîsa bar bike ew ê were çêkirin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:37, 12 çiriya paşîn 2023 (UTC)
:::::Baş e, mala te ava. :) Dem baş --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:38, 12 çiriya paşîn 2023 (UTC)
::::::URL bi piranî tune. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:42, 12 çiriya paşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Ez lê dinêrim lê min ti pirsgirêk nedît. Belkî tu hinek zû tevdigerî û bêyî ku lînk were derdikevî? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 12:17, 12 çiriya paşîn 2023 (UTC)
::::::::@[[Bikarhêner:Şêr|Şêr]] Hay ji syntaxhighlighter hebe, dema vekirî be carinan ji ber wê encam dernakevin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:26, 12 çiriya paşîn 2023 (UTC)
== amûra "wergerîne" ==
Silav keko,
min hewl da ku wergeran (ji ferhenga en) bidim wergirtin bi rêya amûra te, lê nebû. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:18, 16 çiriya paşîn 2023 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Silav. Te çi kir? Divê ji en.wiktê beşa Translation rasterast li rûpeleke ku.wiktê kopî bikî. Ti tişt neguherîne. Divê şablonên <nowiki>{{trans-top}} û {{trans-bottom}}</nowiki> hebe. (Heke navê şablona trans-top-see be divê -see jê bibî.) Dûre pê li Wergerîne bike û navê rûpela en.wiktê binivîse. Tiştek din nenivîse. Ew qas :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:21, 16 çiriya paşîn 2023 (UTC)
::@[[Bikarhêner:Şêr|Şêr]] Di amûra CreateTranslation de piştî te pê li "Bişîne" kir, divê rûpel vekirî bimîne heta hemû werger werin çêkirin. Ger ji rûpelê derkevî, amûr betal dibe. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
::Spas, fam kir ;)
:::PS: qismê > beşa çêtir e, ji ber ku beş "kurdîtir" e. Silav --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] "beş" li vir wekî hemû beşa Wergerê karibe were fêmkirin, lê di beşekê de dikare ji yekî zêdetir qism hebin loma me peyva qism tercîh kir. Herwiha ji mêj ve ye me dev ji dîtina peyveke "kurdîtir" berdaye, kîjan peyv berbelav be em wê bi kar tînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:39, 16 çiriya paşîn 2023 (UTC)
::::Ez jî wisa difikirim. Lê mixabin hin kurdên me serê xwe bi "paqijkirina" kurdî diêşînin. Ger em li gorî vê mantiqê tev bigerin, divê em nîvê zimanê almanî jê bibin. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:47, 16 çiriya paşîn 2023 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Va ye dîsa em ketin vê nîqaşê [[:w:Gotûbêj:Bangeşe#Barkirina_Bangeşe_12-2023]]. Xwedê ez ê dîn bibim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 10 kanûna pêşîn 2023 (UTC)
::::::Herwiha [[:w:Pêjimêrk]] {{dîwar}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:06, 10 kanûna pêşîn 2023 (UTC)
::::::Bi demê re gotinên biyanî tevkariyeke girîng li zimanê kurdî kirine û bûne beşekî ji wê. Ev peyv danûstandina çandî, pêşketina zanistî û bandorên din nîşan didin. Zimanekî bê peyvên biyanî ne tenê ji aliyê zimanî ve belengaz e, di heman demê de ji aliyê çandî ve jî îzole dibe û nikare xwe adapte bike. Tê bêjî qey 5 hezar peyvên latînî wê kurdî xira bikin. :) Serê xwe bi wan neêşîne. Bawer bike mirov newêre kurdên me hînî kurdî bike. Wek mînak gava ez bêjim kursî, wê tiliyên xwe di nav çavên min re rakin. :( Wê li dewsa wê bêjin "rûniştek", lê ev peyv ji bo her tiştê ku mirov li ser "rûdinê" tine ziman. Xeman nexwe, yên wisa wê xilas nebin :-) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:29, 10 kanûna pêşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Erê lê pirsgirêk ew ê fêmbariya wîkîpediya xira dibe. Loma dixwazim qet nebe tiştên wekî sernavên gotar û kategoriyan baş bin lê ew jî nabe. Ew kes timî bi peyvên ecêb dinivîse ku êdî meriv jê ti tişt fêm nake. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:31, 10 kanûna pêşîn 2023 (UTC)
::::::::Ez jî li aliyê te me. Lê bawer ke wî hevalî ji ev peyv ji yekî wek "xwe" hîn bûne. Ev şaşî ne ya wî ye. Gava ew jî van xeletiyan bidomîne, wê yên piştî wî jî wisa hîn bibin. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:35, 10 kanûna pêşîn 2023 (UTC)
== Forma nû a çêkirina peyvan zû bar dibe ==
Silav Balyozxane,
bi min forma nû a (wek ya viyetnamî) zû bar dibe. Dema ez dixwazim formên tewandî yên navdêran çêbikim, formên skrîptê bar nabin dema ku ez forma kesk ya tabloya tewandinê ditikînim.. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:55, 1 kanûna pêşîn 2023 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1 Mînak] --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:56, 1 kanûna pêşîn 2023 (UTC)
::Silav @[[Bikarhêner:Şêr|Şêr]] Dema di URLyê de ''User:Balyozxane/creation/intro'' [https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=avaker&accel1=pos-navd%C3%AAr%20def%7Cconstr%7Cp-form-of%20gender-n] hebe li cem min form bar nabe. Lê wekî din her tim bar dibe. Ger karekî te bi vî amûrî tinebe dikarî li ser [[Taybet:Tercîh#mw-prefsection-gadgets]] neçalak bikî. Li qutiya li kêleka "Forma çêkirina rûpelên nû çalak bike" bitikîne ew ê were '''ne'''çalakkirin. Dûre dikarî dîsa çalak bikî. Niha çareseriyeke din nabînim. Ger fikrekî te hebe, bibêje em biceribînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 16:06, 1 kanûna pêşîn 2023 (UTC)
:::Spas, min ne-çalak kirin, pirsgirêk çareser bû. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:09, 1 kanûna pêşîn 2023 (UTC)
== çêkirina kategoriyên tên xwestin ==
Silav Balyozxane,
ez [https://ku.wiktionary.org/wiki/Taybet:Kategor%C3%AEy%C3%AAn_t%C3%AAn_xwestin van] kategoriyên xwestî bi bo çêbikim? Min kategoriyek wek test çêkir, [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ker%C3%AE li vir bnr] -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:26, 2 kanûna pêşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Ger dixwazî, çêke lê pêşî [[WF:SB#katbike-rec]] bi kar bîne wek "pwb.py katbike-rec -wantedcategories". (Ne hewce ye lîsteyekî çêkî) Daku jorkategorî û înterwîkî lê were zêdekirin. Piştî hemû xilas bû îcar bi [[WF:SB#katbike]] dîsa hemû -wantedcategories çêke. Spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:30, 2 kanûna pêşîn 2023 (UTC)
::Temam, spas, va min dest pê kir [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ok%C3%AE]. Ez ê vêga bi hesabê bot bidim çêkirin. Êvara te bimîne xweş, û spas ji bo keda te. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:46, 2 kanûna pêşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Gelek spas! A te jî bimîne xweş :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:49, 2 kanûna pêşîn 2023 (UTC)
== Speech recognition ji bo kurmancî ==
Silav bira,
te [https://huggingface.co/Akashpb13/xlsr_kurmanji_kurdish ev] dîtiye? Xuya ye ku nû ji bo kurmancî hatiye çêkirin. Piraniya hevokan hema bêje ji sedî 90 nas dike --17:50, 7 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 17:50, 7 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] ne welle min nedîtiye û zêde bala min tiştên wisa nakişîne lê belê hevalê @[[Bikarhêner:Guherto|Guherto]] pê eleqedar dibe, ez ê jê re bişînim. Gelek spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:59, 7 kanûna paşîn 2024 (UTC)
::Ev tişt bala min dikişînin. :)) Eger pirsên Guherto hebin, dikare bi min re bikeve têkiliyê. Êvara te bimîne xweş :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:02, 7 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Ew ê dê gelek bextiyar be :) Êvar baş! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 7 kanûna paşîn 2024 (UTC)
::::{{r|Şêr}} Di sala 2023an li ser ''commonvoice.mozilla'' de zêdetirî 15 hezar devokên kurdî hatine qeyd kirin, bnr https://commonvoice.mozilla.org/kmr. Berê me nikarîbû bikin ji ber ku dane kêm bûn, niha bi ''[[:w:en:Artificial neural network]]'' bi hêsanî tê çêkirin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:25, 7 kanûna paşîn 2024 (UTC)
:::::Silav Ghybu, gelek spas ji bo agahiyê, bo keda we. Jixwe li wir Mozilla Commonvoice jî wek çavkanî hatiye bikaranîn. Silav û rêz. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:13, 7 kanûna paşîn 2024 (UTC)
::::::[https://huggingface.co/facebook/mms-tts-kmr-script_latin?text=Ew+%C3%AEro+%C3%A7i+dike%3F Ev jî] nivîsê dike deng. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:28, 9 kanûna paşîn 2024 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Te ceriband? Xweş dixebite gelo? Belkî em dikarin gotarên Wîkîpediyayê bidin xwendin û lînka dengî li rûpelan zêde bikin :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:31, 9 kanûna paşîn 2024 (UTC)
::::::::Min hê îro dît. Li gorî testên min nîvî-nîvî ye. Modela deng di hin peyvan xwe pirsgirêkan derdixe, zêde "qeba" ye, û hin tîp tên daqurtandin (bi lêv nake). [Û her wiha]Pêdiviya me bi zimanekî naziktir heye. :)) Model divê hinekî were perwerdekirin. Ji bo niha ez bikaranîna wê pêşniyar nakim bi rastî.- Silav û rêz ..[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:40, 9 kanûna paşîn 2024 (UTC)
::::::::Ez ê li ser Google Colab, modelê daxim û test bikim. Lê tu jî diarî peyvên xwe an jî cumleyên/hevokên xwe binivîsî. :) Wê gavê ne hewce ye ku tu daxî. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:42, 9 kanûna paşîn 2024 (UTC)
:::::::::Gelek spas! Ez ê li ser PAWS biceribînim [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:48, 9 kanûna paşîn 2024 (UTC)
::::::::::Merheba ji we re hevalno. Min hê li ew tiştê ko Şêr lînk kiriye neceribandiye lê piçekî tecrûba min bi van tiştan re heye. Wextê ko hê nû Metayê proja xwe ya bi navê "[https://ai.meta.com/blog/multilingual-model-speech-recognition/ MMS]" derxistibû min xwest biceribênim û min dûvre jî ceriband. TTSa wê zêde bi kêr nayê ji ber ko dengên rast dernaxe (li gora alfabê diçe û alfaba me ji bo şanîkirina dengan bi kêr nayê), lê speech-recognitiona wê bi kêr tê. Hinek gotinan peve dinivîsêne lê ew piştre rehet kare were edilandin (bi destan jî û bi otomatîkî jî). Metayê proja NLLByê jî derxistibû û ew jî di mesela tercimekirinê de ji Google Translate gelekî baştir e. (Dîse jî ji bo kurmancî ya herî baş Bing Translate e). Ez bi rastî bêjim ez piçekî bi xwe serbilind im, [[Wîkîferheng:Dîwan/arşîv 2020#CommonVoice bi kurmancî|ji ber ko herî pêşî min ji CommonVoicê xwest ko kurmancî lê zêde bikin]], berî çar salan. [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:09, 10 kanûna paşîn 2024 (UTC)
:::::::::::@[[Bikarhêner:Şêr|Şêr]] Ew proja ko te lînk kiriye ji MMSa Metayê kevntir e. Berî 2 salan hatiye çêkirin û li vir dosyeyek li serê heye: https://aclanthology.org/2022.lrec-1.689.pdf [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:13, 10 kanûna paşîn 2024 (UTC)
== POS-Tag Kurmancî ==
Min tiştekî wisa ya bikêrhatî dît niha: [http://stanza.run/]. --23:33, 13 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:33, 13 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Gelek spas. Min niha ceriband xweş xuya dike :D. Dikarî emaila xwe vekî, dixwazim tiştek li te pirs bikim? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 23:43, 13 kanûna paşîn 2024 (UTC)
:{{r|Şêr}} Min ê vê amûrê kod bikira, bnr. [//ku.wiktionary.org/wiki/W%C3%AEk%C3%AEferheng:D%C3%AEwan/2023#Am%C3%BBr%C3%AAn_anal%C3%AEzkirina_kurmanc%C3%AE? ''Amûrên analîzkirina kurmancî?''] Ping {{r|Ferhengvan}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 23:47, 13 kanûna paşîn 2024 (UTC)
::{{r|Ghybu}}, {{r|Balyozxane}}, di hin lêkeran de kêmasî hene, lê bi piranî dixebite. Mirov dikare [https://huggingface.co/stanfordnlp/stanza-kmr li vir] pêşniyazan bike? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:03, 14 kanûna paşîn 2024 (UTC)
::{{r|Balyozxane}}, min standina e-peyaman aktîv kir. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:07, 14 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Min şand, înşela te dîtibe :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:46, 14 kanûna paşîn 2024 (UTC)
::::Belê, min dît. Lê divê pêşî ez wê sepanokê daxim. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Temam bira :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
::::::Min ID şand. ;) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:23, 14 kanûna paşîn 2024 (UTC)
== tîpen erebî ==
: → ''Li rûpela'' [[Wîkîferheng:Dîwan/2024#tîpen erebî]] ''hat barkirin.''
== [[Wîkîferheng:ceribandin/aWa]] ==
null —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:05, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî ye —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:15, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:06, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:07, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:20, 24 çiriya paşîn 2024 (UTC)
== Files on Commons ==
Hi! I moved most of the files to Commons. So now they can be used on other wikis. The local files in [[:Kategorî:Gotarên ku bên jêbirin]] can now be deleted. Can you have a look? [[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 16:20, 31 kanûna pêşîn 2024 (UTC)
:@[[Bikarhêner:MGA73|MGA73]] Sorry for the late reply. I've been quite busy lately, your message completely slipped my mind. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:53, 13 kanûna paşîn 2025 (UTC)
:: Hello! No worries :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 06:41, 14 kanûna paşîn 2025 (UTC)
I noticed that there is one unused file without a license: [[:Wêne:Wîkîferheng-guhertin.png]]. It it is no longer usable then I suggest to delete it. --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:41, 14 kanûna paşîn 2025 (UTC)
:Done, thanks! [[Bikarhêner:Wikihez|Wikihez]]<small><sup>'''[[Bikarhêner:Balyozxane|Balyozxane]]''' ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]])</sup></small> 15:44, 14 kanûna paşîn 2025 (UTC)
::Happy to help. Now [[Special:ListFiles]] looks nice and short :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:46, 14 kanûna paşîn 2025 (UTC)
== Kom ==
Silav bira, hê jî ew koma we ya ku tu, Bikarhêner û her wiha Guherto tê de bûn, heye? Ez jî demekê tê de bûm, lê ji ber zanîngehê dema min tune bû, û ez bêdeng û bêseda jê derketibûm. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:38, 7 sibat 2025 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Erê, Min mesaj şand ka lê binêre :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:06, 7 sibat 2025 (UTC)
::@[[Bikarhêner:Wikihez|Wikihez]], niha min dît. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:13, 7 sibat 2025 (UTC)
== jêgirtin ==
#* {{jêder-pirtûk|ku|jêgirtin=û |nivîskar=J.R.R. Tolkien|sernav=Hobbit|wergêr=Samî Hêzil|cîh=Enqere|weşanxane={{w|Weşanên Cervantes|Cervantes}}|sal=2023|çap=1|rûpel=9|isbn=9786257724838}}
merhaba. Navê wergêr xuya nake dikarî bidî xuya kirin xêra xwe. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:01, 28 sibat 2025 (UTC)
:Merheba {{r|Rewiye tine}}. Gereg {{param|wergêr}} be te "Wergêr:" nivîsiye.--[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:06, 28 sibat 2025 (UTC)
::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Bira, qaîdeyeke wisa heye ku nimûneyên bikaranîna kelîmeyan gereg pêşî ji nivîskarên bi kurdî nivîsîne were wergirtin, eger çavkaniyên ji kitêbên kurdî tine be, wê demê meriv dikare tercimeyên kitêban ji zimanên din bi kar bîne. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:11, 28 sibat 2025 (UTC)
:::Yanê pirtukên werger ji bo mînak naye qebûl kirin? [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:16, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Em nabêjin "nayê qebûlkirin" lê gereg pêşî çavkaniyên kurdî be dûre yên tercime. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:23, 28 sibat 2025 (UTC)
:::Rast e. Lê min vê pirtûkê xwendîye û hinek peyva bijartîye. Ez nîyetim wan jêgirtina derbas bikim. Mesele ev e. Berîya vê, min ji pirtûkên klasîk jî jêgirtina derbas kiriye. Ji bo hişyarî mala te ava. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:27, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Yên klasîk pir muhîm in, tê de kîjan kelîme derbas bin gereg em herf bi herf li wir qeyd bikin, lê yên tercime tenê eger çavkaniyên kurdî tinebin baş in. Tu dîsa kelîmeyên ku te bijartine binivîse lê ji bo kelîmeyên naskirî nekî çêtir e. Qerar dîsa jî ya te ye. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:32, 28 sibat 2025 (UTC)
== kurmancîyek şkestî ==
Silav {{r|Wikihez}}
https://www.youtube.com/watch?v=hH-DO1RT8zM [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 12:23, 24 adar 2025 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 20:06, 28 nîsan 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 -->
== [[bilgîsayar]] ==
Silav @[[Bikarhêner:Wikihez|Wikihez]], di gotara [[bilgîsayar]] de çavkanî hewce ne. ''[[Wîkîferheng:Pîvekên tevlîkirinê|Çavkanî hewce ye]].'' —[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 00:11, 30 hezîran 2026 (UTC)
== Lîsteyek heye? ==
Silav WikiHez, te got şablon hene, eceba lîsteyek heye ku ez jê hemû şablonên WikiFerhengê bibînim? [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:14, 31 tîrmeh 2026 (UTC)
:Merheba @[[Bikarhêner:Kurdanparez|Kurdanparez]], Li vira [[Alîkarî:Bikaranîna şablonan]] lîsteyek heye feqat hem gelek ji wan kevn bûne, hem jî ne mimkûn e em hemû şablonan rêz bikin. Pêşî li ser wîkîya îngilîzî li şablona dixwazî bigere, eger înterwîkiyan de tinebe, ji min re binivîse ez ê çêkim.
:Pirsek Min non-gloss [[:en:T:n-g]] wekî {{ş|îzaha ne eleqedarî maneyê}} (bi kurtî înm) tercime kir feqat çi eleqeyê ez jî nizanim fikrekî te hebe li gotûbêjê binivîse em rast bikin. Niha dibêjim, gloss bikim îzaha maneyî, non-gloss bikim îzaha nemaneyî belkî baştir be, tu çi dibêjî? [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:22, 31 tîrmeh 2026 (UTC)
::Gelek spas. Ez ê li wir binivîsim. [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:27, 31 tîrmeh 2026 (UTC)
:::@[[Bikarhêner:Kurdanparez|Kurdanparez]] [https://ku.wiktionary.org/w/index.php?title=dimil%C3%AE&diff=6292587&oldid=6292584] Ji bo înlîne-modifiers bnr [[Modul:columns#L-711]] ji bo etîketan [[Modul:labels#Çêkirina_etîketan]] jkx yên ku kêm in îlawe bike. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:49, 31 tîrmeh 2026 (UTC)
::::Gelek spas :)) [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 23:03, 31 tîrmeh 2026 (UTC)
== کرمانجی ==
سەلام. پرسیارێکم هەبوو، کرمانجی زمانە یان زاراوە؟ [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 12:34, 19 tebax 2026 (UTC)
:زاراوا یە فەقات ژ بۆ ژ هەڤ ئێجستنا کورمانجی و سۆرانی ل ڤر وەکی زمان خویا دبە [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 12:41, 19 tebax 2026 (UTC)
::باشە لە [https://ku.wiktionary.org/wiki/Destp%C3%AAk دەستپێک] نووسراوە «فەرهەنگ بە '''کورمانجی''' و زێدەیێ ۳۸۱۹ زیمانێن دینێ»، باشتر نەبوو نووسرابا '''کوردی کرمانجی'''؟
::[[:Kategorî:Kurmancî|لێرەش]] لە نێو ئەو باکسەی نووسراوە '''زیمانێ کورمانجی''' نەک '''زاراڤەیا کورمانجی'''. [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 19:02, 19 tebax 2026 (UTC)
:::Ew ne tiştên muhîm in, ne lazim e em her daîm kurdî kurmancî binivîsin, kurmancî jî soranî jî kurdî ne, her kes jî wisa qebûl dike. Kategorî jî ji ber ku otomatîk tê çêkirin min nexwest wextê xwe pê re xerc bikim. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 10:51, 21 tebax 2026 (UTC)
== Soranî bi tîpên latînî ==
Silav birako, min dît ku bo eynî/heman kelîmeyên soranî guhartoya bi tîpên latînî jî heye. Û translîterasyon jî tevlihev dibe. Wekî nimûne binêre: [https://ku.wiktionary.org/wiki/b%C3%AErkirdinewe#Soran%C3%AE]. Gelo baş e ku her du guharto hebin (farisî-erêbî û latînî)? Ez newêrim devê mijarê vekim,lê bala min kişand. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:25, 24 tebax 2026 (UTC)
:Merheba, tiştên wisa li [[WF:Dîwan]]ê binivîsî çêtir e, feqat eger tenê fikrê min dipirsî, bi min yên soranî qet ne hewce ne, îro soranî tenê bi '''herfên''' erebî tên nivîsin feqat min kovarên kevn ên 1970î de soranî bi herfên latînî jî dîtine, [https://books.vejin.net/ck/books Vejîn Kitêbekan] jî yên erebî transkrîbeyî latînî dikin. Dîsa jî bila hebin, zerara wan nîne bi şerta ku li vir hatiye dayîn: [[Wîkîferheng:Dîwan/2026#Peyvên_soranî_bi_latînî_(Kategorî:Soranî)]] [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:31, 24 tebax 2026 (UTC)
::Spas ji bo bersivê. Bi taybetî min ji ber şablonan pirsî, ji ber ku tîp^en ji alfabeya erebî jî tevlî dibin. Wa Ghybu mijar vekiriye. Gava wextê min çêbû. Ez ê cewaba wî bidim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:36, 24 tebax 2026 (UTC)
:::Bnr [[Modul:rêziman#L-188]] tu dikarî yên bi latînî bi riya <code>lang:findBestScript(pagename)</code> derxî.
:::Li vir[https://ku.wiktionary.org/w/index.php?title=%D9%86%DB%95%D8%B1%D9%85%D8%A7%D9%85%DB%8E%D8%B1&curid=1358825&diff=6342225&oldid=6342224] rênima çi ye? Talîmat e? hejmardarî mihasebe ye? Kesê ku vê ferhengê bi kar tîne çawa ji heqê vî zimanî derkeve? :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:56, 24 tebax 2026 (UTC)
::::Ez ê Scriptê biceribînim. Ji ber pirsaa te: Erê, min niha ew guhartin. Ji bo ferhengê wê ferhengeke din lazim be :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:17, 24 tebax 2026 (UTC)
8mo2advrdvnbf0sfzrpx1bbbj0bhmum
6342243
6342242
2026-08-24T21:20:09Z
Wikihez
7344
/* Soranî bi tîpên latînî */ Bersiv
6342243
wikitext
text/x-wiki
== Astengî Bi Sepana Lingua Libre. ==
Silav Birêz,
Vaye 2-3 roj e ku ez nikarim dengê xwe bi rêya sepana Lingua Libre'yê ve biweşînim. Ez dikarim têkevim û deng tomar bikim, lê nikarim dengê xwe li ser Wikimedia Commons biweşînim. Gava ku ez pêl li ser bişkoka "Li Ser Wikimedia Commons Biweşîne" dikim qebûl nake û bişkoka "Dubare Biceribîne Barkirin Bi Ser Neket" dide nîşan. Gava ez pêlê wê jî dikim, tiştek nabe û ev bişkok dîsa derkevî ser holê. Tû kar nake. Derbarê vî mijarê min li ser tora Lingua Libre nivîsand, lê tû encam derneket. Ev program dengê min tomar dike, le naweşîne. Gelo tû fikr û ramanê te li ser vî mijarê heye? Sipas. [[Bikarhêner:Key Mîrza|Key Mîrza]] ([[Gotûbêja bikarhêner:Key Mîrza|gotûbêj]]) 23:38, 28 kanûna paşîn 2023 (UTC)
== Modul û şablonên Wîkîpediya yên Zazakî ==
Silav birêz Balyozxane!
Tu dikarî di Wîkîpediya Zazakî de alîkariya min bikî? Li wir kesek neqeydkirî hin modul û şablon guhert. Ji ber vê yekê agahî tevlihev dibin. Min ew vegerand, lê ew wek nimûne di "Nıfus" ([https://diq.wikipedia.org/wiki/Modul:N%C4%B1fus Modul:Nıfus] û [https://diq.wikipedia.org/wiki/%C5%9Eablon:N%C4%B1fus Şablon:Nıfus]) de xuya nake. Ez berê spas dikim! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 19:50, 21 gulan 2023 (UTC)
:@[[Bikarhêner:Mirzali|Mirzali]] Silav. Problemeke gelemper li wîkiyê heye. Bnr. [[:w:en:Wikipedia:Village_pump_(technical)#Graph_extension_disabled_per_immediate_effect|vê gotûbêja en.wîkiyê]]. Grafîk niha naxebite heta xwediyên wîkiyê çareser bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 05:46, 22 gulan 2023 (UTC)
:: Spas ji bo pêşniyarê! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 06:12, 22 gulan 2023 (UTC)
== Li ser pêwîstiya sê çavkaniyan ji bo nivîsên etîmolojiya peyvên kurdî. ==
Silav Birêz,
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzika bo afirandina peyveke nû bo etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse. Dema ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî çavkanîyê bibînî û peyt bikî
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzikên afirandina peyveke nû, bo nivîsa etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse? Dema ku ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî ew çavkanîyê bibînî û peyt bikî. Ma tenê çavkaniyek têr e? Yan gerek sisê bibe? Ger tu bawer nakî ez dikarim çendîn nimune nîşanê te bidim. Benda bersiva cenabê te me. Sipas [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 08:59, 6 hezîran 2023 (UTC)
:Silav @[[Bikarhêner:Ebulfîda|Ebulfîda]]. Tu hinek bi awayekî şovenîst tevdigerî. Hinek bêhnfireh be ji kerema xwe re. Tu çavkanî dixwazî lê belê çavkanî kêm in. Yên heyî jî tu qebûl nakî. Min ji te re Chyet wek referans da, te ew jî qebûl nekir. Chyet nêzî 40 zimanan dizane û hemû zaravayên kurdî jî dizane dîsa jî tu qebûl nakî. Tu wekî folk etymology difikirî û dixwazî her tiştî bikî kurdî. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 08:37, 8 hezîran 2023 (UTC)
::Sipas, Ma tu jî şovenê hevalê xwe nînî? Bo çin 3 referans bo her kes nameşe? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:33, 8 hezîran 2023 (UTC)
:::Xwedê hiş daye mirov ku bi kar bînî:
:::1-Çawa peyva "Befr", "Baran" ya Kurdî/Îranî heye lê "Cemed"a Kurdî/Îranî tineye? Dibe? Hemû bi hev re girêdayî nînin? Pirtirîn dewletên ereban da "cemed" çênabe. Ma çima reha/koka cemed "cam" ne bî? Ma hemû zimanzanan û etîmologan ser rêya rast in? Li gor min na. Ez zimanzanek wek "Garnik S. Asatrian" û "David Neil MacKenzie" nas nakim. Min jiyana wan xwendiye her du jî dijminatiya Kurdan kirine:
:::https://www.quora.com/Do-you-believe-that-all-Kurdish-linguists-to-date-have-acted-impartially-and-scientifically/answer/Hamdi-Aciksoz
:::2- Ger peyva "Evîn"a Kurdî tinebe, gelo Kurd ji Ereban hînê hezkirinê bûne? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:50, 8 hezîran 2023 (UTC)
== Derbarê pêwistiya 3 referans bo afirandina peyvên nû û nivîsên etîmolojiyên nû. ==
Birêz, Êdî ez westiyam. Cara dawî ji te û hemû nivîskaran rica dikim ku bêyî 3 referans peyvên nû neafirînin û etîmolojî nenivîsînin. Ger ez rastîyê nivîsek/referansek bêyî 3 referans bikevim ezê bi hirs û dijûn livir derkevim. Ji we rica dikim mercên xwe bi kar bînin.[[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 17:42, 10 hezîran 2023 (UTC)
:Qaîdeyeke ji bo etîmolojiyê wekî ku tu dibêjî tune ye. Ger dixwazî, dikarî dengdaneke bidî destpêkirin û li gorî encama dengdanê em dikarin bixebitin. Bi xatirê te. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:21, 14 hezîran 2023 (UTC)
== Çêkirina botekê ==
Merheba hêja {{r|Balyozxane}} Ez bi şanazî dibînim ku tu bota "Balyozbot" bo zêdekirina rûpelên nû ji beşa wergeran bi kar tînî. Ev karekî pir baş e, siheta te xweş! Gelo ez jî dikarim bi awayekî wisa bibim alîkar? Bi silavên germ re! --[[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 07:00, 9 tebax 2023 (UTC)
:@[[Bikarhêner:Ferhengvan|Ferhengvan]] Balyozbot niha bi otomatîk naxebite, Ez li ser scrîptekê dixebitim ya ku dikare hemû wergerê carekê de çêke. Ger rast bixebite, ez ê skrîptê bidim te. Lê niha hin pirsgirêk çêdibin. Wisa dixuye ku ew ê çênebe. Lê dîsa jî hewl didim.
:::P.S. Tu dikarî [[:w:WP:AWB]] biceribînî. Heger hinek hîn bibî, dikarî hesabekî botê çêkî û ez dikarim alîkariya te bikim.
:[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:29, 9 tebax 2023 (UTC)
::Silav @[[Bikarhêner:Ghybu|Ghybu]] Çêkirina gelek rûpelan bi butonekê qedexe ye yan na? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:03, 9 tebax 2023 (UTC)
:::Silav, ne qedexe ye. Piraniya rupelên fr.wiki û en.wiki bi botê hatine çêkirin. Tenê ''[//meta.wikimedia.org/wiki/Copyright copyright]'' û ''[//meta.wikimedia.org/wiki/Bot_policy Bot policy]'' dîqet bikin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:14, 9 tebax 2023 (UTC)
::Gelek spas bo xebata te ya hêja! [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 18:35, 9 tebax 2023 (UTC)
:::@[[Bikarhêner:Ghybu|Ghybu]] Ez behsa botekê nakim. Nimûne Ez dikarim bi hesaba xwe ya Balyozxane gelek rûpel carekê de çêkim bi skrîpta [[User:Balyozbot/CreateTranslation.js]]? Dema pêlî "Hemû çêke" dikî, skrîpt yek bi yek hemû rûpelên wergeran çêdike. Ew tiştek normal e? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:37, 9 tebax 2023 (UTC)
::::Nimûne: [[Taybet:Beşdarî/Balyozxane|2 deqe 34 rûpel hatin çêkirin bi skrîptê]] [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:49, 9 tebax 2023 (UTC)
:::::Tu hesabê xwe wekî botê bikar tinî û leza guherandina botê hindik bilind e (>12 guherandin/deq). Bi min, bo guherandinên biçûk pirsgirêk tine ye... Feqet tu nikarî tenê carekê de pênc sed an hezar gotar bi vî avayî çêkî :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 20:50, 9 tebax 2023 (UTC)
::::::@[[Bikarhêner:Ghybu|Ghybu]] çima na yaw bazarî tune ye? {{=D}} Bi hesabê xwe deqê de çend gotar bi vî awayî çêkim, ne pirsgirêk e? Ne tenê ez, ez ê bidime Ferhengvanî jî :D [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:16, 9 tebax 2023 (UTC)
:::::::Bnr. [https://ku.wiktionary.org/wiki/Got%C3%BBb%C3%AAja_bikarh%C3%AAner:%C5%9E%C3%AAr#Nochmal_wegen_Deinem_Bot] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:23, 9 tebax 2023 (UTC)
::::::::@[[Bikarhêner:Ghybu|Ghybu]] Li gorî Bot policy 12 edits per minute ji bo botekê baş e. Lê tiştek li ser bikarhêneran nayê gotin. Em ji deqê de 12 rûpel çêkin pirsgirêk çêbibe? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:38, 9 tebax 2023 (UTC)
:::::::::Min ne got ku ew problem e ji ber ku li vira kes ne dijî ye (wikiyên din eleqedar nake). Dîsa jî, belkî, li ser Dîwanê ji bo bikaranîna amûrê dengek pêwîst e {{=)}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:49, 9 tebax 2023 (UTC)
::::::::::PS: Problem tenê ji bo [[Taybet:Guherandinên dawî]] ye (nayê xwandin) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:56, 9 tebax 2023 (UTC)
:::::::::::Li ser Wergerê: bi min dema ku hemû beşa Wergerê li ser en.wiki tê kopî kirin, nivîsanda çavkanîyê jî pêwîst e, wekî: [//ku.wiktionary.org/w/index.php?title=xwarin&diff=5207568&oldid=5207001]. Na? [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 22:13, 9 tebax 2023 (UTC)
::::::::::::bi ya min dengdan ne hewce ye lê ger tu bêjî hewce ye, em dikarin yekî çêkin :/
::::::::::::ji bo guherandinên dawî min etiketek çêkir, nimûne [https://ku.wiktionary.org/w/index.php?title=Bikarh%C3%AAner:Balyozxane/testinggg&action=history] tu dikarî guhartinên dawî parzûn bikî ji bo ku guhartinên bi vî etîketî neyên dîtin.
::::::::::::Belê çavkanîdayîn jî pêwîst e. Ez ê wê jî tevlî skrîptê bikim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 22:32, 9 tebax 2023 (UTC)
{{outdent|::::::::::::}} {{silav|Ferhengvan}}. Min koda çêkirina wergeran nû kir. Êdî ne hewce ye yek bi yek pê li lînkan bikî. Pê li "Hemû çêke" bike. "Cureyê peyvê hilbijêre", Maneya wergerê binivîse ( bi otomatîkî navê rûpelê tê lê dikarî tiştên din lê zêde bikî), dûre ger dixwazî "Etîket" lê zêde bike bike "element, anatomî, biyolojî, ekonomî, hwd.) Dûre pê li "Bişîne" bike. Hemû werger yek bi yek tên çêkirin. Di deqiqeyê de herî zêde 6 rûpel çêdike loma hinek hêdî ye. @[[User:Ghybu|Ghbu]] Çiqas bilez be ne pirsgirêk e? --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:22, 11 tebax 2023 (UTC)
:Ji bo veşartina rûpelên ku bi CreateTranslation hatine çêkirin di rûpela Guhartinên dawî de pê li "Nîşankirin" bikin, dûre Pê li "Yên bijartî derxe" bikin û "CreateTranslation hilbijêrin. Bi vî awayî vedişêrin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:24, 11 tebax 2023 (UTC)
::Her hebî, pir baş çêdike. Wisa here, em ê di çend mehan de bigihin milyonek rûpelan :-) [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 14:07, 11 tebax 2023 (UTC)
:::@[[Bikarhêner:Ferhengvan|Ferhengvan]] înşela :) lê divê em hay jê hebin rûpelên xelet çênekin, dema çêdikî maneya peyvê bi eşkere bidin nivîsîn [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:17, 11 tebax 2023 (UTC)
::::@[[Bikarhêner:Ferhengvan|Ferhengvan]] herwiha ger te xeletîyek dît, min agahdar bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:18, 11 tebax 2023 (UTC)
::::Merheba, ji cûrên peyvan (navdêr, rengdêr, lêker...) "hejmar" kêm e, divê ew jî hebe. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:29, 12 tebax 2023 (UTC)
* @[[Bikarhêner:Ferhengvan|Ferhengvan]] di vê navberê de ger wextê te hebe, Xêra xwe dikarî navê zimanan jî bikî kurdî [[Modul:ziman]], ji ber ku em gelek rûpel çêdikin navên zimanan bi îngilîzî dimînin. Divê werin kurdîkirin ji bo ku em karibin kategoriyên wan çêkin.
Ji bo çêkirina kategoriyan Koda jêr tevlî [[Special:MyPage/common.js|rûpela xwe ya common.js]] bike:
<syntaxhighlight lang="javascript>
//[[Bikarhêner:Balyozxane/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozxane/addAutoCat.js&action=raw&ctype=text/javascript');
</syntaxhighlight>
:--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
::{{r|Ferhengvan}} Rûpelên xelet çêneke. Min hejmar lê zêde kir lê dema tiştek kêm be heta were sererastkirin bisekine Xêra xwe. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
:::Temam. Lê yên çêkirî ne xelet in ji ber ku hemû hejmar di heman demê de navdêr in jî. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:51, 12 tebax 2023 (UTC)
::::Silav @[[Bikarhêner:Ghybu|Ghybu]]. Em çêkirina rûpelan bi hesaba xwe dewam bikin yan jî hesaba xwe ya botê bi kar bînin? pîng {{r|Ferhengvan}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 19:37, 14 tebax 2023 (UTC)
== Bot ==
Silav Balyozxane, Sererastkirina rêzimanî bi botê problem e: te jî [https://ku.wiktionary.org/w/index.php?title=Koban%C3%AE&curid=279200&diff=5551838&oldid=5551836 dît], ji ber ku jêgirtin û çavkaniyan jî sererast dike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 14:48, 21 îlon 2023 (UTC)
:Silav @[[Bikarhêner:Ghybu|Ghybu]] Min yek bi yek AWB kontrol dikir û wextê xeletî çêkir, min rawestand, xeletiyê rast kir û dîsa dewam kir :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:50, 21 îlon 2023 (UTC)
== çêkirina forman bo [[hûr kirin]] ==
Silav Balyozxane,
gelo çi dibe sedem ku forma [[hûr kir]] bi awayekî otomatîk nayê afirandin? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:15, 12 çiriya paşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Li cem min pirsgirêk tine ye. Ka rûpelê purge bike û dîsa biceribîne. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:18, 12 çiriya paşîn 2023 (UTC)
::Silav, niha, piştî ku te rêz guhart, çêbû. - [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:20, 12 çiriya paşîn 2023 (UTC)
:::Û gelek caran divê ez ji peyvê derkevim ji ber ku form amade nabin (dema ku ez pê lê dikim). Bnr.: [https://ku.wiktionary.org/w/index.php?title=d%C3%BBr_kir&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=d%C3%BBr%20kirin&accel1=pos-l%C3%AAker%20bor%C3%AE%7C1%7Cyj-form-of&accel2=pos-l%C3%AAker%20bor%C3%AE%7C2%7Cyj-form-of&accel3=pos-l%C3%AAker%20bor%C3%AE%7C3%7Cyj-form-of&accel4=pos-l%C3%AAker%20bor%C3%AE%7C123%7Cp-form-of]. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:21, 12 çiriya paşîn 2023 (UTC)
::: Gava ez ji formê dertêm, û dîsa li ser gotara sereke dîsa pê li formê bikim, hingê çêdibe. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:23, 12 çiriya paşîn 2023 (UTC)
::::@[[Bikarhêner:Şêr|Şêr]] Ger li jor URL hebe û tê de agahdarî hebin, wê demê ne hewce ye derkevî rûpelê dîsa bar bike ew ê were çêkirin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:37, 12 çiriya paşîn 2023 (UTC)
:::::Baş e, mala te ava. :) Dem baş --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:38, 12 çiriya paşîn 2023 (UTC)
::::::URL bi piranî tune. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:42, 12 çiriya paşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Ez lê dinêrim lê min ti pirsgirêk nedît. Belkî tu hinek zû tevdigerî û bêyî ku lînk were derdikevî? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 12:17, 12 çiriya paşîn 2023 (UTC)
::::::::@[[Bikarhêner:Şêr|Şêr]] Hay ji syntaxhighlighter hebe, dema vekirî be carinan ji ber wê encam dernakevin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:26, 12 çiriya paşîn 2023 (UTC)
== amûra "wergerîne" ==
Silav keko,
min hewl da ku wergeran (ji ferhenga en) bidim wergirtin bi rêya amûra te, lê nebû. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:18, 16 çiriya paşîn 2023 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Silav. Te çi kir? Divê ji en.wiktê beşa Translation rasterast li rûpeleke ku.wiktê kopî bikî. Ti tişt neguherîne. Divê şablonên <nowiki>{{trans-top}} û {{trans-bottom}}</nowiki> hebe. (Heke navê şablona trans-top-see be divê -see jê bibî.) Dûre pê li Wergerîne bike û navê rûpela en.wiktê binivîse. Tiştek din nenivîse. Ew qas :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:21, 16 çiriya paşîn 2023 (UTC)
::@[[Bikarhêner:Şêr|Şêr]] Di amûra CreateTranslation de piştî te pê li "Bişîne" kir, divê rûpel vekirî bimîne heta hemû werger werin çêkirin. Ger ji rûpelê derkevî, amûr betal dibe. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
::Spas, fam kir ;)
:::PS: qismê > beşa çêtir e, ji ber ku beş "kurdîtir" e. Silav --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] "beş" li vir wekî hemû beşa Wergerê karibe were fêmkirin, lê di beşekê de dikare ji yekî zêdetir qism hebin loma me peyva qism tercîh kir. Herwiha ji mêj ve ye me dev ji dîtina peyveke "kurdîtir" berdaye, kîjan peyv berbelav be em wê bi kar tînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:39, 16 çiriya paşîn 2023 (UTC)
::::Ez jî wisa difikirim. Lê mixabin hin kurdên me serê xwe bi "paqijkirina" kurdî diêşînin. Ger em li gorî vê mantiqê tev bigerin, divê em nîvê zimanê almanî jê bibin. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:47, 16 çiriya paşîn 2023 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Va ye dîsa em ketin vê nîqaşê [[:w:Gotûbêj:Bangeşe#Barkirina_Bangeşe_12-2023]]. Xwedê ez ê dîn bibim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 10 kanûna pêşîn 2023 (UTC)
::::::Herwiha [[:w:Pêjimêrk]] {{dîwar}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:06, 10 kanûna pêşîn 2023 (UTC)
::::::Bi demê re gotinên biyanî tevkariyeke girîng li zimanê kurdî kirine û bûne beşekî ji wê. Ev peyv danûstandina çandî, pêşketina zanistî û bandorên din nîşan didin. Zimanekî bê peyvên biyanî ne tenê ji aliyê zimanî ve belengaz e, di heman demê de ji aliyê çandî ve jî îzole dibe û nikare xwe adapte bike. Tê bêjî qey 5 hezar peyvên latînî wê kurdî xira bikin. :) Serê xwe bi wan neêşîne. Bawer bike mirov newêre kurdên me hînî kurdî bike. Wek mînak gava ez bêjim kursî, wê tiliyên xwe di nav çavên min re rakin. :( Wê li dewsa wê bêjin "rûniştek", lê ev peyv ji bo her tiştê ku mirov li ser "rûdinê" tine ziman. Xeman nexwe, yên wisa wê xilas nebin :-) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:29, 10 kanûna pêşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Erê lê pirsgirêk ew ê fêmbariya wîkîpediya xira dibe. Loma dixwazim qet nebe tiştên wekî sernavên gotar û kategoriyan baş bin lê ew jî nabe. Ew kes timî bi peyvên ecêb dinivîse ku êdî meriv jê ti tişt fêm nake. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:31, 10 kanûna pêşîn 2023 (UTC)
::::::::Ez jî li aliyê te me. Lê bawer ke wî hevalî ji ev peyv ji yekî wek "xwe" hîn bûne. Ev şaşî ne ya wî ye. Gava ew jî van xeletiyan bidomîne, wê yên piştî wî jî wisa hîn bibin. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:35, 10 kanûna pêşîn 2023 (UTC)
== Forma nû a çêkirina peyvan zû bar dibe ==
Silav Balyozxane,
bi min forma nû a (wek ya viyetnamî) zû bar dibe. Dema ez dixwazim formên tewandî yên navdêran çêbikim, formên skrîptê bar nabin dema ku ez forma kesk ya tabloya tewandinê ditikînim.. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:55, 1 kanûna pêşîn 2023 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1 Mînak] --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:56, 1 kanûna pêşîn 2023 (UTC)
::Silav @[[Bikarhêner:Şêr|Şêr]] Dema di URLyê de ''User:Balyozxane/creation/intro'' [https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=avaker&accel1=pos-navd%C3%AAr%20def%7Cconstr%7Cp-form-of%20gender-n] hebe li cem min form bar nabe. Lê wekî din her tim bar dibe. Ger karekî te bi vî amûrî tinebe dikarî li ser [[Taybet:Tercîh#mw-prefsection-gadgets]] neçalak bikî. Li qutiya li kêleka "Forma çêkirina rûpelên nû çalak bike" bitikîne ew ê were '''ne'''çalakkirin. Dûre dikarî dîsa çalak bikî. Niha çareseriyeke din nabînim. Ger fikrekî te hebe, bibêje em biceribînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 16:06, 1 kanûna pêşîn 2023 (UTC)
:::Spas, min ne-çalak kirin, pirsgirêk çareser bû. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:09, 1 kanûna pêşîn 2023 (UTC)
== çêkirina kategoriyên tên xwestin ==
Silav Balyozxane,
ez [https://ku.wiktionary.org/wiki/Taybet:Kategor%C3%AEy%C3%AAn_t%C3%AAn_xwestin van] kategoriyên xwestî bi bo çêbikim? Min kategoriyek wek test çêkir, [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ker%C3%AE li vir bnr] -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:26, 2 kanûna pêşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Ger dixwazî, çêke lê pêşî [[WF:SB#katbike-rec]] bi kar bîne wek "pwb.py katbike-rec -wantedcategories". (Ne hewce ye lîsteyekî çêkî) Daku jorkategorî û înterwîkî lê were zêdekirin. Piştî hemû xilas bû îcar bi [[WF:SB#katbike]] dîsa hemû -wantedcategories çêke. Spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:30, 2 kanûna pêşîn 2023 (UTC)
::Temam, spas, va min dest pê kir [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ok%C3%AE]. Ez ê vêga bi hesabê bot bidim çêkirin. Êvara te bimîne xweş, û spas ji bo keda te. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:46, 2 kanûna pêşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Gelek spas! A te jî bimîne xweş :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:49, 2 kanûna pêşîn 2023 (UTC)
== Speech recognition ji bo kurmancî ==
Silav bira,
te [https://huggingface.co/Akashpb13/xlsr_kurmanji_kurdish ev] dîtiye? Xuya ye ku nû ji bo kurmancî hatiye çêkirin. Piraniya hevokan hema bêje ji sedî 90 nas dike --17:50, 7 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 17:50, 7 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] ne welle min nedîtiye û zêde bala min tiştên wisa nakişîne lê belê hevalê @[[Bikarhêner:Guherto|Guherto]] pê eleqedar dibe, ez ê jê re bişînim. Gelek spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:59, 7 kanûna paşîn 2024 (UTC)
::Ev tişt bala min dikişînin. :)) Eger pirsên Guherto hebin, dikare bi min re bikeve têkiliyê. Êvara te bimîne xweş :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:02, 7 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Ew ê dê gelek bextiyar be :) Êvar baş! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 7 kanûna paşîn 2024 (UTC)
::::{{r|Şêr}} Di sala 2023an li ser ''commonvoice.mozilla'' de zêdetirî 15 hezar devokên kurdî hatine qeyd kirin, bnr https://commonvoice.mozilla.org/kmr. Berê me nikarîbû bikin ji ber ku dane kêm bûn, niha bi ''[[:w:en:Artificial neural network]]'' bi hêsanî tê çêkirin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:25, 7 kanûna paşîn 2024 (UTC)
:::::Silav Ghybu, gelek spas ji bo agahiyê, bo keda we. Jixwe li wir Mozilla Commonvoice jî wek çavkanî hatiye bikaranîn. Silav û rêz. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:13, 7 kanûna paşîn 2024 (UTC)
::::::[https://huggingface.co/facebook/mms-tts-kmr-script_latin?text=Ew+%C3%AEro+%C3%A7i+dike%3F Ev jî] nivîsê dike deng. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:28, 9 kanûna paşîn 2024 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Te ceriband? Xweş dixebite gelo? Belkî em dikarin gotarên Wîkîpediyayê bidin xwendin û lînka dengî li rûpelan zêde bikin :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:31, 9 kanûna paşîn 2024 (UTC)
::::::::Min hê îro dît. Li gorî testên min nîvî-nîvî ye. Modela deng di hin peyvan xwe pirsgirêkan derdixe, zêde "qeba" ye, û hin tîp tên daqurtandin (bi lêv nake). [Û her wiha]Pêdiviya me bi zimanekî naziktir heye. :)) Model divê hinekî were perwerdekirin. Ji bo niha ez bikaranîna wê pêşniyar nakim bi rastî.- Silav û rêz ..[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:40, 9 kanûna paşîn 2024 (UTC)
::::::::Ez ê li ser Google Colab, modelê daxim û test bikim. Lê tu jî diarî peyvên xwe an jî cumleyên/hevokên xwe binivîsî. :) Wê gavê ne hewce ye ku tu daxî. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:42, 9 kanûna paşîn 2024 (UTC)
:::::::::Gelek spas! Ez ê li ser PAWS biceribînim [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:48, 9 kanûna paşîn 2024 (UTC)
::::::::::Merheba ji we re hevalno. Min hê li ew tiştê ko Şêr lînk kiriye neceribandiye lê piçekî tecrûba min bi van tiştan re heye. Wextê ko hê nû Metayê proja xwe ya bi navê "[https://ai.meta.com/blog/multilingual-model-speech-recognition/ MMS]" derxistibû min xwest biceribênim û min dûvre jî ceriband. TTSa wê zêde bi kêr nayê ji ber ko dengên rast dernaxe (li gora alfabê diçe û alfaba me ji bo şanîkirina dengan bi kêr nayê), lê speech-recognitiona wê bi kêr tê. Hinek gotinan peve dinivîsêne lê ew piştre rehet kare were edilandin (bi destan jî û bi otomatîkî jî). Metayê proja NLLByê jî derxistibû û ew jî di mesela tercimekirinê de ji Google Translate gelekî baştir e. (Dîse jî ji bo kurmancî ya herî baş Bing Translate e). Ez bi rastî bêjim ez piçekî bi xwe serbilind im, [[Wîkîferheng:Dîwan/arşîv 2020#CommonVoice bi kurmancî|ji ber ko herî pêşî min ji CommonVoicê xwest ko kurmancî lê zêde bikin]], berî çar salan. [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:09, 10 kanûna paşîn 2024 (UTC)
:::::::::::@[[Bikarhêner:Şêr|Şêr]] Ew proja ko te lînk kiriye ji MMSa Metayê kevntir e. Berî 2 salan hatiye çêkirin û li vir dosyeyek li serê heye: https://aclanthology.org/2022.lrec-1.689.pdf [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:13, 10 kanûna paşîn 2024 (UTC)
== POS-Tag Kurmancî ==
Min tiştekî wisa ya bikêrhatî dît niha: [http://stanza.run/]. --23:33, 13 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:33, 13 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Gelek spas. Min niha ceriband xweş xuya dike :D. Dikarî emaila xwe vekî, dixwazim tiştek li te pirs bikim? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 23:43, 13 kanûna paşîn 2024 (UTC)
:{{r|Şêr}} Min ê vê amûrê kod bikira, bnr. [//ku.wiktionary.org/wiki/W%C3%AEk%C3%AEferheng:D%C3%AEwan/2023#Am%C3%BBr%C3%AAn_anal%C3%AEzkirina_kurmanc%C3%AE? ''Amûrên analîzkirina kurmancî?''] Ping {{r|Ferhengvan}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 23:47, 13 kanûna paşîn 2024 (UTC)
::{{r|Ghybu}}, {{r|Balyozxane}}, di hin lêkeran de kêmasî hene, lê bi piranî dixebite. Mirov dikare [https://huggingface.co/stanfordnlp/stanza-kmr li vir] pêşniyazan bike? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:03, 14 kanûna paşîn 2024 (UTC)
::{{r|Balyozxane}}, min standina e-peyaman aktîv kir. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:07, 14 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Min şand, înşela te dîtibe :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:46, 14 kanûna paşîn 2024 (UTC)
::::Belê, min dît. Lê divê pêşî ez wê sepanokê daxim. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Temam bira :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
::::::Min ID şand. ;) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:23, 14 kanûna paşîn 2024 (UTC)
== tîpen erebî ==
: → ''Li rûpela'' [[Wîkîferheng:Dîwan/2024#tîpen erebî]] ''hat barkirin.''
== [[Wîkîferheng:ceribandin/aWa]] ==
null —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:05, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî ye —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:15, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:06, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:07, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:20, 24 çiriya paşîn 2024 (UTC)
== Files on Commons ==
Hi! I moved most of the files to Commons. So now they can be used on other wikis. The local files in [[:Kategorî:Gotarên ku bên jêbirin]] can now be deleted. Can you have a look? [[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 16:20, 31 kanûna pêşîn 2024 (UTC)
:@[[Bikarhêner:MGA73|MGA73]] Sorry for the late reply. I've been quite busy lately, your message completely slipped my mind. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:53, 13 kanûna paşîn 2025 (UTC)
:: Hello! No worries :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 06:41, 14 kanûna paşîn 2025 (UTC)
I noticed that there is one unused file without a license: [[:Wêne:Wîkîferheng-guhertin.png]]. It it is no longer usable then I suggest to delete it. --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:41, 14 kanûna paşîn 2025 (UTC)
:Done, thanks! [[Bikarhêner:Wikihez|Wikihez]]<small><sup>'''[[Bikarhêner:Balyozxane|Balyozxane]]''' ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]])</sup></small> 15:44, 14 kanûna paşîn 2025 (UTC)
::Happy to help. Now [[Special:ListFiles]] looks nice and short :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:46, 14 kanûna paşîn 2025 (UTC)
== Kom ==
Silav bira, hê jî ew koma we ya ku tu, Bikarhêner û her wiha Guherto tê de bûn, heye? Ez jî demekê tê de bûm, lê ji ber zanîngehê dema min tune bû, û ez bêdeng û bêseda jê derketibûm. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:38, 7 sibat 2025 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Erê, Min mesaj şand ka lê binêre :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:06, 7 sibat 2025 (UTC)
::@[[Bikarhêner:Wikihez|Wikihez]], niha min dît. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:13, 7 sibat 2025 (UTC)
== jêgirtin ==
#* {{jêder-pirtûk|ku|jêgirtin=û |nivîskar=J.R.R. Tolkien|sernav=Hobbit|wergêr=Samî Hêzil|cîh=Enqere|weşanxane={{w|Weşanên Cervantes|Cervantes}}|sal=2023|çap=1|rûpel=9|isbn=9786257724838}}
merhaba. Navê wergêr xuya nake dikarî bidî xuya kirin xêra xwe. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:01, 28 sibat 2025 (UTC)
:Merheba {{r|Rewiye tine}}. Gereg {{param|wergêr}} be te "Wergêr:" nivîsiye.--[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:06, 28 sibat 2025 (UTC)
::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Bira, qaîdeyeke wisa heye ku nimûneyên bikaranîna kelîmeyan gereg pêşî ji nivîskarên bi kurdî nivîsîne were wergirtin, eger çavkaniyên ji kitêbên kurdî tine be, wê demê meriv dikare tercimeyên kitêban ji zimanên din bi kar bîne. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:11, 28 sibat 2025 (UTC)
:::Yanê pirtukên werger ji bo mînak naye qebûl kirin? [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:16, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Em nabêjin "nayê qebûlkirin" lê gereg pêşî çavkaniyên kurdî be dûre yên tercime. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:23, 28 sibat 2025 (UTC)
:::Rast e. Lê min vê pirtûkê xwendîye û hinek peyva bijartîye. Ez nîyetim wan jêgirtina derbas bikim. Mesele ev e. Berîya vê, min ji pirtûkên klasîk jî jêgirtina derbas kiriye. Ji bo hişyarî mala te ava. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:27, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Yên klasîk pir muhîm in, tê de kîjan kelîme derbas bin gereg em herf bi herf li wir qeyd bikin, lê yên tercime tenê eger çavkaniyên kurdî tinebin baş in. Tu dîsa kelîmeyên ku te bijartine binivîse lê ji bo kelîmeyên naskirî nekî çêtir e. Qerar dîsa jî ya te ye. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:32, 28 sibat 2025 (UTC)
== kurmancîyek şkestî ==
Silav {{r|Wikihez}}
https://www.youtube.com/watch?v=hH-DO1RT8zM [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 12:23, 24 adar 2025 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 20:06, 28 nîsan 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 -->
== [[bilgîsayar]] ==
Silav @[[Bikarhêner:Wikihez|Wikihez]], di gotara [[bilgîsayar]] de çavkanî hewce ne. ''[[Wîkîferheng:Pîvekên tevlîkirinê|Çavkanî hewce ye]].'' —[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 00:11, 30 hezîran 2026 (UTC)
== Lîsteyek heye? ==
Silav WikiHez, te got şablon hene, eceba lîsteyek heye ku ez jê hemû şablonên WikiFerhengê bibînim? [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:14, 31 tîrmeh 2026 (UTC)
:Merheba @[[Bikarhêner:Kurdanparez|Kurdanparez]], Li vira [[Alîkarî:Bikaranîna şablonan]] lîsteyek heye feqat hem gelek ji wan kevn bûne, hem jî ne mimkûn e em hemû şablonan rêz bikin. Pêşî li ser wîkîya îngilîzî li şablona dixwazî bigere, eger înterwîkiyan de tinebe, ji min re binivîse ez ê çêkim.
:Pirsek Min non-gloss [[:en:T:n-g]] wekî {{ş|îzaha ne eleqedarî maneyê}} (bi kurtî înm) tercime kir feqat çi eleqeyê ez jî nizanim fikrekî te hebe li gotûbêjê binivîse em rast bikin. Niha dibêjim, gloss bikim îzaha maneyî, non-gloss bikim îzaha nemaneyî belkî baştir be, tu çi dibêjî? [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:22, 31 tîrmeh 2026 (UTC)
::Gelek spas. Ez ê li wir binivîsim. [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:27, 31 tîrmeh 2026 (UTC)
:::@[[Bikarhêner:Kurdanparez|Kurdanparez]] [https://ku.wiktionary.org/w/index.php?title=dimil%C3%AE&diff=6292587&oldid=6292584] Ji bo înlîne-modifiers bnr [[Modul:columns#L-711]] ji bo etîketan [[Modul:labels#Çêkirina_etîketan]] jkx yên ku kêm in îlawe bike. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:49, 31 tîrmeh 2026 (UTC)
::::Gelek spas :)) [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 23:03, 31 tîrmeh 2026 (UTC)
== کرمانجی ==
سەلام. پرسیارێکم هەبوو، کرمانجی زمانە یان زاراوە؟ [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 12:34, 19 tebax 2026 (UTC)
:زاراوا یە فەقات ژ بۆ ژ هەڤ ئێجستنا کورمانجی و سۆرانی ل ڤر وەکی زمان خویا دبە [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 12:41, 19 tebax 2026 (UTC)
::باشە لە [https://ku.wiktionary.org/wiki/Destp%C3%AAk دەستپێک] نووسراوە «فەرهەنگ بە '''کورمانجی''' و زێدەیێ ۳۸۱۹ زیمانێن دینێ»، باشتر نەبوو نووسرابا '''کوردی کرمانجی'''؟
::[[:Kategorî:Kurmancî|لێرەش]] لە نێو ئەو باکسەی نووسراوە '''زیمانێ کورمانجی''' نەک '''زاراڤەیا کورمانجی'''. [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 19:02, 19 tebax 2026 (UTC)
:::Ew ne tiştên muhîm in, ne lazim e em her daîm kurdî kurmancî binivîsin, kurmancî jî soranî jî kurdî ne, her kes jî wisa qebûl dike. Kategorî jî ji ber ku otomatîk tê çêkirin min nexwest wextê xwe pê re xerc bikim. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 10:51, 21 tebax 2026 (UTC)
== Soranî bi tîpên latînî ==
Silav birako, min dît ku bo eynî/heman kelîmeyên soranî guhartoya bi tîpên latînî jî heye. Û translîterasyon jî tevlihev dibe. Wekî nimûne binêre: [https://ku.wiktionary.org/wiki/b%C3%AErkirdinewe#Soran%C3%AE]. Gelo baş e ku her du guharto hebin (farisî-erêbî û latînî)? Ez newêrim devê mijarê vekim,lê bala min kişand. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:25, 24 tebax 2026 (UTC)
:Merheba, tiştên wisa li [[WF:Dîwan]]ê binivîsî çêtir e, feqat eger tenê fikrê min dipirsî, bi min yên soranî qet ne hewce ne, îro soranî tenê bi '''herfên''' erebî tên nivîsin feqat min kovarên kevn ên 1970î de soranî bi herfên latînî jî dîtine, [https://books.vejin.net/ck/books Vejîn Kitêbekan] jî yên erebî transkrîbeyî latînî dikin. Dîsa jî bila hebin, zerara wan nîne bi şerta ku li vir hatiye dayîn: [[Wîkîferheng:Dîwan/2026#Peyvên_soranî_bi_latînî_(Kategorî:Soranî)]] [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:31, 24 tebax 2026 (UTC)
::Spas ji bo bersivê. Bi taybetî min ji ber şablonan pirsî, ji ber ku tîp^en ji alfabeya erebî jî tevlî dibin. Wa Ghybu mijar vekiriye. Gava wextê min çêbû. Ez ê cewaba wî bidim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:36, 24 tebax 2026 (UTC)
:::Bnr [[Modul:rêziman#L-188]] tu dikarî yên bi latînî bi riya <code>lang:findBestScript(pagename)</code> derxî.
:::Li vir[https://ku.wiktionary.org/w/index.php?title=%D9%86%DB%95%D8%B1%D9%85%D8%A7%D9%85%DB%8E%D8%B1&curid=1358825&diff=6342225&oldid=6342224] rênima çi ye? Talîmat e? hejmardarî mihasebe ye? Kesê ku vê ferhengê bi kar tîne çawa ji heqê vî zimanî derkeve? :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:56, 24 tebax 2026 (UTC)
::::Ez ê Scriptê biceribînim. Ji ber pirsaa te: Erê, min niha ew guhartin. Ji bo ferhengê wê ferhengeke din lazim be :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:17, 24 tebax 2026 (UTC)
:::::Welleh eynî wisa ye :D Gelek kes ketine derdê dîtina kelîmeya kurdî ya herî orîjînal, ji bîr dikin ka milet wê çawa bike :D [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:20, 24 tebax 2026 (UTC)
e66pcp1v6v7jdn7ibo6c0nranzmsdb3
6342244
6342243
2026-08-24T21:21:09Z
Wikihez
7344
/* Soranî bi tîpên latînî */ Bersiv
6342244
wikitext
text/x-wiki
== Astengî Bi Sepana Lingua Libre. ==
Silav Birêz,
Vaye 2-3 roj e ku ez nikarim dengê xwe bi rêya sepana Lingua Libre'yê ve biweşînim. Ez dikarim têkevim û deng tomar bikim, lê nikarim dengê xwe li ser Wikimedia Commons biweşînim. Gava ku ez pêl li ser bişkoka "Li Ser Wikimedia Commons Biweşîne" dikim qebûl nake û bişkoka "Dubare Biceribîne Barkirin Bi Ser Neket" dide nîşan. Gava ez pêlê wê jî dikim, tiştek nabe û ev bişkok dîsa derkevî ser holê. Tû kar nake. Derbarê vî mijarê min li ser tora Lingua Libre nivîsand, lê tû encam derneket. Ev program dengê min tomar dike, le naweşîne. Gelo tû fikr û ramanê te li ser vî mijarê heye? Sipas. [[Bikarhêner:Key Mîrza|Key Mîrza]] ([[Gotûbêja bikarhêner:Key Mîrza|gotûbêj]]) 23:38, 28 kanûna paşîn 2023 (UTC)
== Modul û şablonên Wîkîpediya yên Zazakî ==
Silav birêz Balyozxane!
Tu dikarî di Wîkîpediya Zazakî de alîkariya min bikî? Li wir kesek neqeydkirî hin modul û şablon guhert. Ji ber vê yekê agahî tevlihev dibin. Min ew vegerand, lê ew wek nimûne di "Nıfus" ([https://diq.wikipedia.org/wiki/Modul:N%C4%B1fus Modul:Nıfus] û [https://diq.wikipedia.org/wiki/%C5%9Eablon:N%C4%B1fus Şablon:Nıfus]) de xuya nake. Ez berê spas dikim! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 19:50, 21 gulan 2023 (UTC)
:@[[Bikarhêner:Mirzali|Mirzali]] Silav. Problemeke gelemper li wîkiyê heye. Bnr. [[:w:en:Wikipedia:Village_pump_(technical)#Graph_extension_disabled_per_immediate_effect|vê gotûbêja en.wîkiyê]]. Grafîk niha naxebite heta xwediyên wîkiyê çareser bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 05:46, 22 gulan 2023 (UTC)
:: Spas ji bo pêşniyarê! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 06:12, 22 gulan 2023 (UTC)
== Li ser pêwîstiya sê çavkaniyan ji bo nivîsên etîmolojiya peyvên kurdî. ==
Silav Birêz,
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzika bo afirandina peyveke nû bo etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse. Dema ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî çavkanîyê bibînî û peyt bikî
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzikên afirandina peyveke nû, bo nivîsa etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse? Dema ku ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî ew çavkanîyê bibînî û peyt bikî. Ma tenê çavkaniyek têr e? Yan gerek sisê bibe? Ger tu bawer nakî ez dikarim çendîn nimune nîşanê te bidim. Benda bersiva cenabê te me. Sipas [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 08:59, 6 hezîran 2023 (UTC)
:Silav @[[Bikarhêner:Ebulfîda|Ebulfîda]]. Tu hinek bi awayekî şovenîst tevdigerî. Hinek bêhnfireh be ji kerema xwe re. Tu çavkanî dixwazî lê belê çavkanî kêm in. Yên heyî jî tu qebûl nakî. Min ji te re Chyet wek referans da, te ew jî qebûl nekir. Chyet nêzî 40 zimanan dizane û hemû zaravayên kurdî jî dizane dîsa jî tu qebûl nakî. Tu wekî folk etymology difikirî û dixwazî her tiştî bikî kurdî. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 08:37, 8 hezîran 2023 (UTC)
::Sipas, Ma tu jî şovenê hevalê xwe nînî? Bo çin 3 referans bo her kes nameşe? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:33, 8 hezîran 2023 (UTC)
:::Xwedê hiş daye mirov ku bi kar bînî:
:::1-Çawa peyva "Befr", "Baran" ya Kurdî/Îranî heye lê "Cemed"a Kurdî/Îranî tineye? Dibe? Hemû bi hev re girêdayî nînin? Pirtirîn dewletên ereban da "cemed" çênabe. Ma çima reha/koka cemed "cam" ne bî? Ma hemû zimanzanan û etîmologan ser rêya rast in? Li gor min na. Ez zimanzanek wek "Garnik S. Asatrian" û "David Neil MacKenzie" nas nakim. Min jiyana wan xwendiye her du jî dijminatiya Kurdan kirine:
:::https://www.quora.com/Do-you-believe-that-all-Kurdish-linguists-to-date-have-acted-impartially-and-scientifically/answer/Hamdi-Aciksoz
:::2- Ger peyva "Evîn"a Kurdî tinebe, gelo Kurd ji Ereban hînê hezkirinê bûne? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:50, 8 hezîran 2023 (UTC)
== Derbarê pêwistiya 3 referans bo afirandina peyvên nû û nivîsên etîmolojiyên nû. ==
Birêz, Êdî ez westiyam. Cara dawî ji te û hemû nivîskaran rica dikim ku bêyî 3 referans peyvên nû neafirînin û etîmolojî nenivîsînin. Ger ez rastîyê nivîsek/referansek bêyî 3 referans bikevim ezê bi hirs û dijûn livir derkevim. Ji we rica dikim mercên xwe bi kar bînin.[[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 17:42, 10 hezîran 2023 (UTC)
:Qaîdeyeke ji bo etîmolojiyê wekî ku tu dibêjî tune ye. Ger dixwazî, dikarî dengdaneke bidî destpêkirin û li gorî encama dengdanê em dikarin bixebitin. Bi xatirê te. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:21, 14 hezîran 2023 (UTC)
== Çêkirina botekê ==
Merheba hêja {{r|Balyozxane}} Ez bi şanazî dibînim ku tu bota "Balyozbot" bo zêdekirina rûpelên nû ji beşa wergeran bi kar tînî. Ev karekî pir baş e, siheta te xweş! Gelo ez jî dikarim bi awayekî wisa bibim alîkar? Bi silavên germ re! --[[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 07:00, 9 tebax 2023 (UTC)
:@[[Bikarhêner:Ferhengvan|Ferhengvan]] Balyozbot niha bi otomatîk naxebite, Ez li ser scrîptekê dixebitim ya ku dikare hemû wergerê carekê de çêke. Ger rast bixebite, ez ê skrîptê bidim te. Lê niha hin pirsgirêk çêdibin. Wisa dixuye ku ew ê çênebe. Lê dîsa jî hewl didim.
:::P.S. Tu dikarî [[:w:WP:AWB]] biceribînî. Heger hinek hîn bibî, dikarî hesabekî botê çêkî û ez dikarim alîkariya te bikim.
:[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:29, 9 tebax 2023 (UTC)
::Silav @[[Bikarhêner:Ghybu|Ghybu]] Çêkirina gelek rûpelan bi butonekê qedexe ye yan na? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:03, 9 tebax 2023 (UTC)
:::Silav, ne qedexe ye. Piraniya rupelên fr.wiki û en.wiki bi botê hatine çêkirin. Tenê ''[//meta.wikimedia.org/wiki/Copyright copyright]'' û ''[//meta.wikimedia.org/wiki/Bot_policy Bot policy]'' dîqet bikin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:14, 9 tebax 2023 (UTC)
::Gelek spas bo xebata te ya hêja! [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 18:35, 9 tebax 2023 (UTC)
:::@[[Bikarhêner:Ghybu|Ghybu]] Ez behsa botekê nakim. Nimûne Ez dikarim bi hesaba xwe ya Balyozxane gelek rûpel carekê de çêkim bi skrîpta [[User:Balyozbot/CreateTranslation.js]]? Dema pêlî "Hemû çêke" dikî, skrîpt yek bi yek hemû rûpelên wergeran çêdike. Ew tiştek normal e? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:37, 9 tebax 2023 (UTC)
::::Nimûne: [[Taybet:Beşdarî/Balyozxane|2 deqe 34 rûpel hatin çêkirin bi skrîptê]] [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:49, 9 tebax 2023 (UTC)
:::::Tu hesabê xwe wekî botê bikar tinî û leza guherandina botê hindik bilind e (>12 guherandin/deq). Bi min, bo guherandinên biçûk pirsgirêk tine ye... Feqet tu nikarî tenê carekê de pênc sed an hezar gotar bi vî avayî çêkî :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 20:50, 9 tebax 2023 (UTC)
::::::@[[Bikarhêner:Ghybu|Ghybu]] çima na yaw bazarî tune ye? {{=D}} Bi hesabê xwe deqê de çend gotar bi vî awayî çêkim, ne pirsgirêk e? Ne tenê ez, ez ê bidime Ferhengvanî jî :D [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:16, 9 tebax 2023 (UTC)
:::::::Bnr. [https://ku.wiktionary.org/wiki/Got%C3%BBb%C3%AAja_bikarh%C3%AAner:%C5%9E%C3%AAr#Nochmal_wegen_Deinem_Bot] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:23, 9 tebax 2023 (UTC)
::::::::@[[Bikarhêner:Ghybu|Ghybu]] Li gorî Bot policy 12 edits per minute ji bo botekê baş e. Lê tiştek li ser bikarhêneran nayê gotin. Em ji deqê de 12 rûpel çêkin pirsgirêk çêbibe? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:38, 9 tebax 2023 (UTC)
:::::::::Min ne got ku ew problem e ji ber ku li vira kes ne dijî ye (wikiyên din eleqedar nake). Dîsa jî, belkî, li ser Dîwanê ji bo bikaranîna amûrê dengek pêwîst e {{=)}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:49, 9 tebax 2023 (UTC)
::::::::::PS: Problem tenê ji bo [[Taybet:Guherandinên dawî]] ye (nayê xwandin) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:56, 9 tebax 2023 (UTC)
:::::::::::Li ser Wergerê: bi min dema ku hemû beşa Wergerê li ser en.wiki tê kopî kirin, nivîsanda çavkanîyê jî pêwîst e, wekî: [//ku.wiktionary.org/w/index.php?title=xwarin&diff=5207568&oldid=5207001]. Na? [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 22:13, 9 tebax 2023 (UTC)
::::::::::::bi ya min dengdan ne hewce ye lê ger tu bêjî hewce ye, em dikarin yekî çêkin :/
::::::::::::ji bo guherandinên dawî min etiketek çêkir, nimûne [https://ku.wiktionary.org/w/index.php?title=Bikarh%C3%AAner:Balyozxane/testinggg&action=history] tu dikarî guhartinên dawî parzûn bikî ji bo ku guhartinên bi vî etîketî neyên dîtin.
::::::::::::Belê çavkanîdayîn jî pêwîst e. Ez ê wê jî tevlî skrîptê bikim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 22:32, 9 tebax 2023 (UTC)
{{outdent|::::::::::::}} {{silav|Ferhengvan}}. Min koda çêkirina wergeran nû kir. Êdî ne hewce ye yek bi yek pê li lînkan bikî. Pê li "Hemû çêke" bike. "Cureyê peyvê hilbijêre", Maneya wergerê binivîse ( bi otomatîkî navê rûpelê tê lê dikarî tiştên din lê zêde bikî), dûre ger dixwazî "Etîket" lê zêde bike bike "element, anatomî, biyolojî, ekonomî, hwd.) Dûre pê li "Bişîne" bike. Hemû werger yek bi yek tên çêkirin. Di deqiqeyê de herî zêde 6 rûpel çêdike loma hinek hêdî ye. @[[User:Ghybu|Ghbu]] Çiqas bilez be ne pirsgirêk e? --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:22, 11 tebax 2023 (UTC)
:Ji bo veşartina rûpelên ku bi CreateTranslation hatine çêkirin di rûpela Guhartinên dawî de pê li "Nîşankirin" bikin, dûre Pê li "Yên bijartî derxe" bikin û "CreateTranslation hilbijêrin. Bi vî awayî vedişêrin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:24, 11 tebax 2023 (UTC)
::Her hebî, pir baş çêdike. Wisa here, em ê di çend mehan de bigihin milyonek rûpelan :-) [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 14:07, 11 tebax 2023 (UTC)
:::@[[Bikarhêner:Ferhengvan|Ferhengvan]] înşela :) lê divê em hay jê hebin rûpelên xelet çênekin, dema çêdikî maneya peyvê bi eşkere bidin nivîsîn [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:17, 11 tebax 2023 (UTC)
::::@[[Bikarhêner:Ferhengvan|Ferhengvan]] herwiha ger te xeletîyek dît, min agahdar bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:18, 11 tebax 2023 (UTC)
::::Merheba, ji cûrên peyvan (navdêr, rengdêr, lêker...) "hejmar" kêm e, divê ew jî hebe. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:29, 12 tebax 2023 (UTC)
* @[[Bikarhêner:Ferhengvan|Ferhengvan]] di vê navberê de ger wextê te hebe, Xêra xwe dikarî navê zimanan jî bikî kurdî [[Modul:ziman]], ji ber ku em gelek rûpel çêdikin navên zimanan bi îngilîzî dimînin. Divê werin kurdîkirin ji bo ku em karibin kategoriyên wan çêkin.
Ji bo çêkirina kategoriyan Koda jêr tevlî [[Special:MyPage/common.js|rûpela xwe ya common.js]] bike:
<syntaxhighlight lang="javascript>
//[[Bikarhêner:Balyozxane/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozxane/addAutoCat.js&action=raw&ctype=text/javascript');
</syntaxhighlight>
:--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
::{{r|Ferhengvan}} Rûpelên xelet çêneke. Min hejmar lê zêde kir lê dema tiştek kêm be heta were sererastkirin bisekine Xêra xwe. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
:::Temam. Lê yên çêkirî ne xelet in ji ber ku hemû hejmar di heman demê de navdêr in jî. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:51, 12 tebax 2023 (UTC)
::::Silav @[[Bikarhêner:Ghybu|Ghybu]]. Em çêkirina rûpelan bi hesaba xwe dewam bikin yan jî hesaba xwe ya botê bi kar bînin? pîng {{r|Ferhengvan}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 19:37, 14 tebax 2023 (UTC)
== Bot ==
Silav Balyozxane, Sererastkirina rêzimanî bi botê problem e: te jî [https://ku.wiktionary.org/w/index.php?title=Koban%C3%AE&curid=279200&diff=5551838&oldid=5551836 dît], ji ber ku jêgirtin û çavkaniyan jî sererast dike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 14:48, 21 îlon 2023 (UTC)
:Silav @[[Bikarhêner:Ghybu|Ghybu]] Min yek bi yek AWB kontrol dikir û wextê xeletî çêkir, min rawestand, xeletiyê rast kir û dîsa dewam kir :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:50, 21 îlon 2023 (UTC)
== çêkirina forman bo [[hûr kirin]] ==
Silav Balyozxane,
gelo çi dibe sedem ku forma [[hûr kir]] bi awayekî otomatîk nayê afirandin? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:15, 12 çiriya paşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Li cem min pirsgirêk tine ye. Ka rûpelê purge bike û dîsa biceribîne. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:18, 12 çiriya paşîn 2023 (UTC)
::Silav, niha, piştî ku te rêz guhart, çêbû. - [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:20, 12 çiriya paşîn 2023 (UTC)
:::Û gelek caran divê ez ji peyvê derkevim ji ber ku form amade nabin (dema ku ez pê lê dikim). Bnr.: [https://ku.wiktionary.org/w/index.php?title=d%C3%BBr_kir&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=d%C3%BBr%20kirin&accel1=pos-l%C3%AAker%20bor%C3%AE%7C1%7Cyj-form-of&accel2=pos-l%C3%AAker%20bor%C3%AE%7C2%7Cyj-form-of&accel3=pos-l%C3%AAker%20bor%C3%AE%7C3%7Cyj-form-of&accel4=pos-l%C3%AAker%20bor%C3%AE%7C123%7Cp-form-of]. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:21, 12 çiriya paşîn 2023 (UTC)
::: Gava ez ji formê dertêm, û dîsa li ser gotara sereke dîsa pê li formê bikim, hingê çêdibe. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:23, 12 çiriya paşîn 2023 (UTC)
::::@[[Bikarhêner:Şêr|Şêr]] Ger li jor URL hebe û tê de agahdarî hebin, wê demê ne hewce ye derkevî rûpelê dîsa bar bike ew ê were çêkirin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:37, 12 çiriya paşîn 2023 (UTC)
:::::Baş e, mala te ava. :) Dem baş --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:38, 12 çiriya paşîn 2023 (UTC)
::::::URL bi piranî tune. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:42, 12 çiriya paşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Ez lê dinêrim lê min ti pirsgirêk nedît. Belkî tu hinek zû tevdigerî û bêyî ku lînk were derdikevî? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 12:17, 12 çiriya paşîn 2023 (UTC)
::::::::@[[Bikarhêner:Şêr|Şêr]] Hay ji syntaxhighlighter hebe, dema vekirî be carinan ji ber wê encam dernakevin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:26, 12 çiriya paşîn 2023 (UTC)
== amûra "wergerîne" ==
Silav keko,
min hewl da ku wergeran (ji ferhenga en) bidim wergirtin bi rêya amûra te, lê nebû. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:18, 16 çiriya paşîn 2023 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Silav. Te çi kir? Divê ji en.wiktê beşa Translation rasterast li rûpeleke ku.wiktê kopî bikî. Ti tişt neguherîne. Divê şablonên <nowiki>{{trans-top}} û {{trans-bottom}}</nowiki> hebe. (Heke navê şablona trans-top-see be divê -see jê bibî.) Dûre pê li Wergerîne bike û navê rûpela en.wiktê binivîse. Tiştek din nenivîse. Ew qas :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:21, 16 çiriya paşîn 2023 (UTC)
::@[[Bikarhêner:Şêr|Şêr]] Di amûra CreateTranslation de piştî te pê li "Bişîne" kir, divê rûpel vekirî bimîne heta hemû werger werin çêkirin. Ger ji rûpelê derkevî, amûr betal dibe. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
::Spas, fam kir ;)
:::PS: qismê > beşa çêtir e, ji ber ku beş "kurdîtir" e. Silav --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] "beş" li vir wekî hemû beşa Wergerê karibe were fêmkirin, lê di beşekê de dikare ji yekî zêdetir qism hebin loma me peyva qism tercîh kir. Herwiha ji mêj ve ye me dev ji dîtina peyveke "kurdîtir" berdaye, kîjan peyv berbelav be em wê bi kar tînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:39, 16 çiriya paşîn 2023 (UTC)
::::Ez jî wisa difikirim. Lê mixabin hin kurdên me serê xwe bi "paqijkirina" kurdî diêşînin. Ger em li gorî vê mantiqê tev bigerin, divê em nîvê zimanê almanî jê bibin. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:47, 16 çiriya paşîn 2023 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Va ye dîsa em ketin vê nîqaşê [[:w:Gotûbêj:Bangeşe#Barkirina_Bangeşe_12-2023]]. Xwedê ez ê dîn bibim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 10 kanûna pêşîn 2023 (UTC)
::::::Herwiha [[:w:Pêjimêrk]] {{dîwar}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:06, 10 kanûna pêşîn 2023 (UTC)
::::::Bi demê re gotinên biyanî tevkariyeke girîng li zimanê kurdî kirine û bûne beşekî ji wê. Ev peyv danûstandina çandî, pêşketina zanistî û bandorên din nîşan didin. Zimanekî bê peyvên biyanî ne tenê ji aliyê zimanî ve belengaz e, di heman demê de ji aliyê çandî ve jî îzole dibe û nikare xwe adapte bike. Tê bêjî qey 5 hezar peyvên latînî wê kurdî xira bikin. :) Serê xwe bi wan neêşîne. Bawer bike mirov newêre kurdên me hînî kurdî bike. Wek mînak gava ez bêjim kursî, wê tiliyên xwe di nav çavên min re rakin. :( Wê li dewsa wê bêjin "rûniştek", lê ev peyv ji bo her tiştê ku mirov li ser "rûdinê" tine ziman. Xeman nexwe, yên wisa wê xilas nebin :-) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:29, 10 kanûna pêşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Erê lê pirsgirêk ew ê fêmbariya wîkîpediya xira dibe. Loma dixwazim qet nebe tiştên wekî sernavên gotar û kategoriyan baş bin lê ew jî nabe. Ew kes timî bi peyvên ecêb dinivîse ku êdî meriv jê ti tişt fêm nake. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:31, 10 kanûna pêşîn 2023 (UTC)
::::::::Ez jî li aliyê te me. Lê bawer ke wî hevalî ji ev peyv ji yekî wek "xwe" hîn bûne. Ev şaşî ne ya wî ye. Gava ew jî van xeletiyan bidomîne, wê yên piştî wî jî wisa hîn bibin. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:35, 10 kanûna pêşîn 2023 (UTC)
== Forma nû a çêkirina peyvan zû bar dibe ==
Silav Balyozxane,
bi min forma nû a (wek ya viyetnamî) zû bar dibe. Dema ez dixwazim formên tewandî yên navdêran çêbikim, formên skrîptê bar nabin dema ku ez forma kesk ya tabloya tewandinê ditikînim.. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:55, 1 kanûna pêşîn 2023 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1 Mînak] --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:56, 1 kanûna pêşîn 2023 (UTC)
::Silav @[[Bikarhêner:Şêr|Şêr]] Dema di URLyê de ''User:Balyozxane/creation/intro'' [https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=avaker&accel1=pos-navd%C3%AAr%20def%7Cconstr%7Cp-form-of%20gender-n] hebe li cem min form bar nabe. Lê wekî din her tim bar dibe. Ger karekî te bi vî amûrî tinebe dikarî li ser [[Taybet:Tercîh#mw-prefsection-gadgets]] neçalak bikî. Li qutiya li kêleka "Forma çêkirina rûpelên nû çalak bike" bitikîne ew ê were '''ne'''çalakkirin. Dûre dikarî dîsa çalak bikî. Niha çareseriyeke din nabînim. Ger fikrekî te hebe, bibêje em biceribînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 16:06, 1 kanûna pêşîn 2023 (UTC)
:::Spas, min ne-çalak kirin, pirsgirêk çareser bû. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:09, 1 kanûna pêşîn 2023 (UTC)
== çêkirina kategoriyên tên xwestin ==
Silav Balyozxane,
ez [https://ku.wiktionary.org/wiki/Taybet:Kategor%C3%AEy%C3%AAn_t%C3%AAn_xwestin van] kategoriyên xwestî bi bo çêbikim? Min kategoriyek wek test çêkir, [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ker%C3%AE li vir bnr] -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:26, 2 kanûna pêşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Ger dixwazî, çêke lê pêşî [[WF:SB#katbike-rec]] bi kar bîne wek "pwb.py katbike-rec -wantedcategories". (Ne hewce ye lîsteyekî çêkî) Daku jorkategorî û înterwîkî lê were zêdekirin. Piştî hemû xilas bû îcar bi [[WF:SB#katbike]] dîsa hemû -wantedcategories çêke. Spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:30, 2 kanûna pêşîn 2023 (UTC)
::Temam, spas, va min dest pê kir [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ok%C3%AE]. Ez ê vêga bi hesabê bot bidim çêkirin. Êvara te bimîne xweş, û spas ji bo keda te. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:46, 2 kanûna pêşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Gelek spas! A te jî bimîne xweş :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:49, 2 kanûna pêşîn 2023 (UTC)
== Speech recognition ji bo kurmancî ==
Silav bira,
te [https://huggingface.co/Akashpb13/xlsr_kurmanji_kurdish ev] dîtiye? Xuya ye ku nû ji bo kurmancî hatiye çêkirin. Piraniya hevokan hema bêje ji sedî 90 nas dike --17:50, 7 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 17:50, 7 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] ne welle min nedîtiye û zêde bala min tiştên wisa nakişîne lê belê hevalê @[[Bikarhêner:Guherto|Guherto]] pê eleqedar dibe, ez ê jê re bişînim. Gelek spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:59, 7 kanûna paşîn 2024 (UTC)
::Ev tişt bala min dikişînin. :)) Eger pirsên Guherto hebin, dikare bi min re bikeve têkiliyê. Êvara te bimîne xweş :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:02, 7 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Ew ê dê gelek bextiyar be :) Êvar baş! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 7 kanûna paşîn 2024 (UTC)
::::{{r|Şêr}} Di sala 2023an li ser ''commonvoice.mozilla'' de zêdetirî 15 hezar devokên kurdî hatine qeyd kirin, bnr https://commonvoice.mozilla.org/kmr. Berê me nikarîbû bikin ji ber ku dane kêm bûn, niha bi ''[[:w:en:Artificial neural network]]'' bi hêsanî tê çêkirin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:25, 7 kanûna paşîn 2024 (UTC)
:::::Silav Ghybu, gelek spas ji bo agahiyê, bo keda we. Jixwe li wir Mozilla Commonvoice jî wek çavkanî hatiye bikaranîn. Silav û rêz. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:13, 7 kanûna paşîn 2024 (UTC)
::::::[https://huggingface.co/facebook/mms-tts-kmr-script_latin?text=Ew+%C3%AEro+%C3%A7i+dike%3F Ev jî] nivîsê dike deng. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:28, 9 kanûna paşîn 2024 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Te ceriband? Xweş dixebite gelo? Belkî em dikarin gotarên Wîkîpediyayê bidin xwendin û lînka dengî li rûpelan zêde bikin :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:31, 9 kanûna paşîn 2024 (UTC)
::::::::Min hê îro dît. Li gorî testên min nîvî-nîvî ye. Modela deng di hin peyvan xwe pirsgirêkan derdixe, zêde "qeba" ye, û hin tîp tên daqurtandin (bi lêv nake). [Û her wiha]Pêdiviya me bi zimanekî naziktir heye. :)) Model divê hinekî were perwerdekirin. Ji bo niha ez bikaranîna wê pêşniyar nakim bi rastî.- Silav û rêz ..[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:40, 9 kanûna paşîn 2024 (UTC)
::::::::Ez ê li ser Google Colab, modelê daxim û test bikim. Lê tu jî diarî peyvên xwe an jî cumleyên/hevokên xwe binivîsî. :) Wê gavê ne hewce ye ku tu daxî. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:42, 9 kanûna paşîn 2024 (UTC)
:::::::::Gelek spas! Ez ê li ser PAWS biceribînim [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:48, 9 kanûna paşîn 2024 (UTC)
::::::::::Merheba ji we re hevalno. Min hê li ew tiştê ko Şêr lînk kiriye neceribandiye lê piçekî tecrûba min bi van tiştan re heye. Wextê ko hê nû Metayê proja xwe ya bi navê "[https://ai.meta.com/blog/multilingual-model-speech-recognition/ MMS]" derxistibû min xwest biceribênim û min dûvre jî ceriband. TTSa wê zêde bi kêr nayê ji ber ko dengên rast dernaxe (li gora alfabê diçe û alfaba me ji bo şanîkirina dengan bi kêr nayê), lê speech-recognitiona wê bi kêr tê. Hinek gotinan peve dinivîsêne lê ew piştre rehet kare were edilandin (bi destan jî û bi otomatîkî jî). Metayê proja NLLByê jî derxistibû û ew jî di mesela tercimekirinê de ji Google Translate gelekî baştir e. (Dîse jî ji bo kurmancî ya herî baş Bing Translate e). Ez bi rastî bêjim ez piçekî bi xwe serbilind im, [[Wîkîferheng:Dîwan/arşîv 2020#CommonVoice bi kurmancî|ji ber ko herî pêşî min ji CommonVoicê xwest ko kurmancî lê zêde bikin]], berî çar salan. [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:09, 10 kanûna paşîn 2024 (UTC)
:::::::::::@[[Bikarhêner:Şêr|Şêr]] Ew proja ko te lînk kiriye ji MMSa Metayê kevntir e. Berî 2 salan hatiye çêkirin û li vir dosyeyek li serê heye: https://aclanthology.org/2022.lrec-1.689.pdf [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:13, 10 kanûna paşîn 2024 (UTC)
== POS-Tag Kurmancî ==
Min tiştekî wisa ya bikêrhatî dît niha: [http://stanza.run/]. --23:33, 13 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:33, 13 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Gelek spas. Min niha ceriband xweş xuya dike :D. Dikarî emaila xwe vekî, dixwazim tiştek li te pirs bikim? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 23:43, 13 kanûna paşîn 2024 (UTC)
:{{r|Şêr}} Min ê vê amûrê kod bikira, bnr. [//ku.wiktionary.org/wiki/W%C3%AEk%C3%AEferheng:D%C3%AEwan/2023#Am%C3%BBr%C3%AAn_anal%C3%AEzkirina_kurmanc%C3%AE? ''Amûrên analîzkirina kurmancî?''] Ping {{r|Ferhengvan}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 23:47, 13 kanûna paşîn 2024 (UTC)
::{{r|Ghybu}}, {{r|Balyozxane}}, di hin lêkeran de kêmasî hene, lê bi piranî dixebite. Mirov dikare [https://huggingface.co/stanfordnlp/stanza-kmr li vir] pêşniyazan bike? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:03, 14 kanûna paşîn 2024 (UTC)
::{{r|Balyozxane}}, min standina e-peyaman aktîv kir. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:07, 14 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Min şand, înşela te dîtibe :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:46, 14 kanûna paşîn 2024 (UTC)
::::Belê, min dît. Lê divê pêşî ez wê sepanokê daxim. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Temam bira :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
::::::Min ID şand. ;) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:23, 14 kanûna paşîn 2024 (UTC)
== tîpen erebî ==
: → ''Li rûpela'' [[Wîkîferheng:Dîwan/2024#tîpen erebî]] ''hat barkirin.''
== [[Wîkîferheng:ceribandin/aWa]] ==
null —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:05, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî ye —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:15, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:06, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:07, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:20, 24 çiriya paşîn 2024 (UTC)
== Files on Commons ==
Hi! I moved most of the files to Commons. So now they can be used on other wikis. The local files in [[:Kategorî:Gotarên ku bên jêbirin]] can now be deleted. Can you have a look? [[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 16:20, 31 kanûna pêşîn 2024 (UTC)
:@[[Bikarhêner:MGA73|MGA73]] Sorry for the late reply. I've been quite busy lately, your message completely slipped my mind. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:53, 13 kanûna paşîn 2025 (UTC)
:: Hello! No worries :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 06:41, 14 kanûna paşîn 2025 (UTC)
I noticed that there is one unused file without a license: [[:Wêne:Wîkîferheng-guhertin.png]]. It it is no longer usable then I suggest to delete it. --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:41, 14 kanûna paşîn 2025 (UTC)
:Done, thanks! [[Bikarhêner:Wikihez|Wikihez]]<small><sup>'''[[Bikarhêner:Balyozxane|Balyozxane]]''' ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]])</sup></small> 15:44, 14 kanûna paşîn 2025 (UTC)
::Happy to help. Now [[Special:ListFiles]] looks nice and short :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:46, 14 kanûna paşîn 2025 (UTC)
== Kom ==
Silav bira, hê jî ew koma we ya ku tu, Bikarhêner û her wiha Guherto tê de bûn, heye? Ez jî demekê tê de bûm, lê ji ber zanîngehê dema min tune bû, û ez bêdeng û bêseda jê derketibûm. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:38, 7 sibat 2025 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Erê, Min mesaj şand ka lê binêre :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:06, 7 sibat 2025 (UTC)
::@[[Bikarhêner:Wikihez|Wikihez]], niha min dît. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:13, 7 sibat 2025 (UTC)
== jêgirtin ==
#* {{jêder-pirtûk|ku|jêgirtin=û |nivîskar=J.R.R. Tolkien|sernav=Hobbit|wergêr=Samî Hêzil|cîh=Enqere|weşanxane={{w|Weşanên Cervantes|Cervantes}}|sal=2023|çap=1|rûpel=9|isbn=9786257724838}}
merhaba. Navê wergêr xuya nake dikarî bidî xuya kirin xêra xwe. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:01, 28 sibat 2025 (UTC)
:Merheba {{r|Rewiye tine}}. Gereg {{param|wergêr}} be te "Wergêr:" nivîsiye.--[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:06, 28 sibat 2025 (UTC)
::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Bira, qaîdeyeke wisa heye ku nimûneyên bikaranîna kelîmeyan gereg pêşî ji nivîskarên bi kurdî nivîsîne were wergirtin, eger çavkaniyên ji kitêbên kurdî tine be, wê demê meriv dikare tercimeyên kitêban ji zimanên din bi kar bîne. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:11, 28 sibat 2025 (UTC)
:::Yanê pirtukên werger ji bo mînak naye qebûl kirin? [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:16, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Em nabêjin "nayê qebûlkirin" lê gereg pêşî çavkaniyên kurdî be dûre yên tercime. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:23, 28 sibat 2025 (UTC)
:::Rast e. Lê min vê pirtûkê xwendîye û hinek peyva bijartîye. Ez nîyetim wan jêgirtina derbas bikim. Mesele ev e. Berîya vê, min ji pirtûkên klasîk jî jêgirtina derbas kiriye. Ji bo hişyarî mala te ava. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:27, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Yên klasîk pir muhîm in, tê de kîjan kelîme derbas bin gereg em herf bi herf li wir qeyd bikin, lê yên tercime tenê eger çavkaniyên kurdî tinebin baş in. Tu dîsa kelîmeyên ku te bijartine binivîse lê ji bo kelîmeyên naskirî nekî çêtir e. Qerar dîsa jî ya te ye. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:32, 28 sibat 2025 (UTC)
== kurmancîyek şkestî ==
Silav {{r|Wikihez}}
https://www.youtube.com/watch?v=hH-DO1RT8zM [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 12:23, 24 adar 2025 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 20:06, 28 nîsan 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 -->
== [[bilgîsayar]] ==
Silav @[[Bikarhêner:Wikihez|Wikihez]], di gotara [[bilgîsayar]] de çavkanî hewce ne. ''[[Wîkîferheng:Pîvekên tevlîkirinê|Çavkanî hewce ye]].'' —[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 00:11, 30 hezîran 2026 (UTC)
== Lîsteyek heye? ==
Silav WikiHez, te got şablon hene, eceba lîsteyek heye ku ez jê hemû şablonên WikiFerhengê bibînim? [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:14, 31 tîrmeh 2026 (UTC)
:Merheba @[[Bikarhêner:Kurdanparez|Kurdanparez]], Li vira [[Alîkarî:Bikaranîna şablonan]] lîsteyek heye feqat hem gelek ji wan kevn bûne, hem jî ne mimkûn e em hemû şablonan rêz bikin. Pêşî li ser wîkîya îngilîzî li şablona dixwazî bigere, eger înterwîkiyan de tinebe, ji min re binivîse ez ê çêkim.
:Pirsek Min non-gloss [[:en:T:n-g]] wekî {{ş|îzaha ne eleqedarî maneyê}} (bi kurtî înm) tercime kir feqat çi eleqeyê ez jî nizanim fikrekî te hebe li gotûbêjê binivîse em rast bikin. Niha dibêjim, gloss bikim îzaha maneyî, non-gloss bikim îzaha nemaneyî belkî baştir be, tu çi dibêjî? [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:22, 31 tîrmeh 2026 (UTC)
::Gelek spas. Ez ê li wir binivîsim. [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:27, 31 tîrmeh 2026 (UTC)
:::@[[Bikarhêner:Kurdanparez|Kurdanparez]] [https://ku.wiktionary.org/w/index.php?title=dimil%C3%AE&diff=6292587&oldid=6292584] Ji bo înlîne-modifiers bnr [[Modul:columns#L-711]] ji bo etîketan [[Modul:labels#Çêkirina_etîketan]] jkx yên ku kêm in îlawe bike. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:49, 31 tîrmeh 2026 (UTC)
::::Gelek spas :)) [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 23:03, 31 tîrmeh 2026 (UTC)
== کرمانجی ==
سەلام. پرسیارێکم هەبوو، کرمانجی زمانە یان زاراوە؟ [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 12:34, 19 tebax 2026 (UTC)
:زاراوا یە فەقات ژ بۆ ژ هەڤ ئێجستنا کورمانجی و سۆرانی ل ڤر وەکی زمان خویا دبە [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 12:41, 19 tebax 2026 (UTC)
::باشە لە [https://ku.wiktionary.org/wiki/Destp%C3%AAk دەستپێک] نووسراوە «فەرهەنگ بە '''کورمانجی''' و زێدەیێ ۳۸۱۹ زیمانێن دینێ»، باشتر نەبوو نووسرابا '''کوردی کرمانجی'''؟
::[[:Kategorî:Kurmancî|لێرەش]] لە نێو ئەو باکسەی نووسراوە '''زیمانێ کورمانجی''' نەک '''زاراڤەیا کورمانجی'''. [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 19:02, 19 tebax 2026 (UTC)
:::Ew ne tiştên muhîm in, ne lazim e em her daîm kurdî kurmancî binivîsin, kurmancî jî soranî jî kurdî ne, her kes jî wisa qebûl dike. Kategorî jî ji ber ku otomatîk tê çêkirin min nexwest wextê xwe pê re xerc bikim. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 10:51, 21 tebax 2026 (UTC)
== Soranî bi tîpên latînî ==
Silav birako, min dît ku bo eynî/heman kelîmeyên soranî guhartoya bi tîpên latînî jî heye. Û translîterasyon jî tevlihev dibe. Wekî nimûne binêre: [https://ku.wiktionary.org/wiki/b%C3%AErkirdinewe#Soran%C3%AE]. Gelo baş e ku her du guharto hebin (farisî-erêbî û latînî)? Ez newêrim devê mijarê vekim,lê bala min kişand. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:25, 24 tebax 2026 (UTC)
:Merheba, tiştên wisa li [[WF:Dîwan]]ê binivîsî çêtir e, feqat eger tenê fikrê min dipirsî, bi min yên soranî qet ne hewce ne, îro soranî tenê bi '''herfên''' erebî tên nivîsin feqat min kovarên kevn ên 1970î de soranî bi herfên latînî jî dîtine, [https://books.vejin.net/ck/books Vejîn Kitêbekan] jî yên erebî transkrîbeyî latînî dikin. Dîsa jî bila hebin, zerara wan nîne bi şerta ku li vir hatiye dayîn: [[Wîkîferheng:Dîwan/2026#Peyvên_soranî_bi_latînî_(Kategorî:Soranî)]] [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:31, 24 tebax 2026 (UTC)
::Spas ji bo bersivê. Bi taybetî min ji ber şablonan pirsî, ji ber ku tîp^en ji alfabeya erebî jî tevlî dibin. Wa Ghybu mijar vekiriye. Gava wextê min çêbû. Ez ê cewaba wî bidim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:36, 24 tebax 2026 (UTC)
:::Bnr [[Modul:rêziman#L-188]] tu dikarî yên bi latînî bi riya <code>lang:findBestScript(pagename)</code> derxî.
:::Li vir[https://ku.wiktionary.org/w/index.php?title=%D9%86%DB%95%D8%B1%D9%85%D8%A7%D9%85%DB%8E%D8%B1&curid=1358825&diff=6342225&oldid=6342224] rênima çi ye? Talîmat e? hejmardarî mihasebe ye? Kesê ku vê ferhengê bi kar tîne çawa ji heqê vî zimanî derkeve? :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:56, 24 tebax 2026 (UTC)
::::Ez ê Scriptê biceribînim. Ji ber pirsaa te: Erê, min niha ew guhartin. Ji bo ferhengê wê ferhengeke din lazim be :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:17, 24 tebax 2026 (UTC)
:::::Welleh eynî wisa ye :D Gelek kes ketine derdê dîtina kelîmeya kurdî ya herî orîjînal, ji bîr dikin ka milet wê çawa bike :D [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:20, 24 tebax 2026 (UTC)
::::::Not: Mala te ava :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:21, 24 tebax 2026 (UTC)
pcvwwa4fnuh95rs140qgqua2e2zr9p3
6342289
6342244
2026-08-24T22:58:28Z
Wikihez
7344
/* Soranî bi tîpên latînî */ Bersiv
6342289
wikitext
text/x-wiki
== Astengî Bi Sepana Lingua Libre. ==
Silav Birêz,
Vaye 2-3 roj e ku ez nikarim dengê xwe bi rêya sepana Lingua Libre'yê ve biweşînim. Ez dikarim têkevim û deng tomar bikim, lê nikarim dengê xwe li ser Wikimedia Commons biweşînim. Gava ku ez pêl li ser bişkoka "Li Ser Wikimedia Commons Biweşîne" dikim qebûl nake û bişkoka "Dubare Biceribîne Barkirin Bi Ser Neket" dide nîşan. Gava ez pêlê wê jî dikim, tiştek nabe û ev bişkok dîsa derkevî ser holê. Tû kar nake. Derbarê vî mijarê min li ser tora Lingua Libre nivîsand, lê tû encam derneket. Ev program dengê min tomar dike, le naweşîne. Gelo tû fikr û ramanê te li ser vî mijarê heye? Sipas. [[Bikarhêner:Key Mîrza|Key Mîrza]] ([[Gotûbêja bikarhêner:Key Mîrza|gotûbêj]]) 23:38, 28 kanûna paşîn 2023 (UTC)
== Modul û şablonên Wîkîpediya yên Zazakî ==
Silav birêz Balyozxane!
Tu dikarî di Wîkîpediya Zazakî de alîkariya min bikî? Li wir kesek neqeydkirî hin modul û şablon guhert. Ji ber vê yekê agahî tevlihev dibin. Min ew vegerand, lê ew wek nimûne di "Nıfus" ([https://diq.wikipedia.org/wiki/Modul:N%C4%B1fus Modul:Nıfus] û [https://diq.wikipedia.org/wiki/%C5%9Eablon:N%C4%B1fus Şablon:Nıfus]) de xuya nake. Ez berê spas dikim! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 19:50, 21 gulan 2023 (UTC)
:@[[Bikarhêner:Mirzali|Mirzali]] Silav. Problemeke gelemper li wîkiyê heye. Bnr. [[:w:en:Wikipedia:Village_pump_(technical)#Graph_extension_disabled_per_immediate_effect|vê gotûbêja en.wîkiyê]]. Grafîk niha naxebite heta xwediyên wîkiyê çareser bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 05:46, 22 gulan 2023 (UTC)
:: Spas ji bo pêşniyarê! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 06:12, 22 gulan 2023 (UTC)
== Li ser pêwîstiya sê çavkaniyan ji bo nivîsên etîmolojiya peyvên kurdî. ==
Silav Birêz,
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzika bo afirandina peyveke nû bo etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse. Dema ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî çavkanîyê bibînî û peyt bikî
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzikên afirandina peyveke nû, bo nivîsa etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse? Dema ku ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî ew çavkanîyê bibînî û peyt bikî. Ma tenê çavkaniyek têr e? Yan gerek sisê bibe? Ger tu bawer nakî ez dikarim çendîn nimune nîşanê te bidim. Benda bersiva cenabê te me. Sipas [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 08:59, 6 hezîran 2023 (UTC)
:Silav @[[Bikarhêner:Ebulfîda|Ebulfîda]]. Tu hinek bi awayekî şovenîst tevdigerî. Hinek bêhnfireh be ji kerema xwe re. Tu çavkanî dixwazî lê belê çavkanî kêm in. Yên heyî jî tu qebûl nakî. Min ji te re Chyet wek referans da, te ew jî qebûl nekir. Chyet nêzî 40 zimanan dizane û hemû zaravayên kurdî jî dizane dîsa jî tu qebûl nakî. Tu wekî folk etymology difikirî û dixwazî her tiştî bikî kurdî. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 08:37, 8 hezîran 2023 (UTC)
::Sipas, Ma tu jî şovenê hevalê xwe nînî? Bo çin 3 referans bo her kes nameşe? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:33, 8 hezîran 2023 (UTC)
:::Xwedê hiş daye mirov ku bi kar bînî:
:::1-Çawa peyva "Befr", "Baran" ya Kurdî/Îranî heye lê "Cemed"a Kurdî/Îranî tineye? Dibe? Hemû bi hev re girêdayî nînin? Pirtirîn dewletên ereban da "cemed" çênabe. Ma çima reha/koka cemed "cam" ne bî? Ma hemû zimanzanan û etîmologan ser rêya rast in? Li gor min na. Ez zimanzanek wek "Garnik S. Asatrian" û "David Neil MacKenzie" nas nakim. Min jiyana wan xwendiye her du jî dijminatiya Kurdan kirine:
:::https://www.quora.com/Do-you-believe-that-all-Kurdish-linguists-to-date-have-acted-impartially-and-scientifically/answer/Hamdi-Aciksoz
:::2- Ger peyva "Evîn"a Kurdî tinebe, gelo Kurd ji Ereban hînê hezkirinê bûne? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:50, 8 hezîran 2023 (UTC)
== Derbarê pêwistiya 3 referans bo afirandina peyvên nû û nivîsên etîmolojiyên nû. ==
Birêz, Êdî ez westiyam. Cara dawî ji te û hemû nivîskaran rica dikim ku bêyî 3 referans peyvên nû neafirînin û etîmolojî nenivîsînin. Ger ez rastîyê nivîsek/referansek bêyî 3 referans bikevim ezê bi hirs û dijûn livir derkevim. Ji we rica dikim mercên xwe bi kar bînin.[[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 17:42, 10 hezîran 2023 (UTC)
:Qaîdeyeke ji bo etîmolojiyê wekî ku tu dibêjî tune ye. Ger dixwazî, dikarî dengdaneke bidî destpêkirin û li gorî encama dengdanê em dikarin bixebitin. Bi xatirê te. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:21, 14 hezîran 2023 (UTC)
== Çêkirina botekê ==
Merheba hêja {{r|Balyozxane}} Ez bi şanazî dibînim ku tu bota "Balyozbot" bo zêdekirina rûpelên nû ji beşa wergeran bi kar tînî. Ev karekî pir baş e, siheta te xweş! Gelo ez jî dikarim bi awayekî wisa bibim alîkar? Bi silavên germ re! --[[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 07:00, 9 tebax 2023 (UTC)
:@[[Bikarhêner:Ferhengvan|Ferhengvan]] Balyozbot niha bi otomatîk naxebite, Ez li ser scrîptekê dixebitim ya ku dikare hemû wergerê carekê de çêke. Ger rast bixebite, ez ê skrîptê bidim te. Lê niha hin pirsgirêk çêdibin. Wisa dixuye ku ew ê çênebe. Lê dîsa jî hewl didim.
:::P.S. Tu dikarî [[:w:WP:AWB]] biceribînî. Heger hinek hîn bibî, dikarî hesabekî botê çêkî û ez dikarim alîkariya te bikim.
:[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:29, 9 tebax 2023 (UTC)
::Silav @[[Bikarhêner:Ghybu|Ghybu]] Çêkirina gelek rûpelan bi butonekê qedexe ye yan na? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:03, 9 tebax 2023 (UTC)
:::Silav, ne qedexe ye. Piraniya rupelên fr.wiki û en.wiki bi botê hatine çêkirin. Tenê ''[//meta.wikimedia.org/wiki/Copyright copyright]'' û ''[//meta.wikimedia.org/wiki/Bot_policy Bot policy]'' dîqet bikin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:14, 9 tebax 2023 (UTC)
::Gelek spas bo xebata te ya hêja! [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 18:35, 9 tebax 2023 (UTC)
:::@[[Bikarhêner:Ghybu|Ghybu]] Ez behsa botekê nakim. Nimûne Ez dikarim bi hesaba xwe ya Balyozxane gelek rûpel carekê de çêkim bi skrîpta [[User:Balyozbot/CreateTranslation.js]]? Dema pêlî "Hemû çêke" dikî, skrîpt yek bi yek hemû rûpelên wergeran çêdike. Ew tiştek normal e? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:37, 9 tebax 2023 (UTC)
::::Nimûne: [[Taybet:Beşdarî/Balyozxane|2 deqe 34 rûpel hatin çêkirin bi skrîptê]] [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:49, 9 tebax 2023 (UTC)
:::::Tu hesabê xwe wekî botê bikar tinî û leza guherandina botê hindik bilind e (>12 guherandin/deq). Bi min, bo guherandinên biçûk pirsgirêk tine ye... Feqet tu nikarî tenê carekê de pênc sed an hezar gotar bi vî avayî çêkî :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 20:50, 9 tebax 2023 (UTC)
::::::@[[Bikarhêner:Ghybu|Ghybu]] çima na yaw bazarî tune ye? {{=D}} Bi hesabê xwe deqê de çend gotar bi vî awayî çêkim, ne pirsgirêk e? Ne tenê ez, ez ê bidime Ferhengvanî jî :D [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:16, 9 tebax 2023 (UTC)
:::::::Bnr. [https://ku.wiktionary.org/wiki/Got%C3%BBb%C3%AAja_bikarh%C3%AAner:%C5%9E%C3%AAr#Nochmal_wegen_Deinem_Bot] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:23, 9 tebax 2023 (UTC)
::::::::@[[Bikarhêner:Ghybu|Ghybu]] Li gorî Bot policy 12 edits per minute ji bo botekê baş e. Lê tiştek li ser bikarhêneran nayê gotin. Em ji deqê de 12 rûpel çêkin pirsgirêk çêbibe? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:38, 9 tebax 2023 (UTC)
:::::::::Min ne got ku ew problem e ji ber ku li vira kes ne dijî ye (wikiyên din eleqedar nake). Dîsa jî, belkî, li ser Dîwanê ji bo bikaranîna amûrê dengek pêwîst e {{=)}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:49, 9 tebax 2023 (UTC)
::::::::::PS: Problem tenê ji bo [[Taybet:Guherandinên dawî]] ye (nayê xwandin) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:56, 9 tebax 2023 (UTC)
:::::::::::Li ser Wergerê: bi min dema ku hemû beşa Wergerê li ser en.wiki tê kopî kirin, nivîsanda çavkanîyê jî pêwîst e, wekî: [//ku.wiktionary.org/w/index.php?title=xwarin&diff=5207568&oldid=5207001]. Na? [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 22:13, 9 tebax 2023 (UTC)
::::::::::::bi ya min dengdan ne hewce ye lê ger tu bêjî hewce ye, em dikarin yekî çêkin :/
::::::::::::ji bo guherandinên dawî min etiketek çêkir, nimûne [https://ku.wiktionary.org/w/index.php?title=Bikarh%C3%AAner:Balyozxane/testinggg&action=history] tu dikarî guhartinên dawî parzûn bikî ji bo ku guhartinên bi vî etîketî neyên dîtin.
::::::::::::Belê çavkanîdayîn jî pêwîst e. Ez ê wê jî tevlî skrîptê bikim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 22:32, 9 tebax 2023 (UTC)
{{outdent|::::::::::::}} {{silav|Ferhengvan}}. Min koda çêkirina wergeran nû kir. Êdî ne hewce ye yek bi yek pê li lînkan bikî. Pê li "Hemû çêke" bike. "Cureyê peyvê hilbijêre", Maneya wergerê binivîse ( bi otomatîkî navê rûpelê tê lê dikarî tiştên din lê zêde bikî), dûre ger dixwazî "Etîket" lê zêde bike bike "element, anatomî, biyolojî, ekonomî, hwd.) Dûre pê li "Bişîne" bike. Hemû werger yek bi yek tên çêkirin. Di deqiqeyê de herî zêde 6 rûpel çêdike loma hinek hêdî ye. @[[User:Ghybu|Ghbu]] Çiqas bilez be ne pirsgirêk e? --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:22, 11 tebax 2023 (UTC)
:Ji bo veşartina rûpelên ku bi CreateTranslation hatine çêkirin di rûpela Guhartinên dawî de pê li "Nîşankirin" bikin, dûre Pê li "Yên bijartî derxe" bikin û "CreateTranslation hilbijêrin. Bi vî awayî vedişêrin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:24, 11 tebax 2023 (UTC)
::Her hebî, pir baş çêdike. Wisa here, em ê di çend mehan de bigihin milyonek rûpelan :-) [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 14:07, 11 tebax 2023 (UTC)
:::@[[Bikarhêner:Ferhengvan|Ferhengvan]] înşela :) lê divê em hay jê hebin rûpelên xelet çênekin, dema çêdikî maneya peyvê bi eşkere bidin nivîsîn [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:17, 11 tebax 2023 (UTC)
::::@[[Bikarhêner:Ferhengvan|Ferhengvan]] herwiha ger te xeletîyek dît, min agahdar bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:18, 11 tebax 2023 (UTC)
::::Merheba, ji cûrên peyvan (navdêr, rengdêr, lêker...) "hejmar" kêm e, divê ew jî hebe. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:29, 12 tebax 2023 (UTC)
* @[[Bikarhêner:Ferhengvan|Ferhengvan]] di vê navberê de ger wextê te hebe, Xêra xwe dikarî navê zimanan jî bikî kurdî [[Modul:ziman]], ji ber ku em gelek rûpel çêdikin navên zimanan bi îngilîzî dimînin. Divê werin kurdîkirin ji bo ku em karibin kategoriyên wan çêkin.
Ji bo çêkirina kategoriyan Koda jêr tevlî [[Special:MyPage/common.js|rûpela xwe ya common.js]] bike:
<syntaxhighlight lang="javascript>
//[[Bikarhêner:Balyozxane/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozxane/addAutoCat.js&action=raw&ctype=text/javascript');
</syntaxhighlight>
:--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
::{{r|Ferhengvan}} Rûpelên xelet çêneke. Min hejmar lê zêde kir lê dema tiştek kêm be heta were sererastkirin bisekine Xêra xwe. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
:::Temam. Lê yên çêkirî ne xelet in ji ber ku hemû hejmar di heman demê de navdêr in jî. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:51, 12 tebax 2023 (UTC)
::::Silav @[[Bikarhêner:Ghybu|Ghybu]]. Em çêkirina rûpelan bi hesaba xwe dewam bikin yan jî hesaba xwe ya botê bi kar bînin? pîng {{r|Ferhengvan}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 19:37, 14 tebax 2023 (UTC)
== Bot ==
Silav Balyozxane, Sererastkirina rêzimanî bi botê problem e: te jî [https://ku.wiktionary.org/w/index.php?title=Koban%C3%AE&curid=279200&diff=5551838&oldid=5551836 dît], ji ber ku jêgirtin û çavkaniyan jî sererast dike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 14:48, 21 îlon 2023 (UTC)
:Silav @[[Bikarhêner:Ghybu|Ghybu]] Min yek bi yek AWB kontrol dikir û wextê xeletî çêkir, min rawestand, xeletiyê rast kir û dîsa dewam kir :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:50, 21 îlon 2023 (UTC)
== çêkirina forman bo [[hûr kirin]] ==
Silav Balyozxane,
gelo çi dibe sedem ku forma [[hûr kir]] bi awayekî otomatîk nayê afirandin? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:15, 12 çiriya paşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Li cem min pirsgirêk tine ye. Ka rûpelê purge bike û dîsa biceribîne. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:18, 12 çiriya paşîn 2023 (UTC)
::Silav, niha, piştî ku te rêz guhart, çêbû. - [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:20, 12 çiriya paşîn 2023 (UTC)
:::Û gelek caran divê ez ji peyvê derkevim ji ber ku form amade nabin (dema ku ez pê lê dikim). Bnr.: [https://ku.wiktionary.org/w/index.php?title=d%C3%BBr_kir&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=d%C3%BBr%20kirin&accel1=pos-l%C3%AAker%20bor%C3%AE%7C1%7Cyj-form-of&accel2=pos-l%C3%AAker%20bor%C3%AE%7C2%7Cyj-form-of&accel3=pos-l%C3%AAker%20bor%C3%AE%7C3%7Cyj-form-of&accel4=pos-l%C3%AAker%20bor%C3%AE%7C123%7Cp-form-of]. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:21, 12 çiriya paşîn 2023 (UTC)
::: Gava ez ji formê dertêm, û dîsa li ser gotara sereke dîsa pê li formê bikim, hingê çêdibe. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:23, 12 çiriya paşîn 2023 (UTC)
::::@[[Bikarhêner:Şêr|Şêr]] Ger li jor URL hebe û tê de agahdarî hebin, wê demê ne hewce ye derkevî rûpelê dîsa bar bike ew ê were çêkirin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:37, 12 çiriya paşîn 2023 (UTC)
:::::Baş e, mala te ava. :) Dem baş --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:38, 12 çiriya paşîn 2023 (UTC)
::::::URL bi piranî tune. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:42, 12 çiriya paşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Ez lê dinêrim lê min ti pirsgirêk nedît. Belkî tu hinek zû tevdigerî û bêyî ku lînk were derdikevî? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 12:17, 12 çiriya paşîn 2023 (UTC)
::::::::@[[Bikarhêner:Şêr|Şêr]] Hay ji syntaxhighlighter hebe, dema vekirî be carinan ji ber wê encam dernakevin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:26, 12 çiriya paşîn 2023 (UTC)
== amûra "wergerîne" ==
Silav keko,
min hewl da ku wergeran (ji ferhenga en) bidim wergirtin bi rêya amûra te, lê nebû. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:18, 16 çiriya paşîn 2023 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Silav. Te çi kir? Divê ji en.wiktê beşa Translation rasterast li rûpeleke ku.wiktê kopî bikî. Ti tişt neguherîne. Divê şablonên <nowiki>{{trans-top}} û {{trans-bottom}}</nowiki> hebe. (Heke navê şablona trans-top-see be divê -see jê bibî.) Dûre pê li Wergerîne bike û navê rûpela en.wiktê binivîse. Tiştek din nenivîse. Ew qas :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:21, 16 çiriya paşîn 2023 (UTC)
::@[[Bikarhêner:Şêr|Şêr]] Di amûra CreateTranslation de piştî te pê li "Bişîne" kir, divê rûpel vekirî bimîne heta hemû werger werin çêkirin. Ger ji rûpelê derkevî, amûr betal dibe. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
::Spas, fam kir ;)
:::PS: qismê > beşa çêtir e, ji ber ku beş "kurdîtir" e. Silav --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] "beş" li vir wekî hemû beşa Wergerê karibe were fêmkirin, lê di beşekê de dikare ji yekî zêdetir qism hebin loma me peyva qism tercîh kir. Herwiha ji mêj ve ye me dev ji dîtina peyveke "kurdîtir" berdaye, kîjan peyv berbelav be em wê bi kar tînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:39, 16 çiriya paşîn 2023 (UTC)
::::Ez jî wisa difikirim. Lê mixabin hin kurdên me serê xwe bi "paqijkirina" kurdî diêşînin. Ger em li gorî vê mantiqê tev bigerin, divê em nîvê zimanê almanî jê bibin. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:47, 16 çiriya paşîn 2023 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Va ye dîsa em ketin vê nîqaşê [[:w:Gotûbêj:Bangeşe#Barkirina_Bangeşe_12-2023]]. Xwedê ez ê dîn bibim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 10 kanûna pêşîn 2023 (UTC)
::::::Herwiha [[:w:Pêjimêrk]] {{dîwar}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:06, 10 kanûna pêşîn 2023 (UTC)
::::::Bi demê re gotinên biyanî tevkariyeke girîng li zimanê kurdî kirine û bûne beşekî ji wê. Ev peyv danûstandina çandî, pêşketina zanistî û bandorên din nîşan didin. Zimanekî bê peyvên biyanî ne tenê ji aliyê zimanî ve belengaz e, di heman demê de ji aliyê çandî ve jî îzole dibe û nikare xwe adapte bike. Tê bêjî qey 5 hezar peyvên latînî wê kurdî xira bikin. :) Serê xwe bi wan neêşîne. Bawer bike mirov newêre kurdên me hînî kurdî bike. Wek mînak gava ez bêjim kursî, wê tiliyên xwe di nav çavên min re rakin. :( Wê li dewsa wê bêjin "rûniştek", lê ev peyv ji bo her tiştê ku mirov li ser "rûdinê" tine ziman. Xeman nexwe, yên wisa wê xilas nebin :-) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:29, 10 kanûna pêşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Erê lê pirsgirêk ew ê fêmbariya wîkîpediya xira dibe. Loma dixwazim qet nebe tiştên wekî sernavên gotar û kategoriyan baş bin lê ew jî nabe. Ew kes timî bi peyvên ecêb dinivîse ku êdî meriv jê ti tişt fêm nake. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:31, 10 kanûna pêşîn 2023 (UTC)
::::::::Ez jî li aliyê te me. Lê bawer ke wî hevalî ji ev peyv ji yekî wek "xwe" hîn bûne. Ev şaşî ne ya wî ye. Gava ew jî van xeletiyan bidomîne, wê yên piştî wî jî wisa hîn bibin. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:35, 10 kanûna pêşîn 2023 (UTC)
== Forma nû a çêkirina peyvan zû bar dibe ==
Silav Balyozxane,
bi min forma nû a (wek ya viyetnamî) zû bar dibe. Dema ez dixwazim formên tewandî yên navdêran çêbikim, formên skrîptê bar nabin dema ku ez forma kesk ya tabloya tewandinê ditikînim.. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:55, 1 kanûna pêşîn 2023 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1 Mînak] --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:56, 1 kanûna pêşîn 2023 (UTC)
::Silav @[[Bikarhêner:Şêr|Şêr]] Dema di URLyê de ''User:Balyozxane/creation/intro'' [https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=avaker&accel1=pos-navd%C3%AAr%20def%7Cconstr%7Cp-form-of%20gender-n] hebe li cem min form bar nabe. Lê wekî din her tim bar dibe. Ger karekî te bi vî amûrî tinebe dikarî li ser [[Taybet:Tercîh#mw-prefsection-gadgets]] neçalak bikî. Li qutiya li kêleka "Forma çêkirina rûpelên nû çalak bike" bitikîne ew ê were '''ne'''çalakkirin. Dûre dikarî dîsa çalak bikî. Niha çareseriyeke din nabînim. Ger fikrekî te hebe, bibêje em biceribînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 16:06, 1 kanûna pêşîn 2023 (UTC)
:::Spas, min ne-çalak kirin, pirsgirêk çareser bû. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:09, 1 kanûna pêşîn 2023 (UTC)
== çêkirina kategoriyên tên xwestin ==
Silav Balyozxane,
ez [https://ku.wiktionary.org/wiki/Taybet:Kategor%C3%AEy%C3%AAn_t%C3%AAn_xwestin van] kategoriyên xwestî bi bo çêbikim? Min kategoriyek wek test çêkir, [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ker%C3%AE li vir bnr] -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:26, 2 kanûna pêşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Ger dixwazî, çêke lê pêşî [[WF:SB#katbike-rec]] bi kar bîne wek "pwb.py katbike-rec -wantedcategories". (Ne hewce ye lîsteyekî çêkî) Daku jorkategorî û înterwîkî lê were zêdekirin. Piştî hemû xilas bû îcar bi [[WF:SB#katbike]] dîsa hemû -wantedcategories çêke. Spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:30, 2 kanûna pêşîn 2023 (UTC)
::Temam, spas, va min dest pê kir [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ok%C3%AE]. Ez ê vêga bi hesabê bot bidim çêkirin. Êvara te bimîne xweş, û spas ji bo keda te. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:46, 2 kanûna pêşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Gelek spas! A te jî bimîne xweş :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:49, 2 kanûna pêşîn 2023 (UTC)
== Speech recognition ji bo kurmancî ==
Silav bira,
te [https://huggingface.co/Akashpb13/xlsr_kurmanji_kurdish ev] dîtiye? Xuya ye ku nû ji bo kurmancî hatiye çêkirin. Piraniya hevokan hema bêje ji sedî 90 nas dike --17:50, 7 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 17:50, 7 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] ne welle min nedîtiye û zêde bala min tiştên wisa nakişîne lê belê hevalê @[[Bikarhêner:Guherto|Guherto]] pê eleqedar dibe, ez ê jê re bişînim. Gelek spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:59, 7 kanûna paşîn 2024 (UTC)
::Ev tişt bala min dikişînin. :)) Eger pirsên Guherto hebin, dikare bi min re bikeve têkiliyê. Êvara te bimîne xweş :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:02, 7 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Ew ê dê gelek bextiyar be :) Êvar baş! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 7 kanûna paşîn 2024 (UTC)
::::{{r|Şêr}} Di sala 2023an li ser ''commonvoice.mozilla'' de zêdetirî 15 hezar devokên kurdî hatine qeyd kirin, bnr https://commonvoice.mozilla.org/kmr. Berê me nikarîbû bikin ji ber ku dane kêm bûn, niha bi ''[[:w:en:Artificial neural network]]'' bi hêsanî tê çêkirin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:25, 7 kanûna paşîn 2024 (UTC)
:::::Silav Ghybu, gelek spas ji bo agahiyê, bo keda we. Jixwe li wir Mozilla Commonvoice jî wek çavkanî hatiye bikaranîn. Silav û rêz. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:13, 7 kanûna paşîn 2024 (UTC)
::::::[https://huggingface.co/facebook/mms-tts-kmr-script_latin?text=Ew+%C3%AEro+%C3%A7i+dike%3F Ev jî] nivîsê dike deng. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:28, 9 kanûna paşîn 2024 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Te ceriband? Xweş dixebite gelo? Belkî em dikarin gotarên Wîkîpediyayê bidin xwendin û lînka dengî li rûpelan zêde bikin :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:31, 9 kanûna paşîn 2024 (UTC)
::::::::Min hê îro dît. Li gorî testên min nîvî-nîvî ye. Modela deng di hin peyvan xwe pirsgirêkan derdixe, zêde "qeba" ye, û hin tîp tên daqurtandin (bi lêv nake). [Û her wiha]Pêdiviya me bi zimanekî naziktir heye. :)) Model divê hinekî were perwerdekirin. Ji bo niha ez bikaranîna wê pêşniyar nakim bi rastî.- Silav û rêz ..[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:40, 9 kanûna paşîn 2024 (UTC)
::::::::Ez ê li ser Google Colab, modelê daxim û test bikim. Lê tu jî diarî peyvên xwe an jî cumleyên/hevokên xwe binivîsî. :) Wê gavê ne hewce ye ku tu daxî. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:42, 9 kanûna paşîn 2024 (UTC)
:::::::::Gelek spas! Ez ê li ser PAWS biceribînim [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:48, 9 kanûna paşîn 2024 (UTC)
::::::::::Merheba ji we re hevalno. Min hê li ew tiştê ko Şêr lînk kiriye neceribandiye lê piçekî tecrûba min bi van tiştan re heye. Wextê ko hê nû Metayê proja xwe ya bi navê "[https://ai.meta.com/blog/multilingual-model-speech-recognition/ MMS]" derxistibû min xwest biceribênim û min dûvre jî ceriband. TTSa wê zêde bi kêr nayê ji ber ko dengên rast dernaxe (li gora alfabê diçe û alfaba me ji bo şanîkirina dengan bi kêr nayê), lê speech-recognitiona wê bi kêr tê. Hinek gotinan peve dinivîsêne lê ew piştre rehet kare were edilandin (bi destan jî û bi otomatîkî jî). Metayê proja NLLByê jî derxistibû û ew jî di mesela tercimekirinê de ji Google Translate gelekî baştir e. (Dîse jî ji bo kurmancî ya herî baş Bing Translate e). Ez bi rastî bêjim ez piçekî bi xwe serbilind im, [[Wîkîferheng:Dîwan/arşîv 2020#CommonVoice bi kurmancî|ji ber ko herî pêşî min ji CommonVoicê xwest ko kurmancî lê zêde bikin]], berî çar salan. [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:09, 10 kanûna paşîn 2024 (UTC)
:::::::::::@[[Bikarhêner:Şêr|Şêr]] Ew proja ko te lînk kiriye ji MMSa Metayê kevntir e. Berî 2 salan hatiye çêkirin û li vir dosyeyek li serê heye: https://aclanthology.org/2022.lrec-1.689.pdf [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:13, 10 kanûna paşîn 2024 (UTC)
== POS-Tag Kurmancî ==
Min tiştekî wisa ya bikêrhatî dît niha: [http://stanza.run/]. --23:33, 13 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:33, 13 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Gelek spas. Min niha ceriband xweş xuya dike :D. Dikarî emaila xwe vekî, dixwazim tiştek li te pirs bikim? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 23:43, 13 kanûna paşîn 2024 (UTC)
:{{r|Şêr}} Min ê vê amûrê kod bikira, bnr. [//ku.wiktionary.org/wiki/W%C3%AEk%C3%AEferheng:D%C3%AEwan/2023#Am%C3%BBr%C3%AAn_anal%C3%AEzkirina_kurmanc%C3%AE? ''Amûrên analîzkirina kurmancî?''] Ping {{r|Ferhengvan}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 23:47, 13 kanûna paşîn 2024 (UTC)
::{{r|Ghybu}}, {{r|Balyozxane}}, di hin lêkeran de kêmasî hene, lê bi piranî dixebite. Mirov dikare [https://huggingface.co/stanfordnlp/stanza-kmr li vir] pêşniyazan bike? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:03, 14 kanûna paşîn 2024 (UTC)
::{{r|Balyozxane}}, min standina e-peyaman aktîv kir. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:07, 14 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Min şand, înşela te dîtibe :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:46, 14 kanûna paşîn 2024 (UTC)
::::Belê, min dît. Lê divê pêşî ez wê sepanokê daxim. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Temam bira :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
::::::Min ID şand. ;) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:23, 14 kanûna paşîn 2024 (UTC)
== tîpen erebî ==
: → ''Li rûpela'' [[Wîkîferheng:Dîwan/2024#tîpen erebî]] ''hat barkirin.''
== [[Wîkîferheng:ceribandin/aWa]] ==
null —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:05, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî ye —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:15, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:06, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:07, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:20, 24 çiriya paşîn 2024 (UTC)
== Files on Commons ==
Hi! I moved most of the files to Commons. So now they can be used on other wikis. The local files in [[:Kategorî:Gotarên ku bên jêbirin]] can now be deleted. Can you have a look? [[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 16:20, 31 kanûna pêşîn 2024 (UTC)
:@[[Bikarhêner:MGA73|MGA73]] Sorry for the late reply. I've been quite busy lately, your message completely slipped my mind. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:53, 13 kanûna paşîn 2025 (UTC)
:: Hello! No worries :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 06:41, 14 kanûna paşîn 2025 (UTC)
I noticed that there is one unused file without a license: [[:Wêne:Wîkîferheng-guhertin.png]]. It it is no longer usable then I suggest to delete it. --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:41, 14 kanûna paşîn 2025 (UTC)
:Done, thanks! [[Bikarhêner:Wikihez|Wikihez]]<small><sup>'''[[Bikarhêner:Balyozxane|Balyozxane]]''' ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]])</sup></small> 15:44, 14 kanûna paşîn 2025 (UTC)
::Happy to help. Now [[Special:ListFiles]] looks nice and short :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:46, 14 kanûna paşîn 2025 (UTC)
== Kom ==
Silav bira, hê jî ew koma we ya ku tu, Bikarhêner û her wiha Guherto tê de bûn, heye? Ez jî demekê tê de bûm, lê ji ber zanîngehê dema min tune bû, û ez bêdeng û bêseda jê derketibûm. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:38, 7 sibat 2025 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Erê, Min mesaj şand ka lê binêre :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:06, 7 sibat 2025 (UTC)
::@[[Bikarhêner:Wikihez|Wikihez]], niha min dît. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:13, 7 sibat 2025 (UTC)
== jêgirtin ==
#* {{jêder-pirtûk|ku|jêgirtin=û |nivîskar=J.R.R. Tolkien|sernav=Hobbit|wergêr=Samî Hêzil|cîh=Enqere|weşanxane={{w|Weşanên Cervantes|Cervantes}}|sal=2023|çap=1|rûpel=9|isbn=9786257724838}}
merhaba. Navê wergêr xuya nake dikarî bidî xuya kirin xêra xwe. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:01, 28 sibat 2025 (UTC)
:Merheba {{r|Rewiye tine}}. Gereg {{param|wergêr}} be te "Wergêr:" nivîsiye.--[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:06, 28 sibat 2025 (UTC)
::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Bira, qaîdeyeke wisa heye ku nimûneyên bikaranîna kelîmeyan gereg pêşî ji nivîskarên bi kurdî nivîsîne were wergirtin, eger çavkaniyên ji kitêbên kurdî tine be, wê demê meriv dikare tercimeyên kitêban ji zimanên din bi kar bîne. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:11, 28 sibat 2025 (UTC)
:::Yanê pirtukên werger ji bo mînak naye qebûl kirin? [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:16, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Em nabêjin "nayê qebûlkirin" lê gereg pêşî çavkaniyên kurdî be dûre yên tercime. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:23, 28 sibat 2025 (UTC)
:::Rast e. Lê min vê pirtûkê xwendîye û hinek peyva bijartîye. Ez nîyetim wan jêgirtina derbas bikim. Mesele ev e. Berîya vê, min ji pirtûkên klasîk jî jêgirtina derbas kiriye. Ji bo hişyarî mala te ava. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:27, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Yên klasîk pir muhîm in, tê de kîjan kelîme derbas bin gereg em herf bi herf li wir qeyd bikin, lê yên tercime tenê eger çavkaniyên kurdî tinebin baş in. Tu dîsa kelîmeyên ku te bijartine binivîse lê ji bo kelîmeyên naskirî nekî çêtir e. Qerar dîsa jî ya te ye. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:32, 28 sibat 2025 (UTC)
== kurmancîyek şkestî ==
Silav {{r|Wikihez}}
https://www.youtube.com/watch?v=hH-DO1RT8zM [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 12:23, 24 adar 2025 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 20:06, 28 nîsan 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 -->
== [[bilgîsayar]] ==
Silav @[[Bikarhêner:Wikihez|Wikihez]], di gotara [[bilgîsayar]] de çavkanî hewce ne. ''[[Wîkîferheng:Pîvekên tevlîkirinê|Çavkanî hewce ye]].'' —[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 00:11, 30 hezîran 2026 (UTC)
== Lîsteyek heye? ==
Silav WikiHez, te got şablon hene, eceba lîsteyek heye ku ez jê hemû şablonên WikiFerhengê bibînim? [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:14, 31 tîrmeh 2026 (UTC)
:Merheba @[[Bikarhêner:Kurdanparez|Kurdanparez]], Li vira [[Alîkarî:Bikaranîna şablonan]] lîsteyek heye feqat hem gelek ji wan kevn bûne, hem jî ne mimkûn e em hemû şablonan rêz bikin. Pêşî li ser wîkîya îngilîzî li şablona dixwazî bigere, eger înterwîkiyan de tinebe, ji min re binivîse ez ê çêkim.
:Pirsek Min non-gloss [[:en:T:n-g]] wekî {{ş|îzaha ne eleqedarî maneyê}} (bi kurtî înm) tercime kir feqat çi eleqeyê ez jî nizanim fikrekî te hebe li gotûbêjê binivîse em rast bikin. Niha dibêjim, gloss bikim îzaha maneyî, non-gloss bikim îzaha nemaneyî belkî baştir be, tu çi dibêjî? [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:22, 31 tîrmeh 2026 (UTC)
::Gelek spas. Ez ê li wir binivîsim. [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:27, 31 tîrmeh 2026 (UTC)
:::@[[Bikarhêner:Kurdanparez|Kurdanparez]] [https://ku.wiktionary.org/w/index.php?title=dimil%C3%AE&diff=6292587&oldid=6292584] Ji bo înlîne-modifiers bnr [[Modul:columns#L-711]] ji bo etîketan [[Modul:labels#Çêkirina_etîketan]] jkx yên ku kêm in îlawe bike. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:49, 31 tîrmeh 2026 (UTC)
::::Gelek spas :)) [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 23:03, 31 tîrmeh 2026 (UTC)
== کرمانجی ==
سەلام. پرسیارێکم هەبوو، کرمانجی زمانە یان زاراوە؟ [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 12:34, 19 tebax 2026 (UTC)
:زاراوا یە فەقات ژ بۆ ژ هەڤ ئێجستنا کورمانجی و سۆرانی ل ڤر وەکی زمان خویا دبە [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 12:41, 19 tebax 2026 (UTC)
::باشە لە [https://ku.wiktionary.org/wiki/Destp%C3%AAk دەستپێک] نووسراوە «فەرهەنگ بە '''کورمانجی''' و زێدەیێ ۳۸۱۹ زیمانێن دینێ»، باشتر نەبوو نووسرابا '''کوردی کرمانجی'''؟
::[[:Kategorî:Kurmancî|لێرەش]] لە نێو ئەو باکسەی نووسراوە '''زیمانێ کورمانجی''' نەک '''زاراڤەیا کورمانجی'''. [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 19:02, 19 tebax 2026 (UTC)
:::Ew ne tiştên muhîm in, ne lazim e em her daîm kurdî kurmancî binivîsin, kurmancî jî soranî jî kurdî ne, her kes jî wisa qebûl dike. Kategorî jî ji ber ku otomatîk tê çêkirin min nexwest wextê xwe pê re xerc bikim. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 10:51, 21 tebax 2026 (UTC)
== Soranî bi tîpên latînî ==
Silav birako, min dît ku bo eynî/heman kelîmeyên soranî guhartoya bi tîpên latînî jî heye. Û translîterasyon jî tevlihev dibe. Wekî nimûne binêre: [https://ku.wiktionary.org/wiki/b%C3%AErkirdinewe#Soran%C3%AE]. Gelo baş e ku her du guharto hebin (farisî-erêbî û latînî)? Ez newêrim devê mijarê vekim,lê bala min kişand. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:25, 24 tebax 2026 (UTC)
:Merheba, tiştên wisa li [[WF:Dîwan]]ê binivîsî çêtir e, feqat eger tenê fikrê min dipirsî, bi min yên soranî qet ne hewce ne, îro soranî tenê bi '''herfên''' erebî tên nivîsin feqat min kovarên kevn ên 1970î de soranî bi herfên latînî jî dîtine, [https://books.vejin.net/ck/books Vejîn Kitêbekan] jî yên erebî transkrîbeyî latînî dikin. Dîsa jî bila hebin, zerara wan nîne bi şerta ku li vir hatiye dayîn: [[Wîkîferheng:Dîwan/2026#Peyvên_soranî_bi_latînî_(Kategorî:Soranî)]] [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:31, 24 tebax 2026 (UTC)
::Spas ji bo bersivê. Bi taybetî min ji ber şablonan pirsî, ji ber ku tîp^en ji alfabeya erebî jî tevlî dibin. Wa Ghybu mijar vekiriye. Gava wextê min çêbû. Ez ê cewaba wî bidim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:36, 24 tebax 2026 (UTC)
:::Bnr [[Modul:rêziman#L-188]] tu dikarî yên bi latînî bi riya <code>lang:findBestScript(pagename)</code> derxî.
:::Li vir[https://ku.wiktionary.org/w/index.php?title=%D9%86%DB%95%D8%B1%D9%85%D8%A7%D9%85%DB%8E%D8%B1&curid=1358825&diff=6342225&oldid=6342224] rênima çi ye? Talîmat e? hejmardarî mihasebe ye? Kesê ku vê ferhengê bi kar tîne çawa ji heqê vî zimanî derkeve? :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:56, 24 tebax 2026 (UTC)
::::Ez ê Scriptê biceribînim. Ji ber pirsaa te: Erê, min niha ew guhartin. Ji bo ferhengê wê ferhengeke din lazim be :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:17, 24 tebax 2026 (UTC)
:::::Welleh eynî wisa ye :D Gelek kes ketine derdê dîtina kelîmeya kurdî ya herî orîjînal, ji bîr dikin ka milet wê çawa bike :D [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:20, 24 tebax 2026 (UTC)
::::::Not: Mala te ava :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:21, 24 tebax 2026 (UTC)
:::::::Tu çima amûra me ya [[Wf:Nû]] naceribînî? :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:58, 24 tebax 2026 (UTC)
71wzdcx8hyjwyut2zef2fcsswk71z78
6342302
6342289
2026-08-24T23:24:01Z
Şêr
1103
/* Soranî bi tîpên latînî */ Bersiv
6342302
wikitext
text/x-wiki
== Astengî Bi Sepana Lingua Libre. ==
Silav Birêz,
Vaye 2-3 roj e ku ez nikarim dengê xwe bi rêya sepana Lingua Libre'yê ve biweşînim. Ez dikarim têkevim û deng tomar bikim, lê nikarim dengê xwe li ser Wikimedia Commons biweşînim. Gava ku ez pêl li ser bişkoka "Li Ser Wikimedia Commons Biweşîne" dikim qebûl nake û bişkoka "Dubare Biceribîne Barkirin Bi Ser Neket" dide nîşan. Gava ez pêlê wê jî dikim, tiştek nabe û ev bişkok dîsa derkevî ser holê. Tû kar nake. Derbarê vî mijarê min li ser tora Lingua Libre nivîsand, lê tû encam derneket. Ev program dengê min tomar dike, le naweşîne. Gelo tû fikr û ramanê te li ser vî mijarê heye? Sipas. [[Bikarhêner:Key Mîrza|Key Mîrza]] ([[Gotûbêja bikarhêner:Key Mîrza|gotûbêj]]) 23:38, 28 kanûna paşîn 2023 (UTC)
== Modul û şablonên Wîkîpediya yên Zazakî ==
Silav birêz Balyozxane!
Tu dikarî di Wîkîpediya Zazakî de alîkariya min bikî? Li wir kesek neqeydkirî hin modul û şablon guhert. Ji ber vê yekê agahî tevlihev dibin. Min ew vegerand, lê ew wek nimûne di "Nıfus" ([https://diq.wikipedia.org/wiki/Modul:N%C4%B1fus Modul:Nıfus] û [https://diq.wikipedia.org/wiki/%C5%9Eablon:N%C4%B1fus Şablon:Nıfus]) de xuya nake. Ez berê spas dikim! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 19:50, 21 gulan 2023 (UTC)
:@[[Bikarhêner:Mirzali|Mirzali]] Silav. Problemeke gelemper li wîkiyê heye. Bnr. [[:w:en:Wikipedia:Village_pump_(technical)#Graph_extension_disabled_per_immediate_effect|vê gotûbêja en.wîkiyê]]. Grafîk niha naxebite heta xwediyên wîkiyê çareser bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 05:46, 22 gulan 2023 (UTC)
:: Spas ji bo pêşniyarê! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 06:12, 22 gulan 2023 (UTC)
== Li ser pêwîstiya sê çavkaniyan ji bo nivîsên etîmolojiya peyvên kurdî. ==
Silav Birêz,
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzika bo afirandina peyveke nû bo etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse. Dema ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî çavkanîyê bibînî û peyt bikî
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzikên afirandina peyveke nû, bo nivîsa etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse? Dema ku ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî ew çavkanîyê bibînî û peyt bikî. Ma tenê çavkaniyek têr e? Yan gerek sisê bibe? Ger tu bawer nakî ez dikarim çendîn nimune nîşanê te bidim. Benda bersiva cenabê te me. Sipas [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 08:59, 6 hezîran 2023 (UTC)
:Silav @[[Bikarhêner:Ebulfîda|Ebulfîda]]. Tu hinek bi awayekî şovenîst tevdigerî. Hinek bêhnfireh be ji kerema xwe re. Tu çavkanî dixwazî lê belê çavkanî kêm in. Yên heyî jî tu qebûl nakî. Min ji te re Chyet wek referans da, te ew jî qebûl nekir. Chyet nêzî 40 zimanan dizane û hemû zaravayên kurdî jî dizane dîsa jî tu qebûl nakî. Tu wekî folk etymology difikirî û dixwazî her tiştî bikî kurdî. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 08:37, 8 hezîran 2023 (UTC)
::Sipas, Ma tu jî şovenê hevalê xwe nînî? Bo çin 3 referans bo her kes nameşe? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:33, 8 hezîran 2023 (UTC)
:::Xwedê hiş daye mirov ku bi kar bînî:
:::1-Çawa peyva "Befr", "Baran" ya Kurdî/Îranî heye lê "Cemed"a Kurdî/Îranî tineye? Dibe? Hemû bi hev re girêdayî nînin? Pirtirîn dewletên ereban da "cemed" çênabe. Ma çima reha/koka cemed "cam" ne bî? Ma hemû zimanzanan û etîmologan ser rêya rast in? Li gor min na. Ez zimanzanek wek "Garnik S. Asatrian" û "David Neil MacKenzie" nas nakim. Min jiyana wan xwendiye her du jî dijminatiya Kurdan kirine:
:::https://www.quora.com/Do-you-believe-that-all-Kurdish-linguists-to-date-have-acted-impartially-and-scientifically/answer/Hamdi-Aciksoz
:::2- Ger peyva "Evîn"a Kurdî tinebe, gelo Kurd ji Ereban hînê hezkirinê bûne? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:50, 8 hezîran 2023 (UTC)
== Derbarê pêwistiya 3 referans bo afirandina peyvên nû û nivîsên etîmolojiyên nû. ==
Birêz, Êdî ez westiyam. Cara dawî ji te û hemû nivîskaran rica dikim ku bêyî 3 referans peyvên nû neafirînin û etîmolojî nenivîsînin. Ger ez rastîyê nivîsek/referansek bêyî 3 referans bikevim ezê bi hirs û dijûn livir derkevim. Ji we rica dikim mercên xwe bi kar bînin.[[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 17:42, 10 hezîran 2023 (UTC)
:Qaîdeyeke ji bo etîmolojiyê wekî ku tu dibêjî tune ye. Ger dixwazî, dikarî dengdaneke bidî destpêkirin û li gorî encama dengdanê em dikarin bixebitin. Bi xatirê te. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:21, 14 hezîran 2023 (UTC)
== Çêkirina botekê ==
Merheba hêja {{r|Balyozxane}} Ez bi şanazî dibînim ku tu bota "Balyozbot" bo zêdekirina rûpelên nû ji beşa wergeran bi kar tînî. Ev karekî pir baş e, siheta te xweş! Gelo ez jî dikarim bi awayekî wisa bibim alîkar? Bi silavên germ re! --[[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 07:00, 9 tebax 2023 (UTC)
:@[[Bikarhêner:Ferhengvan|Ferhengvan]] Balyozbot niha bi otomatîk naxebite, Ez li ser scrîptekê dixebitim ya ku dikare hemû wergerê carekê de çêke. Ger rast bixebite, ez ê skrîptê bidim te. Lê niha hin pirsgirêk çêdibin. Wisa dixuye ku ew ê çênebe. Lê dîsa jî hewl didim.
:::P.S. Tu dikarî [[:w:WP:AWB]] biceribînî. Heger hinek hîn bibî, dikarî hesabekî botê çêkî û ez dikarim alîkariya te bikim.
:[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:29, 9 tebax 2023 (UTC)
::Silav @[[Bikarhêner:Ghybu|Ghybu]] Çêkirina gelek rûpelan bi butonekê qedexe ye yan na? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:03, 9 tebax 2023 (UTC)
:::Silav, ne qedexe ye. Piraniya rupelên fr.wiki û en.wiki bi botê hatine çêkirin. Tenê ''[//meta.wikimedia.org/wiki/Copyright copyright]'' û ''[//meta.wikimedia.org/wiki/Bot_policy Bot policy]'' dîqet bikin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:14, 9 tebax 2023 (UTC)
::Gelek spas bo xebata te ya hêja! [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 18:35, 9 tebax 2023 (UTC)
:::@[[Bikarhêner:Ghybu|Ghybu]] Ez behsa botekê nakim. Nimûne Ez dikarim bi hesaba xwe ya Balyozxane gelek rûpel carekê de çêkim bi skrîpta [[User:Balyozbot/CreateTranslation.js]]? Dema pêlî "Hemû çêke" dikî, skrîpt yek bi yek hemû rûpelên wergeran çêdike. Ew tiştek normal e? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:37, 9 tebax 2023 (UTC)
::::Nimûne: [[Taybet:Beşdarî/Balyozxane|2 deqe 34 rûpel hatin çêkirin bi skrîptê]] [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:49, 9 tebax 2023 (UTC)
:::::Tu hesabê xwe wekî botê bikar tinî û leza guherandina botê hindik bilind e (>12 guherandin/deq). Bi min, bo guherandinên biçûk pirsgirêk tine ye... Feqet tu nikarî tenê carekê de pênc sed an hezar gotar bi vî avayî çêkî :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 20:50, 9 tebax 2023 (UTC)
::::::@[[Bikarhêner:Ghybu|Ghybu]] çima na yaw bazarî tune ye? {{=D}} Bi hesabê xwe deqê de çend gotar bi vî awayî çêkim, ne pirsgirêk e? Ne tenê ez, ez ê bidime Ferhengvanî jî :D [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:16, 9 tebax 2023 (UTC)
:::::::Bnr. [https://ku.wiktionary.org/wiki/Got%C3%BBb%C3%AAja_bikarh%C3%AAner:%C5%9E%C3%AAr#Nochmal_wegen_Deinem_Bot] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:23, 9 tebax 2023 (UTC)
::::::::@[[Bikarhêner:Ghybu|Ghybu]] Li gorî Bot policy 12 edits per minute ji bo botekê baş e. Lê tiştek li ser bikarhêneran nayê gotin. Em ji deqê de 12 rûpel çêkin pirsgirêk çêbibe? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:38, 9 tebax 2023 (UTC)
:::::::::Min ne got ku ew problem e ji ber ku li vira kes ne dijî ye (wikiyên din eleqedar nake). Dîsa jî, belkî, li ser Dîwanê ji bo bikaranîna amûrê dengek pêwîst e {{=)}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:49, 9 tebax 2023 (UTC)
::::::::::PS: Problem tenê ji bo [[Taybet:Guherandinên dawî]] ye (nayê xwandin) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:56, 9 tebax 2023 (UTC)
:::::::::::Li ser Wergerê: bi min dema ku hemû beşa Wergerê li ser en.wiki tê kopî kirin, nivîsanda çavkanîyê jî pêwîst e, wekî: [//ku.wiktionary.org/w/index.php?title=xwarin&diff=5207568&oldid=5207001]. Na? [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 22:13, 9 tebax 2023 (UTC)
::::::::::::bi ya min dengdan ne hewce ye lê ger tu bêjî hewce ye, em dikarin yekî çêkin :/
::::::::::::ji bo guherandinên dawî min etiketek çêkir, nimûne [https://ku.wiktionary.org/w/index.php?title=Bikarh%C3%AAner:Balyozxane/testinggg&action=history] tu dikarî guhartinên dawî parzûn bikî ji bo ku guhartinên bi vî etîketî neyên dîtin.
::::::::::::Belê çavkanîdayîn jî pêwîst e. Ez ê wê jî tevlî skrîptê bikim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 22:32, 9 tebax 2023 (UTC)
{{outdent|::::::::::::}} {{silav|Ferhengvan}}. Min koda çêkirina wergeran nû kir. Êdî ne hewce ye yek bi yek pê li lînkan bikî. Pê li "Hemû çêke" bike. "Cureyê peyvê hilbijêre", Maneya wergerê binivîse ( bi otomatîkî navê rûpelê tê lê dikarî tiştên din lê zêde bikî), dûre ger dixwazî "Etîket" lê zêde bike bike "element, anatomî, biyolojî, ekonomî, hwd.) Dûre pê li "Bişîne" bike. Hemû werger yek bi yek tên çêkirin. Di deqiqeyê de herî zêde 6 rûpel çêdike loma hinek hêdî ye. @[[User:Ghybu|Ghbu]] Çiqas bilez be ne pirsgirêk e? --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:22, 11 tebax 2023 (UTC)
:Ji bo veşartina rûpelên ku bi CreateTranslation hatine çêkirin di rûpela Guhartinên dawî de pê li "Nîşankirin" bikin, dûre Pê li "Yên bijartî derxe" bikin û "CreateTranslation hilbijêrin. Bi vî awayî vedişêrin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:24, 11 tebax 2023 (UTC)
::Her hebî, pir baş çêdike. Wisa here, em ê di çend mehan de bigihin milyonek rûpelan :-) [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 14:07, 11 tebax 2023 (UTC)
:::@[[Bikarhêner:Ferhengvan|Ferhengvan]] înşela :) lê divê em hay jê hebin rûpelên xelet çênekin, dema çêdikî maneya peyvê bi eşkere bidin nivîsîn [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:17, 11 tebax 2023 (UTC)
::::@[[Bikarhêner:Ferhengvan|Ferhengvan]] herwiha ger te xeletîyek dît, min agahdar bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:18, 11 tebax 2023 (UTC)
::::Merheba, ji cûrên peyvan (navdêr, rengdêr, lêker...) "hejmar" kêm e, divê ew jî hebe. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:29, 12 tebax 2023 (UTC)
* @[[Bikarhêner:Ferhengvan|Ferhengvan]] di vê navberê de ger wextê te hebe, Xêra xwe dikarî navê zimanan jî bikî kurdî [[Modul:ziman]], ji ber ku em gelek rûpel çêdikin navên zimanan bi îngilîzî dimînin. Divê werin kurdîkirin ji bo ku em karibin kategoriyên wan çêkin.
Ji bo çêkirina kategoriyan Koda jêr tevlî [[Special:MyPage/common.js|rûpela xwe ya common.js]] bike:
<syntaxhighlight lang="javascript>
//[[Bikarhêner:Balyozxane/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozxane/addAutoCat.js&action=raw&ctype=text/javascript');
</syntaxhighlight>
:--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
::{{r|Ferhengvan}} Rûpelên xelet çêneke. Min hejmar lê zêde kir lê dema tiştek kêm be heta were sererastkirin bisekine Xêra xwe. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
:::Temam. Lê yên çêkirî ne xelet in ji ber ku hemû hejmar di heman demê de navdêr in jî. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:51, 12 tebax 2023 (UTC)
::::Silav @[[Bikarhêner:Ghybu|Ghybu]]. Em çêkirina rûpelan bi hesaba xwe dewam bikin yan jî hesaba xwe ya botê bi kar bînin? pîng {{r|Ferhengvan}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 19:37, 14 tebax 2023 (UTC)
== Bot ==
Silav Balyozxane, Sererastkirina rêzimanî bi botê problem e: te jî [https://ku.wiktionary.org/w/index.php?title=Koban%C3%AE&curid=279200&diff=5551838&oldid=5551836 dît], ji ber ku jêgirtin û çavkaniyan jî sererast dike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 14:48, 21 îlon 2023 (UTC)
:Silav @[[Bikarhêner:Ghybu|Ghybu]] Min yek bi yek AWB kontrol dikir û wextê xeletî çêkir, min rawestand, xeletiyê rast kir û dîsa dewam kir :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:50, 21 îlon 2023 (UTC)
== çêkirina forman bo [[hûr kirin]] ==
Silav Balyozxane,
gelo çi dibe sedem ku forma [[hûr kir]] bi awayekî otomatîk nayê afirandin? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:15, 12 çiriya paşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Li cem min pirsgirêk tine ye. Ka rûpelê purge bike û dîsa biceribîne. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:18, 12 çiriya paşîn 2023 (UTC)
::Silav, niha, piştî ku te rêz guhart, çêbû. - [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:20, 12 çiriya paşîn 2023 (UTC)
:::Û gelek caran divê ez ji peyvê derkevim ji ber ku form amade nabin (dema ku ez pê lê dikim). Bnr.: [https://ku.wiktionary.org/w/index.php?title=d%C3%BBr_kir&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=d%C3%BBr%20kirin&accel1=pos-l%C3%AAker%20bor%C3%AE%7C1%7Cyj-form-of&accel2=pos-l%C3%AAker%20bor%C3%AE%7C2%7Cyj-form-of&accel3=pos-l%C3%AAker%20bor%C3%AE%7C3%7Cyj-form-of&accel4=pos-l%C3%AAker%20bor%C3%AE%7C123%7Cp-form-of]. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:21, 12 çiriya paşîn 2023 (UTC)
::: Gava ez ji formê dertêm, û dîsa li ser gotara sereke dîsa pê li formê bikim, hingê çêdibe. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:23, 12 çiriya paşîn 2023 (UTC)
::::@[[Bikarhêner:Şêr|Şêr]] Ger li jor URL hebe û tê de agahdarî hebin, wê demê ne hewce ye derkevî rûpelê dîsa bar bike ew ê were çêkirin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:37, 12 çiriya paşîn 2023 (UTC)
:::::Baş e, mala te ava. :) Dem baş --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:38, 12 çiriya paşîn 2023 (UTC)
::::::URL bi piranî tune. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:42, 12 çiriya paşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Ez lê dinêrim lê min ti pirsgirêk nedît. Belkî tu hinek zû tevdigerî û bêyî ku lînk were derdikevî? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 12:17, 12 çiriya paşîn 2023 (UTC)
::::::::@[[Bikarhêner:Şêr|Şêr]] Hay ji syntaxhighlighter hebe, dema vekirî be carinan ji ber wê encam dernakevin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:26, 12 çiriya paşîn 2023 (UTC)
== amûra "wergerîne" ==
Silav keko,
min hewl da ku wergeran (ji ferhenga en) bidim wergirtin bi rêya amûra te, lê nebû. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:18, 16 çiriya paşîn 2023 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Silav. Te çi kir? Divê ji en.wiktê beşa Translation rasterast li rûpeleke ku.wiktê kopî bikî. Ti tişt neguherîne. Divê şablonên <nowiki>{{trans-top}} û {{trans-bottom}}</nowiki> hebe. (Heke navê şablona trans-top-see be divê -see jê bibî.) Dûre pê li Wergerîne bike û navê rûpela en.wiktê binivîse. Tiştek din nenivîse. Ew qas :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:21, 16 çiriya paşîn 2023 (UTC)
::@[[Bikarhêner:Şêr|Şêr]] Di amûra CreateTranslation de piştî te pê li "Bişîne" kir, divê rûpel vekirî bimîne heta hemû werger werin çêkirin. Ger ji rûpelê derkevî, amûr betal dibe. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
::Spas, fam kir ;)
:::PS: qismê > beşa çêtir e, ji ber ku beş "kurdîtir" e. Silav --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] "beş" li vir wekî hemû beşa Wergerê karibe were fêmkirin, lê di beşekê de dikare ji yekî zêdetir qism hebin loma me peyva qism tercîh kir. Herwiha ji mêj ve ye me dev ji dîtina peyveke "kurdîtir" berdaye, kîjan peyv berbelav be em wê bi kar tînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:39, 16 çiriya paşîn 2023 (UTC)
::::Ez jî wisa difikirim. Lê mixabin hin kurdên me serê xwe bi "paqijkirina" kurdî diêşînin. Ger em li gorî vê mantiqê tev bigerin, divê em nîvê zimanê almanî jê bibin. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:47, 16 çiriya paşîn 2023 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Va ye dîsa em ketin vê nîqaşê [[:w:Gotûbêj:Bangeşe#Barkirina_Bangeşe_12-2023]]. Xwedê ez ê dîn bibim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 10 kanûna pêşîn 2023 (UTC)
::::::Herwiha [[:w:Pêjimêrk]] {{dîwar}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:06, 10 kanûna pêşîn 2023 (UTC)
::::::Bi demê re gotinên biyanî tevkariyeke girîng li zimanê kurdî kirine û bûne beşekî ji wê. Ev peyv danûstandina çandî, pêşketina zanistî û bandorên din nîşan didin. Zimanekî bê peyvên biyanî ne tenê ji aliyê zimanî ve belengaz e, di heman demê de ji aliyê çandî ve jî îzole dibe û nikare xwe adapte bike. Tê bêjî qey 5 hezar peyvên latînî wê kurdî xira bikin. :) Serê xwe bi wan neêşîne. Bawer bike mirov newêre kurdên me hînî kurdî bike. Wek mînak gava ez bêjim kursî, wê tiliyên xwe di nav çavên min re rakin. :( Wê li dewsa wê bêjin "rûniştek", lê ev peyv ji bo her tiştê ku mirov li ser "rûdinê" tine ziman. Xeman nexwe, yên wisa wê xilas nebin :-) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:29, 10 kanûna pêşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Erê lê pirsgirêk ew ê fêmbariya wîkîpediya xira dibe. Loma dixwazim qet nebe tiştên wekî sernavên gotar û kategoriyan baş bin lê ew jî nabe. Ew kes timî bi peyvên ecêb dinivîse ku êdî meriv jê ti tişt fêm nake. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:31, 10 kanûna pêşîn 2023 (UTC)
::::::::Ez jî li aliyê te me. Lê bawer ke wî hevalî ji ev peyv ji yekî wek "xwe" hîn bûne. Ev şaşî ne ya wî ye. Gava ew jî van xeletiyan bidomîne, wê yên piştî wî jî wisa hîn bibin. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:35, 10 kanûna pêşîn 2023 (UTC)
== Forma nû a çêkirina peyvan zû bar dibe ==
Silav Balyozxane,
bi min forma nû a (wek ya viyetnamî) zû bar dibe. Dema ez dixwazim formên tewandî yên navdêran çêbikim, formên skrîptê bar nabin dema ku ez forma kesk ya tabloya tewandinê ditikînim.. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:55, 1 kanûna pêşîn 2023 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1 Mînak] --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:56, 1 kanûna pêşîn 2023 (UTC)
::Silav @[[Bikarhêner:Şêr|Şêr]] Dema di URLyê de ''User:Balyozxane/creation/intro'' [https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=avaker&accel1=pos-navd%C3%AAr%20def%7Cconstr%7Cp-form-of%20gender-n] hebe li cem min form bar nabe. Lê wekî din her tim bar dibe. Ger karekî te bi vî amûrî tinebe dikarî li ser [[Taybet:Tercîh#mw-prefsection-gadgets]] neçalak bikî. Li qutiya li kêleka "Forma çêkirina rûpelên nû çalak bike" bitikîne ew ê were '''ne'''çalakkirin. Dûre dikarî dîsa çalak bikî. Niha çareseriyeke din nabînim. Ger fikrekî te hebe, bibêje em biceribînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 16:06, 1 kanûna pêşîn 2023 (UTC)
:::Spas, min ne-çalak kirin, pirsgirêk çareser bû. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:09, 1 kanûna pêşîn 2023 (UTC)
== çêkirina kategoriyên tên xwestin ==
Silav Balyozxane,
ez [https://ku.wiktionary.org/wiki/Taybet:Kategor%C3%AEy%C3%AAn_t%C3%AAn_xwestin van] kategoriyên xwestî bi bo çêbikim? Min kategoriyek wek test çêkir, [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ker%C3%AE li vir bnr] -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:26, 2 kanûna pêşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Ger dixwazî, çêke lê pêşî [[WF:SB#katbike-rec]] bi kar bîne wek "pwb.py katbike-rec -wantedcategories". (Ne hewce ye lîsteyekî çêkî) Daku jorkategorî û înterwîkî lê were zêdekirin. Piştî hemû xilas bû îcar bi [[WF:SB#katbike]] dîsa hemû -wantedcategories çêke. Spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:30, 2 kanûna pêşîn 2023 (UTC)
::Temam, spas, va min dest pê kir [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ok%C3%AE]. Ez ê vêga bi hesabê bot bidim çêkirin. Êvara te bimîne xweş, û spas ji bo keda te. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:46, 2 kanûna pêşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Gelek spas! A te jî bimîne xweş :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:49, 2 kanûna pêşîn 2023 (UTC)
== Speech recognition ji bo kurmancî ==
Silav bira,
te [https://huggingface.co/Akashpb13/xlsr_kurmanji_kurdish ev] dîtiye? Xuya ye ku nû ji bo kurmancî hatiye çêkirin. Piraniya hevokan hema bêje ji sedî 90 nas dike --17:50, 7 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 17:50, 7 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] ne welle min nedîtiye û zêde bala min tiştên wisa nakişîne lê belê hevalê @[[Bikarhêner:Guherto|Guherto]] pê eleqedar dibe, ez ê jê re bişînim. Gelek spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:59, 7 kanûna paşîn 2024 (UTC)
::Ev tişt bala min dikişînin. :)) Eger pirsên Guherto hebin, dikare bi min re bikeve têkiliyê. Êvara te bimîne xweş :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:02, 7 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Ew ê dê gelek bextiyar be :) Êvar baş! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 7 kanûna paşîn 2024 (UTC)
::::{{r|Şêr}} Di sala 2023an li ser ''commonvoice.mozilla'' de zêdetirî 15 hezar devokên kurdî hatine qeyd kirin, bnr https://commonvoice.mozilla.org/kmr. Berê me nikarîbû bikin ji ber ku dane kêm bûn, niha bi ''[[:w:en:Artificial neural network]]'' bi hêsanî tê çêkirin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:25, 7 kanûna paşîn 2024 (UTC)
:::::Silav Ghybu, gelek spas ji bo agahiyê, bo keda we. Jixwe li wir Mozilla Commonvoice jî wek çavkanî hatiye bikaranîn. Silav û rêz. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:13, 7 kanûna paşîn 2024 (UTC)
::::::[https://huggingface.co/facebook/mms-tts-kmr-script_latin?text=Ew+%C3%AEro+%C3%A7i+dike%3F Ev jî] nivîsê dike deng. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:28, 9 kanûna paşîn 2024 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Te ceriband? Xweş dixebite gelo? Belkî em dikarin gotarên Wîkîpediyayê bidin xwendin û lînka dengî li rûpelan zêde bikin :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:31, 9 kanûna paşîn 2024 (UTC)
::::::::Min hê îro dît. Li gorî testên min nîvî-nîvî ye. Modela deng di hin peyvan xwe pirsgirêkan derdixe, zêde "qeba" ye, û hin tîp tên daqurtandin (bi lêv nake). [Û her wiha]Pêdiviya me bi zimanekî naziktir heye. :)) Model divê hinekî were perwerdekirin. Ji bo niha ez bikaranîna wê pêşniyar nakim bi rastî.- Silav û rêz ..[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:40, 9 kanûna paşîn 2024 (UTC)
::::::::Ez ê li ser Google Colab, modelê daxim û test bikim. Lê tu jî diarî peyvên xwe an jî cumleyên/hevokên xwe binivîsî. :) Wê gavê ne hewce ye ku tu daxî. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:42, 9 kanûna paşîn 2024 (UTC)
:::::::::Gelek spas! Ez ê li ser PAWS biceribînim [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:48, 9 kanûna paşîn 2024 (UTC)
::::::::::Merheba ji we re hevalno. Min hê li ew tiştê ko Şêr lînk kiriye neceribandiye lê piçekî tecrûba min bi van tiştan re heye. Wextê ko hê nû Metayê proja xwe ya bi navê "[https://ai.meta.com/blog/multilingual-model-speech-recognition/ MMS]" derxistibû min xwest biceribênim û min dûvre jî ceriband. TTSa wê zêde bi kêr nayê ji ber ko dengên rast dernaxe (li gora alfabê diçe û alfaba me ji bo şanîkirina dengan bi kêr nayê), lê speech-recognitiona wê bi kêr tê. Hinek gotinan peve dinivîsêne lê ew piştre rehet kare were edilandin (bi destan jî û bi otomatîkî jî). Metayê proja NLLByê jî derxistibû û ew jî di mesela tercimekirinê de ji Google Translate gelekî baştir e. (Dîse jî ji bo kurmancî ya herî baş Bing Translate e). Ez bi rastî bêjim ez piçekî bi xwe serbilind im, [[Wîkîferheng:Dîwan/arşîv 2020#CommonVoice bi kurmancî|ji ber ko herî pêşî min ji CommonVoicê xwest ko kurmancî lê zêde bikin]], berî çar salan. [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:09, 10 kanûna paşîn 2024 (UTC)
:::::::::::@[[Bikarhêner:Şêr|Şêr]] Ew proja ko te lînk kiriye ji MMSa Metayê kevntir e. Berî 2 salan hatiye çêkirin û li vir dosyeyek li serê heye: https://aclanthology.org/2022.lrec-1.689.pdf [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:13, 10 kanûna paşîn 2024 (UTC)
== POS-Tag Kurmancî ==
Min tiştekî wisa ya bikêrhatî dît niha: [http://stanza.run/]. --23:33, 13 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:33, 13 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Gelek spas. Min niha ceriband xweş xuya dike :D. Dikarî emaila xwe vekî, dixwazim tiştek li te pirs bikim? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 23:43, 13 kanûna paşîn 2024 (UTC)
:{{r|Şêr}} Min ê vê amûrê kod bikira, bnr. [//ku.wiktionary.org/wiki/W%C3%AEk%C3%AEferheng:D%C3%AEwan/2023#Am%C3%BBr%C3%AAn_anal%C3%AEzkirina_kurmanc%C3%AE? ''Amûrên analîzkirina kurmancî?''] Ping {{r|Ferhengvan}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 23:47, 13 kanûna paşîn 2024 (UTC)
::{{r|Ghybu}}, {{r|Balyozxane}}, di hin lêkeran de kêmasî hene, lê bi piranî dixebite. Mirov dikare [https://huggingface.co/stanfordnlp/stanza-kmr li vir] pêşniyazan bike? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:03, 14 kanûna paşîn 2024 (UTC)
::{{r|Balyozxane}}, min standina e-peyaman aktîv kir. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:07, 14 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Min şand, înşela te dîtibe :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:46, 14 kanûna paşîn 2024 (UTC)
::::Belê, min dît. Lê divê pêşî ez wê sepanokê daxim. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Temam bira :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
::::::Min ID şand. ;) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:23, 14 kanûna paşîn 2024 (UTC)
== tîpen erebî ==
: → ''Li rûpela'' [[Wîkîferheng:Dîwan/2024#tîpen erebî]] ''hat barkirin.''
== [[Wîkîferheng:ceribandin/aWa]] ==
null —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:05, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî ye —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:15, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:06, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:07, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:20, 24 çiriya paşîn 2024 (UTC)
== Files on Commons ==
Hi! I moved most of the files to Commons. So now they can be used on other wikis. The local files in [[:Kategorî:Gotarên ku bên jêbirin]] can now be deleted. Can you have a look? [[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 16:20, 31 kanûna pêşîn 2024 (UTC)
:@[[Bikarhêner:MGA73|MGA73]] Sorry for the late reply. I've been quite busy lately, your message completely slipped my mind. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:53, 13 kanûna paşîn 2025 (UTC)
:: Hello! No worries :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 06:41, 14 kanûna paşîn 2025 (UTC)
I noticed that there is one unused file without a license: [[:Wêne:Wîkîferheng-guhertin.png]]. It it is no longer usable then I suggest to delete it. --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:41, 14 kanûna paşîn 2025 (UTC)
:Done, thanks! [[Bikarhêner:Wikihez|Wikihez]]<small><sup>'''[[Bikarhêner:Balyozxane|Balyozxane]]''' ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]])</sup></small> 15:44, 14 kanûna paşîn 2025 (UTC)
::Happy to help. Now [[Special:ListFiles]] looks nice and short :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:46, 14 kanûna paşîn 2025 (UTC)
== Kom ==
Silav bira, hê jî ew koma we ya ku tu, Bikarhêner û her wiha Guherto tê de bûn, heye? Ez jî demekê tê de bûm, lê ji ber zanîngehê dema min tune bû, û ez bêdeng û bêseda jê derketibûm. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:38, 7 sibat 2025 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Erê, Min mesaj şand ka lê binêre :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:06, 7 sibat 2025 (UTC)
::@[[Bikarhêner:Wikihez|Wikihez]], niha min dît. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:13, 7 sibat 2025 (UTC)
== jêgirtin ==
#* {{jêder-pirtûk|ku|jêgirtin=û |nivîskar=J.R.R. Tolkien|sernav=Hobbit|wergêr=Samî Hêzil|cîh=Enqere|weşanxane={{w|Weşanên Cervantes|Cervantes}}|sal=2023|çap=1|rûpel=9|isbn=9786257724838}}
merhaba. Navê wergêr xuya nake dikarî bidî xuya kirin xêra xwe. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:01, 28 sibat 2025 (UTC)
:Merheba {{r|Rewiye tine}}. Gereg {{param|wergêr}} be te "Wergêr:" nivîsiye.--[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:06, 28 sibat 2025 (UTC)
::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Bira, qaîdeyeke wisa heye ku nimûneyên bikaranîna kelîmeyan gereg pêşî ji nivîskarên bi kurdî nivîsîne were wergirtin, eger çavkaniyên ji kitêbên kurdî tine be, wê demê meriv dikare tercimeyên kitêban ji zimanên din bi kar bîne. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:11, 28 sibat 2025 (UTC)
:::Yanê pirtukên werger ji bo mînak naye qebûl kirin? [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:16, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Em nabêjin "nayê qebûlkirin" lê gereg pêşî çavkaniyên kurdî be dûre yên tercime. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:23, 28 sibat 2025 (UTC)
:::Rast e. Lê min vê pirtûkê xwendîye û hinek peyva bijartîye. Ez nîyetim wan jêgirtina derbas bikim. Mesele ev e. Berîya vê, min ji pirtûkên klasîk jî jêgirtina derbas kiriye. Ji bo hişyarî mala te ava. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:27, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Yên klasîk pir muhîm in, tê de kîjan kelîme derbas bin gereg em herf bi herf li wir qeyd bikin, lê yên tercime tenê eger çavkaniyên kurdî tinebin baş in. Tu dîsa kelîmeyên ku te bijartine binivîse lê ji bo kelîmeyên naskirî nekî çêtir e. Qerar dîsa jî ya te ye. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:32, 28 sibat 2025 (UTC)
== kurmancîyek şkestî ==
Silav {{r|Wikihez}}
https://www.youtube.com/watch?v=hH-DO1RT8zM [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 12:23, 24 adar 2025 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 20:06, 28 nîsan 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 -->
== [[bilgîsayar]] ==
Silav @[[Bikarhêner:Wikihez|Wikihez]], di gotara [[bilgîsayar]] de çavkanî hewce ne. ''[[Wîkîferheng:Pîvekên tevlîkirinê|Çavkanî hewce ye]].'' —[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 00:11, 30 hezîran 2026 (UTC)
== Lîsteyek heye? ==
Silav WikiHez, te got şablon hene, eceba lîsteyek heye ku ez jê hemû şablonên WikiFerhengê bibînim? [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:14, 31 tîrmeh 2026 (UTC)
:Merheba @[[Bikarhêner:Kurdanparez|Kurdanparez]], Li vira [[Alîkarî:Bikaranîna şablonan]] lîsteyek heye feqat hem gelek ji wan kevn bûne, hem jî ne mimkûn e em hemû şablonan rêz bikin. Pêşî li ser wîkîya îngilîzî li şablona dixwazî bigere, eger înterwîkiyan de tinebe, ji min re binivîse ez ê çêkim.
:Pirsek Min non-gloss [[:en:T:n-g]] wekî {{ş|îzaha ne eleqedarî maneyê}} (bi kurtî înm) tercime kir feqat çi eleqeyê ez jî nizanim fikrekî te hebe li gotûbêjê binivîse em rast bikin. Niha dibêjim, gloss bikim îzaha maneyî, non-gloss bikim îzaha nemaneyî belkî baştir be, tu çi dibêjî? [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:22, 31 tîrmeh 2026 (UTC)
::Gelek spas. Ez ê li wir binivîsim. [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:27, 31 tîrmeh 2026 (UTC)
:::@[[Bikarhêner:Kurdanparez|Kurdanparez]] [https://ku.wiktionary.org/w/index.php?title=dimil%C3%AE&diff=6292587&oldid=6292584] Ji bo înlîne-modifiers bnr [[Modul:columns#L-711]] ji bo etîketan [[Modul:labels#Çêkirina_etîketan]] jkx yên ku kêm in îlawe bike. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:49, 31 tîrmeh 2026 (UTC)
::::Gelek spas :)) [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 23:03, 31 tîrmeh 2026 (UTC)
== کرمانجی ==
سەلام. پرسیارێکم هەبوو، کرمانجی زمانە یان زاراوە؟ [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 12:34, 19 tebax 2026 (UTC)
:زاراوا یە فەقات ژ بۆ ژ هەڤ ئێجستنا کورمانجی و سۆرانی ل ڤر وەکی زمان خویا دبە [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 12:41, 19 tebax 2026 (UTC)
::باشە لە [https://ku.wiktionary.org/wiki/Destp%C3%AAk دەستپێک] نووسراوە «فەرهەنگ بە '''کورمانجی''' و زێدەیێ ۳۸۱۹ زیمانێن دینێ»، باشتر نەبوو نووسرابا '''کوردی کرمانجی'''؟
::[[:Kategorî:Kurmancî|لێرەش]] لە نێو ئەو باکسەی نووسراوە '''زیمانێ کورمانجی''' نەک '''زاراڤەیا کورمانجی'''. [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 19:02, 19 tebax 2026 (UTC)
:::Ew ne tiştên muhîm in, ne lazim e em her daîm kurdî kurmancî binivîsin, kurmancî jî soranî jî kurdî ne, her kes jî wisa qebûl dike. Kategorî jî ji ber ku otomatîk tê çêkirin min nexwest wextê xwe pê re xerc bikim. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 10:51, 21 tebax 2026 (UTC)
== Soranî bi tîpên latînî ==
Silav birako, min dît ku bo eynî/heman kelîmeyên soranî guhartoya bi tîpên latînî jî heye. Û translîterasyon jî tevlihev dibe. Wekî nimûne binêre: [https://ku.wiktionary.org/wiki/b%C3%AErkirdinewe#Soran%C3%AE]. Gelo baş e ku her du guharto hebin (farisî-erêbî û latînî)? Ez newêrim devê mijarê vekim,lê bala min kişand. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:25, 24 tebax 2026 (UTC)
:Merheba, tiştên wisa li [[WF:Dîwan]]ê binivîsî çêtir e, feqat eger tenê fikrê min dipirsî, bi min yên soranî qet ne hewce ne, îro soranî tenê bi '''herfên''' erebî tên nivîsin feqat min kovarên kevn ên 1970î de soranî bi herfên latînî jî dîtine, [https://books.vejin.net/ck/books Vejîn Kitêbekan] jî yên erebî transkrîbeyî latînî dikin. Dîsa jî bila hebin, zerara wan nîne bi şerta ku li vir hatiye dayîn: [[Wîkîferheng:Dîwan/2026#Peyvên_soranî_bi_latînî_(Kategorî:Soranî)]] [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:31, 24 tebax 2026 (UTC)
::Spas ji bo bersivê. Bi taybetî min ji ber şablonan pirsî, ji ber ku tîp^en ji alfabeya erebî jî tevlî dibin. Wa Ghybu mijar vekiriye. Gava wextê min çêbû. Ez ê cewaba wî bidim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:36, 24 tebax 2026 (UTC)
:::Bnr [[Modul:rêziman#L-188]] tu dikarî yên bi latînî bi riya <code>lang:findBestScript(pagename)</code> derxî.
:::Li vir[https://ku.wiktionary.org/w/index.php?title=%D9%86%DB%95%D8%B1%D9%85%D8%A7%D9%85%DB%8E%D8%B1&curid=1358825&diff=6342225&oldid=6342224] rênima çi ye? Talîmat e? hejmardarî mihasebe ye? Kesê ku vê ferhengê bi kar tîne çawa ji heqê vî zimanî derkeve? :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:56, 24 tebax 2026 (UTC)
::::Ez ê Scriptê biceribînim. Ji ber pirsaa te: Erê, min niha ew guhartin. Ji bo ferhengê wê ferhengeke din lazim be :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:17, 24 tebax 2026 (UTC)
:::::Welleh eynî wisa ye :D Gelek kes ketine derdê dîtina kelîmeya kurdî ya herî orîjînal, ji bîr dikin ka milet wê çawa bike :D [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:20, 24 tebax 2026 (UTC)
::::::Not: Mala te ava :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:21, 24 tebax 2026 (UTC)
:::::::Tu çima amûra me ya [[Wf:Nû]] naceribînî? :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:58, 24 tebax 2026 (UTC)
::::::::Hmm, ka ez lê binêrim, bê ka ya nû çawa ye. :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:24, 24 tebax 2026 (UTC)
lxp5o9j83tr1ukk05txw7t2vz6r469x
6342318
6342302
2026-08-24T23:42:29Z
Şêr
1103
/* Soranî bi tîpên latînî */ Bersiv
6342318
wikitext
text/x-wiki
== Astengî Bi Sepana Lingua Libre. ==
Silav Birêz,
Vaye 2-3 roj e ku ez nikarim dengê xwe bi rêya sepana Lingua Libre'yê ve biweşînim. Ez dikarim têkevim û deng tomar bikim, lê nikarim dengê xwe li ser Wikimedia Commons biweşînim. Gava ku ez pêl li ser bişkoka "Li Ser Wikimedia Commons Biweşîne" dikim qebûl nake û bişkoka "Dubare Biceribîne Barkirin Bi Ser Neket" dide nîşan. Gava ez pêlê wê jî dikim, tiştek nabe û ev bişkok dîsa derkevî ser holê. Tû kar nake. Derbarê vî mijarê min li ser tora Lingua Libre nivîsand, lê tû encam derneket. Ev program dengê min tomar dike, le naweşîne. Gelo tû fikr û ramanê te li ser vî mijarê heye? Sipas. [[Bikarhêner:Key Mîrza|Key Mîrza]] ([[Gotûbêja bikarhêner:Key Mîrza|gotûbêj]]) 23:38, 28 kanûna paşîn 2023 (UTC)
== Modul û şablonên Wîkîpediya yên Zazakî ==
Silav birêz Balyozxane!
Tu dikarî di Wîkîpediya Zazakî de alîkariya min bikî? Li wir kesek neqeydkirî hin modul û şablon guhert. Ji ber vê yekê agahî tevlihev dibin. Min ew vegerand, lê ew wek nimûne di "Nıfus" ([https://diq.wikipedia.org/wiki/Modul:N%C4%B1fus Modul:Nıfus] û [https://diq.wikipedia.org/wiki/%C5%9Eablon:N%C4%B1fus Şablon:Nıfus]) de xuya nake. Ez berê spas dikim! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 19:50, 21 gulan 2023 (UTC)
:@[[Bikarhêner:Mirzali|Mirzali]] Silav. Problemeke gelemper li wîkiyê heye. Bnr. [[:w:en:Wikipedia:Village_pump_(technical)#Graph_extension_disabled_per_immediate_effect|vê gotûbêja en.wîkiyê]]. Grafîk niha naxebite heta xwediyên wîkiyê çareser bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 05:46, 22 gulan 2023 (UTC)
:: Spas ji bo pêşniyarê! -- [[Bikarhêner:Mirzali|Mirzali]] ([[Gotûbêja bikarhêner:Mirzali|gotûbêj]]) 06:12, 22 gulan 2023 (UTC)
== Li ser pêwîstiya sê çavkaniyan ji bo nivîsên etîmolojiya peyvên kurdî. ==
Silav Birêz,
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzika bo afirandina peyveke nû bo etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse. Dema ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî çavkanîyê bibînî û peyt bikî
Bo çin nivîsandina etîmolojiya peyvên Kurdî evqas erzan e. Çima rêzikên afirandina peyveke nû, bo nivîsa etîmolojî jî derbas nabe? Ma çawa birêz "Ferhengvan" li gorê kêfa xwe etîmolojiya peyvan dinivîse? Dema ku ez ji wî çavkanî daxwaz dikim yan qet nayînî yan jî tenê yek çavkanî nîşan dide û ku meriv nikarî ew çavkanîyê bibînî û peyt bikî. Ma tenê çavkaniyek têr e? Yan gerek sisê bibe? Ger tu bawer nakî ez dikarim çendîn nimune nîşanê te bidim. Benda bersiva cenabê te me. Sipas [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 08:59, 6 hezîran 2023 (UTC)
:Silav @[[Bikarhêner:Ebulfîda|Ebulfîda]]. Tu hinek bi awayekî şovenîst tevdigerî. Hinek bêhnfireh be ji kerema xwe re. Tu çavkanî dixwazî lê belê çavkanî kêm in. Yên heyî jî tu qebûl nakî. Min ji te re Chyet wek referans da, te ew jî qebûl nekir. Chyet nêzî 40 zimanan dizane û hemû zaravayên kurdî jî dizane dîsa jî tu qebûl nakî. Tu wekî folk etymology difikirî û dixwazî her tiştî bikî kurdî. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 08:37, 8 hezîran 2023 (UTC)
::Sipas, Ma tu jî şovenê hevalê xwe nînî? Bo çin 3 referans bo her kes nameşe? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:33, 8 hezîran 2023 (UTC)
:::Xwedê hiş daye mirov ku bi kar bînî:
:::1-Çawa peyva "Befr", "Baran" ya Kurdî/Îranî heye lê "Cemed"a Kurdî/Îranî tineye? Dibe? Hemû bi hev re girêdayî nînin? Pirtirîn dewletên ereban da "cemed" çênabe. Ma çima reha/koka cemed "cam" ne bî? Ma hemû zimanzanan û etîmologan ser rêya rast in? Li gor min na. Ez zimanzanek wek "Garnik S. Asatrian" û "David Neil MacKenzie" nas nakim. Min jiyana wan xwendiye her du jî dijminatiya Kurdan kirine:
:::https://www.quora.com/Do-you-believe-that-all-Kurdish-linguists-to-date-have-acted-impartially-and-scientifically/answer/Hamdi-Aciksoz
:::2- Ger peyva "Evîn"a Kurdî tinebe, gelo Kurd ji Ereban hînê hezkirinê bûne? [[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 19:50, 8 hezîran 2023 (UTC)
== Derbarê pêwistiya 3 referans bo afirandina peyvên nû û nivîsên etîmolojiyên nû. ==
Birêz, Êdî ez westiyam. Cara dawî ji te û hemû nivîskaran rica dikim ku bêyî 3 referans peyvên nû neafirînin û etîmolojî nenivîsînin. Ger ez rastîyê nivîsek/referansek bêyî 3 referans bikevim ezê bi hirs û dijûn livir derkevim. Ji we rica dikim mercên xwe bi kar bînin.[[Bikarhêner:Ebulfîda|Ebulfîda]] ([[Gotûbêja bikarhêner:Ebulfîda|gotûbêj]]) 17:42, 10 hezîran 2023 (UTC)
:Qaîdeyeke ji bo etîmolojiyê wekî ku tu dibêjî tune ye. Ger dixwazî, dikarî dengdaneke bidî destpêkirin û li gorî encama dengdanê em dikarin bixebitin. Bi xatirê te. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:21, 14 hezîran 2023 (UTC)
== Çêkirina botekê ==
Merheba hêja {{r|Balyozxane}} Ez bi şanazî dibînim ku tu bota "Balyozbot" bo zêdekirina rûpelên nû ji beşa wergeran bi kar tînî. Ev karekî pir baş e, siheta te xweş! Gelo ez jî dikarim bi awayekî wisa bibim alîkar? Bi silavên germ re! --[[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 07:00, 9 tebax 2023 (UTC)
:@[[Bikarhêner:Ferhengvan|Ferhengvan]] Balyozbot niha bi otomatîk naxebite, Ez li ser scrîptekê dixebitim ya ku dikare hemû wergerê carekê de çêke. Ger rast bixebite, ez ê skrîptê bidim te. Lê niha hin pirsgirêk çêdibin. Wisa dixuye ku ew ê çênebe. Lê dîsa jî hewl didim.
:::P.S. Tu dikarî [[:w:WP:AWB]] biceribînî. Heger hinek hîn bibî, dikarî hesabekî botê çêkî û ez dikarim alîkariya te bikim.
:[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:29, 9 tebax 2023 (UTC)
::Silav @[[Bikarhêner:Ghybu|Ghybu]] Çêkirina gelek rûpelan bi butonekê qedexe ye yan na? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:03, 9 tebax 2023 (UTC)
:::Silav, ne qedexe ye. Piraniya rupelên fr.wiki û en.wiki bi botê hatine çêkirin. Tenê ''[//meta.wikimedia.org/wiki/Copyright copyright]'' û ''[//meta.wikimedia.org/wiki/Bot_policy Bot policy]'' dîqet bikin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 18:14, 9 tebax 2023 (UTC)
::Gelek spas bo xebata te ya hêja! [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 18:35, 9 tebax 2023 (UTC)
:::@[[Bikarhêner:Ghybu|Ghybu]] Ez behsa botekê nakim. Nimûne Ez dikarim bi hesaba xwe ya Balyozxane gelek rûpel carekê de çêkim bi skrîpta [[User:Balyozbot/CreateTranslation.js]]? Dema pêlî "Hemû çêke" dikî, skrîpt yek bi yek hemû rûpelên wergeran çêdike. Ew tiştek normal e? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:37, 9 tebax 2023 (UTC)
::::Nimûne: [[Taybet:Beşdarî/Balyozxane|2 deqe 34 rûpel hatin çêkirin bi skrîptê]] [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:49, 9 tebax 2023 (UTC)
:::::Tu hesabê xwe wekî botê bikar tinî û leza guherandina botê hindik bilind e (>12 guherandin/deq). Bi min, bo guherandinên biçûk pirsgirêk tine ye... Feqet tu nikarî tenê carekê de pênc sed an hezar gotar bi vî avayî çêkî :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 20:50, 9 tebax 2023 (UTC)
::::::@[[Bikarhêner:Ghybu|Ghybu]] çima na yaw bazarî tune ye? {{=D}} Bi hesabê xwe deqê de çend gotar bi vî awayî çêkim, ne pirsgirêk e? Ne tenê ez, ez ê bidime Ferhengvanî jî :D [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:16, 9 tebax 2023 (UTC)
:::::::Bnr. [https://ku.wiktionary.org/wiki/Got%C3%BBb%C3%AAja_bikarh%C3%AAner:%C5%9E%C3%AAr#Nochmal_wegen_Deinem_Bot] [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:23, 9 tebax 2023 (UTC)
::::::::@[[Bikarhêner:Ghybu|Ghybu]] Li gorî Bot policy 12 edits per minute ji bo botekê baş e. Lê tiştek li ser bikarhêneran nayê gotin. Em ji deqê de 12 rûpel çêkin pirsgirêk çêbibe? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:38, 9 tebax 2023 (UTC)
:::::::::Min ne got ku ew problem e ji ber ku li vira kes ne dijî ye (wikiyên din eleqedar nake). Dîsa jî, belkî, li ser Dîwanê ji bo bikaranîna amûrê dengek pêwîst e {{=)}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:49, 9 tebax 2023 (UTC)
::::::::::PS: Problem tenê ji bo [[Taybet:Guherandinên dawî]] ye (nayê xwandin) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 21:56, 9 tebax 2023 (UTC)
:::::::::::Li ser Wergerê: bi min dema ku hemû beşa Wergerê li ser en.wiki tê kopî kirin, nivîsanda çavkanîyê jî pêwîst e, wekî: [//ku.wiktionary.org/w/index.php?title=xwarin&diff=5207568&oldid=5207001]. Na? [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 22:13, 9 tebax 2023 (UTC)
::::::::::::bi ya min dengdan ne hewce ye lê ger tu bêjî hewce ye, em dikarin yekî çêkin :/
::::::::::::ji bo guherandinên dawî min etiketek çêkir, nimûne [https://ku.wiktionary.org/w/index.php?title=Bikarh%C3%AAner:Balyozxane/testinggg&action=history] tu dikarî guhartinên dawî parzûn bikî ji bo ku guhartinên bi vî etîketî neyên dîtin.
::::::::::::Belê çavkanîdayîn jî pêwîst e. Ez ê wê jî tevlî skrîptê bikim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 22:32, 9 tebax 2023 (UTC)
{{outdent|::::::::::::}} {{silav|Ferhengvan}}. Min koda çêkirina wergeran nû kir. Êdî ne hewce ye yek bi yek pê li lînkan bikî. Pê li "Hemû çêke" bike. "Cureyê peyvê hilbijêre", Maneya wergerê binivîse ( bi otomatîkî navê rûpelê tê lê dikarî tiştên din lê zêde bikî), dûre ger dixwazî "Etîket" lê zêde bike bike "element, anatomî, biyolojî, ekonomî, hwd.) Dûre pê li "Bişîne" bike. Hemû werger yek bi yek tên çêkirin. Di deqiqeyê de herî zêde 6 rûpel çêdike loma hinek hêdî ye. @[[User:Ghybu|Ghbu]] Çiqas bilez be ne pirsgirêk e? --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:22, 11 tebax 2023 (UTC)
:Ji bo veşartina rûpelên ku bi CreateTranslation hatine çêkirin di rûpela Guhartinên dawî de pê li "Nîşankirin" bikin, dûre Pê li "Yên bijartî derxe" bikin û "CreateTranslation hilbijêrin. Bi vî awayî vedişêrin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:24, 11 tebax 2023 (UTC)
::Her hebî, pir baş çêdike. Wisa here, em ê di çend mehan de bigihin milyonek rûpelan :-) [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 14:07, 11 tebax 2023 (UTC)
:::@[[Bikarhêner:Ferhengvan|Ferhengvan]] înşela :) lê divê em hay jê hebin rûpelên xelet çênekin, dema çêdikî maneya peyvê bi eşkere bidin nivîsîn [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:17, 11 tebax 2023 (UTC)
::::@[[Bikarhêner:Ferhengvan|Ferhengvan]] herwiha ger te xeletîyek dît, min agahdar bike. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:18, 11 tebax 2023 (UTC)
::::Merheba, ji cûrên peyvan (navdêr, rengdêr, lêker...) "hejmar" kêm e, divê ew jî hebe. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:29, 12 tebax 2023 (UTC)
* @[[Bikarhêner:Ferhengvan|Ferhengvan]] di vê navberê de ger wextê te hebe, Xêra xwe dikarî navê zimanan jî bikî kurdî [[Modul:ziman]], ji ber ku em gelek rûpel çêdikin navên zimanan bi îngilîzî dimînin. Divê werin kurdîkirin ji bo ku em karibin kategoriyên wan çêkin.
Ji bo çêkirina kategoriyan Koda jêr tevlî [[Special:MyPage/common.js|rûpela xwe ya common.js]] bike:
<syntaxhighlight lang="javascript>
//[[Bikarhêner:Balyozxane/addAutoCat.js]]
mw.loader.load('//ku.wiktionary.org/w/index.php?title=Bikarhêner:Balyozxane/addAutoCat.js&action=raw&ctype=text/javascript');
</syntaxhighlight>
:--[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
::{{r|Ferhengvan}} Rûpelên xelet çêneke. Min hejmar lê zêde kir lê dema tiştek kêm be heta were sererastkirin bisekine Xêra xwe. --[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 06:39, 12 tebax 2023 (UTC)
:::Temam. Lê yên çêkirî ne xelet in ji ber ku hemû hejmar di heman demê de navdêr in jî. [[Bikarhêner:Ferhengvan|Ferhengvan]] ([[Gotûbêja bikarhêner:Ferhengvan|gotûbêj]]) 06:51, 12 tebax 2023 (UTC)
::::Silav @[[Bikarhêner:Ghybu|Ghybu]]. Em çêkirina rûpelan bi hesaba xwe dewam bikin yan jî hesaba xwe ya botê bi kar bînin? pîng {{r|Ferhengvan}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 19:37, 14 tebax 2023 (UTC)
== Bot ==
Silav Balyozxane, Sererastkirina rêzimanî bi botê problem e: te jî [https://ku.wiktionary.org/w/index.php?title=Koban%C3%AE&curid=279200&diff=5551838&oldid=5551836 dît], ji ber ku jêgirtin û çavkaniyan jî sererast dike :) [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 14:48, 21 îlon 2023 (UTC)
:Silav @[[Bikarhêner:Ghybu|Ghybu]] Min yek bi yek AWB kontrol dikir û wextê xeletî çêkir, min rawestand, xeletiyê rast kir û dîsa dewam kir :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:50, 21 îlon 2023 (UTC)
== çêkirina forman bo [[hûr kirin]] ==
Silav Balyozxane,
gelo çi dibe sedem ku forma [[hûr kir]] bi awayekî otomatîk nayê afirandin? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:15, 12 çiriya paşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Li cem min pirsgirêk tine ye. Ka rûpelê purge bike û dîsa biceribîne. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:18, 12 çiriya paşîn 2023 (UTC)
::Silav, niha, piştî ku te rêz guhart, çêbû. - [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:20, 12 çiriya paşîn 2023 (UTC)
:::Û gelek caran divê ez ji peyvê derkevim ji ber ku form amade nabin (dema ku ez pê lê dikim). Bnr.: [https://ku.wiktionary.org/w/index.php?title=d%C3%BBr_kir&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=d%C3%BBr%20kirin&accel1=pos-l%C3%AAker%20bor%C3%AE%7C1%7Cyj-form-of&accel2=pos-l%C3%AAker%20bor%C3%AE%7C2%7Cyj-form-of&accel3=pos-l%C3%AAker%20bor%C3%AE%7C3%7Cyj-form-of&accel4=pos-l%C3%AAker%20bor%C3%AE%7C123%7Cp-form-of]. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:21, 12 çiriya paşîn 2023 (UTC)
::: Gava ez ji formê dertêm, û dîsa li ser gotara sereke dîsa pê li formê bikim, hingê çêdibe. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:23, 12 çiriya paşîn 2023 (UTC)
::::@[[Bikarhêner:Şêr|Şêr]] Ger li jor URL hebe û tê de agahdarî hebin, wê demê ne hewce ye derkevî rûpelê dîsa bar bike ew ê were çêkirin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 11:37, 12 çiriya paşîn 2023 (UTC)
:::::Baş e, mala te ava. :) Dem baş --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:38, 12 çiriya paşîn 2023 (UTC)
::::::URL bi piranî tune. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 11:42, 12 çiriya paşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Ez lê dinêrim lê min ti pirsgirêk nedît. Belkî tu hinek zû tevdigerî û bêyî ku lînk were derdikevî? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 12:17, 12 çiriya paşîn 2023 (UTC)
::::::::@[[Bikarhêner:Şêr|Şêr]] Hay ji syntaxhighlighter hebe, dema vekirî be carinan ji ber wê encam dernakevin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:26, 12 çiriya paşîn 2023 (UTC)
== amûra "wergerîne" ==
Silav keko,
min hewl da ku wergeran (ji ferhenga en) bidim wergirtin bi rêya amûra te, lê nebû. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:18, 16 çiriya paşîn 2023 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Silav. Te çi kir? Divê ji en.wiktê beşa Translation rasterast li rûpeleke ku.wiktê kopî bikî. Ti tişt neguherîne. Divê şablonên <nowiki>{{trans-top}} û {{trans-bottom}}</nowiki> hebe. (Heke navê şablona trans-top-see be divê -see jê bibî.) Dûre pê li Wergerîne bike û navê rûpela en.wiktê binivîse. Tiştek din nenivîse. Ew qas :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:21, 16 çiriya paşîn 2023 (UTC)
::@[[Bikarhêner:Şêr|Şêr]] Di amûra CreateTranslation de piştî te pê li "Bişîne" kir, divê rûpel vekirî bimîne heta hemû werger werin çêkirin. Ger ji rûpelê derkevî, amûr betal dibe. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
::Spas, fam kir ;)
:::PS: qismê > beşa çêtir e, ji ber ku beş "kurdîtir" e. Silav --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:32, 16 çiriya paşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] "beş" li vir wekî hemû beşa Wergerê karibe were fêmkirin, lê di beşekê de dikare ji yekî zêdetir qism hebin loma me peyva qism tercîh kir. Herwiha ji mêj ve ye me dev ji dîtina peyveke "kurdîtir" berdaye, kîjan peyv berbelav be em wê bi kar tînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:39, 16 çiriya paşîn 2023 (UTC)
::::Ez jî wisa difikirim. Lê mixabin hin kurdên me serê xwe bi "paqijkirina" kurdî diêşînin. Ger em li gorî vê mantiqê tev bigerin, divê em nîvê zimanê almanî jê bibin. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:47, 16 çiriya paşîn 2023 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Va ye dîsa em ketin vê nîqaşê [[:w:Gotûbêj:Bangeşe#Barkirina_Bangeşe_12-2023]]. Xwedê ez ê dîn bibim. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 10 kanûna pêşîn 2023 (UTC)
::::::Herwiha [[:w:Pêjimêrk]] {{dîwar}} [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:06, 10 kanûna pêşîn 2023 (UTC)
::::::Bi demê re gotinên biyanî tevkariyeke girîng li zimanê kurdî kirine û bûne beşekî ji wê. Ev peyv danûstandina çandî, pêşketina zanistî û bandorên din nîşan didin. Zimanekî bê peyvên biyanî ne tenê ji aliyê zimanî ve belengaz e, di heman demê de ji aliyê çandî ve jî îzole dibe û nikare xwe adapte bike. Tê bêjî qey 5 hezar peyvên latînî wê kurdî xira bikin. :) Serê xwe bi wan neêşîne. Bawer bike mirov newêre kurdên me hînî kurdî bike. Wek mînak gava ez bêjim kursî, wê tiliyên xwe di nav çavên min re rakin. :( Wê li dewsa wê bêjin "rûniştek", lê ev peyv ji bo her tiştê ku mirov li ser "rûdinê" tine ziman. Xeman nexwe, yên wisa wê xilas nebin :-) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:29, 10 kanûna pêşîn 2023 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Erê lê pirsgirêk ew ê fêmbariya wîkîpediya xira dibe. Loma dixwazim qet nebe tiştên wekî sernavên gotar û kategoriyan baş bin lê ew jî nabe. Ew kes timî bi peyvên ecêb dinivîse ku êdî meriv jê ti tişt fêm nake. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:31, 10 kanûna pêşîn 2023 (UTC)
::::::::Ez jî li aliyê te me. Lê bawer ke wî hevalî ji ev peyv ji yekî wek "xwe" hîn bûne. Ev şaşî ne ya wî ye. Gava ew jî van xeletiyan bidomîne, wê yên piştî wî jî wisa hîn bibin. :( --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:35, 10 kanûna pêşîn 2023 (UTC)
== Forma nû a çêkirina peyvan zû bar dibe ==
Silav Balyozxane,
bi min forma nû a (wek ya viyetnamî) zû bar dibe. Dema ez dixwazim formên tewandî yên navdêran çêbikim, formên skrîptê bar nabin dema ku ez forma kesk ya tabloya tewandinê ditikînim.. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:55, 1 kanûna pêşîn 2023 (UTC)
:[https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1 Mînak] --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 15:56, 1 kanûna pêşîn 2023 (UTC)
::Silav @[[Bikarhêner:Şêr|Şêr]] Dema di URLyê de ''User:Balyozxane/creation/intro'' [https://ku.wiktionary.org/w/index.php?title=avaker%C3%AAn&action=edit&redlink=1&editintro=User:Balyozxane/creation/intro&accel_lang=ku&accel_lemma=avaker&accel1=pos-navd%C3%AAr%20def%7Cconstr%7Cp-form-of%20gender-n] hebe li cem min form bar nabe. Lê wekî din her tim bar dibe. Ger karekî te bi vî amûrî tinebe dikarî li ser [[Taybet:Tercîh#mw-prefsection-gadgets]] neçalak bikî. Li qutiya li kêleka "Forma çêkirina rûpelên nû çalak bike" bitikîne ew ê were '''ne'''çalakkirin. Dûre dikarî dîsa çalak bikî. Niha çareseriyeke din nabînim. Ger fikrekî te hebe, bibêje em biceribînin. [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 16:06, 1 kanûna pêşîn 2023 (UTC)
:::Spas, min ne-çalak kirin, pirsgirêk çareser bû. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 16:09, 1 kanûna pêşîn 2023 (UTC)
== çêkirina kategoriyên tên xwestin ==
Silav Balyozxane,
ez [https://ku.wiktionary.org/wiki/Taybet:Kategor%C3%AEy%C3%AAn_t%C3%AAn_xwestin van] kategoriyên xwestî bi bo çêbikim? Min kategoriyek wek test çêkir, [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ker%C3%AE li vir bnr] -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:26, 2 kanûna pêşîn 2023 (UTC)
:Silav @[[Bikarhêner:Şêr|Şêr]]. Ger dixwazî, çêke lê pêşî [[WF:SB#katbike-rec]] bi kar bîne wek "pwb.py katbike-rec -wantedcategories". (Ne hewce ye lîsteyekî çêkî) Daku jorkategorî û înterwîkî lê were zêdekirin. Piştî hemû xilas bû îcar bi [[WF:SB#katbike]] dîsa hemû -wantedcategories çêke. Spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:30, 2 kanûna pêşîn 2023 (UTC)
::Temam, spas, va min dest pê kir [https://ku.wiktionary.org/wiki/Kategor%C3%AE:Peyv%C3%AAn_kurd%C3%AE_bi_pa%C5%9Fgira_-ok%C3%AE]. Ez ê vêga bi hesabê bot bidim çêkirin. Êvara te bimîne xweş, û spas ji bo keda te. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:46, 2 kanûna pêşîn 2023 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Gelek spas! A te jî bimîne xweş :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 21:49, 2 kanûna pêşîn 2023 (UTC)
== Speech recognition ji bo kurmancî ==
Silav bira,
te [https://huggingface.co/Akashpb13/xlsr_kurmanji_kurdish ev] dîtiye? Xuya ye ku nû ji bo kurmancî hatiye çêkirin. Piraniya hevokan hema bêje ji sedî 90 nas dike --17:50, 7 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 17:50, 7 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] ne welle min nedîtiye û zêde bala min tiştên wisa nakişîne lê belê hevalê @[[Bikarhêner:Guherto|Guherto]] pê eleqedar dibe, ez ê jê re bişînim. Gelek spas! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:59, 7 kanûna paşîn 2024 (UTC)
::Ev tişt bala min dikişînin. :)) Eger pirsên Guherto hebin, dikare bi min re bikeve têkiliyê. Êvara te bimîne xweş :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 18:02, 7 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Ew ê dê gelek bextiyar be :) Êvar baş! [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 18:05, 7 kanûna paşîn 2024 (UTC)
::::{{r|Şêr}} Di sala 2023an li ser ''commonvoice.mozilla'' de zêdetirî 15 hezar devokên kurdî hatine qeyd kirin, bnr https://commonvoice.mozilla.org/kmr. Berê me nikarîbû bikin ji ber ku dane kêm bûn, niha bi ''[[:w:en:Artificial neural network]]'' bi hêsanî tê çêkirin. [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 19:25, 7 kanûna paşîn 2024 (UTC)
:::::Silav Ghybu, gelek spas ji bo agahiyê, bo keda we. Jixwe li wir Mozilla Commonvoice jî wek çavkanî hatiye bikaranîn. Silav û rêz. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:13, 7 kanûna paşîn 2024 (UTC)
::::::[https://huggingface.co/facebook/mms-tts-kmr-script_latin?text=Ew+%C3%AEro+%C3%A7i+dike%3F Ev jî] nivîsê dike deng. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:28, 9 kanûna paşîn 2024 (UTC)
:::::::@[[Bikarhêner:Şêr|Şêr]] Te ceriband? Xweş dixebite gelo? Belkî em dikarin gotarên Wîkîpediyayê bidin xwendin û lînka dengî li rûpelan zêde bikin :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:31, 9 kanûna paşîn 2024 (UTC)
::::::::Min hê îro dît. Li gorî testên min nîvî-nîvî ye. Modela deng di hin peyvan xwe pirsgirêkan derdixe, zêde "qeba" ye, û hin tîp tên daqurtandin (bi lêv nake). [Û her wiha]Pêdiviya me bi zimanekî naziktir heye. :)) Model divê hinekî were perwerdekirin. Ji bo niha ez bikaranîna wê pêşniyar nakim bi rastî.- Silav û rêz ..[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:40, 9 kanûna paşîn 2024 (UTC)
::::::::Ez ê li ser Google Colab, modelê daxim û test bikim. Lê tu jî diarî peyvên xwe an jî cumleyên/hevokên xwe binivîsî. :) Wê gavê ne hewce ye ku tu daxî. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:42, 9 kanûna paşîn 2024 (UTC)
:::::::::Gelek spas! Ez ê li ser PAWS biceribînim [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 20:48, 9 kanûna paşîn 2024 (UTC)
::::::::::Merheba ji we re hevalno. Min hê li ew tiştê ko Şêr lînk kiriye neceribandiye lê piçekî tecrûba min bi van tiştan re heye. Wextê ko hê nû Metayê proja xwe ya bi navê "[https://ai.meta.com/blog/multilingual-model-speech-recognition/ MMS]" derxistibû min xwest biceribênim û min dûvre jî ceriband. TTSa wê zêde bi kêr nayê ji ber ko dengên rast dernaxe (li gora alfabê diçe û alfaba me ji bo şanîkirina dengan bi kêr nayê), lê speech-recognitiona wê bi kêr tê. Hinek gotinan peve dinivîsêne lê ew piştre rehet kare were edilandin (bi destan jî û bi otomatîkî jî). Metayê proja NLLByê jî derxistibû û ew jî di mesela tercimekirinê de ji Google Translate gelekî baştir e. (Dîse jî ji bo kurmancî ya herî baş Bing Translate e). Ez bi rastî bêjim ez piçekî bi xwe serbilind im, [[Wîkîferheng:Dîwan/arşîv 2020#CommonVoice bi kurmancî|ji ber ko herî pêşî min ji CommonVoicê xwest ko kurmancî lê zêde bikin]], berî çar salan. [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:09, 10 kanûna paşîn 2024 (UTC)
:::::::::::@[[Bikarhêner:Şêr|Şêr]] Ew proja ko te lînk kiriye ji MMSa Metayê kevntir e. Berî 2 salan hatiye çêkirin û li vir dosyeyek li serê heye: https://aclanthology.org/2022.lrec-1.689.pdf [[Bikarhêner:Guherto|Guherto]] ([[Gotûbêja bikarhêner:Guherto|gotûbêj]]) 11:13, 10 kanûna paşîn 2024 (UTC)
== POS-Tag Kurmancî ==
Min tiştekî wisa ya bikêrhatî dît niha: [http://stanza.run/]. --23:33, 13 kanûna paşîn 2024 (UTC) [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:33, 13 kanûna paşîn 2024 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Gelek spas. Min niha ceriband xweş xuya dike :D. Dikarî emaila xwe vekî, dixwazim tiştek li te pirs bikim? [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 23:43, 13 kanûna paşîn 2024 (UTC)
:{{r|Şêr}} Min ê vê amûrê kod bikira, bnr. [//ku.wiktionary.org/wiki/W%C3%AEk%C3%AEferheng:D%C3%AEwan/2023#Am%C3%BBr%C3%AAn_anal%C3%AEzkirina_kurmanc%C3%AE? ''Amûrên analîzkirina kurmancî?''] Ping {{r|Ferhengvan}} [[Bikarhêner:Ghybu|Ghybu]] ([[Gotûbêja bikarhêner:Ghybu|gotûbêj]]) 23:47, 13 kanûna paşîn 2024 (UTC)
::{{r|Ghybu}}, {{r|Balyozxane}}, di hin lêkeran de kêmasî hene, lê bi piranî dixebite. Mirov dikare [https://huggingface.co/stanfordnlp/stanza-kmr li vir] pêşniyazan bike? --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:03, 14 kanûna paşîn 2024 (UTC)
::{{r|Balyozxane}}, min standina e-peyaman aktîv kir. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 08:07, 14 kanûna paşîn 2024 (UTC)
:::@[[Bikarhêner:Şêr|Şêr]] Min şand, înşela te dîtibe :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 13:46, 14 kanûna paşîn 2024 (UTC)
::::Belê, min dît. Lê divê pêşî ez wê sepanokê daxim. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
:::::@[[Bikarhêner:Şêr|Şêr]] Temam bira :) [[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 14:12, 14 kanûna paşîn 2024 (UTC)
::::::Min ID şand. ;) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 14:23, 14 kanûna paşîn 2024 (UTC)
== tîpen erebî ==
: → ''Li rûpela'' [[Wîkîferheng:Dîwan/2024#tîpen erebî]] ''hat barkirin.''
== [[Wîkîferheng:ceribandin/aWa]] ==
null —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:05, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî ye —[[Bikarhêner:Balyozbot|Balyozbot]] ([[Gotûbêja bikarhêner:Balyozbot|gotûbêj]]) 21:15, 19 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:06, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:07, 24 çiriya paşîn 2024 (UTC)
== [[Wîkîferheng:ceribandin/aWa]] ==
Silav @Balyozxane: Gotara te ya Wîkîferheng:ceribandin/aWa dê were jêbirin ji ber ku bêçavkanî —[[Bikarhêner:Balyozxane|Balyozxane]] ([[Gotûbêja bikarhêner:Balyozxane#top|gotûbêj]]) 17:20, 24 çiriya paşîn 2024 (UTC)
== Files on Commons ==
Hi! I moved most of the files to Commons. So now they can be used on other wikis. The local files in [[:Kategorî:Gotarên ku bên jêbirin]] can now be deleted. Can you have a look? [[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 16:20, 31 kanûna pêşîn 2024 (UTC)
:@[[Bikarhêner:MGA73|MGA73]] Sorry for the late reply. I've been quite busy lately, your message completely slipped my mind. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:53, 13 kanûna paşîn 2025 (UTC)
:: Hello! No worries :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 06:41, 14 kanûna paşîn 2025 (UTC)
I noticed that there is one unused file without a license: [[:Wêne:Wîkîferheng-guhertin.png]]. It it is no longer usable then I suggest to delete it. --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:41, 14 kanûna paşîn 2025 (UTC)
:Done, thanks! [[Bikarhêner:Wikihez|Wikihez]]<small><sup>'''[[Bikarhêner:Balyozxane|Balyozxane]]''' ([[Gotûbêja bikarhêner:Wikihez|gotûbêj]])</sup></small> 15:44, 14 kanûna paşîn 2025 (UTC)
::Happy to help. Now [[Special:ListFiles]] looks nice and short :-) --[[Bikarhêner:MGA73|MGA73]] ([[Gotûbêja bikarhêner:MGA73|gotûbêj]]) 15:46, 14 kanûna paşîn 2025 (UTC)
== Kom ==
Silav bira, hê jî ew koma we ya ku tu, Bikarhêner û her wiha Guherto tê de bûn, heye? Ez jî demekê tê de bûm, lê ji ber zanîngehê dema min tune bû, û ez bêdeng û bêseda jê derketibûm. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:38, 7 sibat 2025 (UTC)
:@[[Bikarhêner:Şêr|Şêr]] Erê, Min mesaj şand ka lê binêre :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:06, 7 sibat 2025 (UTC)
::@[[Bikarhêner:Wikihez|Wikihez]], niha min dît. :) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:13, 7 sibat 2025 (UTC)
== jêgirtin ==
#* {{jêder-pirtûk|ku|jêgirtin=û |nivîskar=J.R.R. Tolkien|sernav=Hobbit|wergêr=Samî Hêzil|cîh=Enqere|weşanxane={{w|Weşanên Cervantes|Cervantes}}|sal=2023|çap=1|rûpel=9|isbn=9786257724838}}
merhaba. Navê wergêr xuya nake dikarî bidî xuya kirin xêra xwe. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:01, 28 sibat 2025 (UTC)
:Merheba {{r|Rewiye tine}}. Gereg {{param|wergêr}} be te "Wergêr:" nivîsiye.--[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:06, 28 sibat 2025 (UTC)
::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Bira, qaîdeyeke wisa heye ku nimûneyên bikaranîna kelîmeyan gereg pêşî ji nivîskarên bi kurdî nivîsîne were wergirtin, eger çavkaniyên ji kitêbên kurdî tine be, wê demê meriv dikare tercimeyên kitêban ji zimanên din bi kar bîne. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:11, 28 sibat 2025 (UTC)
:::Yanê pirtukên werger ji bo mînak naye qebûl kirin? [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:16, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Em nabêjin "nayê qebûlkirin" lê gereg pêşî çavkaniyên kurdî be dûre yên tercime. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:23, 28 sibat 2025 (UTC)
:::Rast e. Lê min vê pirtûkê xwendîye û hinek peyva bijartîye. Ez nîyetim wan jêgirtina derbas bikim. Mesele ev e. Berîya vê, min ji pirtûkên klasîk jî jêgirtina derbas kiriye. Ji bo hişyarî mala te ava. [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 19:27, 28 sibat 2025 (UTC)
::::@[[Bikarhêner:Rewiye tine|Rewiye tine]] Yên klasîk pir muhîm in, tê de kîjan kelîme derbas bin gereg em herf bi herf li wir qeyd bikin, lê yên tercime tenê eger çavkaniyên kurdî tinebin baş in. Tu dîsa kelîmeyên ku te bijartine binivîse lê ji bo kelîmeyên naskirî nekî çêtir e. Qerar dîsa jî ya te ye. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 19:32, 28 sibat 2025 (UTC)
== kurmancîyek şkestî ==
Silav {{r|Wikihez}}
https://www.youtube.com/watch?v=hH-DO1RT8zM [[Bikarhêner:Rewiye tine|Rewiye tine]] ([[Gotûbêja bikarhêner:Rewiye tine|gotûbêj]]) 12:23, 24 adar 2025 (UTC)
== You may be an eligible candidate for the U4C election ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Greetings,
The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years.
This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required.
The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run.
In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 20:06, 28 nîsan 2026 (UTC) </div>
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 -->
== [[bilgîsayar]] ==
Silav @[[Bikarhêner:Wikihez|Wikihez]], di gotara [[bilgîsayar]] de çavkanî hewce ne. ''[[Wîkîferheng:Pîvekên tevlîkirinê|Çavkanî hewce ye]].'' —[[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 00:11, 30 hezîran 2026 (UTC)
== Lîsteyek heye? ==
Silav WikiHez, te got şablon hene, eceba lîsteyek heye ku ez jê hemû şablonên WikiFerhengê bibînim? [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:14, 31 tîrmeh 2026 (UTC)
:Merheba @[[Bikarhêner:Kurdanparez|Kurdanparez]], Li vira [[Alîkarî:Bikaranîna şablonan]] lîsteyek heye feqat hem gelek ji wan kevn bûne, hem jî ne mimkûn e em hemû şablonan rêz bikin. Pêşî li ser wîkîya îngilîzî li şablona dixwazî bigere, eger înterwîkiyan de tinebe, ji min re binivîse ez ê çêkim.
:Pirsek Min non-gloss [[:en:T:n-g]] wekî {{ş|îzaha ne eleqedarî maneyê}} (bi kurtî înm) tercime kir feqat çi eleqeyê ez jî nizanim fikrekî te hebe li gotûbêjê binivîse em rast bikin. Niha dibêjim, gloss bikim îzaha maneyî, non-gloss bikim îzaha nemaneyî belkî baştir be, tu çi dibêjî? [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:22, 31 tîrmeh 2026 (UTC)
::Gelek spas. Ez ê li wir binivîsim. [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 22:27, 31 tîrmeh 2026 (UTC)
:::@[[Bikarhêner:Kurdanparez|Kurdanparez]] [https://ku.wiktionary.org/w/index.php?title=dimil%C3%AE&diff=6292587&oldid=6292584] Ji bo înlîne-modifiers bnr [[Modul:columns#L-711]] ji bo etîketan [[Modul:labels#Çêkirina_etîketan]] jkx yên ku kêm in îlawe bike. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:49, 31 tîrmeh 2026 (UTC)
::::Gelek spas :)) [[Bikarhêner:Kurdanparez|Kurdanparez]] ([[Gotûbêja bikarhêner:Kurdanparez|gotûbêj]]) 23:03, 31 tîrmeh 2026 (UTC)
== کرمانجی ==
سەلام. پرسیارێکم هەبوو، کرمانجی زمانە یان زاراوە؟ [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 12:34, 19 tebax 2026 (UTC)
:زاراوا یە فەقات ژ بۆ ژ هەڤ ئێجستنا کورمانجی و سۆرانی ل ڤر وەکی زمان خویا دبە [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 12:41, 19 tebax 2026 (UTC)
::باشە لە [https://ku.wiktionary.org/wiki/Destp%C3%AAk دەستپێک] نووسراوە «فەرهەنگ بە '''کورمانجی''' و زێدەیێ ۳۸۱۹ زیمانێن دینێ»، باشتر نەبوو نووسرابا '''کوردی کرمانجی'''؟
::[[:Kategorî:Kurmancî|لێرەش]] لە نێو ئەو باکسەی نووسراوە '''زیمانێ کورمانجی''' نەک '''زاراڤەیا کورمانجی'''. [[Bikarhêner:SiNa|SiNa]] ([[Gotûbêja bikarhêner:SiNa|gotûbêj]]) 19:02, 19 tebax 2026 (UTC)
:::Ew ne tiştên muhîm in, ne lazim e em her daîm kurdî kurmancî binivîsin, kurmancî jî soranî jî kurdî ne, her kes jî wisa qebûl dike. Kategorî jî ji ber ku otomatîk tê çêkirin min nexwest wextê xwe pê re xerc bikim. [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 10:51, 21 tebax 2026 (UTC)
== Soranî bi tîpên latînî ==
Silav birako, min dît ku bo eynî/heman kelîmeyên soranî guhartoya bi tîpên latînî jî heye. Û translîterasyon jî tevlihev dibe. Wekî nimûne binêre: [https://ku.wiktionary.org/wiki/b%C3%AErkirdinewe#Soran%C3%AE]. Gelo baş e ku her du guharto hebin (farisî-erêbî û latînî)? Ez newêrim devê mijarê vekim,lê bala min kişand. :)) --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:25, 24 tebax 2026 (UTC)
:Merheba, tiştên wisa li [[WF:Dîwan]]ê binivîsî çêtir e, feqat eger tenê fikrê min dipirsî, bi min yên soranî qet ne hewce ne, îro soranî tenê bi '''herfên''' erebî tên nivîsin feqat min kovarên kevn ên 1970î de soranî bi herfên latînî jî dîtine, [https://books.vejin.net/ck/books Vejîn Kitêbekan] jî yên erebî transkrîbeyî latînî dikin. Dîsa jî bila hebin, zerara wan nîne bi şerta ku li vir hatiye dayîn: [[Wîkîferheng:Dîwan/2026#Peyvên_soranî_bi_latînî_(Kategorî:Soranî)]] [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:31, 24 tebax 2026 (UTC)
::Spas ji bo bersivê. Bi taybetî min ji ber şablonan pirsî, ji ber ku tîp^en ji alfabeya erebî jî tevlî dibin. Wa Ghybu mijar vekiriye. Gava wextê min çêbû. Ez ê cewaba wî bidim. --[[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 20:36, 24 tebax 2026 (UTC)
:::Bnr [[Modul:rêziman#L-188]] tu dikarî yên bi latînî bi riya <code>lang:findBestScript(pagename)</code> derxî.
:::Li vir[https://ku.wiktionary.org/w/index.php?title=%D9%86%DB%95%D8%B1%D9%85%D8%A7%D9%85%DB%8E%D8%B1&curid=1358825&diff=6342225&oldid=6342224] rênima çi ye? Talîmat e? hejmardarî mihasebe ye? Kesê ku vê ferhengê bi kar tîne çawa ji heqê vî zimanî derkeve? :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 20:56, 24 tebax 2026 (UTC)
::::Ez ê Scriptê biceribînim. Ji ber pirsaa te: Erê, min niha ew guhartin. Ji bo ferhengê wê ferhengeke din lazim be :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 21:17, 24 tebax 2026 (UTC)
:::::Welleh eynî wisa ye :D Gelek kes ketine derdê dîtina kelîmeya kurdî ya herî orîjînal, ji bîr dikin ka milet wê çawa bike :D [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:20, 24 tebax 2026 (UTC)
::::::Not: Mala te ava :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 21:21, 24 tebax 2026 (UTC)
:::::::Tu çima amûra me ya [[Wf:Nû]] naceribînî? :) [[Bikarhêner:Wikihez|Wikihez]] ([[Gotûbêja bikarhêner:Wikihez#top|gotûbêj]]) 22:58, 24 tebax 2026 (UTC)
::::::::Hmm, ka ez lê binêrim, bê ka ya nû çawa ye. :) -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:24, 24 tebax 2026 (UTC)
:::::::::Min aktîv kir, gelekî xweşik, lê dirêj e. :) Bi awayekî bidetay hatiye çêkirin. Destên te qet êşê nebînin. -- [[Bikarhêner:Şêr|Şêr]] ([[Gotûbêja bikarhêner:Şêr|gotûbêj]]) 23:42, 24 tebax 2026 (UTC)
8hp5zgq3n6thvrvzyap6an1hbt9rlb8
bizinêt
0
977895
6342284
6260660
2026-08-24T22:52:34Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v2.0).
6342284
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Formeke navdêrê ===
{{ku-tew-nav|bizin|mê|îzafe|binavkirî}}
{{navdêr|ku|z=m|form=erê}}
# {{f|ku|kurmanciya rojhilatî}} ''Rewşa [[îzafeyî]] ya pirjimar a binavkirî ya'' '''[[bizin]]'''.
## {{guherto|bizinên}}
##* {{jêder-kitêb|ku|sernav=Mam Bapir and the Village Imam: XVI: Ḥekayêta Mam Bapîr û Imamê Gundî|weşanxane=BRILL|sal=2026|rûpel=104–107|isbn=978-90-04-75443-0|url=https://brill.com/view/book/9789004754430/BP000017.xml|jêgirtin=Mam Bapîr got, “qerar bît, bes ez jî li cîyê wê çakîyê sihî '''bizinêt''' bi-şîr xelat bideme te.”}}
==== Formên alternatîv ====
* {{f|ku|kurmanciya rojhilatî}} [[biznêt]]
nlo2cntyy88w49dbxn3ljv1wadtapjk
6342285
6342284
2026-08-24T22:53:21Z
Wikihez
7344
/* {{ziman|ku}} */
6342285
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Formeke navdêrê ===
{{ku-tew-nav|bizin|mê|îzafe|binavkirî}}
{{navdêr|ku|z=m|form=erê}}
# {{f|ku|kurmanciya rojhilatî}} ''Rewşa [[îzafeyî]] ya pirjimar a binavkirî ya'' '''[[bizin]]'''.
## {{guherto|bizinên}}
##* {{J:Shamdinani Stories I:2026|rûpel=104–107|jêgirtin=Mam Bapîr got, “qerar bît, bes ez jî li cîyê wê çakîyê sihî '''bizinêt''' bi-şîr xelat bideme te.”}}
==== Formên alternatîv ====
* {{f|ku|kurmanciya rojhilatî}} [[biznêt]]
ahveviwd5zbbtqd1hmd252532nzmw9m
asen
0
995833
6342111
5425406
2026-08-24T13:04:09Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342111
wikitext
text/x-wiki
== {{ziman|rm}} ==
=== Navdêr ===
{{navdêr|rm}}
# {{mijar|rm|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rm|ker}}
== {{ziman|vi}} ==
=== Navdêr ===
{{navdêr|vi}}
# {{f|vi|element}} [[arsenîk#ku|arsenîk]]
== {{ziman|cy}} ==
=== Navdêr ===
{{navdêr|cy|z=m}}
# {{mijar|cy|heywan}} {{g|ku|maker}}
=== Çavkanî ===
{{rûpela wergerê|cy|maker}}
eoyhsno1bifwp135fqgmf5myd569y5h
bulu
0
1008278
6342078
5793638
2026-08-24T13:02:43Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342078
wikitext
text/x-wiki
== {{ziman|kxd}} ==
=== Navdêr ===
{{navdêr|kxd}}
# {{f|kxd|anatomî}} [[pûrt#ku|pûrt]], [[mû#ku|mû]]
== {{ziman|ny}} ==
=== Navdêr ===
{{navdêr|ny}}
# {{mijar|ny|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ny|ker}}
== {{ziman|id}} ==
=== Navdêr ===
{{navdêr|id}}
# {{f|id|anatomî}} [[mû#ku|mû]], {{g|ku|pûrt}}, [[pirç#ku|pirç]]
== {{ziman|ms}} ==
=== Navdêr ===
{{navdêr|ms}}
# {{f|ms|anatomî}} [[pûrt#ku|pûrt]], [[mû#ku|mû]]
== {{ziman|srn}} ==
=== Navdêr ===
{{navdêr|srn}}
# {{mijar|srn|heywan}} {{g|ku|ga}} (nêrên çêlekan)
=== Çavkanî ===
{{rûpela wergerê|srn|ga}}
== {{ziman|tum}} ==
=== Navdêr ===
{{navdêr|tum}}
# {{mijar|tum|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|tum|ker}}
9fkjy0oeojtdqk2m9wnafbt6dptc243
magar
0
1010636
6342140
5298733
2026-08-24T13:05:09Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342140
wikitext
text/x-wiki
== {{ziman|sq}} ==
=== Navdêr ===
{{navdêr|sq|z=n}}
# {{mijar|sq|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sq|ker}}
== {{ziman|gl}} ==
=== Girêdek ===
{{girêdek|gl}}
# [[lê#ku|lê]] ([[feqet#ku|feqet]], [[ema#ku|ema]], [[lakin#ku|lakin]])
jgqmtv1g26emm3sjaexk2ajjtk353dz
magari
0
1010822
6342158
5299214
2026-08-24T13:05:50Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342158
wikitext
text/x-wiki
== {{ziman|it}} ==
=== Hoker ===
{{hoker|it}}
# [[belkî#ku|belkî]], [[dibe ku#ku|dibe ku]]
== {{ziman|rom}} ==
=== Navdêr ===
{{navdêr|rom|z=n}}
# {{mijar|rom|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rom|ker}}
dw5vs9b0wnd7885d2ksog173xsa1yme
вир
0
1014554
6341926
5505542
2026-08-24T12:56:56Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341926
wikitext
text/x-wiki
== {{ziman|ce}} ==
=== Navdêr ===
{{navdêr|ce}}
# {{mijar|ce|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ce|ker}}
== {{ziman|inh}} ==
=== Navdêr ===
{{navdêr|inh}}
# {{mijar|inh|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|inh|ker}}
== {{ziman|koi}} ==
=== Navdêr ===
{{navdêr|koi}}
# {{f|koi|anatomî}} [[xwîn#ku|xwîn]]
== {{ziman|lez}} ==
=== Navdêr ===
{{navdêr|lez}}
# {{mijar|lez|av}} {{g|ku|gol}}, {{g|ku|deryaçe}}, {{g|ku|gol}}a {{g|ku|av}}ê
=== Çavkanî ===
{{rûpela wergerê|lez|gol}}
== {{ziman|udm}} ==
=== Navdêr ===
{{navdêr|udm}}
# {{f|udm|anatomî}} [[xwîn#ku|xwîn]]
== {{ziman|yai}} ==
=== Navdêr ===
{{navdêr|yai}}
# {{f|yai|malbat}} {{g|ku|mêr}}, {{g|ku|şû}}, (mêrê jinekê)
cm39zerkmut9ejea8rd49a4wty9ltth
ашак
0
1023004
6342034
5298887
2026-08-24T13:01:07Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342034
wikitext
text/x-wiki
== {{ziman|cv}} ==
=== Navdêr ===
{{navdêr|cv}}
# {{mijar|cv|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|cv|ker}}
== {{ziman|tyv}} ==
=== Navdêr ===
{{navdêr|tyv}}
# {{f|tyv|malbat}} {{g|ku|mêr}}, {{g|ku|şû}}, (mêrê jinekê)
awdhu05rpqz58cz1ffhinytayhhmwoy
muso
0
1023236
6341933
5299399
2026-08-24T12:57:14Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341933
wikitext
text/x-wiki
== {{ziman|eo}} ==
=== Navdêr ===
{{navdêr|eo}}
# {{f|eo|heywan}} {{g|ku|mişk}}
== {{ziman|io}} ==
=== Navdêr ===
{{navdêr|io}}
# {{f|io|heywan}} {{g|ku|mişk}}
== {{ziman|vec}} ==
=== Navdêr ===
{{navdêr|vec|z=n}}
# {{mijar|vec|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|vec|ker}}
edqw8t7vjaoaqyhjfdg1tj0p7n1c510
лем
0
1026659
6342025
5416462
2026-08-24T13:00:47Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342025
wikitext
text/x-wiki
== {{ziman|bdk}} ==
=== Navdêr ===
{{navdêr|bdk}}
# {{mijar|bdk|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|bdk|ker}}
== {{ziman|myv}} ==
=== Navdêr ===
{{navdêr|myv}}
# {{g|ku|nav}} ({{g|ku|ism}})
== {{ziman|mdf}} ==
=== Navdêr ===
{{navdêr|mdf}}
# {{g|ku|nav}} ({{g|ku|ism}})
== {{ziman|rue}} ==
=== Hoker ===
{{hoker|rue}}
# {{g|ku|tenê}}
=== Çavkanî ===
{{rûpela wergerê|rue|tenê}}
p0ggnkzbvh7tj7ldtch8a2s8mzzhuj2
лам
0
1034611
6341963
5600833
2026-08-24T12:58:20Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341963
wikitext
text/x-wiki
== {{ziman|ce}} ==
=== Navdêr ===
{{navdêr|ce}}
# {{f|ce|erdnîgarî}} {{g|ku|çiya}}
=== Çavkanî ===
{{rûpela wergerê|ce|çiya}}
== {{ziman|lez}} ==
=== Navdêr ===
{{navdêr|lez}}
# {{mijar|lez|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|lez|ker}}
== {{ziman|mn}} ==
=== Navdêr ===
{{navdêr|mn}}
# {{mijar|mn|dîn}} {{g|ku|rahib}}, {{g|ku|rihban}}, {{g|ku|keşîş}}
=== Çavkanî ===
{{rûpela wergerê|mn|rahib}}
am0lq2e9gmzzqf1wmp5zmrlbff80ary
gada
0
1038534
6341937
5298866
2026-08-24T12:57:25Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341937
wikitext
text/x-wiki
== {{ziman|aot}} ==
=== Navdêr ===
{{navdêr|aot}}
# {{mijar|aot|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|aot|ker}}
== {{ziman|rom}} ==
=== Navdêr ===
{{navdêr|rom}}
# {{g|ku|cil}}, {{g|ku|kinc}}, {{g|ku|libas}}, {{g|ku|cilik}}, {{g|ku|cilûberg}}
=== Çavkanî ===
{{rûpela wergerê|rom|cil}}
nu7od0u4l3hg0gs4znb9hswbp3giwva
burra
0
1039992
6342150
5425397
2026-08-24T13:05:33Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342150
wikitext
text/x-wiki
== {{ziman|ast}} ==
=== Navdêr ===
{{navdêr|ast}}
# {{mijar|ast|heywan}} {{g|ku|mahîn}}, {{g|ku|mehîn}}
=== Çavkanî ===
{{rûpela wergerê|ast|mahîn}}
== {{ziman|ca}} ==
=== Navdêr ===
{{navdêr|ca|z=m}}
# {{mijar|ca|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ca|ker}}
== {{ziman|pt}} ==
=== Navdêr ===
{{navdêr|pt|z=m}}
# {{mijar|pt|heywan}} {{g|ku|maker}}
=== Çavkanî ===
{{rûpela wergerê|pt|maker}}
== {{ziman|es}} ==
=== Navdêr ===
{{navdêr|es|z=m}}
# {{mijar|es|heywan}} {{g|ku|maker}}
=== Çavkanî ===
{{rûpela wergerê|es|maker}}
684h9vbkhy3zdiyjcelbktscg0t386r
аҽада
0
1051804
6341984
5298719
2026-08-24T12:59:11Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341984
wikitext
text/x-wiki
== {{ziman|ab}} ==
=== Navdêr ===
{{navdêr|ab}}
# {{mijar|ab|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ab|ker}}
697hrow0d228g159k2hcno1s9gvfce7
щыды
0
1051805
6342095
5298721
2026-08-24T13:03:19Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342095
wikitext
text/x-wiki
== {{ziman|ady}} ==
=== Navdêr ===
{{navdêr|ady}}
# {{mijar|ady|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ady|ker}}
p2mdoyrp0ju3c99vq9wigsniygdv1as
donkie
0
1051809
6342152
5298727
2026-08-24T13:05:37Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342152
wikitext
text/x-wiki
== {{ziman|af}} ==
=== Navdêr ===
{{navdêr|af}}
# {{mijar|af|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|af|ker}}
aiq3lgs5i4k5hm6ywsmhd6w4waugn7j
Grauchen
0
1051816
6342142
5298737
2026-08-24T13:05:15Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342142
wikitext
text/x-wiki
== {{ziman|de}} ==
=== Navdêr ===
{{navdêr|de|z=nt}}
# {{mijar|de|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|de|ker}}
g6y04rrpb39heyx4mvsdtuq5l0gl3gm
Grautier
0
1051820
6342159
5298741
2026-08-24T13:05:52Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342159
wikitext
text/x-wiki
== {{ziman|de}} ==
=== Navdêr ===
{{navdêr|de|z=nt}}
# {{mijar|de|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|de|ker}}
g6y04rrpb39heyx4mvsdtuq5l0gl3gm
ܚܡܪܐ
0
1051824
6341925
5323405
2026-08-24T12:56:53Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341925
wikitext
text/x-wiki
== {{ziman|arc}} ==
=== Navdêr ===
{{navdêr|arc|tr=ḥamrā}}
# {{mijar|arc|vexwarin}} {{g|ku|mey}}, {{g|ku|bade}}, {{g|ku|şerab}}
=== Çavkanî ===
{{rûpela wergerê|arc|mey}}
== {{ziman|syc}} ==
=== Navdêr ===
{{navdêr|syc|tr=ḥəmārā}}
# {{mijar|syc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|syc|ker}}
d9k6bghkppii57byvkp6t2jq0rp0w78
ܚܡܪܬܐ
0
1051829
6342035
5298750
2026-08-24T13:01:09Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342035
wikitext
text/x-wiki
== {{ziman|syc}} ==
=== Navdêr ===
{{navdêr|syc|tr=ḥəmārtā|z=m}}
# {{mijar|syc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|syc|ker}}
dcig644mxmhkq0ddsmv16x8wlit0qo3
חמרא
0
1051833
6342023
5298754
2026-08-24T13:00:43Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342023
wikitext
text/x-wiki
== {{ziman|arc}} ==
=== Navdêr ===
{{navdêr|arc|חֲמָרָא|tr=ḥămārā|z=n}}
# {{mijar|arc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|arc|ker}}
b5bql2bxhlcjhslbgziebu0mxyx0b8n
cãci
0
1051836
6342125
5298758
2026-08-24T13:04:35Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342125
wikitext
text/x-wiki
== {{ziman|rup}} ==
=== Navdêr ===
{{navdêr|rup}}
# {{mijar|rup|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rup|ker}}
lof15udyfoz0sw1ousk6oda2944wbzy
dãngã
0
1051839
6341976
5298761
2026-08-24T12:58:52Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341976
wikitext
text/x-wiki
== {{ziman|rup}} ==
=== Navdêr ===
{{navdêr|rup}}
# {{mijar|rup|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rup|ker}}
lof15udyfoz0sw1ousk6oda2944wbzy
gumar
0
1051843
6342133
5298765
2026-08-24T13:04:52Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342133
wikitext
text/x-wiki
== {{ziman|rup}} ==
=== Navdêr ===
{{navdêr|rup}}
# {{mijar|rup|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rup|ker}}
lof15udyfoz0sw1ousk6oda2944wbzy
dãnglãrã
0
1051847
6342071
5298769
2026-08-24T13:02:32Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342071
wikitext
text/x-wiki
== {{ziman|rup}} ==
=== Navdêr ===
{{navdêr|rup}}
# {{mijar|rup|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rup|ker}}
lof15udyfoz0sw1ousk6oda2944wbzy
မြည်း
0
1051854
6341960
5298778
2026-08-24T12:58:15Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341960
wikitext
text/x-wiki
== {{ziman|my}} ==
=== Navdêr ===
{{navdêr|my}}
# {{mijar|my|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|my|ker}}
td4xwv18dlbcdjujvl3xrbi1dzg9g3c
ulaq
0
1051858
6342079
5298782
2026-08-24T13:02:45Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342079
wikitext
text/x-wiki
== {{ziman|az}} ==
=== Navdêr ===
{{navdêr|az}}
# {{mijar|az|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|az|ker}}
69lsle9mhpprnwuwvhvyf3obbwabvag
keribas
0
1051862
6342130
5298787
2026-08-24T13:04:45Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342130
wikitext
text/x-wiki
== {{ziman|bdr}} ==
=== Navdêr ===
{{navdêr|bdr}}
# {{mijar|bdr|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|bdr|ker}}
k7lg37fq5sk5tqzmwo1cgdvctkurrm3
магаре
0
1051864
6341954
5299111
2026-08-24T12:58:03Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341954
wikitext
text/x-wiki
== {{ziman|bg}} ==
=== Navdêr ===
{{navdêr|bg|мага́ре|z=nt}}
# {{mijar|bg|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|bg|ker}}
== {{ziman|mk}} ==
=== Navdêr ===
{{navdêr|mk|z=nt}}
# {{mijar|mk|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|mk|ker}}
2fq6wid8rxox828o67yu45k38jf816m
गदहा
0
1051868
6341928
5298795
2026-08-24T12:57:02Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341928
wikitext
text/x-wiki
== {{ziman|awa}} ==
=== Navdêr ===
{{navdêr|awa|z=n}}
# {{mijar|awa|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|awa|ker}}
4rcr6b734hvzwqx4je4oksaj1un6blq
ишәк
0
1051872
6341947
5299296
2026-08-24T12:57:49Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341947
wikitext
text/x-wiki
== {{ziman|ba}} ==
=== Navdêr ===
{{navdêr|ba}}
# {{mijar|ba|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ba|ker}}
== {{ziman|tt}} ==
=== Navdêr ===
{{navdêr|tt}}
# {{mijar|tt|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|tt|ker}}
ivmczpx637vdvij5m6zvxztm13qx4o2
ہر
0
1051875
6342116
5320214
2026-08-24T13:04:19Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342116
wikitext
text/x-wiki
== {{ziman|bal}} ==
=== Navdêr ===
{{navdêr|bal|tr=har}}
# {{mijar|bal|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|bal|ker}}
== {{ziman|ur}} ==
=== Cînav ===
{{cînav|ur|tr=har}}
# {{g|ku|her}} (hemû)
=== Çavkanî ===
{{rûpela wergerê|ur|her}}
qyd5r973k61r164rzupnh93euzmr7rh
uricljat
0
1051880
6342127
5298807
2026-08-24T13:04:39Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342127
wikitext
text/x-wiki
== {{ziman|rup}} ==
=== Navdêr ===
{{navdêr|rup}}
# {{mijar|rup|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rup|ker}}
lof15udyfoz0sw1ousk6oda2944wbzy
tãronj
0
1051884
6342104
5298811
2026-08-24T13:03:51Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342104
wikitext
text/x-wiki
== {{ziman|rup}} ==
=== Navdêr ===
{{navdêr|rup}}
# {{mijar|rup|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rup|ker}}
lof15udyfoz0sw1ousk6oda2944wbzy
গাধ
0
1051888
6342000
5298815
2026-08-24T12:59:45Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342000
wikitext
text/x-wiki
== {{ziman|as}} ==
=== Navdêr ===
{{navdêr|as}}
# {{mijar|as|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|as|ker}}
pdsbnsny9z42wuh6hnzm055sl6d8kj1
ܐܬܢܐ
0
1051891
6342086
5298819
2026-08-24T13:02:57Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342086
wikitext
text/x-wiki
== {{ziman|syc}} ==
=== Navdêr ===
{{navdêr|syc|tr=ʾăṯānā|z=m}}
# {{mijar|syc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|syc|ker}}
290a9n3w5ad5mnn8tny23d75pu5k6ix
አህያ
0
1051895
6342068
5298823
2026-08-24T13:02:24Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342068
wikitext
text/x-wiki
== {{ziman|am}} ==
=== Navdêr ===
{{navdêr|am|tr=äheyya}}
# {{mijar|am|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|am|ker}}
a2n204ahjmei0ypxtsu3w73eztyjgxf
гьаморохи
0
1051899
6342097
5298827
2026-08-24T13:03:26Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342097
wikitext
text/x-wiki
== {{ziman|ani}} ==
=== Navdêr ===
{{navdêr|ani}}
# {{mijar|ani|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ani|ker}}
nsddekat7uj64ufc24pevmdxe2ryq64
uci
0
1051904
6342117
5298832
2026-08-24T13:04:21Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342117
wikitext
text/x-wiki
== {{ziman|rup}} ==
=== Navdêr ===
{{navdêr|rup}}
# {{mijar|rup|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rup|ker}}
lof15udyfoz0sw1ousk6oda2944wbzy
gomar
0
1051906
6342045
5298836
2026-08-24T13:01:33Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342045
wikitext
text/x-wiki
== {{ziman|sq}} ==
=== Navdêr ===
{{navdêr|sq|z=n}}
# {{mijar|sq|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sq|ker}}
6uxs73cfpt27zrbcw3bcziym13gwml6
хӏама
0
1051910
6341935
5298840
2026-08-24T12:57:18Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341935
wikitext
text/x-wiki
== {{ziman|av}} ==
=== Navdêr ===
{{navdêr|av}}
# {{mijar|av|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|av|ker}}
o5kfe2bcrh48vwi322tv1cpuvovmdxs
shonj
0
1051913
6342137
5298844
2026-08-24T13:05:02Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342137
wikitext
text/x-wiki
== {{ziman|rup}} ==
=== Navdêr ===
{{navdêr|rup}}
# {{mijar|rup|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rup|ker}}
lof15udyfoz0sw1ousk6oda2944wbzy
эштек
0
1051915
6342091
5298848
2026-08-24T13:03:09Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342091
wikitext
text/x-wiki
== {{ziman|alt}} ==
=== Navdêr ===
{{navdêr|alt}}
# {{mijar|alt|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|alt|ker}}
mpwoj9vbq25392t9uupqwdsvx00f8bh
pollín
0
1051917
6342011
5298852
2026-08-24T13:00:11Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342011
wikitext
text/x-wiki
== {{ziman|ast}} ==
=== Navdêr ===
{{navdêr|ast|z=n}}
# {{mijar|ast|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ast|ker}}
axn0yrhsi6lrvt7s35yywaprvoi4ij4
kaldei
0
1051922
6342107
5298857
2026-08-24T13:04:00Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342107
wikitext
text/x-wiki
== {{ziman|sne}} ==
=== Navdêr ===
{{navdêr|sne}}
# {{mijar|sne|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sne|ker}}
lklp5cs1tbdzzps6hkrtpw5ecqghyzn
асёл
0
1051924
6342049
5298862
2026-08-24T13:01:42Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342049
wikitext
text/x-wiki
== {{ziman|be}} ==
=== Navdêr ===
{{navdêr|be|z=n}}
# {{mijar|be|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|be|ker}}
gjb5nynbrajtp0vthzw5k9rohw9rnjt
azen
0
1051929
6342056
6061536
2026-08-24T13:01:58Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342056
wikitext
text/x-wiki
== {{ziman|br}} ==
=== Bilêvkirin ===
* {{deng|br|LL-Q12107 (bre)-Arzhela Aelia-azen.wav|Deng|dever=Carhaix-Plouguer, Fransa}}
* {{deng|br|LL-Q12107 (bre)-TeauDD-azen.wav|Deng|dever=Skol an Emsav, Fransa}}
=== Navdêr ===
{{navdêr|br|z=n}}
# {{mijar|br|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|br|ker}}
mcasg6j93ypw3ldvy8xiussa0q3tisf
asto
0
1051933
6342129
5298873
2026-08-24T13:04:43Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342129
wikitext
text/x-wiki
== {{ziman|eu}} ==
=== Navdêr ===
{{navdêr|eu}}
# {{mijar|eu|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|eu|ker}}
kbg74xtmzeid6e7c7s00k3gaidckhy5
осел
0
1051938
6342145
6122154
2026-08-24T13:05:23Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342145
wikitext
text/x-wiki
== {{ziman|bg}} ==
=== Bilêvkirin ===
* {{deng|bg|LL-Q7918 (bul)-Kiril kovachev-осел.wav|Deng|dever=}}
=== Navdêr ===
{{navdêr|bg|осе́л|z=n}}
# {{mijar|bg|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|bg|ker}}
== {{ziman|uk}} ==
=== Navdêr ===
{{navdêr|uk|осе́л|z=n}}
# {{mijar|uk|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|uk|ker}}
d8zgctm3x4yyejjnn81cj3dthrvm5aj
驢仔
0
1051942
6341991
5298976
2026-08-24T12:59:22Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341991
wikitext
text/x-wiki
== {{ziman|hak}} ==
=== Navdêr ===
{{navdêr|hak|tr=lì-è}}
# {{mijar|hak|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|hak|ker}}
== {{ziman|nan}} ==
=== Navdêr ===
{{navdêr|nan|tr=lû-á / lî-á / lîr-á}}
# {{mijar|nan|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|nan|ker}}
== {{ziman|yue}} ==
=== Navdêr ===
{{navdêr|yue|tr=leoi4 zai2}}
# {{mijar|yue|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|yue|ker}}
10scnty8mzdvvc7wc2b2lt669rhuvqg
驢
0
1051949
6342050
5299045
2026-08-24T13:01:44Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342050
wikitext
text/x-wiki
== {{ziman|yue}} ==
=== Navdêr ===
{{navdêr|yue|tr=leoi4}}
# {{mijar|yue|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|yue|ker}}
== {{ziman|wuu}} ==
=== Navdêr ===
{{navdêr|wuu}}
# {{mijar|wuu|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|wuu|ker}}
== {{ziman|nan}} ==
=== Navdêr ===
{{navdêr|nan|tr=lîr / lû / lî}}
# {{mijar|nan|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|nan|ker}}
== {{ziman|cdo}} ==
=== Navdêr ===
{{navdêr|cdo|tr=lè̤}}
# {{mijar|cdo|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|cdo|ker}}
== {{ziman|cmn}} ==
=== Navdêr ===
{{navdêr|cmn|tr=lǘ}}
# {{mijar|cmn|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|cmn|ker}}
dlkhgc6881ii9pf8mjram7kehjr4yu9
лү
0
1051956
6342075
5298898
2026-08-24T13:02:37Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342075
wikitext
text/x-wiki
== {{ziman|dng}} ==
=== Navdêr ===
{{navdêr|dng}}
# {{mijar|dng|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|dng|ker}}
bnxwc21gllf8ktoi44c1ln1h8686o1c
ᏗᎦᎵᏅᎯᏛ
0
1051964
6341969
5298911
2026-08-24T12:58:36Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341969
wikitext
text/x-wiki
== {{ziman|chr}} ==
=== Navdêr ===
{{navdêr|chr}}
# {{mijar|chr|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|chr|ker}}
0hpfbdg92w5qq3qy3frwdk5nmhlxybi
tongki
0
1051968
6342036
5298915
2026-08-24T13:01:12Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342036
wikitext
text/x-wiki
== {{ziman|chk}} ==
=== Navdêr ===
{{navdêr|chk}}
# {{mijar|chk|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|chk|ker}}
qff9alvia1ntq969lm7d5bcb2wtz93f
osel
0
1051972
6342113
6117106
2026-08-24T13:04:13Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342113
wikitext
text/x-wiki
== {{ziman|cs}} ==
=== Navdêr ===
{{navdêr|cs|z=n}}
# {{mijar|cs|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|cs|ker}}
== {{ziman|pms}} ==
=== Navdêr ===
{{navdêr|pms|z=n}}
# {{mijar|pms|heywan}} {{g|ku|teyr}}, {{g|ku|firinde}}, {{g|ku|balinde}}
#* {{bênimûne|pms}}
=== Çavkanî ===
{{rûpela wergerê|pms|teyr}}
== {{ziman|sl}} ==
=== Navdêr ===
{{navdêr|sl|z=n}}
# {{mijar|sl|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sl|ker}}
1jmnag5mwfsnuombsrmtiggfpwzqcin
بهيم
0
1051975
6342126
5298923
2026-08-24T13:04:37Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342126
wikitext
text/x-wiki
== {{ziman|aeb}} ==
=== Navdêr ===
{{navdêr|aeb|tr=bhīm|z=n}}
# {{mijar|aeb|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|aeb|ker}}
i5fnmfg2z8qst3mevfwv5dbgfrhwqul
элжэгэн
0
1051978
6341997
5298926
2026-08-24T12:59:36Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341997
wikitext
text/x-wiki
== {{ziman|bua}} ==
=== Navdêr ===
{{navdêr|bua}}
# {{mijar|bua|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|bua|ker}}
tgox7gwhfh6059r7vlxluo02atptngy
haksibish falaa'
0
1051983
6342053
5298933
2026-08-24T13:01:51Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342053
wikitext
text/x-wiki
== {{ziman|cic}} ==
=== Navdêr ===
{{navdêr|cic}}
# {{mijar|cic|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|cic|ker}}
db1l0zwimog0j83a7ppt24ov6ikr4bh
دحش
0
1051985
6341994
5298937
2026-08-24T12:59:28Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341994
wikitext
text/x-wiki
== {{ziman|ary}} ==
=== Navdêr ===
{{navdêr|ary|tr=daḥš}}
# {{mijar|ary|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ary|ker}}
sxswrp4gc4qzewi7drdfut9wubfdm56
a'éevo'ha
0
1051987
6342031
5298941
2026-08-24T13:01:00Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342031
wikitext
text/x-wiki
== {{ziman|chy}} ==
=== Navdêr ===
{{navdêr|chy}}
# {{mijar|chy|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|chy|ker}}
akhh9mooqftpprvhph2fnqha60qi06b
azeno
0
1051992
6342077
5298946
2026-08-24T13:02:41Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342077
wikitext
text/x-wiki
== {{ziman|eo}} ==
=== Navdêr ===
{{navdêr|eo}}
# {{mijar|eo|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|eo|ker}}
bshwwvqet4odfl5il4bxk2bcw2lgwp2
åsn
0
1051996
6341927
5298950
2026-08-24T12:57:00Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341927
wikitext
text/x-wiki
== {{ziman|ovd}} ==
=== Navdêr ===
{{navdêr|ovd|z=m}}
# {{mijar|ovd|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ovd|ker}}
qvzokgl3iqaq92qzbe0738u8u10lha9
tedzi
0
1051999
6342033
5298953
2026-08-24T13:01:05Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342033
wikitext
text/x-wiki
== {{ziman|ee}} ==
=== Navdêr ===
{{navdêr|ee|z=nt}}
# {{mijar|ee|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ee|ker}}
i2s2nb7ssssccydxlq09oxw86d3dqkk
𐌰𐍃𐌹𐌻𐌿𐍃
0
1052005
6341981
5298962
2026-08-24T12:59:07Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341981
wikitext
text/x-wiki
== {{ziman|got}} ==
=== Navdêr ===
{{navdêr|got}}
# {{mijar|got|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|got|ker}}
40xi4hy7xwmtw6r48sebsjhnrzi5a5j
ավանակ
0
1052014
6342032
5298979
2026-08-24T13:01:02Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342032
wikitext
text/x-wiki
== {{ziman|hy}} ==
=== Navdêr ===
{{navdêr|hy}}
# {{mijar|hy|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|hy|ker}}
0ft7twgn25rbzgny1ec8dhntx110gel
6342121
6342032
2026-08-24T13:04:27Z
Wikihez
7344
[[Bikarhêner:Wikihez/templateScript2.js|TS]]: Ji [[en:ավանակ|en.wikt]]
6342121
wikitext
text/x-wiki
== {{ziman|hy}} ==
=== Bilêvkirin ===
{{hy-IPA}}
* {{deng|hy|Hy-ավանակ.ogg|dever=Ermenistana rojhilat}}
=== Navdêr ===
[[Wêne:Կենդանական_աշխարհ_77.jpg|thumb|{{lang|hy|Ավանակներ}}]]
{{navdêr|hy}}
# {{mijar|hy|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
==== Etîmolojî ====
Ji {{mîr|xcl|hy|յաւանակ}}.
==== Dûnde ====
* {{dû|ota|آواناق|tr=avanak|deyn=1}}
** {{dû|tr|avanak}}
* {{dû|cpg|αβανάκ|deyn=1}}
* {{dû|el|αβανάκης|deyn=1|qq=Constantinople}}
cd0v3us4ki7lra7kq8rljkhn8t69xfo
دحشة
0
1052017
6341999
5298982
2026-08-24T12:59:42Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341999
wikitext
text/x-wiki
== {{ziman|ary}} ==
=== Navdêr ===
{{navdêr|ary|tr=daḥša|z=m}}
# {{mijar|ary|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ary|ker}}
8ypqvh34pt8t78onb7visw6gqcmd3g9
æsel
0
1052019
6342135
5298985
2026-08-24T13:04:57Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342135
wikitext
text/x-wiki
== {{ziman|da}} ==
=== Navdêr ===
{{navdêr|da|z=nt}}
# {{mijar|da|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|da|ker}}
1h520xaicpoun1q3geaapajdxol49ob
ހިާމރު
0
1052020
6341966
5298988
2026-08-24T12:58:27Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341966
wikitext
text/x-wiki
== {{ziman|dv}} ==
=== Navdêr ===
{{navdêr|dv}}
# {{mijar|dv|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|dv|ker}}
g9v6jzqw8v3rav0izo3uutjq5jt7bkp
驢子
0
1052025
6341979
5298994
2026-08-24T12:58:58Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341979
wikitext
text/x-wiki
== {{ziman|cmn}} ==
=== Navdêr ===
{{navdêr|cmn|tr=lǘzi}}
# {{mijar|cmn|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|cmn|ker}}
knf9d2exo8ojrmtovxveyw8liof46xo
asno
0
1052028
6342115
5299352
2026-08-24T13:04:17Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342115
wikitext
text/x-wiki
== {{ziman|gl}} ==
=== Navdêr ===
{{navdêr|gl}}
# {{mijar|gl|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|gl|ker}}
== {{ziman|io}} ==
=== Navdêr ===
{{navdêr|io}}
# {{mijar|io|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|io|ker}}
== {{ziman|pt}} ==
=== Navdêr ===
{{navdêr|pt|z=n}}
# {{mijar|pt|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|pt|ker}}
== {{ziman|es}} ==
=== Navdêr ===
{{navdêr|es|z=n}}
# {{mijar|es|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|es|ker}}
== {{ziman|tl}} ==
=== Navdêr ===
{{navdêr|tl}}
# {{mijar|tl|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|tl|ker}}
4l80bmo9ttgfkhomam3a1odsfse6w0e
yeşek
0
1052031
6341980
5299003
2026-08-24T12:59:03Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341980
wikitext
text/x-wiki
== {{ziman|gag}} ==
=== Navdêr ===
{{navdêr|gag}}
# {{mijar|gag|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|gag|ker}}
gkt9jpa72yc3bz4mz6j53s0e6fhga5l
زمال
0
1052034
6342024
5299006
2026-08-24T13:00:45Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342024
wikitext
text/x-wiki
== {{ziman|acm}} ==
=== Navdêr ===
{{navdêr|acm|tr=zmāl|z=n}}
# {{mijar|acm|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|acm|ker}}
mg11kydbl5ksxq76tu9ep4qo4dz2tlz
eesel
0
1052041
6342110
5299015
2026-08-24T13:04:07Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342110
wikitext
text/x-wiki
== {{ziman|et}} ==
=== Navdêr ===
{{navdêr|et}}
# {{mijar|et|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|et|ker}}
eyepnnxn604j4r6gihaugyd74w26ghu
አድግ
0
1052042
6342002
5299017
2026-08-24T12:59:49Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342002
wikitext
text/x-wiki
== {{ziman|gez}} ==
=== Navdêr ===
{{navdêr|gez}}
# {{mijar|gez|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|gez|ker}}
46n03j1c17insh1wt0i00vze3vfygnu
ગધેડો
0
1052043
6342162
5299020
2026-08-24T13:05:59Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342162
wikitext
text/x-wiki
== {{ziman|gu}} ==
=== Navdêr ===
{{navdêr|gu}}
# {{mijar|gu|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|gu|ker}}
e0oc2tojdazfqqjl4zhd8wutzw3z6jg
aasi
0
1052045
6342102
5299023
2026-08-24T13:03:46Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342102
wikitext
text/x-wiki
== {{ziman|fi}} ==
=== Navdêr ===
{{navdêr|fi}}
# {{mijar|fi|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|fi|ker}}
60y3air99flt78lrqrf5ao8iybo5wa6
asne
0
1052048
6342046
5299172
2026-08-24T13:01:35Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342046
wikitext
text/x-wiki
== {{ziman|fro}} ==
=== Navdêr ===
{{navdêr|fro|z=n}}
# {{mijar|fro|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|fro|ker}}
== {{ziman|oc}} ==
=== Navdêr ===
{{navdêr|oc|z=n}}
# {{mijar|oc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|oc|ker}}
097flzyci7zbwdxb1vruh3goszam8zy
էշ
0
1052050
6342001
5299029
2026-08-24T12:59:47Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342001
wikitext
text/x-wiki
== {{ziman|hy}} ==
=== Navdêr ===
{{navdêr|hy}}
# {{mijar|hy|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|hy|ker}}
0ft7twgn25rbzgny1ec8dhntx110gel
элҗгн
0
1052054
6342014
5299033
2026-08-24T13:00:17Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342014
wikitext
text/x-wiki
== {{ziman|xal}} ==
=== Navdêr ===
{{navdêr|xal}}
# {{mijar|xal|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|xal|ker}}
1tm17f2elhct4xfpe48lnw08c2ccszm
حمارة
0
1052057
6342042
5425359
2026-08-24T13:01:26Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342042
wikitext
text/x-wiki
== {{ziman|ary}} ==
=== Navdêr ===
{{navdêr|ary|tr=ḥmāra|z=m}}
# {{mijar|ary|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ary|ker}}
== {{ziman|ar}} ==
=== Navdêr ===
{{navdêr|ar|حِمَارَة|z=m}}
# {{mijar|ar|heywan}} {{g|ku|maker}}
=== Çavkanî ===
{{rûpela wergerê|ar|maker}}
ha29v9j4gq3kxpcp2lanv5oyw8l77fy
ロバ
0
1052059
6342040
5299039
2026-08-24T13:01:21Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342040
wikitext
text/x-wiki
== {{ziman|ja}} ==
=== Navdêr ===
{{navdêr|ja|tr=roba}}
# {{mijar|ja|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ja|ker}}
owchta4ad31sis5wsbnz71povyoyhua
âne
0
1052062
6341961
5299087
2026-08-24T12:58:18Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341961
wikitext
text/x-wiki
== {{ziman|fr}} ==
=== Navdêr ===
{{navdêr|fr|z=n}}
# {{mijar|fr|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|fr|ker}}
== {{ziman|nrf}} ==
=== Navdêr ===
{{navdêr|nrf|z=n}}
# {{mijar|nrf|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|nrf|ker}}
kgtlt58vhg2zjl2k4b115lkn2i4iet8
ಕತ್ತೆ
0
1052066
6342037
5299047
2026-08-24T13:01:14Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342037
wikitext
text/x-wiki
== {{ziman|kn}} ==
=== Navdêr ===
{{navdêr|kn}}
# {{mijar|kn|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|kn|ker}}
sm7dqlhv2x6a5xmaa48kroe3ikw5k6j
ვირი
0
1052069
6342067
6001155
2026-08-24T13:02:22Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342067
wikitext
text/x-wiki
== {{ziman|ka}} ==
=== Bilêvkirin ===
* {{deng|ka|LL-Q8108 (kat)-Jana (Guilhelma)-ვირი.wav|Deng|dever=}}
=== Navdêr ===
{{navdêr|ka}}
# {{mijar|ka|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ka|ker}}
i61l7qiqw5v668djhyljk9uvjp3mjvw
asni
0
1052070
6342029
5299334
2026-08-24T13:00:56Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342029
wikitext
text/x-wiki
== {{ziman|fo}} ==
=== Navdêr ===
{{navdêr|fo}}
# {{mijar|fo|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|fo|ker}}
== {{ziman|is}} ==
=== Navdêr ===
{{navdêr|is}}
# {{mijar|is|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|is|ker}}
qzt7i045r8cp4xgstqqf0vbb1mpko7l
गधा
0
1052073
6341970
5299059
2026-08-24T12:58:38Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341970
wikitext
text/x-wiki
== {{ziman|hi}} ==
=== Navdêr ===
{{navdêr|hi|z=n}}
# {{mijar|hi|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|hi|ker}}
79ylng559trjfwmqk2z229lofuy48n8
burro
0
1052075
6342013
5333429
2026-08-24T13:00:14Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342013
wikitext
text/x-wiki
== {{ziman|gl}} ==
=== Navdêr ===
{{navdêr|gl}}
# {{mijar|gl|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|gl|ker}}
== {{ziman|it}} ==
=== Navdêr ===
{{navdêr|it|z=n}}
# {{mijar|it|xwarin}} {{g|ku|nîvişk}}
=== Çavkanî ===
{{rûpela wergerê|it|nîvişk}}
== {{ziman|ca}} ==
=== Navdêr ===
{{navdêr|ca|z=n}}
# {{mijar|ca|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ca|ker}}
== {{ziman|lmo}} ==
=== Navdêr ===
{{navdêr|lmo}}
# {{mijar|lmo|xwarin}} {{g|ku|nîvişk}}
=== Çavkanî ===
{{rûpela wergerê|lmo|nîvişk}}
== {{ziman|pt}} ==
=== Navdêr ===
{{navdêr|pt|z=n}}
# {{mijar|pt|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|pt|ker}}
== {{ziman|es}} ==
=== Navdêr ===
{{navdêr|es|z=n}}
# {{mijar|es|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|es|ker}}
s7pfmqg8lvhgqg8g1pqrx8b01v2rbx8
punda
0
1052076
6342106
5299391
2026-08-24T13:03:56Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342106
wikitext
text/x-wiki
== {{ziman|luo}} ==
=== Navdêr ===
{{navdêr|luo}}
# {{mijar|luo|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|luo|ker}}
== {{ziman|sw}} ==
=== Navdêr ===
{{navdêr|sw}}
# {{mijar|sw|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sw|ker}}
f6jc68mcu2yw7u3hu5qj62k97e550tq
გირინი
0
1052078
6342064
5299066
2026-08-24T13:02:15Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342064
wikitext
text/x-wiki
== {{ziman|xmf}} ==
=== Navdêr ===
{{navdêr|xmf}}
# {{mijar|xmf|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|xmf|ker}}
8v3mggmztxor502vs5ikjda29xfexp5
ᩃᩣ
0
1052080
6342141
5299068
2026-08-24T13:05:12Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342141
wikitext
text/x-wiki
== {{ziman|khb}} ==
=== Navdêr ===
{{navdêr|khb}}
# {{mijar|khb|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|khb|ker}}
pt0pfzlfw1cc1xmhq3alz1fhmn3pm92
harreta
0
1052081
6342092
5299070
2026-08-24T13:03:11Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342092
wikitext
text/x-wiki
== {{ziman|ktb}} ==
=== Navdêr ===
{{navdêr|ktb}}
# {{mijar|ktb|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ktb|ker}}
3ful1xniuwixff6smfwzeujo14vly75
ลา
0
1052083
6341924
5299072
2026-08-24T12:56:51Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341924
wikitext
text/x-wiki
== {{ziman|th}} ==
=== Navdêr ===
{{navdêr|th}}
# {{mijar|th|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|th|ker}}
ph5zwq8xf5nimsixd96qmi0xneg580q
గాడిద
0
1052085
6342020
5299076
2026-08-24T13:00:36Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342020
wikitext
text/x-wiki
== {{ziman|te}} ==
=== Navdêr ===
{{navdêr|te}}
# {{mijar|te|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|te|ker}}
ra6ri7493sda0wgutxhg7y2e1ah7mhk
jaki
0
1052087
6342026
5299078
2026-08-24T13:00:49Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342026
wikitext
text/x-wiki
== {{ziman|ha}} ==
=== Navdêr ===
{{navdêr|ha}}
# {{mijar|ha|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ha|ker}}
8f6yah47qq184vgn7osyodo1hzpagfy
asilas
0
1052088
6342054
5299080
2026-08-24T13:01:54Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342054
wikitext
text/x-wiki
== {{ziman|lt}} ==
=== Navdêr ===
{{navdêr|lt|z=n}}
# {{mijar|lt|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|lt|ker}}
froddlejfijo54jpto0yegfrppfp11x
गाढव
0
1052090
6342136
5299082
2026-08-24T13:05:00Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342136
wikitext
text/x-wiki
== {{ziman|mr}} ==
=== Navdêr ===
{{navdêr|mr|z=n}}
# {{mijar|mr|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|mr|ker}}
2i0gvmqkanmwycubuyitey3hgd1s5b8
Iesel
0
1052092
6342148
5999926
2026-08-24T13:05:29Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342148
wikitext
text/x-wiki
== {{ziman|lb}} ==
=== Bilêvkirin ===
* {{deng|lb|LL-Q9051 (ltz)-Procrastineur49-Iesel.wav|Deng|dever=Lûksembûrg}}
=== Navdêr ===
{{navdêr|lb|z=n}}
# {{mijar|lb|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|lb|ker}}
1vzbhb8u4ax7vc0yl6yo6t532ybatgd
assyl
0
1052095
6342044
5299088
2026-08-24T13:01:31Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342044
wikitext
text/x-wiki
== {{ziman|gv}} ==
=== Navdêr ===
{{navdêr|gv|z=n}}
# {{mijar|gv|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|gv|ker}}
3tw3z14tv9bevyo6d7flq1joszykr2x
ჯორი
0
1052097
6342021
5299090
2026-08-24T13:00:38Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342021
wikitext
text/x-wiki
== {{ziman|ka}} ==
=== Navdêr ===
{{navdêr|ka}}
# {{mijar|ka|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ka|ker}}
syscxf8lnhk11asntio9unzcwfuueop
szamár
0
1052099
6341946
5299092
2026-08-24T12:57:46Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341946
wikitext
text/x-wiki
== {{ziman|hu}} ==
=== Navdêr ===
{{navdêr|hu}}
# {{mijar|hu|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|hu|ker}}
pgo2h782i2ufu5sj4563rl9b804ox9z
കഴുത
0
1052101
6342149
5299094
2026-08-24T13:05:31Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342149
wikitext
text/x-wiki
== {{ziman|ml}} ==
=== Navdêr ===
{{navdêr|ml}}
# {{mijar|ml|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ml|ker}}
epurby2bqnyp24xwy1r6aisn5yiieop
ħmar
0
1052102
6342128
5299097
2026-08-24T13:04:41Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342128
wikitext
text/x-wiki
== {{ziman|mt}} ==
=== Navdêr ===
{{navdêr|mt|z=n}}
# {{mijar|mt|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|mt|ker}}
8fzxlg21cw9fs2v25a92vpm0omlbg7g
ეშეღი
0
1052104
6342016
5299099
2026-08-24T13:00:22Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342016
wikitext
text/x-wiki
== {{ziman|lzz}} ==
=== Navdêr ===
{{navdêr|lzz}}
# {{mijar|lzz|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|lzz|ker}}
0661n8yvqpbxhng9bb54ohud1xfj6f2
kāihe
0
1052107
6342139
5299102
2026-08-24T13:05:07Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342139
wikitext
text/x-wiki
== {{ziman|mi}} ==
=== Navdêr ===
{{navdêr|mi}}
# {{mijar|mi|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|mi|ker}}
be8r344q8c5gerkq4jtgnsc2fn8y46e
aezel
0
1052110
6342055
5299107
2026-08-24T13:01:56Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342055
wikitext
text/x-wiki
== {{ziman|li}} ==
=== Navdêr ===
{{navdêr|li}}
# {{mijar|li|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|li|ker}}
6nei7dy544sk9sm0q86tl0ofygdwwjj
mùldu’úna
0
1052112
6341936
5299109
2026-08-24T12:57:22Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341936
wikitext
text/x-wiki
== {{ziman|twf}} ==
=== Navdêr ===
{{navdêr|twf}}
# {{mijar|twf|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|twf|ker}}
b972f6ld2zd2whxjexo59f7uwozg1ei
ᡝᡳᡥᡝᠨ
0
1052115
6341967
5299113
2026-08-24T12:58:31Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341967
wikitext
text/x-wiki
== {{ziman|mnc}} ==
=== Navdêr ===
{{navdêr|mnc}}
# {{mijar|mnc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|mnc|ker}}
6r0cm89165kwfrdbvsvrnf849txhbwv
aɣyur
0
1052117
6341944
5299115
2026-08-24T12:57:41Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341944
wikitext
text/x-wiki
== {{ziman|rif}} ==
=== Navdêr ===
{{navdêr|rif|z=n}}
# {{mijar|rif|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rif|ker}}
j3qq1hi6z5idryt086kay97qa0l1voa
илжиг
0
1052120
6342007
5299119
2026-08-24T13:00:01Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342007
wikitext
text/x-wiki
== {{ziman|mn}} ==
=== Navdêr ===
{{navdêr|mn}}
# {{mijar|mn|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|mn|ker}}
qbikf9o5waxwvmngu0nc8km376tg8a6
کلداي
0
1052122
6341941
5299122
2026-08-24T12:57:34Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341941
wikitext
text/x-wiki
== {{ziman|ms}} ==
=== Navdêr ===
{{navdêr|ms}}
# {{mijar|ms|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ms|ker}}
6cbz2ahycqn86gy4kn70qetz86ften7
keldai
0
1052124
6341988
5299124
2026-08-24T12:59:18Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341988
wikitext
text/x-wiki
== {{ziman|ms}} ==
=== Navdêr ===
{{navdêr|ms}}
# {{mijar|ms|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ms|ker}}
6cbz2ahycqn86gy4kn70qetz86ften7
aɣyul
0
1052127
6341995
5299127
2026-08-24T12:59:31Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341995
wikitext
text/x-wiki
== {{ziman|kab}} ==
=== Navdêr ===
{{navdêr|kab|z=n}}
# {{mijar|kab|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|kab|ker}}
mj9vy34m0fc6uqykdwhc5uwjk2qjmvj
himar
0
1052128
6342043
5299130
2026-08-24T13:01:28Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342043
wikitext
text/x-wiki
== {{ziman|ms}} ==
=== Navdêr ===
{{navdêr|ms}}
# {{mijar|ms|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ms|ker}}
6cbz2ahycqn86gy4kn70qetz86ften7
keledai
0
1052130
6342087
5299364
2026-08-24T13:03:00Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342087
wikitext
text/x-wiki
== {{ziman|id}} ==
=== Navdêr ===
{{navdêr|id}}
# {{mijar|id|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|id|ker}}
== {{ziman|mel}} ==
=== Navdêr ===
{{navdêr|mel}}
# {{mijar|mel|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|mel|ker}}
7mh13vrsus7u4o2pj2xwq06ke1kdx2x
siutitooq
0
1052133
6341998
5299136
2026-08-24T12:59:38Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341998
wikitext
text/x-wiki
== {{ziman|kl}} ==
=== Navdêr ===
{{navdêr|kl}}
# {{mijar|kl|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|kl|ker}}
p4fw72zch7hse65ttqossy2ql0fepm0
ишме
0
1052136
6341943
5299139
2026-08-24T12:57:38Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341943
wikitext
text/x-wiki
== {{ziman|mdf}} ==
=== Navdêr ===
{{navdêr|mdf}}
# {{mijar|mdf|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|mdf|ker}}
3rylcrqw7068y8koeitmkd3ps7onf7p
اشك
0
1052139
6341940
5299142
2026-08-24T12:57:32Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341940
wikitext
text/x-wiki
== {{ziman|ota}} ==
=== Navdêr ===
{{navdêr|ota|tr=eşek}}
# {{mijar|ota|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ota|ker}}
hxx3ac7llk5kkzqz1o47yx9t3o0kyux
осёл
0
1052141
6342094
5299400
2026-08-24T13:03:16Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342094
wikitext
text/x-wiki
== {{ziman|mhr}} ==
=== Navdêr ===
{{navdêr|mhr}}
# {{mijar|mhr|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|mhr|ker}}
== {{ziman|ru}} ==
=== Navdêr ===
{{navdêr|ru|z=n}}
# {{mijar|ru|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ru|ker}}
== {{ziman|sah}} ==
=== Navdêr ===
{{navdêr|sah}}
# {{mijar|sah|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sah|ker}}
== {{ziman|udm}} ==
=== Navdêr ===
{{navdêr|udm}}
# {{mijar|udm|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|udm|ker}}
lmrsrg81d1hu5to2xhao156dqwspklh
хӕрӕг
0
1052148
6341964
5299154
2026-08-24T12:58:22Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341964
wikitext
text/x-wiki
== {{ziman|os}} ==
=== Navdêr ===
{{navdêr|os}}
# {{mijar|os|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|os|ker}}
jruxsr5mjn7jsv527pl5dtqqs2rl14g
eshak
0
1052152
6342038
5299160
2026-08-24T13:01:16Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342038
wikitext
text/x-wiki
== {{ziman|uz}} ==
=== Navdêr ===
{{navdêr|uz}}
# {{mijar|uz|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|uz|ker}}
lgc4adbpznqyjyx1i0ne8bad8h7jsnt
asål
0
1052155
6342060
5299163
2026-08-24T13:02:07Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342060
wikitext
text/x-wiki
== {{ziman|pox}} ==
=== Navdêr ===
{{navdêr|pox|z=n}}
# {{mijar|pox|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|pox|ker}}
dkyx2c1xy7090im7je4r8pz5dqll3ju
télii
0
1052157
6341942
5299166
2026-08-24T12:57:36Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341942
wikitext
text/x-wiki
== {{ziman|nv}} ==
=== Navdêr ===
{{navdêr|nv}}
# {{mijar|nv|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|nv|ker}}
ak5mz80i98seeimr12jkqmp648xp9as
ئېشەك
0
1052162
6342157
5299175
2026-08-24T13:05:48Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342157
wikitext
text/x-wiki
== {{ziman|ug}} ==
=== Navdêr ===
{{navdêr|ug}}
# {{mijar|ug|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ug|ker}}
qz6mr92g2w9y18789s1fnjuo61gyh3o
ਗਧਾ
0
1052164
6341922
5299178
2026-08-24T12:56:43Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341922
wikitext
text/x-wiki
== {{ziman|pa}} ==
=== Navdêr ===
{{navdêr|pa}}
# {{mijar|pa|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|pa|ker}}
lyewscegtxbblfveibyhx8i8813dm60
oślica
0
1052167
6342138
5299181
2026-08-24T13:05:05Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342138
wikitext
text/x-wiki
== {{ziman|pl}} ==
=== Navdêr ===
{{navdêr|pl|z=m}}
# {{mijar|pl|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|pl|ker}}
lnbu4dc8b2afvxeqziffwyuzi9u48ju
ଗଧ
0
1052170
6342069
5299184
2026-08-24T13:02:28Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342069
wikitext
text/x-wiki
== {{ziman|or}} ==
=== Navdêr ===
{{navdêr|or}}
# {{mijar|or|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|or|ker}}
fbjdnppms2d2dy59wqtsnqpqpuw1b4h
ciuccio
0
1052174
6342151
5299190
2026-08-24T13:05:35Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342151
wikitext
text/x-wiki
== {{ziman|nap}} ==
=== Navdêr ===
{{navdêr|nap}}
# {{mijar|nap|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|nap|ker}}
ik7cdtwbhn50imbsh5nvxfpgob5fexc
Äsel
0
1052177
6342109
5299193
2026-08-24T13:04:05Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342109
wikitext
text/x-wiki
== {{ziman|pdt}} ==
=== Navdêr ===
{{navdêr|pdt|z=n}}
# {{mijar|pdt|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|pdt|ker}}
98aw9mpfqxljj1exd5j4b5cvx5qrunk
jumento
0
1052180
6342154
5299387
2026-08-24T13:05:42Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342154
wikitext
text/x-wiki
== {{ziman|pt}} ==
=== Navdêr ===
{{navdêr|pt|z=n}}
# {{mijar|pt|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|pt|ker}}
== {{ziman|es}} ==
=== Navdêr ===
{{navdêr|es}}
# {{mijar|es|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|es|ker}}
gyf3tg04wamdv9l7qk28e67v73w0z8u
есек
0
1052183
6342010
5299199
2026-08-24T13:00:08Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342010
wikitext
text/x-wiki
== {{ziman|kk}} ==
=== Navdêr ===
{{navdêr|kk}}
# {{mijar|kk|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|kk|ker}}
k5crv00n85w5t8is2xwqpatos65ueas
jerico
0
1052185
6342081
5299202
2026-08-24T13:02:51Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342081
wikitext
text/x-wiki
== {{ziman|pt}} ==
=== Navdêr ===
{{navdêr|pt|z=n}}
# {{mijar|pt|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|pt|ker}}
t1eu8jw4niqwuudrt1f2nu340m96cha
jegue
0
1052188
6342062
5299205
2026-08-24T13:02:11Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342062
wikitext
text/x-wiki
== {{ziman|pt}} ==
=== Navdêr ===
{{navdêr|pt|z=n}}
# {{mijar|pt|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|pt|ker}}
t1eu8jw4niqwuudrt1f2nu340m96cha
gadrabha
0
1052190
6342093
5299208
2026-08-24T13:03:14Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342093
wikitext
text/x-wiki
== {{ziman|pi}} ==
=== Navdêr ===
{{navdêr|pi|z=n}}
# {{mijar|pi|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|pi|ker}}
1abrahu9znu7yi8sz67vqgnb9b8fju6
ослица
0
1052193
6342006
5299211
2026-08-24T12:59:59Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342006
wikitext
text/x-wiki
== {{ziman|ru}} ==
=== Navdêr ===
{{navdêr|ru|осли́ца|z=m}}
# {{mijar|ru|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ru|ker}}
3q9bztbxhonjqh0g0tw5ubyixv7f743
somera
0
1052198
6342134
5299220
2026-08-24T13:04:55Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342134
wikitext
text/x-wiki
== {{ziman|ca}} ==
=== Navdêr ===
{{navdêr|ca|z=m}}
# {{mijar|ca|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ca|ker}}
hnjisxlh6n5zva15mhecxo7kpq0yc69
ruca
0
1052200
6342153
5299223
2026-08-24T13:05:39Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342153
wikitext
text/x-wiki
== {{ziman|ca}} ==
=== Navdêr ===
{{navdêr|ca|z=m}}
# {{mijar|ca|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ca|ker}}
hnjisxlh6n5zva15mhecxo7kpq0yc69
òseł
0
1052203
6342012
5299226
2026-08-24T13:00:13Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342012
wikitext
text/x-wiki
== {{ziman|csb}} ==
=== Navdêr ===
{{navdêr|csb}}
# {{mijar|csb|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|csb|ker}}
bisy32hecjqm8nj13r20f1t7g705n3v
خَر
0
1052209
6341931
5299235
2026-08-24T12:57:09Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341931
wikitext
text/x-wiki
== {{ziman|ks}} ==
=== Navdêr ===
{{navdêr|ks|z=n}}
# {{mijar|ks|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ks|ker}}
ob6a8m0hyhc7d1o53wnhaq4jepsgdi7
wuru
0
1052211
6341987
5299238
2026-08-24T12:59:15Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341987
wikitext
text/x-wiki
== {{ziman|qu}} ==
=== Navdêr ===
{{navdêr|qu}}
# {{mijar|qu|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|qu|ker}}
5h4clps4fkaty8boxgus82nzqvg2n9z
ⲉⲱ
0
1052215
6342028
5299244
2026-08-24T13:00:53Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342028
wikitext
text/x-wiki
== {{ziman|cop}} ==
=== Navdêr ===
{{navdêr|cop}}
# {{mijar|cop|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|cop|ker}}
bejye73adlnw5950tw8p1stnfxsr5sg
magarka
0
1052217
6342103
5299247
2026-08-24T13:03:48Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342103
wikitext
text/x-wiki
== {{ziman|rom}} ==
=== Navdêr ===
{{navdêr|rom|z=m}}
# {{mijar|rom|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rom|ker}}
h4xvqxil90vojhsx1gat0rfvjj146j9
חמור
0
1052219
6341971
5299431
2026-08-24T12:58:41Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341971
wikitext
text/x-wiki
== {{ziman|he}} ==
=== Navdêr ===
{{navdêr|he|חֲמוֹר|tr=khamór|z=n}}
# {{mijar|he|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|he|ker}}
== {{ziman|yi}} ==
=== Navdêr ===
{{navdêr|yi|tr=khamer|z=n}}
# {{mijar|yi|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|yi|ker}}
sp78ac3n7n8dkywrcu0137bwbi6zlb2
אתון
0
1052222
6341985
5299253
2026-08-24T12:59:13Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341985
wikitext
text/x-wiki
== {{ziman|he}} ==
=== Navdêr ===
{{navdêr|he|אָתוֹן|tr=atón|z=m}}
# {{mijar|he|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|he|ker}}
45d7alw3t1etr84vt2wzi03haio1314
măgar
0
1052226
6342005
5299262
2026-08-24T12:59:56Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342005
wikitext
text/x-wiki
== {{ziman|ro}} ==
=== Navdêr ===
{{navdêr|ro|z=n}}
# {{mijar|ro|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ro|ker}}
olej6gsbne1f0jk4ike0qiapfhqjuhc
эшек
0
1052228
6342088
5299392
2026-08-24T13:03:02Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342088
wikitext
text/x-wiki
== {{ziman|krc}} ==
=== Navdêr ===
{{navdêr|krc|tr=eşek}}
# {{mijar|krc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|krc|ker}}
== {{ziman|ky}} ==
=== Navdêr ===
{{navdêr|ky}}
# {{mijar|ky|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ky|ker}}
cqd1toqm4sn4qxyp7tk7ugqsctmboal
müsc
0
1052230
6341955
5299270
2026-08-24T12:58:08Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341955
wikitext
text/x-wiki
== {{ziman|lld}} ==
=== Navdêr ===
{{navdêr|lld|z=n}}
# {{mijar|lld|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|lld|ker}}
5d70h9pvbqmuyidf8s5f6li9t1nt9nt
ginggong ginggong
0
1052231
6342052
5299272
2026-08-24T13:01:49Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342052
wikitext
text/x-wiki
== {{ziman|rop}} ==
=== Navdêr ===
{{navdêr|rop}}
# {{mijar|rop|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|rop|ker}}
1y2uetw9kkhvywu96kampc8brnx3v42
asinus
0
1052233
6342041
5299274
2026-08-24T13:01:23Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342041
wikitext
text/x-wiki
== {{ziman|la}} ==
=== Navdêr ===
{{navdêr|la|z=n}}
# {{mijar|la|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|la|ker}}
96sgr9ggi1agliyaqn258d10mhn8jmd
èsen
0
1052235
6342061
5299276
2026-08-24T13:02:09Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342061
wikitext
text/x-wiki
== {{ziman|lld}} ==
=== Navdêr ===
{{navdêr|lld|z=n}}
# {{mijar|lld|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|lld|ker}}
5d70h9pvbqmuyidf8s5f6li9t1nt9nt
당나귀
0
1052237
6342112
5299278
2026-08-24T13:04:11Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342112
wikitext
text/x-wiki
== {{ziman|ko}} ==
=== Navdêr ===
{{navdêr|ko}}
# {{mijar|ko|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ko|ker}}
nngbcyh60ryp6nwv00v3b6d866z2mli
ēzelis
0
1052238
6342105
5299280
2026-08-24T13:03:54Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342105
wikitext
text/x-wiki
== {{ziman|lv}} ==
=== Navdêr ===
{{navdêr|lv|z=n}}
# {{mijar|lv|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|lv|ker}}
1imv8jrynum063m6hv44iafubofpjk0
musciat
0
1052240
6342100
5299282
2026-08-24T13:03:39Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342100
wikitext
text/x-wiki
== {{ziman|lld}} ==
=== Navdêr ===
{{navdêr|lld|z=n}}
# {{mijar|lld|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|lld|ker}}
5d70h9pvbqmuyidf8s5f6li9t1nt9nt
asellus
0
1052242
6342039
5299284
2026-08-24T13:01:19Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342039
wikitext
text/x-wiki
== {{ziman|la}} ==
=== Navdêr ===
{{navdêr|la}}
# {{mijar|la|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|la|ker}}
gncmq9zw6ricizlxhjstd7pl1qrff54
ລາ
0
1052244
6342085
5299286
2026-08-24T13:02:55Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342085
wikitext
text/x-wiki
== {{ziman|lo}} ==
=== Navdêr ===
{{navdêr|lo}}
# {{mijar|lo|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|lo|ker}}
6rqx2l2cem6tw4ju32i8y0vgdxg9dfg
ມ້າລໍ
0
1052246
6342047
5299288
2026-08-24T13:01:37Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342047
wikitext
text/x-wiki
== {{ziman|lo}} ==
=== Navdêr ===
{{navdêr|lo}}
# {{mijar|lo|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|lo|ker}}
6rqx2l2cem6tw4ju32i8y0vgdxg9dfg
សត្វលា
0
1052247
6342098
5299290
2026-08-24T13:03:31Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342098
wikitext
text/x-wiki
== {{ziman|km}} ==
=== Navdêr ===
{{navdêr|km}}
# {{mijar|km|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|km|ker}}
imu5w57jqqq80y03bxr1u0o32ib7apn
ågne
0
1052248
6342108
5299292
2026-08-24T13:04:03Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342108
wikitext
text/x-wiki
== {{ziman|wa}} ==
=== Navdêr ===
{{navdêr|wa|z=m}}
# {{mijar|wa|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|wa|ker}}
07xf1faqbn9bknz41nha82qzikp5dlj
bourike
0
1052249
6342120
5299294
2026-08-24T13:04:27Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342120
wikitext
text/x-wiki
== {{ziman|wa}} ==
=== Navdêr ===
{{navdêr|wa|z=m}}
# {{mijar|wa|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|wa|ker}}
07xf1faqbn9bknz41nha82qzikp5dlj
លា
0
1052251
6341932
5299298
2026-08-24T12:57:11Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341932
wikitext
text/x-wiki
== {{ziman|km}} ==
=== Navdêr ===
{{navdêr|km}}
# {{mijar|km|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|km|ker}}
imu5w57jqqq80y03bxr1u0o32ib7apn
ågntea
0
1052252
6342058
5299302
2026-08-24T13:02:03Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342058
wikitext
text/x-wiki
== {{ziman|wa}} ==
=== Navdêr ===
{{navdêr|wa|z=n}}
# {{mijar|wa|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|wa|ker}}
kmmkdmk8472fhxsb2ss363jf39pcmpk
mbaam-sëf
0
1052254
6342048
5299304
2026-08-24T13:01:39Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342048
wikitext
text/x-wiki
== {{ziman|wo}} ==
=== Navdêr ===
{{navdêr|wo}}
# {{mijar|wo|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|wo|ker}}
eij5zikt1nggfjp0yuwcb4kyk4bgake
බූරුවා
0
1052255
6341929
5299306
2026-08-24T12:57:04Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341929
wikitext
text/x-wiki
== {{ziman|si}} ==
=== Navdêr ===
{{navdêr|si}}
# {{mijar|si|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|si|ker}}
kub7oq4pt0sj42y7ai73rx2e6oih9yr
ኣድጊ
0
1052256
6342118
5299308
2026-08-24T13:04:23Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342118
wikitext
text/x-wiki
== {{ziman|ti}} ==
=== Navdêr ===
{{navdêr|ti}}
# {{mijar|ti|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ti|ker}}
btzgtb5euehbt0lzagtpd7d6bl78dtg
både
0
1052258
6342123
5299310
2026-08-24T13:04:31Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342123
wikitext
text/x-wiki
== {{ziman|wa}} ==
=== Navdêr ===
{{navdêr|wa|z=m}}
# {{mijar|wa|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|wa|ker}}
07xf1faqbn9bknz41nha82qzikp5dlj
imbongolo
0
1052260
6342070
5299360
2026-08-24T13:02:30Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342070
wikitext
text/x-wiki
== {{ziman|xh}} ==
=== Navdêr ===
{{navdêr|xh}}
# {{mijar|xh|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|xh|ker}}
== {{ziman|zu}} ==
=== Navdêr ===
{{navdêr|zu}}
# {{mijar|zu|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|zu|ker}}
pfu9i0eyrmsjga6gsdoe32snginzl84
магарац
0
1052262
6342160
5299314
2026-08-24T13:05:55Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342160
wikitext
text/x-wiki
== {{ziman|sh}} ==
=== Navdêr ===
{{navdêr|sh|ма̀гарац|z=n}}
# {{mijar|sh|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sh|ker}}
1f8sqd7q5w7iafwuccl7riyfw650il1
товар
0
1052263
6342132
6020023
2026-08-24T13:04:49Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342132
wikitext
text/x-wiki
== {{ziman|bg}} ==
=== Navdêr ===
{{navdêr|bg|това́р|z=n}}
# {{g|ku|bar}}, {{g|ku|piştî}}
=== Çavkanî ===
{{rûpela wergerê|bg|piştî}}
== {{ziman|ky}} ==
=== Navdêr ===
{{navdêr|ky}}
# {{g|ku|kelûpel}}, {{g|ku|eşya}}, {{g|ku|tişt}}
#* {{bêmînak|ky}}
=== Çavkanî ===
{{rûpela wergerê|ky|kelûpel}}
== {{ziman|mk}} ==
=== Navdêr ===
{{navdêr|mk|z=n}}
# {{g|ku|bar}}, {{g|ku|piştî}}
=== Çavkanî ===
{{rûpela wergerê|mk|piştî}}
== {{ziman|ru}} ==
=== Navdêr ===
{{navdêr|ru|това́р|z=n}}
# {{g|ku|kelûpel}}, {{g|ku|eşya}}, {{g|ku|tişt}}
#* {{bêmînak|ru}}
=== Çavkanî ===
{{rûpela wergerê|ru|kelûpel}}
== {{ziman|sh}} ==
=== Navdêr ===
{{navdêr|sh|то̀вар|z=n}}
# {{mijar|sh|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sh|ker}}
== {{ziman|uk}} ==
=== Navdêr ===
{{navdêr|uk|това́р|z=n}}
# {{g|ku|kelûpel}}, {{g|ku|eşya}}, {{g|ku|tişt}}
#* {{bêmînak|uk}}
=== Çavkanî ===
{{rûpela wergerê|uk|kelûpel}}
ldc08zb1we4mjzv0vq66zgd2rkpr6wv
осьлъ
0
1052264
6342099
5299326
2026-08-24T13:03:33Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342099
wikitext
text/x-wiki
== {{ziman|cu}} ==
=== Navdêr ===
{{navdêr|cu|z=n}}
# {{mijar|cu|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|cu|ker}}
== {{ziman|orv}} ==
=== Navdêr ===
{{navdêr|orv|z=n}}
# {{mijar|orv|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|orv|ker}}
pley5wn2l7z30lofi95w8i5rxactt8c
asyn
0
1052265
6342089
5299320
2026-08-24T13:03:04Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342089
wikitext
text/x-wiki
== {{ziman|cy}} ==
=== Navdêr ===
{{navdêr|cy|z=n}}
# {{mijar|cy|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|cy|ker}}
scqamgyb5cw5qmrqlpyu1ilrttlpkc2
magarac
0
1052266
6342090
5299322
2026-08-24T13:03:06Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342090
wikitext
text/x-wiki
== {{ziman|sh}} ==
=== Navdêr ===
{{navdêr|sh|màgarac|z=n}}
# {{mijar|sh|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sh|ker}}
mq9stt7ofqbfzlqsqc643lvqja5s525
tovar
0
1052267
6342161
6020012
2026-08-24T13:05:57Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342161
wikitext
text/x-wiki
== {{ziman|uz}} ==
=== Navdêr ===
{{navdêr|uz}}
# {{g|ku|kelûpel}}, {{g|ku|eşya}}, {{g|ku|tişt}}
#* {{bêmînak|uz}}
=== Çavkanî ===
{{rûpela wergerê|uz|kelûpel}}
== {{ziman|sh}} ==
=== Navdêr ===
{{navdêr|sh|tòvar|z=n}}
# {{mijar|sh|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sh|ker}}
== {{ziman|sk}} ==
=== Navdêr ===
{{navdêr|sk|z=n}}
# {{g|ku|kelûpel}}, {{g|ku|eşya}}, {{g|ku|tişt}}
#* {{bêmînak|sk}}
=== Çavkanî ===
{{rûpela wergerê|sk|kelûpel}}
qdtqd5k24zf2lun6y36a2w2sndi6sb3
ишак
0
1052270
6341945
5299407
2026-08-24T12:57:44Z
Balyozbot
7867
sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341945
wikitext
text/x-wiki
== {{ziman|ru}} ==
=== Navdêr ===
{{navdêr|ru|иша́к|z=n}}
# {{mijar|ru|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ru|ker}}
== {{ziman|udm}} ==
=== Navdêr ===
{{navdêr|udm}}
# {{mijar|udm|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|udm|ker}}
msd0crtpxq9tb0uv1bogv7his3cjbdv
samèri
0
1052272
6342015
5299330
2026-08-24T13:00:19Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342015
wikitext
text/x-wiki
== {{ziman|ist}} ==
=== Navdêr ===
{{navdêr|ist}}
# {{mijar|ist|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ist|ker}}
gmts1acrej14xmkp94fnoh4syolyzca
buricco
0
1052274
6342004
5299332
2026-08-24T12:59:53Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342004
wikitext
text/x-wiki
== {{ziman|it}} ==
=== Navdêr ===
{{navdêr|it|z=n}}
# {{mijar|it|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|it|ker}}
4ucg5v82oghryjxwfqn825nm2lzdaba
moshok'o
0
1052278
6341965
5299338
2026-08-24T12:58:25Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341965
wikitext
text/x-wiki
== {{ziman|zun}} ==
=== Navdêr ===
{{navdêr|zun}}
# {{mijar|zun|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|zun|ker}}
mj9ds14n07xowpjkxnbi46xt162dyck
驢馬
0
1052279
6342147
5299340
2026-08-24T13:05:27Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342147
wikitext
text/x-wiki
== {{ziman|ja}} ==
=== Navdêr ===
{{navdêr|ja|tr=ろば, roba}}
# {{mijar|ja|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ja|ker}}
projiziqdneef6nkqrrbt0dv2btvf28
ásen
0
1052281
6342076
5299344
2026-08-24T13:02:39Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342076
wikitext
text/x-wiki
== {{ziman|se}} ==
=== Navdêr ===
{{navdêr|se}}
# {{mijar|se|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|se|ker}}
kykve2j1ojqcd1vpx2smfbxhhx41epg
udonki
0
1052282
6342119
5299346
2026-08-24T13:04:25Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342119
wikitext
text/x-wiki
== {{ziman|zu}} ==
=== Navdêr ===
{{navdêr|zu}}
# {{mijar|zu|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|zu|ker}}
7kx51eet84c4am4un2alg5dqsys1ddy
tonki
0
1052284
6341975
5299348
2026-08-24T12:58:49Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341975
wikitext
text/x-wiki
== {{ziman|st}} ==
=== Navdêr ===
{{navdêr|st}}
# {{mijar|st|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|st|ker}}
fv3y6gla56vyfhz73ef105cpviivcev
åsna
0
1052286
6342146
5299350
2026-08-24T13:05:25Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342146
wikitext
text/x-wiki
== {{ziman|sv}} ==
=== Navdêr ===
{{navdêr|sv}}
# {{mijar|sv|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sv|ker}}
sjkj81czgcawtug2r8ddj9htbqog7g6
donki
0
1052288
6342051
5299354
2026-08-24T13:01:47Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342051
wikitext
text/x-wiki
== {{ziman|tpi}} ==
=== Navdêr ===
{{navdêr|tpi}}
# {{mijar|tpi|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|tpi|ker}}
i9fobrl3158nhlofy4cy6kpjcfwwka2
esol
0
1052294
6342063
5299366
2026-08-24T13:02:13Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342063
wikitext
text/x-wiki
== {{ziman|ang}} ==
=== Navdêr ===
{{navdêr|ang|z=n}}
# {{mijar|ang|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ang|ker}}
c2ea91ny5xzmny50y0cthtpblj7oibn
गर्दभ
0
1052296
6341939
5299370
2026-08-24T12:57:30Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341939
wikitext
text/x-wiki
== {{ziman|sa}} ==
=== Navdêr ===
{{navdêr|sa|z=n}}
# {{mijar|sa|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sa|ker}}
bpjs4ipnih4doaiztirh4ngpgnjg8qv
ciuco
0
1052298
6341977
5299372
2026-08-24T12:58:55Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341977
wikitext
text/x-wiki
== {{ziman|it}} ==
=== Navdêr ===
{{navdêr|it}}
# {{mijar|it|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|it|ker}}
2q9o6p497bxmus3yfzpu1iytlf8ue3x
나귀
0
1052301
6341974
5299375
2026-08-24T12:58:46Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341974
wikitext
text/x-wiki
== {{ziman|ko}} ==
=== Navdêr ===
{{navdêr|ko}}
# {{mijar|ko|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ko|ker}}
nngbcyh60ryp6nwv00v3b6d866z2mli
asnu
0
1052302
6342131
5299376
2026-08-24T13:04:47Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342131
wikitext
text/x-wiki
== {{ziman|qu}} ==
=== Navdêr ===
{{navdêr|qu}}
# {{mijar|qu|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|qu|ker}}
5h4clps4fkaty8boxgus82nzqvg2n9z
kercapo
0
1052304
6341957
5299378
2026-08-24T12:58:11Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341957
wikitext
text/x-wiki
== {{ziman|txb}} ==
=== Navdêr ===
{{navdêr|txb}}
# {{mijar|txb|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|txb|ker}}
9qwvs6ez3xgfagndt52yuu2bjqap55v
ruc
0
1052308
6342027
5299383
2026-08-24T13:00:51Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342027
wikitext
text/x-wiki
== {{ziman|ca}} ==
=== Navdêr ===
{{navdêr|ca|z=n}}
# {{mijar|ca|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ca|ker}}
9lalwdzkgyjldijorl0n22us6bcebe0
osoł
0
1052311
6342155
5299389
2026-08-24T13:05:44Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342155
wikitext
text/x-wiki
== {{ziman|csb}} ==
=== Navdêr ===
{{navdêr|csb|z=n}}
# {{mijar|csb|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|csb|ker}}
kd4c08q0nt3e3xgia56ovpmd7o4mfmc
asini
0
1052312
6342124
5299390
2026-08-24T13:04:33Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342124
wikitext
text/x-wiki
== {{ziman|sm}} ==
=== Navdêr ===
{{navdêr|sm}}
# {{mijar|sm|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sm|ker}}
eoynjrxs7t6likypb4tp7746xc07p6w
buriko
0
1052313
6342059
5299393
2026-08-24T13:02:05Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342059
wikitext
text/x-wiki
== {{ziman|tl}} ==
=== Navdêr ===
{{navdêr|tl}}
# {{mijar|tl|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|tl|ker}}
7ep5d0bs6afgq4z0neznhdyu2c5bw2t
ὄνος
0
1052314
6342003
5299395
2026-08-24T12:59:51Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342003
wikitext
text/x-wiki
== {{ziman|grc}} ==
=== Navdêr ===
{{navdêr|grc|z=m}}
# {{mijar|grc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|grc|ker}}
9ncr22ifq76upztal66hvhcuv2vdzii
елем
0
1052315
6341996
5299397
2026-08-24T12:59:34Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341996
wikitext
text/x-wiki
== {{ziman|udi}} ==
=== Navdêr ===
{{navdêr|udi}}
# {{mijar|udi|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|udi|ker}}
dshva049xda6a9n0xf91kqlyskdlo7i
àinu
0
1052316
6342096
5299401
2026-08-24T13:03:22Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342096
wikitext
text/x-wiki
== {{ziman|sc}} ==
=== Navdêr ===
{{navdêr|sc}}
# {{mijar|sc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sc|ker}}
4u55d45zlkamo96dobm5io1wn2sbn25
கழுதை
0
1052317
6341948
5299402
2026-08-24T12:57:53Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341948
wikitext
text/x-wiki
== {{ziman|ta}} ==
=== Navdêr ===
{{navdêr|ta}}
# {{mijar|ta|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ta|ker}}
sjgvyelktmjew32efudsbhggkyuoiwr
bestiolu
0
1052318
6342156
5299403
2026-08-24T13:05:46Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342156
wikitext
text/x-wiki
== {{ziman|sc}} ==
=== Navdêr ===
{{navdêr|sc}}
# {{mijar|sc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sc|ker}}
4u55d45zlkamo96dobm5io1wn2sbn25
somaro
0
1052319
6341990
5299404
2026-08-24T12:59:20Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341990
wikitext
text/x-wiki
== {{ziman|it}} ==
=== Navdêr ===
{{navdêr|it|z=n}}
# {{mijar|it|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|it|ker}}
4ucg5v82oghryjxwfqn825nm2lzdaba
ішак
0
1052320
6341983
5299405
2026-08-24T12:59:09Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341983
wikitext
text/x-wiki
== {{ziman|uk}} ==
=== Navdêr ===
{{navdêr|uk|іша́к|z=n}}
# {{mijar|uk|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|uk|ker}}
m6ypnd76i3nvrmvwepil10p6ujru44n
віслюк
0
1052321
6341938
5299406
2026-08-24T12:57:28Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341938
wikitext
text/x-wiki
== {{ziman|uk}} ==
=== Navdêr ===
{{navdêr|uk|віслю́к|z=n}}
# {{mijar|uk|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|uk|ker}}
4issn6agoakfgvhwpjtbpqu5ct1r77w
cuk
0
1052322
6341958
5299408
2026-08-24T12:58:13Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341958
wikitext
text/x-wiki
== {{ziman|vo}} ==
=== Navdêr ===
{{navdêr|vo}}
# {{mijar|vo|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|vo|ker}}
lphwi2eaqspy7enkk6udogyp38hl9sq
элчиген
0
1052323
6342009
5299409
2026-08-24T13:00:06Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342009
wikitext
text/x-wiki
== {{ziman|tyv}} ==
=== Navdêr ===
{{navdêr|tyv}}
# {{mijar|tyv|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|tyv|ker}}
0z8rlw6wlx37vdjggcvkunmtf10gyxj
bistrassu
0
1052324
6341934
5299410
2026-08-24T12:57:16Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341934
wikitext
text/x-wiki
== {{ziman|sc}} ==
=== Navdêr ===
{{navdêr|sc}}
# {{mijar|sc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sc|ker}}
4u55d45zlkamo96dobm5io1wn2sbn25
molènti
0
1052325
6341951
5299411
2026-08-24T12:57:58Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341951
wikitext
text/x-wiki
== {{ziman|sc}} ==
=== Navdêr ===
{{navdêr|sc}}
# {{mijar|sc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sc|ker}}
4u55d45zlkamo96dobm5io1wn2sbn25
osol
0
1052326
6341930
5299412
2026-08-24T12:57:07Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341930
wikitext
text/x-wiki
== {{ziman|sk}} ==
=== Navdêr ===
{{navdêr|sk|z=n}}
# {{mijar|sk|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sk|ker}}
5o4t8ulrmlojutfmdayxma879lrn6or
àxeno
0
1052327
6342030
5299413
2026-08-24T13:00:58Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342030
wikitext
text/x-wiki
== {{ziman|vec}} ==
=== Navdêr ===
{{navdêr|vec|z=n}}
# {{mijar|vec|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|vec|ker}}
h6ffounkg8dyybzffbv05axudf96lmj
བོང་བུ
0
1052328
6342066
5299415
2026-08-24T13:02:19Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342066
wikitext
text/x-wiki
== {{ziman|bo}} ==
=== Navdêr ===
{{navdêr|bo}}
# {{mijar|bo|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|bo|ker}}
r9rkkokkpj17qo0qfqhmwkze9aurktb
lừa
0
1052329
6342101
5299416
2026-08-24T13:03:44Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342101
wikitext
text/x-wiki
== {{ziman|vi}} ==
=== Navdêr ===
{{navdêr|vi}}
# {{mijar|vi|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|vi|ker}}
3rm4a8zbtfzifs1mxhwln9e85n7psz9
oslica
0
1052330
6341953
5299417
2026-08-24T12:58:00Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341953
wikitext
text/x-wiki
== {{ziman|sl}} ==
=== Navdêr ===
{{navdêr|sl|z=m}}
# {{mijar|sl|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sl|ker}}
aop59gfqy42uwsvs840juaeri6kfj1u
somár
0
1052331
6342017
5299418
2026-08-24T13:00:26Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342017
wikitext
text/x-wiki
== {{ziman|sk}} ==
=== Navdêr ===
{{navdêr|sk|z=n}}
# {{mijar|sk|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sk|ker}}
5o4t8ulrmlojutfmdayxma879lrn6or
گدھا
0
1052332
6342074
5299419
2026-08-24T13:02:35Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342074
wikitext
text/x-wiki
== {{ziman|ur}} ==
=== Navdêr ===
{{navdêr|ur|tr=gadhā|z=n}}
# {{mijar|ur|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|ur|ker}}
thswgrm3mp4s4g6od4fcghejcny7vlo
bådet
0
1052333
6341993
5299420
2026-08-24T12:59:26Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341993
wikitext
text/x-wiki
== {{ziman|wa}} ==
=== Navdêr ===
{{navdêr|wa|z=n}}
# {{mijar|wa|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|wa|ker}}
kmmkdmk8472fhxsb2ss363jf39pcmpk
dameer
0
1052334
6342143
5299421
2026-08-24T13:05:19Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342143
wikitext
text/x-wiki
== {{ziman|so}} ==
=== Navdêr ===
{{navdêr|so|z=n}}
# {{mijar|so|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|so|ker}}
7okqa8ojpd7z23g0wvc2rcruagkm4if
molenti
0
1052335
6341973
5299423
2026-08-24T12:58:43Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341973
wikitext
text/x-wiki
== {{ziman|sc}} ==
=== Navdêr ===
{{navdêr|sc}}
# {{mijar|sc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sc|ker}}
4u55d45zlkamo96dobm5io1wn2sbn25
wósoł
0
1052336
6342114
5299424
2026-08-24T13:04:15Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342114
wikitext
text/x-wiki
== {{ziman|dsb}} ==
=== Navdêr ===
{{navdêr|dsb|z=n}}
# {{mijar|dsb|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|dsb|ker}}
bsts9a6leeqaw9njlyvql54rmnmhcvs
burriccu
0
1052337
6342022
5299425
2026-08-24T13:00:41Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342022
wikitext
text/x-wiki
== {{ziman|sc}} ==
=== Navdêr ===
{{navdêr|sc}}
# {{mijar|sc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sc|ker}}
4u55d45zlkamo96dobm5io1wn2sbn25
אייזל
0
1052338
6342144
5299426
2026-08-24T13:05:21Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342144
wikitext
text/x-wiki
== {{ziman|yi}} ==
=== Navdêr ===
{{navdêr|yi|z=n}}
# {{mijar|yi|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|yi|ker}}
4u4tfr0qnfbf1nshn9vav6sqz0rdnku
wosoł
0
1052339
6341950
5299427
2026-08-24T12:57:56Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341950
wikitext
text/x-wiki
== {{ziman|hsb}} ==
=== Navdêr ===
{{navdêr|hsb|z=n}}
# {{mijar|hsb|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|hsb|ker}}
3c9b4br1bhqxeh9wd87jrcf98rtbeab
polléddu
0
1052340
6342122
5299428
2026-08-24T13:04:29Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342122
wikitext
text/x-wiki
== {{ziman|sc}} ==
=== Navdêr ===
{{navdêr|sc}}
# {{mijar|sc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sc|ker}}
4u55d45zlkamo96dobm5io1wn2sbn25
poleddu
0
1052341
6342080
5299429
2026-08-24T13:02:48Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342080
wikitext
text/x-wiki
== {{ziman|sc}} ==
=== Navdêr ===
{{navdêr|sc}}
# {{mijar|sc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sc|ker}}
4u55d45zlkamo96dobm5io1wn2sbn25
sceccu
0
1052342
6341968
5299430
2026-08-24T12:58:34Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341968
wikitext
text/x-wiki
== {{ziman|scn}} ==
=== Navdêr ===
{{navdêr|scn|z=n}}
# {{mijar|scn|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|scn|ker}}
c44c65x4830j0qw7wtkynnrs5npb9vf
molingianu
0
1052343
6342082
5299432
2026-08-24T13:02:53Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342082
wikitext
text/x-wiki
== {{ziman|sc}} ==
=== Navdêr ===
{{navdêr|sc}}
# {{mijar|sc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sc|ker}}
4u55d45zlkamo96dobm5io1wn2sbn25
γαϊδούρα
0
1052344
6342057
5299433
2026-08-24T13:02:00Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342057
wikitext
text/x-wiki
== {{ziman|el}} ==
=== Navdêr ===
{{navdêr|el|z=m}}
# {{mijar|el|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|el|ker}}
a4lmiij5jxw5c6cdlqkn17wsxur5imw
όνος
0
1052345
6342008
5299434
2026-08-24T13:00:03Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342008
wikitext
text/x-wiki
== {{ziman|el}} ==
=== Navdêr ===
{{navdêr|el|z=m}}
# {{mijar|el|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|el|ker}}
a4lmiij5jxw5c6cdlqkn17wsxur5imw
kẹtẹkẹtẹ
0
1052346
6342019
5299435
2026-08-24T13:00:28Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342019
wikitext
text/x-wiki
== {{ziman|yo}} ==
=== Navdêr ===
{{navdêr|yo|kẹ́tẹ́kẹ́tẹ́}}
# {{mijar|yo|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|yo|ker}}
87s8zu34m6rbl646ibeqxlrapwfw20i
گڏھ
0
1052347
6341923
5299436
2026-08-24T12:56:48Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341923
wikitext
text/x-wiki
== {{ziman|sd}} ==
=== Navdêr ===
{{navdêr|sd|tr=gaḋahu}}
# {{mijar|sd|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sd|ker}}
nro2c5o5o2m18gvee1h54opn6ealb4h
γάιδαρος
0
1052348
6341992
5299437
2026-08-24T12:59:24Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341992
wikitext
text/x-wiki
== {{ziman|el}} ==
=== Navdêr ===
{{navdêr|el|z=n}}
# {{mijar|el|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|el|ker}}
j1kl2smkh93t648306uz59w3n0i5kh7
γαϊδούρι
0
1052349
6341921
5299439
2026-08-24T12:56:38Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6341921
wikitext
text/x-wiki
== {{ziman|el}} ==
=== Navdêr ===
{{navdêr|el|z=nt}}
# {{mijar|el|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|el|ker}}
8pe6cdam51yjuyt5g8o03s3mwmj50n7
pulléddu
0
1052350
6342065
5299440
2026-08-24T13:02:17Z
Balyozbot
7867
/* Navdêr */ sererastkirin [[Wîkîpediya:AutoWikiBrowser|AWB]]
6342065
wikitext
text/x-wiki
== {{ziman|sc}} ==
=== Navdêr ===
{{navdêr|sc}}
# {{mijar|sc|heywan}} {{g|ku|ker|id=dewarek}} {{îzaha maneyî|[[dewar]]ek [[şibîn|dişibe]] [[hesp]]an û [[hêstir]]an lê ji wan [[kurt]]tir û [[biçûk]]tir}}
=== Çavkanî ===
{{rûpela wergerê|sc|ker}}
4u55d45zlkamo96dobm5io1wn2sbn25
هەبوون
0
1287061
6342211
5951923
2026-08-24T20:08:31Z
Şêr
1103
mînak
6342211
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Lêker ===
{{lêker|ckb}}
# [[hebûn]]
#* {{mînak|ckb|من پرسیارێکم هەیە.|tr=Min pirsyarêkim heye.|werger=Pirseke min heye.}}
#* {{mînak|ckb|ئەو ئۆتۆمبێلێکی هەیە.|tr=Ew otombêlêkî heye.|werger=Otomobîleke wî heye.}}
#* {{mînak|ckb|من خوشک و برام هەیە.|tr=Min xuşk u biram heye.|werger=Xwişk û birayên min hene.}}
=== Navdêr ===
{{navdêr|ckb}}
# [[hebûn]]
nbpwq70r6voc6lrcut4ap748o5mdiou
پرۆژە
0
1287062
6342343
5951924
2026-08-25T08:05:24Z
Şêr
1103
6342343
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[proje]], [[plan]] (xebat û plana birêxistinkirî ya ji bo bidestxistina armanceke taybet di demek diyarkirî de)
#: {{mînak|ckb|ئێمە سەرقاڵی جێبەجێکردنی پرۆژەیەکی نوێین.|tr=Ême sergallî cêbecêkirdinî projeyekî nwêyn.|werger=Em bi pêkanîna projeyeke nû mijûl in.}}
#: {{mînak|ckb|ئەم پرۆژەیە لە مانگی داهاتوودا تەواو دەبێت.|tr=Em projeye le mangî dahatûda tewaw debêt.|werger=Ev proje di meha bê de temam dibe.}}
==== Hevmane ====
* {{g|ckb|پلان}}
==== Formên alternatîv ====
* {{g|ckb|پڕۆژە}}
==== Têkildar ====
* {{g|ckb|بودجە}}
* {{g|ckb|ئامانج}}
* {{g|ckb|جێبەجێکردن}}
* {{g|ckb|کار}}
oshmaki2aa7glthooc9fieonjqnj75i
6342350
6342343
2026-08-25T08:41:06Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342350
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[proje]], [[plan]] (xebat û plana birêxistinkirî ya ji bo bidestxistina armanceke taybet di demek diyarkirî de)
#: {{mînak|ckb|ئێمە سەرقاڵی جێبەجێکردنی پرۆژەیەکی نوێین.|tr=Ême sergallî cêbecêkirdinî projeyekî nwêyn.|werger=Em bi pêkanîna projeyeke nû mijûl in.}}
#: {{mînak|ckb|ئەم پرۆژەیە لە مانگی داهاتوودا تەواو دەبێت.|tr=Em projeye le mangî dahatûda tewaw debêt.|werger=Ev proje di meha bê de temam dibe.}}
==== Formên alternatîv ====
* {{g|ckb|پڕۆژە}}
==== Hevmane ====
* {{g|ckb|پلان}}
==== Têkildar ====
* {{g|ckb|بودجە}}
* {{g|ckb|ئامانج}}
* {{g|ckb|جێبەجێکردن}}
* {{g|ckb|کار}}
ai740ovw9elqzu81fo88040ajr9ns7x
سەرکەوتن
0
1324978
6342279
6058920
2026-08-24T22:46:15Z
Şêr
1103
6342279
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[serkeftin]], [[serfirazî]], [[serketin]] (gihîştina armancekê an bidestxistina encameke baş)
#: {{mînak|ckb|هیوای سەرکەوتنت بۆ دەخوازم.|tr=Hîway serkewtinit bo dexwazim.|werger=Hêviya serkeftinê ji bo te dixwazim.}}
#: {{mînak|ckb|ئەم پڕۆژەیە سەرکەوتنێکی گەورە بوو.|tr=Em pirojeye serkewtinêkî gewre bû.|werger=Ev proje serkeftineke mezin bû.}}
==== Dijmane ====
* {{g|ckb|شکست}}
* {{g|ckb|سەرنەکەوتن}}
==== Hevmane ====
* {{g|ckb|سەرفرازی}}
* {{g|ckb|سەرکەوتوویی}}
==== Têkildar ====
* {{g|ckb|سەرکەوتوو}}
* {{g|ckb|ئامانج}}
198ak4dx4y3u5vaib9aqqv9egeuj31v
6342317
6342279
2026-08-24T23:41:28Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342317
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[serkeftin]], [[serfirazî]], [[serketin]] (gihîştina armancekê an bidestxistina encameke baş)
#: {{mînak|ckb|هیوای سەرکەوتنت بۆ دەخوازم.|tr=Hîway serkewtinit bo dexwazim.|werger=Hêviya serkeftinê ji bo te dixwazim.}}
#: {{mînak|ckb|ئەم پڕۆژەیە سەرکەوتنێکی گەورە بوو.|tr=Em pirojeye serkewtinêkî gewre bû.|werger=Ev proje serkeftineke mezin bû.}}
==== Hevmane ====
* {{g|ckb|سەرفرازی}}
* {{g|ckb|سەرکەوتوویی}}
==== Dijmane ====
* {{g|ckb|شکست}}
* {{g|ckb|سەرنەکەوتن}}
==== Têkildar ====
* {{g|ckb|سەرکەوتوو}}
* {{g|ckb|ئامانج}}
ezz6wxfpkpbxkswl169c80x6gxl0h3u
Bikarhêner:Wikihez/skrîpt/js/Gadget-citoid-helper.js
2
1357853
6342539
6291574
2026-08-25T11:06:12Z
Wikihez
7344
6342539
javascript
text/javascript
/**
* Gadget-citoid-helper.js
*
* Amûreke hevpar ji bo standina daneyên çavkaniyê ji Citoid û
* veguherandina wan bo qadên şablonên jêder-* (jêder-kitêb, jêder-kovar, jêder-websîte, jêder-vîdeo).
*
* BIKARANÎN JI SCRIPTEKE DIN:
*
* 1) Riya herî baş: vê rûpelê wek dependency lê zêde bike di eyarên
* gadgeta xwe de li ser [[Special:Gadgets]] (an jî MediaWiki:Gadgets-definition),
* paşê:
*
* mw.loader.using("ext.gadget.citoid-helper").then(function () {
* wikt.citoid.fetchJederFields(url).then(function (result) {
* console.log(result.jederKey, result.fields);
* });
* });
*
* 2) An jî, heke ne mimkun be gadget bi vî awayî were qeydkirin, fonksiyona
* alîkar a `wikt.citoidHelper.ensure()` a li jêr bikar bîne, ku bixweber
* vê rûpelê bar dike heke jixwe nehatibe barkirin:
*
* wikt.citoidHelper.ensure().then(function () {
* wikt.citoid.fetchJederFields(url).then(...);
* });
*
* API ya `window.wikt.citoid`:
* - getRestUrl() → {string} URLya REST a Citoid a vê wîkiyê
* - yearFromDate(dateStr) → {string} sala (4 reqem) ji rêzikeke tarîxê
* - formatAuthors(authors) → {string} navên nivîskaran wek rêzikek yekane
* - typeToJederKey(itemType) → {string} "jêder-kitêb" / "jêder-kovar" / "jêder-websîte" / "jêder-vîdeo"
* - dataToJederFields(jederKey, data) → {Object<string,string>} merheleyên şablona jêder-*
* - fetchData(query) → {jQuery.Promise<Object>} daneya xam a Citoid
* - fetchJederFields(query) → {jQuery.Promise<{jederKey, fields, raw}>} hêsankirî
* - extractVideoTimestamp(urlStr) → {string} dema "t=" ya URLyeke vîdeoyê, wek "M:SS"/"H:MM:SS"
* - TYPE_TO_JEDER → {Object} xerîteya itemType → jederKey
*/
window.wikt = window.wikt || {};
(function () {
"use strict";
// Heke jixwe hatibe barkirin, dubare neke.
if (window.wikt.citoid) {
return;
}
// Xerîteya cureyên Citoid (itemType) li ser şablonên me yên jêder-*
var CITOID_TYPE_TO_JEDER = {
"book": "jêder-kitêb",
"bookSection": "jêder-kitêb",
"thesis": "jêder-kitêb",
"report": "jêder-kitêb",
"manuscript": "jêder-kitêb",
"journalArticle": "jêder-kovar",
"magazineArticle": "jêder-kovar",
"newspaperArticle": "jêder-kovar",
"webpage": "jêder-websîte",
"blogPost": "jêder-websîte",
"forumPost": "jêder-websîte",
"videoRecording": "jêder-vîdeo",
"podcast": "jêder-websîte",
"encyclopediaArticle": "jêder-websîte"
};
/**
* Ji mantiqa [[:en:w:User:BrandonXLF/Citoid.js]]
* Vedigere URLya REST a Citoid, li gorî eyarên vê wîkiyê.
* @return {string}
*/
function getRestUrl() {
var cfg = mw.config.get("wgCitoidConfig");
var vecfg = mw.config.get("wgVisualEditorConfig");
return (cfg && (cfg.fullRestbaseUrl || cfg.wbFullRestbaseUrl)) ? (cfg.fullRestbaseUrl || cfg.wbFullRestbaseUrl) + "v1/data/citation/mediawiki/"
: (vecfg && vecfg.fullRestbaseUrl) ? vecfg.fullRestbaseUrl + "v1/data/citation/mediawiki/"
: (cfg && cfg.citoidServiceUrl) ? cfg.citoidServiceUrl + "/mediawiki/"
: "https://ku.wiktionary.org/api/rest_v1/data/citation/mediawiki/";
}
/**
* Ji tarîxa Citoid (rêzik an tarîxeke ISO) sala wê (4 reqem) derdixe.
* @param dateStr {string}
* @return {string}
*/
function yearFromDate(dateStr) {
if (!dateStr) {
return "";
}
var match = /\d{4}/.exec(dateStr);
return match ? match[0] : "";
}
/**
* Navên nivîskaran ên Citoid (rêzek [pêşnav, paşnav]) dike rêzikek yekane.
* @param authors {Array<Array<string>>}
* @return {string}
*/
function formatAuthors(authors) {
if (!Array.isArray(authors)) {
return "";
}
return authors.map(function (pair) {
return (pair || []).filter(function (part) {
return !!part;
}).join(" ");
}).filter(function (name) {
return !!name;
}).join("; ");
}
function formatEditors(editors) {
if (!Array.isArray(editors)) {
return "";
}
return editors.map(function (pair) {
return (pair || []).filter(function (part) {
return !!part;
}).join(" ");
}).filter(function (name) {
return !!name;
}).join("; ");
}
/**
* Li gorî itemType a Citoid, navê şablona jêder-* a munasib vedigerîne.
* @param itemType {string}
* @return {string} Yek ji "jêder-kitêb", "jêder-kovar", "jêder-websîte" an "jêder-vîdeo".
*/
function typeToJederKey(itemType) {
return CITOID_TYPE_TO_JEDER[itemType] || "jêder-websîte";
}
/**
* Ji URLyeke vîdeoyê (parametreya "t", wek li YouTubeyê -- "2m17s" an jî tenê çirkeyan "137")
* dema destpêkê derdixe. Ji ber ku URLya safîkirî ya Citoid bi gelemperî vê parametreyê davêje,
* ev li ser URLya xwerû ya bikarhêner (_sourceURLInput) tê xebitandin, ne li ser data.url.
* @param urlStr {string}
* @return {string} Wek "M:SS" an "H:MM:SS", an jî rêzikeke vala eger tune be/neyê nasîn.
*/
function extractVideoTimestamp(urlStr) {
if (!urlStr) {
return "";
}
var match = /[?&]t=([^&]+)/.exec(urlStr);
if (!match) {
return "";
}
var raw = decodeURIComponent(match[1]);
var seconds;
if (/^\d+s?$/.test(raw)) {
seconds = parseInt(raw, 10);
} else {
var parts = /^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/.exec(raw);
if (!parts || (!parts[1] && !parts[2] && !parts[3])) {
return "";
}
seconds = (parseInt(parts[1] || "0", 10) * 3600) + (parseInt(parts[2] || "0", 10) * 60) + parseInt(parts[3] || "0", 10);
}
var h = Math.floor(seconds / 3600);
var m = Math.floor((seconds % 3600) / 60);
var s = seconds % 60;
var ss = s < 10 ? "0" + s : String(s);
return h > 0 ? (h + ":" + (m < 10 ? "0" + m : m) + ":" + ss) : (m + ":" + ss);
}
/**
* Daneyên Citoid vediguherîne tabloyeke parametreyên şablona jêder-* (li gorî cureyê wê).
* @param jederKey {string} Yek ji "jêder-kitêb", "jêder-kovar", "jêder-websîte" an "jêder-vîdeo".
* @param data {Object} Netîceya Citoid.
* @return {Object<string, string>}
*/
function dataToJederFields(jederKey, data) {
var out = {};
var author = formatAuthors(data.author);
var editor = formatEditors(data.editor);
if (author) { out["nivîskar"] = author; }
if (editor) { out["amadekar"] = editor; }
if (data.title) { out["sernav"] = data.title; }
if (data.url) { out.url = data.url; }
if (jederKey === "jêder-kitêb") {
if (data.publisher) { out["weşanxane"] = data.publisher; }
if (data.place) { out.cih = data.place; }
if (data.date) { out.sal = yearFromDate(data.date); }
if (data.ISBN) { out.isbn = Array.isArray(data.ISBN) ? data.ISBN[0] : data.ISBN; }
if (data.edition) { out["çap"] = data.edition; }
if (data.pages) { out["rûpel"] = data.pages; }
} else if (jederKey === "jêder-kovar") {
if (data.publicationTitle) { out.kovar = data.publicationTitle; }
if (data.publisher) { out["weşanxane"] = data.publisher; }
if (data.volume) { out.cild = data.volume; }
if (data.issue) { out.hejmar = data.issue; }
if (data.pages) { out["rûpel"] = data.pages; }
if (data.date) { out.sal = yearFromDate(data.date); }
} else if (jederKey === "jêder-websîte") {
if (data.websiteTitle) { out["websîte"] = data.websiteTitle; }
if (data.date) {
out["tarîx"] = data.date;
}
} else if (jederKey === "jêder-vîdeo") {
delete out["nivîskar"]; // "hunermend" is jêder-vîdeo's own performer/artist field
if (author) { out.hunermend = author; }
if (data.libraryCatalog) { out.platform = data.libraryCatalog.toLowerCase(); }
if (data.date) { out.sal = yearFromDate(data.date); }
// Fallback only -- Citoid's own resolved data.url usually drops "t=" already (see extractVideoTimestamp's own comment); the live URL input is the reliable source (see add-examples.js's _autofillVideoTimestamp).
var dem = extractVideoTimestamp(data.url);
if (dem) { out.dem = dem; }
}
return out;
}
/**
* Ji Citoid daneyên çavkaniyekê tîne (li gorî URL, DOI an ISBNyê).
* @param query {string}
* @return {jQuery.Promise} Bi daneya ewil a Citoid (Object) tê safîkirin.
*/
function fetchData(query) {
var url;
try {
url = encodeURIComponent(decodeURIComponent(query));
} catch (e) {
url = encodeURIComponent(query);
}
return $.get(getRestUrl() + url).then(function (res) {
if (!res || !res[0]) {
return $.Deferred().reject("Netîceya ji Citoidê vala ye.").promise();
}
return res[0];
});
}
/**
* Fonksiyoneke hêsankirî: ji URL/DOI/ISBNyekê rasterast şablona jêder-* a munasib
* û merheleyên wê yên tijîkirî vedigerîne (fetchData + typeToJederKey + dataToJederFields
* bi hev re).
* @param query {string}
* @return {jQuery.Promise} Bi {jederKey: string, fields: Object<string,string>, raw: Object} tê safîkirin.
*/
function fetchJederFields(query) {
return fetchData(query).then(function (data) {
var jederKey = typeToJederKey(data.itemType);
return {
jederKey: jederKey,
fields: dataToJederFields(jederKey, data),
raw: data
};
});
}
window.wikt.citoid = {
getRestUrl: getRestUrl,
yearFromDate: yearFromDate,
formatAuthors: formatAuthors,
typeToJederKey: typeToJederKey,
dataToJederFields: dataToJederFields,
fetchData: fetchData,
fetchJederFields: fetchJederFields,
extractVideoTimestamp: extractVideoTimestamp,
TYPE_TO_JEDER: CITOID_TYPE_TO_JEDER
};
/**
* Alîkar ji bo scriptên din: heke wikt.citoid hîn nehatibe barkirin,
* vê rûpelê bixweber bar dike û pey re "resolve" dibe.
* Bikaranîn: wikt.citoidHelper.ensure().then(function() { ... wikt.citoid ... });
*/
window.wikt.citoidHelper = {
ensure: function () {
if (window.wikt.citoid) {
return $.Deferred().resolve().promise();
}
var url = mw.util.getUrl("MediaWiki:Gadget-citoid-helper.js", {
action: "raw",
ctype: "text/javascript"
});
return mw.loader.getScript(mw.config.get("wgServer") + url);
}
};
})();
geaol1ysidwwsvc4zjbpcfxdo2toyc6
6342564
6342539
2026-08-25T11:17:12Z
Wikihez
7344
6342564
javascript
text/javascript
/**
* Gadget-citoid-helper.js
*
* Amûreke hevpar ji bo standina daneyên çavkaniyê ji Citoid û
* veguherandina wan bo qadên şablonên jêder-* (jêder-kitêb, jêder-kovar, jêder-websîte, jêder-vîdeo).
*
* BIKARANÎN JI SCRIPTEKE DIN:
*
* 1) Riya herî baş: vê rûpelê wek dependency lê zêde bike di eyarên
* gadgeta xwe de li ser [[Special:Gadgets]] (an jî MediaWiki:Gadgets-definition),
* paşê:
*
* mw.loader.using("ext.gadget.citoid-helper").then(function () {
* wikt.citoid.fetchJederFields(url).then(function (result) {
* console.log(result.jederKey, result.fields);
* });
* });
*
* 2) An jî, heke ne mimkun be gadget bi vî awayî were qeydkirin, fonksiyona
* alîkar a `wikt.citoidHelper.ensure()` a li jêr bikar bîne, ku bixweber
* vê rûpelê bar dike heke jixwe nehatibe barkirin:
*
* wikt.citoidHelper.ensure().then(function () {
* wikt.citoid.fetchJederFields(url).then(...);
* });
*
* API ya `window.wikt.citoid`:
* - getRestUrl() → {string} URLya REST a Citoid a vê wîkiyê
* - yearFromDate(dateStr) → {string} sala (4 reqem) ji rêzikeke tarîxê
* - formatAuthors(authors) → {string} navên nivîskaran wek rêzikek yekane
* - typeToJederKey(itemType) → {string} "jêder-kitêb" / "jêder-kovar" / "jêder-websîte" / "jêder-vîdeo"
* - dataToJederFields(jederKey, data) → {Object<string,string>} merheleyên şablona jêder-*
* - fetchData(query) → {jQuery.Promise<Object>} daneya xam a Citoid
* - fetchJederFields(query) → {jQuery.Promise<{jederKey, fields, raw}>} hêsankirî
* - extractVideoTimestamp(urlStr) → {string} a video URL's "t=" start time, as "M:SS"/"H:MM:SS"
* - TYPE_TO_JEDER → {Object} xerîteya itemType → jederKey
*/
window.wikt = window.wikt || {};
(function () {
"use strict";
// Heke jixwe hatibe barkirin, dubare neke.
if (window.wikt.citoid) {
return;
}
// Xerîteya cureyên Citoid (itemType) li ser şablonên me yên jêder-*
var CITOID_TYPE_TO_JEDER = {
"book": "jêder-kitêb",
"bookSection": "jêder-kitêb",
"thesis": "jêder-kitêb",
"report": "jêder-kitêb",
"manuscript": "jêder-kitêb",
"journalArticle": "jêder-kovar",
"magazineArticle": "jêder-kovar",
"newspaperArticle": "jêder-kovar",
"webpage": "jêder-websîte",
"blogPost": "jêder-websîte",
"forumPost": "jêder-websîte",
"videoRecording": "jêder-vîdeo",
"podcast": "jêder-websîte",
"encyclopediaArticle": "jêder-websîte"
};
/**
* Ji mantiqa [[:en:w:User:BrandonXLF/Citoid.js]]
* Vedigere URLya REST a Citoid, li gorî eyarên vê wîkiyê.
* @return {string}
*/
function getRestUrl() {
var cfg = mw.config.get("wgCitoidConfig");
var vecfg = mw.config.get("wgVisualEditorConfig");
return (cfg && (cfg.fullRestbaseUrl || cfg.wbFullRestbaseUrl)) ? (cfg.fullRestbaseUrl || cfg.wbFullRestbaseUrl) + "v1/data/citation/mediawiki/"
: (vecfg && vecfg.fullRestbaseUrl) ? vecfg.fullRestbaseUrl + "v1/data/citation/mediawiki/"
: (cfg && cfg.citoidServiceUrl) ? cfg.citoidServiceUrl + "/mediawiki/"
: "https://ku.wiktionary.org/api/rest_v1/data/citation/mediawiki/";
}
/**
* Ji tarîxa Citoid (rêzik an tarîxeke ISO) sala wê (4 reqem) derdixe.
* @param dateStr {string}
* @return {string}
*/
function yearFromDate(dateStr) {
if (!dateStr) {
return "";
}
var match = /\d{4}/.exec(dateStr);
return match ? match[0] : "";
}
/**
* Navên nivîskaran ên Citoid (rêzek [pêşnav, paşnav]) dike rêzikek yekane.
* @param authors {Array<Array<string>>}
* @return {string}
*/
function formatAuthors(authors) {
if (!Array.isArray(authors)) {
return "";
}
return authors.map(function (pair) {
return (pair || []).filter(function (part) {
return !!part;
}).join(" ");
}).filter(function (name) {
return !!name;
}).join("; ");
}
function formatEditors(editors) {
if (!Array.isArray(editors)) {
return "";
}
return editors.map(function (pair) {
return (pair || []).filter(function (part) {
return !!part;
}).join(" ");
}).filter(function (name) {
return !!name;
}).join("; ");
}
/**
* Li gorî itemType a Citoid, navê şablona jêder-* a munasib vedigerîne.
* @param itemType {string}
* @return {string} Yek ji "jêder-kitêb", "jêder-kovar", "jêder-websîte" an "jêder-vîdeo".
*/
function typeToJederKey(itemType) {
return CITOID_TYPE_TO_JEDER[itemType] || "jêder-websîte";
}
/**
* Extracts a video's start time from its URL's "t=" param (YouTube-style: plain seconds like "137",
* or "2m17s"/"1h2m3s"). Reads the caller-supplied URL directly, since Citoid's own resolved data.url
* usually strips this param.
* @param urlStr {string}
* @return {string} "M:SS" or "H:MM:SS", or an empty string if absent/unrecognized.
*/
function extractVideoTimestamp(urlStr) {
if (!urlStr) {
return "";
}
var match = /[?&]t=([^&]+)/.exec(urlStr);
if (!match) {
return "";
}
var raw = decodeURIComponent(match[1]);
var seconds;
if (/^\d+s?$/.test(raw)) {
seconds = parseInt(raw, 10);
} else {
var parts = /^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/.exec(raw);
if (!parts || (!parts[1] && !parts[2] && !parts[3])) {
return "";
}
seconds = (parseInt(parts[1] || "0", 10) * 3600) + (parseInt(parts[2] || "0", 10) * 60) + parseInt(parts[3] || "0", 10);
}
var h = Math.floor(seconds / 3600);
var m = Math.floor((seconds % 3600) / 60);
var s = seconds % 60;
var ss = s < 10 ? "0" + s : String(s);
return h > 0 ? (h + ":" + (m < 10 ? "0" + m : m) + ":" + ss) : (m + ":" + ss);
}
/**
* Daneyên Citoid vediguherîne tabloyeke parametreyên şablona jêder-* (li gorî cureyê wê).
* @param jederKey {string} Yek ji "jêder-kitêb", "jêder-kovar", "jêder-websîte" an "jêder-vîdeo".
* @param data {Object} Netîceya Citoid.
* @return {Object<string, string>}
*/
function dataToJederFields(jederKey, data) {
var out = {};
var author = formatAuthors(data.author);
var editor = formatEditors(data.editor);
if (author) { out["nivîskar"] = author; }
if (editor) { out["amadekar"] = editor; }
if (data.title) { out["sernav"] = data.title; }
if (data.url) { out.url = data.url; }
if (jederKey === "jêder-kitêb") {
if (data.publisher) { out["weşanxane"] = data.publisher; }
if (data.place) { out.cih = data.place; }
if (data.date) { out.sal = yearFromDate(data.date); }
if (data.ISBN) { out.isbn = Array.isArray(data.ISBN) ? data.ISBN[0] : data.ISBN; }
if (data.edition) { out["çap"] = data.edition; }
if (data.pages) { out["rûpel"] = data.pages; }
} else if (jederKey === "jêder-kovar") {
if (data.publicationTitle) { out.kovar = data.publicationTitle; }
if (data.publisher) { out["weşanxane"] = data.publisher; }
if (data.volume) { out.cild = data.volume; }
if (data.issue) { out.hejmar = data.issue; }
if (data.pages) { out["rûpel"] = data.pages; }
if (data.date) { out.sal = yearFromDate(data.date); }
} else if (jederKey === "jêder-websîte") {
if (data.websiteTitle) { out["websîte"] = data.websiteTitle; }
if (data.date) {
out["tarîx"] = data.date;
}
} else if (jederKey === "jêder-vîdeo") {
delete out["nivîskar"]; // "hunermend" is jêder-vîdeo's own performer/artist field
if (author) { out.hunermend = author; }
if (data.libraryCatalog) { out.platform = data.libraryCatalog.toLowerCase(); }
if (data.date) { out.sal = yearFromDate(data.date); }
// Fallback only -- Citoid's own resolved data.url usually drops "t=" already (see extractVideoTimestamp's own comment); the live URL input is the reliable source (see add-examples.js's _autofillVideoTimestamp).
var dem = extractVideoTimestamp(data.url);
if (dem) { out.dem = dem; }
}
return out;
}
/**
* Ji Citoid daneyên çavkaniyekê tîne (li gorî URL, DOI an ISBNyê).
* @param query {string}
* @return {jQuery.Promise} Bi daneya ewil a Citoid (Object) tê safîkirin.
*/
function fetchData(query) {
var url;
try {
url = encodeURIComponent(decodeURIComponent(query));
} catch (e) {
url = encodeURIComponent(query);
}
return $.get(getRestUrl() + url).then(function (res) {
if (!res || !res[0]) {
return $.Deferred().reject("Netîceya ji Citoidê vala ye.").promise();
}
return res[0];
});
}
/**
* Fonksiyoneke hêsankirî: ji URL/DOI/ISBNyekê rasterast şablona jêder-* a munasib
* û merheleyên wê yên tijîkirî vedigerîne (fetchData + typeToJederKey + dataToJederFields
* bi hev re).
* @param query {string}
* @return {jQuery.Promise} Bi {jederKey: string, fields: Object<string,string>, raw: Object} tê safîkirin.
*/
function fetchJederFields(query) {
return fetchData(query).then(function (data) {
var jederKey = typeToJederKey(data.itemType);
return {
jederKey: jederKey,
fields: dataToJederFields(jederKey, data),
raw: data
};
});
}
window.wikt.citoid = {
getRestUrl: getRestUrl,
yearFromDate: yearFromDate,
formatAuthors: formatAuthors,
typeToJederKey: typeToJederKey,
dataToJederFields: dataToJederFields,
fetchData: fetchData,
fetchJederFields: fetchJederFields,
extractVideoTimestamp: extractVideoTimestamp,
TYPE_TO_JEDER: CITOID_TYPE_TO_JEDER
};
/**
* Alîkar ji bo scriptên din: heke wikt.citoid hîn nehatibe barkirin,
* vê rûpelê bixweber bar dike û pey re "resolve" dibe.
* Bikaranîn: wikt.citoidHelper.ensure().then(function() { ... wikt.citoid ... });
*/
window.wikt.citoidHelper = {
ensure: function () {
if (window.wikt.citoid) {
return $.Deferred().resolve().promise();
}
var url = mw.util.getUrl("MediaWiki:Gadget-citoid-helper.js", {
action: "raw",
ctype: "text/javascript"
});
return mw.loader.getScript(mw.config.get("wgServer") + url);
}
};
})();
hysgznpxy83ff6dyeq3htp3t1e3ti3o
6342569
6342564
2026-08-25T11:37:09Z
Wikihez
7344
6342569
javascript
text/javascript
/**
* Gadget-citoid-helper.js
*
* Amûreke hevpar ji bo standina daneyên çavkaniyê ji Citoid û
* veguherandina wan bo qadên şablonên jêder-* (jêder-kitêb, jêder-kovar, jêder-websîte, jêder-vîdeo).
*
* BIKARANÎN JI SCRIPTEKE DIN:
*
* 1) Riya herî baş: vê rûpelê wek dependency lê zêde bike di eyarên
* gadgeta xwe de li ser [[Special:Gadgets]] (an jî MediaWiki:Gadgets-definition),
* paşê:
*
* mw.loader.using("ext.gadget.citoid-helper").then(function () {
* wikt.citoid.fetchJederFields(url).then(function (result) {
* console.log(result.jederKey, result.fields);
* });
* });
*
* 2) An jî, heke ne mimkun be gadget bi vî awayî were qeydkirin, fonksiyona
* alîkar a `wikt.citoidHelper.ensure()` a li jêr bikar bîne, ku bixweber
* vê rûpelê bar dike heke jixwe nehatibe barkirin:
*
* wikt.citoidHelper.ensure().then(function () {
* wikt.citoid.fetchJederFields(url).then(...);
* });
*
* API ya `window.wikt.citoid`:
* - getRestUrl() → {string} URLya REST a Citoid a vê wîkiyê
* - yearFromDate(dateStr) → {string} sala (4 reqem) ji rêzikeke tarîxê
* - formatAuthors(authors) → {string} navên nivîskaran wek rêzikek yekane
* - typeToJederKey(itemType) → {string} "jêder-kitêb" / "jêder-kovar" / "jêder-websîte" / "jêder-vîdeo"
* - dataToJederFields(jederKey, data) → {Object<string,string>} merheleyên şablona jêder-*
* - fetchData(query) → {jQuery.Promise<Object>} daneya xam a Citoid
* - fetchJederFields(query) → {jQuery.Promise<{jederKey, fields, raw}>} hêsankirî
* - extractVideoTimestamp(urlStr) → {string} a video URL's "t=" start time, as "M:SS"/"H:MM:SS"
* - isYouTubeUrl(urlStr) → {boolean} whether the URL is a youtube.com/youtu.be link
* - websiteNameForUrl(urlStr) → {string} jêder-websîte "websîte" value: known-site wikilink, else the bare domain
* - TYPE_TO_JEDER → {Object} xerîteya itemType → jederKey
*/
window.wikt = window.wikt || {};
(function () {
"use strict";
// Heke jixwe hatibe barkirin, dubare neke.
if (window.wikt.citoid) {
return;
}
// Xerîteya cureyên Citoid (itemType) li ser şablonên me yên jêder-*
var CITOID_TYPE_TO_JEDER = {
"book": "jêder-kitêb",
"bookSection": "jêder-kitêb",
"thesis": "jêder-kitêb",
"report": "jêder-kitêb",
"manuscript": "jêder-kitêb",
"journalArticle": "jêder-kovar",
"magazineArticle": "jêder-kovar",
"newspaperArticle": "jêder-kovar",
"webpage": "jêder-websîte",
"blogPost": "jêder-websîte",
"forumPost": "jêder-websîte",
"videoRecording": "jêder-vîdeo",
"podcast": "jêder-websîte",
"encyclopediaArticle": "jêder-websîte"
};
/**
* Ji mantiqa [[:en:w:User:BrandonXLF/Citoid.js]]
* Vedigere URLya REST a Citoid, li gorî eyarên vê wîkiyê.
* @return {string}
*/
function getRestUrl() {
var cfg = mw.config.get("wgCitoidConfig");
var vecfg = mw.config.get("wgVisualEditorConfig");
return (cfg && (cfg.fullRestbaseUrl || cfg.wbFullRestbaseUrl)) ? (cfg.fullRestbaseUrl || cfg.wbFullRestbaseUrl) + "v1/data/citation/mediawiki/"
: (vecfg && vecfg.fullRestbaseUrl) ? vecfg.fullRestbaseUrl + "v1/data/citation/mediawiki/"
: (cfg && cfg.citoidServiceUrl) ? cfg.citoidServiceUrl + "/mediawiki/"
: "https://ku.wiktionary.org/api/rest_v1/data/citation/mediawiki/";
}
/**
* Ji tarîxa Citoid (rêzik an tarîxeke ISO) sala wê (4 reqem) derdixe.
* @param dateStr {string}
* @return {string}
*/
function yearFromDate(dateStr) {
if (!dateStr) {
return "";
}
var match = /\d{4}/.exec(dateStr);
return match ? match[0] : "";
}
/**
* Navên nivîskaran ên Citoid (rêzek [pêşnav, paşnav]) dike rêzikek yekane.
* @param authors {Array<Array<string>>}
* @return {string}
*/
function formatAuthors(authors) {
if (!Array.isArray(authors)) {
return "";
}
return authors.map(function (pair) {
return (pair || []).filter(function (part) {
return !!part;
}).join(" ");
}).filter(function (name) {
return !!name;
}).join("; ");
}
function formatEditors(editors) {
if (!Array.isArray(editors)) {
return "";
}
return editors.map(function (pair) {
return (pair || []).filter(function (part) {
return !!part;
}).join(" ");
}).filter(function (name) {
return !!name;
}).join("; ");
}
/**
* Li gorî itemType a Citoid, navê şablona jêder-* a munasib vedigerîne.
* @param itemType {string}
* @return {string} Yek ji "jêder-kitêb", "jêder-kovar", "jêder-websîte" an "jêder-vîdeo".
*/
function typeToJederKey(itemType) {
return CITOID_TYPE_TO_JEDER[itemType] || "jêder-websîte";
}
/**
* Whether a URL is a youtube.com/youtu.be link -- used to force jêder-vîdeo regardless of
* Citoid's own itemType guess, and to pick the "w:Youtube" platform value.
* @param urlStr {string}
* @return {boolean}
*/
function isYouTubeUrl(urlStr) {
return /^https?:\/\/(www\.|m\.)?(youtube\.com|youtu\.be)\//i.test(urlStr || "");
}
// Known domains mapped to a nicer jêder-websîte "websîte" value (a wikilink where a Wikipedia article exists).
var KNOWN_WEBSITE_NAMES = {
"x.com": "w:Twitter",
"twitter.com": "w:Twitter",
"rudaw.net": "w:Rûdaw"
};
/**
* Bare domain of a URL (protocol and "www." stripped), e.g. "https://www.example.com/x" -> "example.com".
* @param urlStr {string}
* @return {string} Lowercased domain, or an empty string if urlStr isn't an absolute http(s) URL.
*/
function bareDomainFromUrl(urlStr) {
var match = /^https?:\/\/(?:www\.)?([^\/]+)/i.exec(urlStr || "");
return match ? match[1].toLowerCase() : "";
}
/**
* A jêder-websîte "websîte" value for a URL: a known-site wikilink (KNOWN_WEBSITE_NAMES) if the domain
* matches one, else the bare domain itself as a plain fallback name.
* @param urlStr {string}
* @return {string} The site name, or an empty string if urlStr isn't an absolute http(s) URL.
*/
function websiteNameForUrl(urlStr) {
var host = bareDomainFromUrl(urlStr);
return host ? (KNOWN_WEBSITE_NAMES[host] || host) : "";
}
/**
* Extracts a video's start time from its URL's "t=" param (YouTube-style: plain seconds like "137",
* or "2m17s"/"1h2m3s"). Reads the caller-supplied URL directly, since Citoid's own resolved data.url
* usually strips this param.
* @param urlStr {string}
* @return {string} "M:SS" or "H:MM:SS", or an empty string if absent/unrecognized.
*/
function extractVideoTimestamp(urlStr) {
if (!urlStr) {
return "";
}
var match = /[?&]t=([^&]+)/.exec(urlStr);
if (!match) {
return "";
}
var raw = decodeURIComponent(match[1]);
var seconds;
if (/^\d+s?$/.test(raw)) {
seconds = parseInt(raw, 10);
} else {
var parts = /^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/.exec(raw);
if (!parts || (!parts[1] && !parts[2] && !parts[3])) {
return "";
}
seconds = (parseInt(parts[1] || "0", 10) * 3600) + (parseInt(parts[2] || "0", 10) * 60) + parseInt(parts[3] || "0", 10);
}
var h = Math.floor(seconds / 3600);
var m = Math.floor((seconds % 3600) / 60);
var s = seconds % 60;
var ss = s < 10 ? "0" + s : String(s);
return h > 0 ? (h + ":" + (m < 10 ? "0" + m : m) + ":" + ss) : (m + ":" + ss);
}
/**
* Daneyên Citoid vediguherîne tabloyeke parametreyên şablona jêder-* (li gorî cureyê wê).
* @param jederKey {string} Yek ji "jêder-kitêb", "jêder-kovar", "jêder-websîte" an "jêder-vîdeo".
* @param data {Object} Netîceya Citoid.
* @return {Object<string, string>}
*/
function dataToJederFields(jederKey, data) {
var out = {};
var author = formatAuthors(data.author);
var editor = formatEditors(data.editor);
if (author) { out["nivîskar"] = author; }
if (editor) { out["amadekar"] = editor; }
if (data.title) { out["sernav"] = data.title; }
if (data.url) { out.url = data.url; }
if (jederKey === "jêder-kitêb") {
if (data.publisher) { out["weşanxane"] = data.publisher; }
if (data.place) { out.cih = data.place; }
if (data.date) { out.sal = yearFromDate(data.date); }
if (data.ISBN) { out.isbn = Array.isArray(data.ISBN) ? data.ISBN[0] : data.ISBN; }
if (data.edition) { out["çap"] = data.edition; }
if (data.pages) { out["rûpel"] = data.pages; }
} else if (jederKey === "jêder-kovar") {
if (data.publicationTitle) { out.kovar = data.publicationTitle; }
if (data.publisher) { out["weşanxane"] = data.publisher; }
if (data.volume) { out.cild = data.volume; }
if (data.issue) { out.hejmar = data.issue; }
if (data.pages) { out["rûpel"] = data.pages; }
if (data.date) { out.sal = yearFromDate(data.date); }
} else if (jederKey === "jêder-websîte") {
var websiteName = data.websiteTitle || websiteNameForUrl(data.url);
if (websiteName) { out["websîte"] = websiteName; }
if (data.date) {
out["tarîx"] = data.date;
}
} else if (jederKey === "jêder-vîdeo") {
delete out["nivîskar"]; // "hunermend" is jêder-vîdeo's own performer/artist field
if (author) { out.hunermend = author; }
var platform = isYouTubeUrl(data.url) ? "w:Youtube" : (data.libraryCatalog || "").toLowerCase();
if (platform) { out.platform = platform; }
if (data.date) {
out.tarîx = data.date;
out.sal = yearFromDate(data.date);
}
// Fallback only -- Citoid's own resolved data.url usually drops "t=" already (see extractVideoTimestamp's own comment); the live URL input is the reliable source (see add-examples.js's _autofillVideoTimestamp).
var dem = extractVideoTimestamp(data.url);
if (dem) { out.dem = dem; }
}
return out;
}
/**
* Ji Citoid daneyên çavkaniyekê tîne (li gorî URL, DOI an ISBNyê).
* @param query {string}
* @return {jQuery.Promise} Bi daneya ewil a Citoid (Object) tê safîkirin.
*/
function fetchData(query) {
var url;
try {
url = encodeURIComponent(decodeURIComponent(query));
} catch (e) {
url = encodeURIComponent(query);
}
return $.get(getRestUrl() + url).then(function (res) {
if (!res || !res[0]) {
return $.Deferred().reject("Netîceya ji Citoidê vala ye.").promise();
}
return res[0];
});
}
/**
* Fonksiyoneke hêsankirî: ji URL/DOI/ISBNyekê rasterast şablona jêder-* a munasib
* û merheleyên wê yên tijîkirî vedigerîne (fetchData + typeToJederKey + dataToJederFields
* bi hev re).
* @param query {string}
* @return {jQuery.Promise} Bi {jederKey: string, fields: Object<string,string>, raw: Object} tê safîkirin.
*/
function fetchJederFields(query) {
return fetchData(query).then(function (data) {
// YouTube links always use jêder-vîdeo, regardless of what itemType Citoid guessed.
var jederKey = (isYouTubeUrl(query) || isYouTubeUrl(data.url)) ? "jêder-vîdeo" : typeToJederKey(data.itemType);
return {
jederKey: jederKey,
fields: dataToJederFields(jederKey, data),
raw: data
};
});
}
window.wikt.citoid = {
getRestUrl: getRestUrl,
yearFromDate: yearFromDate,
formatAuthors: formatAuthors,
typeToJederKey: typeToJederKey,
dataToJederFields: dataToJederFields,
fetchData: fetchData,
fetchJederFields: fetchJederFields,
extractVideoTimestamp: extractVideoTimestamp,
isYouTubeUrl: isYouTubeUrl,
websiteNameForUrl: websiteNameForUrl,
TYPE_TO_JEDER: CITOID_TYPE_TO_JEDER
};
/**
* Alîkar ji bo scriptên din: heke wikt.citoid hîn nehatibe barkirin,
* vê rûpelê bixweber bar dike û pey re "resolve" dibe.
* Bikaranîn: wikt.citoidHelper.ensure().then(function() { ... wikt.citoid ... });
*/
window.wikt.citoidHelper = {
ensure: function () {
if (window.wikt.citoid) {
return $.Deferred().resolve().promise();
}
var url = mw.util.getUrl("MediaWiki:Gadget-citoid-helper.js", {
action: "raw",
ctype: "text/javascript"
});
return mw.loader.getScript(mw.config.get("wgServer") + url);
}
};
})();
hytm0py1ka1ge82dfwz7iwzkgyrpcsf
6342570
6342569
2026-08-25T11:43:14Z
Wikihez
7344
6342570
javascript
text/javascript
/**
* Gadget-citoid-helper.js
*
* Amûreke hevpar ji bo standina daneyên çavkaniyê ji Citoid û
* veguherandina wan bo qadên şablonên jêder-* (jêder-kitêb, jêder-kovar, jêder-websîte, jêder-vîdeo).
*
* BIKARANÎN JI SCRIPTEKE DIN:
*
* 1) Riya herî baş: vê rûpelê wek dependency lê zêde bike di eyarên
* gadgeta xwe de li ser [[Special:Gadgets]] (an jî MediaWiki:Gadgets-definition),
* paşê:
*
* mw.loader.using("ext.gadget.citoid-helper").then(function () {
* wikt.citoid.fetchJederFields(url).then(function (result) {
* console.log(result.jederKey, result.fields);
* });
* });
*
* 2) An jî, heke ne mimkun be gadget bi vî awayî were qeydkirin, fonksiyona
* alîkar a `wikt.citoidHelper.ensure()` a li jêr bikar bîne, ku bixweber
* vê rûpelê bar dike heke jixwe nehatibe barkirin:
*
* wikt.citoidHelper.ensure().then(function () {
* wikt.citoid.fetchJederFields(url).then(...);
* });
*
* API ya `window.wikt.citoid`:
* - getRestUrl() → {string} URLya REST a Citoid a vê wîkiyê
* - yearFromDate(dateStr) → {string} sala (4 reqem) ji rêzikeke tarîxê
* - formatAuthors(authors) → {string} navên nivîskaran wek rêzikek yekane
* - typeToJederKey(itemType) → {string} "jêder-kitêb" / "jêder-kovar" / "jêder-websîte" / "jêder-vîdeo"
* - dataToJederFields(jederKey, data) → {Object<string,string>} merheleyên şablona jêder-*
* - fetchData(query) → {jQuery.Promise<Object>} daneya xam a Citoid
* - fetchJederFields(query) → {jQuery.Promise<{jederKey, fields, raw}>} hêsankirî
* - extractVideoTimestamp(urlStr) → {string} a video URL's "t=" start time, as "M:SS"/"H:MM:SS"
* - isYouTubeUrl(urlStr) → {boolean} whether the URL is a youtube.com/youtu.be link
* - websiteNameForUrl(urlStr) → {string} jêder-websîte "websîte" value: known-site wikilink, else the bare domain
* - TYPE_TO_JEDER → {Object} xerîteya itemType → jederKey
*/
window.wikt = window.wikt || {};
(function () {
"use strict";
// Heke jixwe hatibe barkirin, dubare neke.
if (window.wikt.citoid) {
return;
}
// Xerîteya cureyên Citoid (itemType) li ser şablonên me yên jêder-*
var CITOID_TYPE_TO_JEDER = {
"book": "jêder-kitêb",
"bookSection": "jêder-kitêb",
"thesis": "jêder-kitêb",
"report": "jêder-kitêb",
"manuscript": "jêder-kitêb",
"journalArticle": "jêder-kovar",
"magazineArticle": "jêder-kovar",
"newspaperArticle": "jêder-kovar",
"webpage": "jêder-websîte",
"blogPost": "jêder-websîte",
"forumPost": "jêder-websîte",
"videoRecording": "jêder-vîdeo",
"podcast": "jêder-websîte",
"encyclopediaArticle": "jêder-websîte"
};
/**
* Ji mantiqa [[:en:w:User:BrandonXLF/Citoid.js]]
* Vedigere URLya REST a Citoid, li gorî eyarên vê wîkiyê.
* @return {string}
*/
function getRestUrl() {
var cfg = mw.config.get("wgCitoidConfig");
var vecfg = mw.config.get("wgVisualEditorConfig");
return (cfg && (cfg.fullRestbaseUrl || cfg.wbFullRestbaseUrl)) ? (cfg.fullRestbaseUrl || cfg.wbFullRestbaseUrl) + "v1/data/citation/mediawiki/"
: (vecfg && vecfg.fullRestbaseUrl) ? vecfg.fullRestbaseUrl + "v1/data/citation/mediawiki/"
: (cfg && cfg.citoidServiceUrl) ? cfg.citoidServiceUrl + "/mediawiki/"
: "https://ku.wiktionary.org/api/rest_v1/data/citation/mediawiki/";
}
/**
* Ji tarîxa Citoid (rêzik an tarîxeke ISO) sala wê (4 reqem) derdixe.
* @param dateStr {string}
* @return {string}
*/
function yearFromDate(dateStr) {
if (!dateStr) {
return "";
}
var match = /\d{4}/.exec(dateStr);
return match ? match[0] : "";
}
/**
* Navên nivîskaran ên Citoid (rêzek [pêşnav, paşnav]) dike rêzikek yekane.
* @param authors {Array<Array<string>>}
* @return {string}
*/
function formatAuthors(authors) {
if (!Array.isArray(authors)) {
return "";
}
return authors.map(function (pair) {
return (pair || []).filter(function (part) {
return !!part;
}).join(" ");
}).filter(function (name) {
return !!name;
}).join("; ");
}
function formatEditors(editors) {
if (!Array.isArray(editors)) {
return "";
}
return editors.map(function (pair) {
return (pair || []).filter(function (part) {
return !!part;
}).join(" ");
}).filter(function (name) {
return !!name;
}).join("; ");
}
/**
* Li gorî itemType a Citoid, navê şablona jêder-* a munasib vedigerîne.
* @param itemType {string}
* @return {string} Yek ji "jêder-kitêb", "jêder-kovar", "jêder-websîte" an "jêder-vîdeo".
*/
function typeToJederKey(itemType) {
return CITOID_TYPE_TO_JEDER[itemType] || "jêder-websîte";
}
/**
* Whether a URL is a youtube.com/youtu.be link -- used to force jêder-vîdeo regardless of
* Citoid's own itemType guess, and to pick the "w:Youtube" platform value.
* @param urlStr {string}
* @return {boolean}
*/
function isYouTubeUrl(urlStr) {
return /^https?:\/\/(www\.|m\.)?(youtube\.com|youtu\.be)\//i.test(urlStr || "");
}
// Known domains mapped to a nicer jêder-websîte "websîte" value (a wikilink where a Wikipedia article exists).
var KNOWN_WEBSITE_NAMES = {
"x.com": "w:Twitter",
"twitter.com": "w:Twitter",
"rudaw.net": "w:Rûdaw"
};
/**
* Bare domain of a URL (protocol and "www." stripped), e.g. "https://www.example.com/x" -> "example.com".
* @param urlStr {string}
* @return {string} Lowercased domain, or an empty string if urlStr isn't an absolute http(s) URL.
*/
function bareDomainFromUrl(urlStr) {
var match = /^https?:\/\/(?:www\.)?([^\/]+)/i.exec(urlStr || "");
return match ? match[1].toLowerCase() : "";
}
/**
* A jêder-websîte "websîte" value for a URL: a known-site wikilink (KNOWN_WEBSITE_NAMES) if the domain
* matches one, else the bare domain itself as a plain fallback name.
* @param urlStr {string}
* @return {string} The site name, or an empty string if urlStr isn't an absolute http(s) URL.
*/
function websiteNameForUrl(urlStr) {
var host = bareDomainFromUrl(urlStr);
return host ? (KNOWN_WEBSITE_NAMES[host] || host) : "";
}
/**
* Extracts a video's start time from its URL's "t=" param (YouTube-style: plain seconds like "137",
* or "2m17s"/"1h2m3s"). Reads the caller-supplied URL directly, since Citoid's own resolved data.url
* usually strips this param.
* @param urlStr {string}
* @return {string} "M:SS" or "H:MM:SS", or an empty string if absent/unrecognized.
*/
function extractVideoTimestamp(urlStr) {
if (!urlStr) {
return "";
}
var match = /[?&]t=([^&]+)/.exec(urlStr);
if (!match) {
return "";
}
var raw = decodeURIComponent(match[1]);
var seconds;
if (/^\d+s?$/.test(raw)) {
seconds = parseInt(raw, 10);
} else {
var parts = /^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/.exec(raw);
if (!parts || (!parts[1] && !parts[2] && !parts[3])) {
return "";
}
seconds = (parseInt(parts[1] || "0", 10) * 3600) + (parseInt(parts[2] || "0", 10) * 60) + parseInt(parts[3] || "0", 10);
}
var h = Math.floor(seconds / 3600);
var m = Math.floor((seconds % 3600) / 60);
var s = seconds % 60;
var ss = s < 10 ? "0" + s : String(s);
return h > 0 ? (h + ":" + (m < 10 ? "0" + m : m) + ":" + ss) : (m + ":" + ss);
}
/**
* Daneyên Citoid vediguherîne tabloyeke parametreyên şablona jêder-* (li gorî cureyê wê).
* @param jederKey {string} Yek ji "jêder-kitêb", "jêder-kovar", "jêder-websîte" an "jêder-vîdeo".
* @param data {Object} Netîceya Citoid.
* @return {Object<string, string>}
*/
function dataToJederFields(jederKey, data) {
var out = {};
var author = formatAuthors(data.author);
var editor = formatEditors(data.editor);
if (author) { out["nivîskar"] = author; }
if (editor) { out["amadekar"] = editor; }
if (data.title) { out["sernav"] = data.title; }
if (data.url) { out.url = data.url; }
if (jederKey === "jêder-kitêb") {
if (data.publisher) { out["weşanxane"] = data.publisher; }
if (data.place) { out.cih = data.place; }
if (data.date) { out.sal = yearFromDate(data.date); }
if (data.ISBN) { out.isbn = Array.isArray(data.ISBN) ? data.ISBN[0] : data.ISBN; }
if (data.edition) { out["çap"] = data.edition; }
if (data.pages) { out["rûpel"] = data.pages; }
} else if (jederKey === "jêder-kovar") {
if (data.publicationTitle) { out.kovar = data.publicationTitle; }
if (data.publisher) { out["weşanxane"] = data.publisher; }
if (data.volume) { out.cild = data.volume; }
if (data.issue) { out.hejmar = data.issue; }
if (data.pages) { out["rûpel"] = data.pages; }
if (data.date) { out.sal = yearFromDate(data.date); }
} else if (jederKey === "jêder-websîte") {
var websiteName = data.websiteTitle || websiteNameForUrl(data.url);
if (websiteName) { out["websîte"] = websiteName; }
if (data.date) {
out["tarîx"] = data.date;
}
} else if (jederKey === "jêder-vîdeo") {
delete out["nivîskar"]; // "hunermend" is jêder-vîdeo's own performer/artist field
if (author) { out.hunermend = author; }
var platform = isYouTubeUrl(data.url) ? "w:Youtube" : (data.libraryCatalog || "").toLowerCase();
if (platform) { out.platform = platform; }
if (data.date) {
out.tarîx = data.date;
out.sal = yearFromDate(data.date);
}
// Fallback only -- Citoid's own resolved data.url usually drops "t=" already (see extractVideoTimestamp's own comment); the live URL input is the reliable source (see add-examples.js's _autofillVideoTimestamp).
var dem = extractVideoTimestamp(data.url);
if (dem) { out.dem = dem; }
}
return out;
}
/**
* Ji Citoid daneyên çavkaniyekê tîne (li gorî URL, DOI an ISBNyê).
* @param query {string}
* @return {jQuery.Promise} Bi daneya ewil a Citoid (Object) tê safîkirin.
*/
function fetchData(query) {
var url;
try {
url = encodeURIComponent(decodeURIComponent(query));
} catch (e) {
url = encodeURIComponent(query);
}
return $.get(getRestUrl() + url).then(function (res) {
if (!res || !res[0]) {
return $.Deferred().reject("Netîceya ji Citoidê vala ye.").promise();
}
return res[0];
});
}
/**
* Fonksiyoneke hêsankirî: ji URL/DOI/ISBNyekê rasterast şablona jêder-* a munasib
* û merheleyên wê yên tijîkirî vedigerîne (fetchData + typeToJederKey + dataToJederFields
* bi hev re).
* @param query {string}
* @return {jQuery.Promise} Bi {jederKey: string, fields: Object<string,string>, raw: Object} tê safîkirin.
*/
function fetchJederFields(query) {
return fetchData(query).then(function (data) {
// YouTube links always use jêder-vîdeo, regardless of what itemType Citoid guessed.
var jederKey = (isYouTubeUrl(query) || isYouTubeUrl(data.url)) ? "jêder-vîdeo" : typeToJederKey(data.itemType);
return {
jederKey: jederKey,
fields: dataToJederFields(jederKey, data),
raw: data
};
});
}
window.wikt.citoid = {
getRestUrl: getRestUrl,
yearFromDate: yearFromDate,
formatAuthors: formatAuthors,
typeToJederKey: typeToJederKey,
dataToJederFields: dataToJederFields,
fetchData: fetchData,
fetchJederFields: fetchJederFields,
extractVideoTimestamp: extractVideoTimestamp,
isYouTubeUrl: isYouTubeUrl,
websiteNameForUrl: websiteNameForUrl,
TYPE_TO_JEDER: CITOID_TYPE_TO_JEDER
};
/**
* Alîkar ji bo scriptên din: heke wikt.citoid hîn nehatibe barkirin,
* vê rûpelê bixweber bar dike û pey re "resolve" dibe.
* Bikaranîn: wikt.citoidHelper.ensure().then(function() { ... wikt.citoid ... });
*/
window.wikt.citoidHelper = {
ensure: function () {
if (window.wikt.citoid) {
return $.Deferred().resolve().promise();
}
var url = mw.util.getUrl("Bikarhêner:Wikihez/skrîpt/js/Gadget-citoid-helper.js", {
action: "raw",
ctype: "text/javascript"
});
return mw.loader.getScript(mw.config.get("wgServer") + url);
}
};
})();
69eanwnod3w7hvca5hwllwotd30lxvy
Wîkîferheng:ceribandin/nimûne
4
1357865
6342535
6328388
2026-08-25T10:31:58Z
Wikihez
7344
'{{/vê rêzê neguhêre}} {{subst:Wîkîferheng:ceribandin/Default}}' ket şûna rûpelê.
6342535
wikitext
text/x-wiki
{{/vê rêzê neguhêre}}
{{/vê rêzê neguhêre}}
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Lêker ===
[[Wêne:Example.jpg|thumb|Mînak]]
{{lêker|ku|c=h-gh}}
# Maneya 1ê.
#: {{mk|ku|'''Nimûneyeke''' bikaranînê ya vê peyvê.}}
#* {{bênimûne|ku}}
# {{f|ku|mecazî}} Maneya 2an.
#* {{jêder-pirtûk|ku|jêgirtin=Jêgirtinek ji kitêbekê.|nivîskar=Rojen Barnas|sernav=Sîlvan/ Silîvan / FARQÎN|sal=2013|weşandxane=Nûbihar|rûpel=189|isbn= 9786055402884, 6055402882}}
# Maneya 3an.
==== Bikaranîn ====
''Çend not li ser bikaranîna peyvê.''
==== Jê ====
{{kol3|ku|cure=Jê
|ceribandinvan
}}
==== Têkildar ====
* ''Peyvên ku têkiliya [[etîmolojîk]] bi peyvê re hene''.
=== Etîmolojî ===
''Çîroka tarîxî ya eslê kelîmeyê. Nimûneya bandor'': Ji {{deyn|ota|ku|باندره}}, {{q|ota|باكدیره}}, ({{hv|tr|bandıra}}) ji {{ji|vec|ku|bandéra}} ({{hv|it|bandiera}}) ji {{ji|gem|ku}} *''bandwa-'' ({{cotreh|ku|band|bend}}). Bide ber {{hv|fr|bandière}} (wek {{hv|en|banner}}), {{hv|el|παντιέρα}}.
==== Binêre herwiha ====
* ''Peyvên eleqadar lê belê têkiliya etîmolojîk nîne''.
* {{wpedî}}
==== Werger ====
{{werger-ser|1|Maneya 1ê}}
* {{Z|en}}: {{W+|en|word}}
{{werger-bin}}
{{werger-ser|2|Maneya an}}
{{werger-bin}}
{{werger-bnr|Maneya 3an|kelîme}}
=== Navdêr ===
{{ku-tewîn-nav|nav=nimûne|mê}}
{{navdêr|ku|z=m}}
# mane 1
#: mînak 1-1
#: mînak 1-2
#* jêgirtin 1-1
#* jêgirtin 1-2
# mane 2
#: mînak 2-1
#: mînak 2-2
#* jêgirtin 2-1
#* jêgirtin 2-2
# mane 3
==== Werger ====
{{werger-ser|1|Maneya 1ê}}
{{werger-bin}}
{{werger-ser|2|Maneya 2an}}
{{werger-bin}}
{{werger-ser|3|Maneya 3an}}
{{werger-bin}}
=== Çavkanî ===
{{Çavkanî}}
* Çavkaniyên din li vir binivîse.
hqjl80riv2j6m3vdffgya7kbbitpdi0
6342536
6342535
2026-08-25T10:32:56Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v2.0).
6342536
wikitext
text/x-wiki
{{/vê rêzê neguhêre}}
{{/vê rêzê neguhêre}}
== {{ziman|ku}} ==
=== Bilêvkirin ===
* {{ku-IPA}}
* {{ku-kîte}}
=== Lêker ===
[[Wêne:Example.jpg|thumb|Mînak]]
{{lêker|ku|c=h-gh}}
# Maneya 1ê.
#: {{mk|ku|'''Nimûneyeke''' bikaranînê ya vê peyvê.}}
#: {{nimûne|ku|test}}
#* {{bênimûne|ku}}
# {{f|ku|mecazî}} Maneya 2an.
#* {{jêder-pirtûk|ku|jêgirtin=Jêgirtinek ji kitêbekê.|nivîskar=Rojen Barnas|sernav=Sîlvan/ Silîvan / FARQÎN|sal=2013|weşandxane=Nûbihar|rûpel=189|isbn= 9786055402884, 6055402882}}
# Maneya 3an.
==== Bikaranîn ====
''Çend not li ser bikaranîna peyvê.''
==== Jê ====
{{kol3|ku|cure=Jê
|ceribandinvan
}}
==== Têkildar ====
* ''Peyvên ku têkiliya [[etîmolojîk]] bi peyvê re hene''.
=== Etîmolojî ===
''Çîroka tarîxî ya eslê kelîmeyê. Nimûneya bandor'': Ji {{deyn|ota|ku|باندره}}, {{q|ota|باكدیره}}, ({{hv|tr|bandıra}}) ji {{ji|vec|ku|bandéra}} ({{hv|it|bandiera}}) ji {{ji|gem|ku}} *''bandwa-'' ({{cotreh|ku|band|bend}}). Bide ber {{hv|fr|bandière}} (wek {{hv|en|banner}}), {{hv|el|παντιέρα}}.
==== Binêre herwiha ====
* ''Peyvên eleqadar lê belê têkiliya etîmolojîk nîne''.
* {{wpedî}}
==== Werger ====
{{werger-ser|1|Maneya 1ê}}
* {{Z|en}}: {{W+|en|word}}
{{werger-bin}}
{{werger-ser|2|Maneya an}}
{{werger-bin}}
{{werger-bnr|Maneya 3an|kelîme}}
=== Navdêr ===
{{ku-tewîn-nav|nav=nimûne|mê}}
{{navdêr|ku|z=m}}
# mane 1
#: mînak 1-1
#: mînak 1-2
#* jêgirtin 1-1
#* jêgirtin 1-2
# mane 2
#: mînak 2-1
#: mînak 2-2
#* jêgirtin 2-1
#* jêgirtin 2-2
# mane 3
==== Werger ====
{{werger-ser|1|Maneya 1ê}}
{{werger-bin}}
{{werger-ser|2|Maneya 2an}}
{{werger-bin}}
{{werger-ser|3|Maneya 3an}}
{{werger-bin}}
=== Çavkanî ===
{{Çavkanî}}
* Çavkaniyên din li vir binivîse.
5d4ue691d7ir34o207qoc0igkcmq70z
Bikarhêner:Wikihez/Gadget-wikt.add-examples.js
2
1357893
6342196
6329668
2026-08-24T18:57:59Z
Wikihez
7344
6342196
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "1.7";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "width" controls field layout below (see _setSourceType): "narrow" for short fields (year, pages, ...), "wide" for fields that always take their own row, unset for medium fields (two-ish per row).
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cih", "label": "Cih" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "width": "narrow" },
{ "key": "çap", "label": "Çap", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "isbn", "label": "ISBN", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "nivîskar2", "label": "Nivîskar 2" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "kovar", "label": "Kovar" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cild", "label": "Cild", "width": "narrow" },
{ "key": "hejmar", "label": "Hejmar", "width": "narrow" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "websîte", "label": "Websîte" },
{ "key": "url", "label": "URL", "width": "wide" },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "width": "wide" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "tarîx", "label": "Tarîx", "width": "narrow" }
]
}
};
var languages = {};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
// Get names of all defined languages
var api = new mw.Api();
api.get({
action: "query",
format: "json",
titles: "MediaWiki:Gadget-translation editor.js/ziman.json",
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
languages = JSON.parse(data.query.pages[pageID].revisions[0].slots.main["*"]);
break;
}
}
});
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
$("ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole").each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
var language = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0].lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($item, $button, language, definitionLevel).$element);
console.log("$item", $item);
console.log("$button", $button);
console.log("language", language);
console.log("definitionLevel", definitionLevel);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem.append($button));
}
});
// Constructor for the edit form; lastExample/button/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter, and it's also the query field the Citoid button below fetches from.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
var citoidButtonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-citoid-buttons"],
items: [this._citoidButton, this._citoidClearButton],
});
// Fieldset that holds the fields for whichever jêder-* template is selected.
this._jederFieldsFieldset = new OO.ui.FieldsetLayout({
classes: ["add-example-jeder-fields"],
});
// Citoid button + jêder-* fields, framed as one "template" step — unlike the URL field above, this box only makes sense once a jêder-* template is active (there's nothing here for Citoid to fill in free-text mode, since it has no bibliographic fields to populate), so it's hidden for free text (see _setSourceType).
this._citoidBox = new OO.ui.PanelLayout({
expanded: false,
framed: true,
padded: true,
classes: ["add-example-citoid-box"],
content: [
new OO.ui.LabelWidget({
label: "Ji Citoid an bi destan tijî bike:",
classes: ["add-example-citoid-box-title"],
}),
citoidButtonsLayout,
this._jederFieldsFieldset,
],
});
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
var content = [textInputLayout, sourceTypeLayout, this._sourceInputLayout, this._sourceURLInputLayout, this._citoidBox];
if (language !== "ku") {
content.push(translationInputLayout, transcriptionInputLayout);
}
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help wording in and out of it when switching to/from free text.
this._fieldsLayout = new OO.ui.FieldsetLayout({
label: "Nimûneyeke bi " + (languages[this._language] || "zimanekî nenas") + " lê zêde dikî.",
items: content,
classes: ["add-example-fieldset"],
});
var buttonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-main-buttons"],
items: [
this._applyButton,
this._cancelButton,
this._clearButton,
this._loadingImage,
]
});
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
content: [
this._fieldsLayout,
buttonsLayout,
],
});
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid button box, and the manual jêder-* fields toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.clearItems();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
var items = [];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var widthClass = field.width === "narrow" ? "add-example-field-narrow"
: field.width === "wide" ? "add-example-field-wide"
: "add-example-field-medium";
items.push(new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: [widthClass],
}));
});
this._jederFieldsFieldset.addItems(items);
}
this._jederFieldsFieldset.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid button box: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key.
this._citoidBox.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text (no Citoid box visible there to explain), Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var index = this._fieldsLayout.items.indexOf(this._sourceURLInputLayout);
this._fieldsLayout.removeItems([this._sourceURLInputLayout]);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
this._fieldsLayout.addItems([this._sourceURLInputLayout], index);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._frame.toggle(visible);
if (visible) {
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Check if the line includes the section number (if present)
if (!matchedSectionNum || line.includes(" " + matchedSectionNum)) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
qt13mnkcqt1vzn52piq1i8455gkmxmz
6342199
6342196
2026-08-24T19:20:06Z
Wikihez
7344
6342199
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "1.7";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "width" controls field layout below (see _setSourceType): "narrow" for short fields (year, pages, ...), "wide" for fields that always take their own row, unset for medium fields (two-ish per row).
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cih", "label": "Cih" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "width": "narrow" },
{ "key": "çap", "label": "Çap", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "isbn", "label": "ISBN", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "nivîskar2", "label": "Nivîskar 2" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "kovar", "label": "Kovar" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cild", "label": "Cild", "width": "narrow" },
{ "key": "hejmar", "label": "Hejmar", "width": "narrow" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "websîte", "label": "Websîte" },
{ "key": "url", "label": "URL", "width": "wide" },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "width": "wide" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "tarîx", "label": "Tarîx", "width": "narrow" }
]
}
};
var languages = {};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
// Get names of all defined languages
var api = new mw.Api();
api.get({
action: "query",
format: "json",
titles: "MediaWiki:Gadget-translation editor.js/ziman.json",
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
languages = JSON.parse(data.query.pages[pageID].revisions[0].slots.main["*"]);
break;
}
}
});
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
$("ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole").each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($item, $button, language, definitionLevel).$element);
console.log("$item", $item);
console.log("$button", $button);
console.log("language", language);
console.log("definitionLevel", definitionLevel);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem.append($button));
}
});
// Constructor for the edit form; lastExample/button/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter, and it's also the query field the Citoid button below fetches from.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
var citoidButtonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-citoid-buttons"],
items: [this._citoidButton, this._citoidClearButton],
});
// Fieldset that holds the fields for whichever jêder-* template is selected.
this._jederFieldsFieldset = new OO.ui.FieldsetLayout({
classes: ["add-example-jeder-fields"],
});
// Citoid button + jêder-* fields, framed as one "template" step — unlike the URL field above, this box only makes sense once a jêder-* template is active (there's nothing here for Citoid to fill in free-text mode, since it has no bibliographic fields to populate), so it's hidden for free text (see _setSourceType).
this._citoidBox = new OO.ui.PanelLayout({
expanded: false,
framed: true,
padded: true,
classes: ["add-example-citoid-box"],
content: [
new OO.ui.LabelWidget({
label: "Ji Citoid an bi destan tijî bike:",
classes: ["add-example-citoid-box-title"],
}),
citoidButtonsLayout,
this._jederFieldsFieldset,
],
});
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
var content = [textInputLayout, sourceTypeLayout, this._sourceInputLayout, this._sourceURLInputLayout, this._citoidBox];
if (language !== "ku") {
content.push(translationInputLayout, transcriptionInputLayout);
}
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help wording in and out of it when switching to/from free text.
this._fieldsLayout = new OO.ui.FieldsetLayout({
label: "Nimûneyeke bi " + (languages[this._language] || "zimanekî nenas") + " lê zêde dikî.",
items: content,
classes: ["add-example-fieldset"],
});
var buttonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-main-buttons"],
items: [
this._applyButton,
this._cancelButton,
this._clearButton,
this._loadingImage,
]
});
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
content: [
this._fieldsLayout,
buttonsLayout,
],
});
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid button box, and the manual jêder-* fields toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.clearItems();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
var items = [];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var widthClass = field.width === "narrow" ? "add-example-field-narrow"
: field.width === "wide" ? "add-example-field-wide"
: "add-example-field-medium";
items.push(new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: [widthClass],
}));
});
this._jederFieldsFieldset.addItems(items);
}
this._jederFieldsFieldset.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid button box: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key.
this._citoidBox.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text (no Citoid box visible there to explain), Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var index = this._fieldsLayout.items.indexOf(this._sourceURLInputLayout);
this._fieldsLayout.removeItems([this._sourceURLInputLayout]);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
this._fieldsLayout.addItems([this._sourceURLInputLayout], index);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._frame.toggle(visible);
if (visible) {
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Check if the line includes the section number (if present)
if (!matchedSectionNum || line.includes(" " + matchedSectionNum)) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
chgpkjckfgwc17iqk3lh8tbbwwwakf9
6342237
6342199
2026-08-24T20:58:50Z
Wikihez
7344
6342237
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "1.7";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "width" controls field layout below (see _setSourceType): "narrow" for short fields (year, pages, ...), "wide" for fields that always take their own row, unset for medium fields (two-ish per row).
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cih", "label": "Cih" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "width": "narrow" },
{ "key": "çap", "label": "Çap", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "isbn", "label": "ISBN", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "nivîskar2", "label": "Nivîskar 2" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "kovar", "label": "Kovar" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cild", "label": "Cild", "width": "narrow" },
{ "key": "hejmar", "label": "Hejmar", "width": "narrow" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "websîte", "label": "Websîte" },
{ "key": "url", "label": "URL", "width": "wide" },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "width": "wide" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "tarîx", "label": "Tarîx", "width": "narrow" }
]
}
};
var languages = {};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
// Get names of all defined languages
var api = new mw.Api();
api.get({
action: "query",
format: "json",
titles: "MediaWiki:Gadget-translation editor.js/ziman.json",
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
languages = JSON.parse(data.query.pages[pageID].revisions[0].slots.main["*"]);
break;
}
}
});
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($item, $button, language, definitionLevel).$element);
console.log("$item", $item);
console.log("$button", $button);
console.log("language", language);
console.log("definitionLevel", definitionLevel);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem.append($button));
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Every language section's own <h2> already carries the raw language code directly -- MediaWiki renders
// it as <span class="besazimani" id="CODE"> right inside the heading -- so this reads that instead of
// needing an existing example's lang attribute or the async-loaded "languages" code->name map.
function languageCodeForOl($ol) {
var $h2 = $($ol.prevAll(".mw-heading2, h2").get(0));
return $h2.find(".besazimani").attr("id") || null;
}
// Recurse into a definitions <ol>'s <li>s. A <li> with its own nested <ol> (e.g. a "Formeke heval:"
// wrapper line introducing grammatical-form sub-senses) isn't itself a sense with content of its own --
// only its leaves are -- so recurse into that instead of treating the wrapper line as a leaf.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($placeholder, $button, language, definitionLevel).$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($("<ul>").append($placeholder).append($formItem.append($button)));
});
});
// Constructor for the edit form; lastExample/button/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter, and it's also the query field the Citoid button below fetches from.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
var citoidButtonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-citoid-buttons"],
items: [this._citoidButton, this._citoidClearButton],
});
// Fieldset that holds the fields for whichever jêder-* template is selected.
this._jederFieldsFieldset = new OO.ui.FieldsetLayout({
classes: ["add-example-jeder-fields"],
});
// Citoid button + jêder-* fields, framed as one "template" step — unlike the URL field above, this box only makes sense once a jêder-* template is active (there's nothing here for Citoid to fill in free-text mode, since it has no bibliographic fields to populate), so it's hidden for free text (see _setSourceType).
this._citoidBox = new OO.ui.PanelLayout({
expanded: false,
framed: true,
padded: true,
classes: ["add-example-citoid-box"],
content: [
new OO.ui.LabelWidget({
label: "Ji Citoid an bi destan tijî bike:",
classes: ["add-example-citoid-box-title"],
}),
citoidButtonsLayout,
this._jederFieldsFieldset,
],
});
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
var content = [textInputLayout, sourceTypeLayout, this._sourceInputLayout, this._sourceURLInputLayout, this._citoidBox];
if (language !== "ku") {
content.push(translationInputLayout, transcriptionInputLayout);
}
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help wording in and out of it when switching to/from free text.
this._fieldsLayout = new OO.ui.FieldsetLayout({
label: "Nimûneyeke bi " + (languages[this._language] || "zimanekî nenas") + " lê zêde dikî.",
items: content,
classes: ["add-example-fieldset"],
});
var buttonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-main-buttons"],
items: [
this._applyButton,
this._cancelButton,
this._clearButton,
this._loadingImage,
]
});
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
content: [
this._fieldsLayout,
buttonsLayout,
],
});
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid button box, and the manual jêder-* fields toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.clearItems();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
var items = [];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var widthClass = field.width === "narrow" ? "add-example-field-narrow"
: field.width === "wide" ? "add-example-field-wide"
: "add-example-field-medium";
items.push(new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: [widthClass],
}));
});
this._jederFieldsFieldset.addItems(items);
}
this._jederFieldsFieldset.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid button box: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key.
this._citoidBox.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text (no Citoid box visible there to explain), Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var index = this._fieldsLayout.items.indexOf(this._sourceURLInputLayout);
this._fieldsLayout.removeItems([this._sourceURLInputLayout]);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
this._fieldsLayout.addItems([this._sourceURLInputLayout], index);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._frame.toggle(visible);
if (visible) {
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Check if the line includes the section number (if present)
if (!matchedSectionNum || line.includes(" " + matchedSectionNum)) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
5a4mqhonr3ack4v1pnz528z9kp2uqdx
6342240
6342237
2026-08-24T21:13:02Z
Wikihez
7344
6342240
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "1.7";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "width" controls field layout below (see _setSourceType): "narrow" for short fields (year, pages, ...), "wide" for fields that always take their own row, unset for medium fields (two-ish per row).
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cih", "label": "Cih" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "width": "narrow" },
{ "key": "çap", "label": "Çap", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "isbn", "label": "ISBN", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "nivîskar2", "label": "Nivîskar 2" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "kovar", "label": "Kovar" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cild", "label": "Cild", "width": "narrow" },
{ "key": "hejmar", "label": "Hejmar", "width": "narrow" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "websîte", "label": "Websîte" },
{ "key": "url", "label": "URL", "width": "wide" },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "width": "wide" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "tarîx", "label": "Tarîx", "width": "narrow" }
]
}
};
var languages = {};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
// Get names of all defined languages
var api = new mw.Api();
api.get({
action: "query",
format: "json",
titles: "MediaWiki:Gadget-translation editor.js/ziman.json",
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
languages = JSON.parse(data.query.pages[pageID].revisions[0].slots.main["*"]);
break;
}
}
});
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($item, $button, language, definitionLevel).$element);
console.log("$item", $item);
console.log("$button", $button);
console.log("language", language);
console.log("definitionLevel", definitionLevel);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem.append($button));
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Every language section's own <h2> already carries the raw language code directly -- MediaWiki renders
// it as <span class="besazimani" id="CODE"> right inside the heading -- so this reads that instead of
// needing an existing example's lang attribute or the async-loaded "languages" code->name map.
function languageCodeForOl($ol) {
var $h2 = $($ol.prevAll(".mw-heading2, h2").get(0));
return $h2.find(".besazimani").attr("id") || null;
}
// Recurse into a definitions <ol>'s <li>s. A <li> with its own nested <ol> (e.g. a "Formeke heval:"
// wrapper line introducing grammatical-form sub-senses) isn't itself a sense with content of its own --
// only its leaves are -- so recurse into that instead of treating the wrapper line as a leaf.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($placeholder, $button, language, definitionLevel).$element);
}
$button.form.setVisible(true);
return false;
});
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem.append($button));
$li.append($ul);
});
});
// Constructor for the edit form; lastExample/button/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter, and it's also the query field the Citoid button below fetches from.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
var citoidButtonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-citoid-buttons"],
items: [this._citoidButton, this._citoidClearButton],
});
// Fieldset that holds the fields for whichever jêder-* template is selected.
this._jederFieldsFieldset = new OO.ui.FieldsetLayout({
classes: ["add-example-jeder-fields"],
});
// Citoid button + jêder-* fields, framed as one "template" step — unlike the URL field above, this box only makes sense once a jêder-* template is active (there's nothing here for Citoid to fill in free-text mode, since it has no bibliographic fields to populate), so it's hidden for free text (see _setSourceType).
this._citoidBox = new OO.ui.PanelLayout({
expanded: false,
framed: true,
padded: true,
classes: ["add-example-citoid-box"],
content: [
new OO.ui.LabelWidget({
label: "Ji Citoid an bi destan tijî bike:",
classes: ["add-example-citoid-box-title"],
}),
citoidButtonsLayout,
this._jederFieldsFieldset,
],
});
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
var content = [textInputLayout, sourceTypeLayout, this._sourceInputLayout, this._sourceURLInputLayout, this._citoidBox];
if (language !== "ku") {
content.push(translationInputLayout, transcriptionInputLayout);
}
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help wording in and out of it when switching to/from free text.
this._fieldsLayout = new OO.ui.FieldsetLayout({
label: "Nimûneyeke bi " + (languages[this._language] || "zimanekî nenas") + " lê zêde dikî.",
items: content,
classes: ["add-example-fieldset"],
});
var buttonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-main-buttons"],
items: [
this._applyButton,
this._cancelButton,
this._clearButton,
this._loadingImage,
]
});
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
content: [
this._fieldsLayout,
buttonsLayout,
],
});
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid button box, and the manual jêder-* fields toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.clearItems();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
var items = [];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var widthClass = field.width === "narrow" ? "add-example-field-narrow"
: field.width === "wide" ? "add-example-field-wide"
: "add-example-field-medium";
items.push(new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: [widthClass],
}));
});
this._jederFieldsFieldset.addItems(items);
}
this._jederFieldsFieldset.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid button box: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key.
this._citoidBox.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text (no Citoid box visible there to explain), Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var index = this._fieldsLayout.items.indexOf(this._sourceURLInputLayout);
this._fieldsLayout.removeItems([this._sourceURLInputLayout]);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
this._fieldsLayout.addItems([this._sourceURLInputLayout], index);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._frame.toggle(visible);
if (visible) {
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Check if the line includes the section number (if present)
if (!matchedSectionNum || line.includes(" " + matchedSectionNum)) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
9kulu2nh366gfqyvs0ojsgkfeeaj6rx
6342246
6342240
2026-08-24T21:24:54Z
Wikihez
7344
v. 2.0 êdî heq dike :D
6342246
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "width" controls field layout below (see _setSourceType): "narrow" for short fields (year, pages, ...), "wide" for fields that always take their own row, unset for medium fields (two-ish per row).
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cih", "label": "Cih" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "width": "narrow" },
{ "key": "çap", "label": "Çap", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "isbn", "label": "ISBN", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "nivîskar2", "label": "Nivîskar 2" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "kovar", "label": "Kovar" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cild", "label": "Cild", "width": "narrow" },
{ "key": "hejmar", "label": "Hejmar", "width": "narrow" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "websîte", "label": "Websîte" },
{ "key": "url", "label": "URL", "width": "wide" },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "width": "wide" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "tarîx", "label": "Tarîx", "width": "narrow" }
]
}
};
var languages = {};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
// Get names of all defined languages
var api = new mw.Api();
api.get({
action: "query",
format: "json",
titles: "MediaWiki:Gadget-translation editor.js/ziman.json",
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
languages = JSON.parse(data.query.pages[pageID].revisions[0].slots.main["*"]);
break;
}
}
});
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($item, $button, language, definitionLevel).$element);
console.log("$item", $item);
console.log("$button", $button);
console.log("language", language);
console.log("definitionLevel", definitionLevel);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem.append($button));
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Every language section's own <h2> already carries the raw language code directly -- MediaWiki renders
// it as <span class="besazimani" id="CODE"> right inside the heading -- so this reads that instead of
// needing an existing example's lang attribute or the async-loaded "languages" code->name map.
function languageCodeForOl($ol) {
var $h2 = $($ol.prevAll(".mw-heading2, h2").get(0));
return $h2.find(".besazimani").attr("id") || null;
}
// Recurse into a definitions <ol>'s <li>s. A <li> with its own nested <ol> (e.g. a "Formeke heval:"
// wrapper line introducing grammatical-form sub-senses) isn't itself a sense with content of its own --
// only its leaves are -- so recurse into that instead of treating the wrapper line as a leaf.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($placeholder, $button, language, definitionLevel).$element);
}
$button.form.setVisible(true);
return false;
});
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem.append($button));
$li.append($ul);
});
});
// Constructor for the edit form; lastExample/button/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter, and it's also the query field the Citoid button below fetches from.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
var citoidButtonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-citoid-buttons"],
items: [this._citoidButton, this._citoidClearButton],
});
// Fieldset that holds the fields for whichever jêder-* template is selected.
this._jederFieldsFieldset = new OO.ui.FieldsetLayout({
classes: ["add-example-jeder-fields"],
});
// Citoid button + jêder-* fields, framed as one "template" step — unlike the URL field above, this box only makes sense once a jêder-* template is active (there's nothing here for Citoid to fill in free-text mode, since it has no bibliographic fields to populate), so it's hidden for free text (see _setSourceType).
this._citoidBox = new OO.ui.PanelLayout({
expanded: false,
framed: true,
padded: true,
classes: ["add-example-citoid-box"],
content: [
new OO.ui.LabelWidget({
label: "Ji Citoid an bi destan tijî bike:",
classes: ["add-example-citoid-box-title"],
}),
citoidButtonsLayout,
this._jederFieldsFieldset,
],
});
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
var content = [textInputLayout, sourceTypeLayout, this._sourceInputLayout, this._sourceURLInputLayout, this._citoidBox];
if (language !== "ku") {
content.push(translationInputLayout, transcriptionInputLayout);
}
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help wording in and out of it when switching to/from free text.
this._fieldsLayout = new OO.ui.FieldsetLayout({
label: "Nimûneyeke bi " + (languages[this._language] || "zimanekî nenas") + " lê zêde dikî.",
items: content,
classes: ["add-example-fieldset"],
});
var buttonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-main-buttons"],
items: [
this._applyButton,
this._cancelButton,
this._clearButton,
this._loadingImage,
]
});
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
content: [
this._fieldsLayout,
buttonsLayout,
],
});
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid button box, and the manual jêder-* fields toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.clearItems();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
var items = [];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var widthClass = field.width === "narrow" ? "add-example-field-narrow"
: field.width === "wide" ? "add-example-field-wide"
: "add-example-field-medium";
items.push(new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: [widthClass],
}));
});
this._jederFieldsFieldset.addItems(items);
}
this._jederFieldsFieldset.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid button box: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key.
this._citoidBox.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text (no Citoid box visible there to explain), Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var index = this._fieldsLayout.items.indexOf(this._sourceURLInputLayout);
this._fieldsLayout.removeItems([this._sourceURLInputLayout]);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
this._fieldsLayout.addItems([this._sourceURLInputLayout], index);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._frame.toggle(visible);
if (visible) {
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Check if the line includes the section number (if present)
if (!matchedSectionNum || line.includes(" " + matchedSectionNum)) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
0zav6f8gdif909mf9z590i5vj7a2aqq
6342251
6342246
2026-08-24T22:15:45Z
Wikihez
7344
6342251
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "width" controls field layout below (see _setSourceType): "narrow" for short fields (year, pages, ...), "wide" for fields that always take their own row, unset for medium fields (two-ish per row).
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cih", "label": "Cih" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "width": "narrow" },
{ "key": "çap", "label": "Çap", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "isbn", "label": "ISBN", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "nivîskar2", "label": "Nivîskar 2" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "kovar", "label": "Kovar" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cild", "label": "Cild", "width": "narrow" },
{ "key": "hejmar", "label": "Hejmar", "width": "narrow" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "websîte", "label": "Websîte" },
{ "key": "url", "label": "URL", "width": "wide" },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "width": "wide" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "tarîx", "label": "Tarîx", "width": "narrow" }
]
}
};
var languages = {};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
// Get names of all defined languages
var api = new mw.Api();
api.get({
action: "query",
format: "json",
titles: "MediaWiki:Gadget-translation editor.js/ziman.json",
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
languages = JSON.parse(data.query.pages[pageID].revisions[0].slots.main["*"]);
break;
}
}
});
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($item, $button, language, definitionLevel).$element);
console.log("$item", $item);
console.log("$button", $button);
console.log("language", language);
console.log("definitionLevel", definitionLevel);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem.append($button));
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Every language section's own <h2> already carries the raw language code directly -- MediaWiki renders
// it as <span class="besazimani" id="CODE"> right inside the heading -- so this reads that instead of
// needing an existing example's lang attribute or the async-loaded "languages" code->name map.
function languageCodeForOl($ol) {
var $h2 = $($ol.prevAll(".mw-heading2, h2").get(0));
return $h2.find(".besazimani").attr("id") || null;
}
// Recurse into a definitions <ol>'s <li>s. A <li> with its own nested <ol> (e.g. a "Formeke heval:"
// wrapper line introducing grammatical-form sub-senses) isn't itself a sense with content of its own --
// only its leaves are -- so recurse into that instead of treating the wrapper line as a leaf.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($placeholder, $button, language, definitionLevel).$element);
}
$button.form.setVisible(true);
return false;
});
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem.append($button));
$li.append($ul);
});
});
// Constructor for the edit form; lastExample/button/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter, and it's also the query field the Citoid button below fetches from.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
var citoidButtonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-citoid-buttons"],
items: [this._citoidButton, this._citoidClearButton],
});
// Fieldset that holds the fields for whichever jêder-* template is selected.
this._jederFieldsFieldset = new OO.ui.FieldsetLayout({
classes: ["add-example-jeder-fields"],
});
// Citoid button + jêder-* fields, framed as one "template" step — unlike the URL field above, this box only makes sense once a jêder-* template is active (there's nothing here for Citoid to fill in free-text mode, since it has no bibliographic fields to populate), so it's hidden for free text (see _setSourceType).
this._citoidBox = new OO.ui.PanelLayout({
expanded: false,
framed: true,
padded: true,
classes: ["add-example-citoid-box"],
content: [
new OO.ui.LabelWidget({
label: "Ji Citoid an bi destan tijî bike:",
classes: ["add-example-citoid-box-title"],
}),
citoidButtonsLayout,
this._jederFieldsFieldset,
],
});
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Translation/transliteration go right after the example text and before the source/citation fields
// (not after them) -- they're about the example itself, not the citation.
var content = [textInputLayout];
if (language !== "ku") {
content.push(translationInputLayout, transcriptionInputLayout);
}
content.push(sourceTypeLayout, this._sourceInputLayout, this._sourceURLInputLayout, this._citoidBox);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help wording in and out of it when switching to/from free text.
this._fieldsLayout = new OO.ui.FieldsetLayout({
label: "Nimûneyeke bi " + (languages[this._language] || "zimanekî nenas") + " lê zêde dikî.",
items: content,
classes: ["add-example-fieldset"],
});
var buttonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-main-buttons"],
items: [
this._applyButton,
this._cancelButton,
this._clearButton,
this._loadingImage,
]
});
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
content: [
this._fieldsLayout,
buttonsLayout,
],
});
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid button box, and the manual jêder-* fields toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.clearItems();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
var items = [];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var widthClass = field.width === "narrow" ? "add-example-field-narrow"
: field.width === "wide" ? "add-example-field-wide"
: "add-example-field-medium";
items.push(new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: [widthClass],
}));
});
this._jederFieldsFieldset.addItems(items);
}
this._jederFieldsFieldset.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid button box: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key.
this._citoidBox.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text (no Citoid box visible there to explain), Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var index = this._fieldsLayout.items.indexOf(this._sourceURLInputLayout);
this._fieldsLayout.removeItems([this._sourceURLInputLayout]);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
this._fieldsLayout.addItems([this._sourceURLInputLayout], index);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._frame.toggle(visible);
if (visible) {
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
1cazwsqu5be22eewtwhbtub8ajlvlmq
6342265
6342251
2026-08-24T22:30:46Z
Wikihez
7344
6342265
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "width" controls field layout below (see _setSourceType): "narrow" for short fields (year, pages, ...), "wide" for fields that always take their own row, unset for medium fields (two-ish per row).
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cih", "label": "Cih" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "width": "narrow" },
{ "key": "çap", "label": "Çap", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "isbn", "label": "ISBN", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "nivîskar2", "label": "Nivîskar 2" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "kovar", "label": "Kovar" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cild", "label": "Cild", "width": "narrow" },
{ "key": "hejmar", "label": "Hejmar", "width": "narrow" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "websîte", "label": "Websîte" },
{ "key": "url", "label": "URL", "width": "wide" },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "width": "wide" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "tarîx", "label": "Tarîx", "width": "narrow" }
]
}
};
var languages = {};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
// Get names of all defined languages
var api = new mw.Api();
api.get({
action: "query",
format: "json",
titles: "MediaWiki:Gadget-translation editor.js/ziman.json",
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
languages = JSON.parse(data.query.pages[pageID].revisions[0].slots.main["*"]);
break;
}
}
});
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($item, $button, language, definitionLevel).$element);
console.log("$item", $item);
console.log("$button", $button);
console.log("language", language);
console.log("definitionLevel", definitionLevel);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem.append($button));
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Every language section's own <h2> already carries the raw language code directly -- MediaWiki renders
// it as <span class="besazimani" id="CODE"> right inside the heading -- so this reads that instead of
// needing an existing example's lang attribute or the async-loaded "languages" code->name map.
function languageCodeForOl($ol) {
var $h2 = $($ol.prevAll(".mw-heading2, h2").get(0));
return $h2.find(".besazimani").attr("id") || null;
}
// Every top-level "#" line in a definitions <ol> is exactly one addressable insertion point in the
// wikitext, so this does NOT recurse into a <li>'s own nested <ol> -- a wrapper like "Formeke heval:"
// with grammatical-form readings under it (e.g. from {{ku-tewîna-nav}}) is usually the ENTIRE output of
// that single "#" line's one template call, with no separate "##" line behind any of its readings; one
// button per generated reading would each try to match a "##" line that doesn't exist and submit()
// would fail to find where to insert. So the wrapper <li> itself is treated as the (only) leaf here.
function eachTopLevelDefinition($ol, fn) {
$ol.children("li").each(function() {
fn($(this));
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachTopLevelDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($placeholder, $button, language, definitionLevel).$element);
}
$button.form.setVisible(true);
return false;
});
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem.append($button));
$li.append($ul);
});
});
// Constructor for the edit form; lastExample/button/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter, and it's also the query field the Citoid button below fetches from.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
var citoidButtonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-citoid-buttons"],
items: [this._citoidButton, this._citoidClearButton],
});
// Fieldset that holds the fields for whichever jêder-* template is selected.
this._jederFieldsFieldset = new OO.ui.FieldsetLayout({
classes: ["add-example-jeder-fields"],
});
// Citoid button + jêder-* fields, framed as one "template" step — unlike the URL field above, this box only makes sense once a jêder-* template is active (there's nothing here for Citoid to fill in free-text mode, since it has no bibliographic fields to populate), so it's hidden for free text (see _setSourceType).
this._citoidBox = new OO.ui.PanelLayout({
expanded: false,
framed: true,
padded: true,
classes: ["add-example-citoid-box"],
content: [
new OO.ui.LabelWidget({
label: "Ji Citoid an bi destan tijî bike:",
classes: ["add-example-citoid-box-title"],
}),
citoidButtonsLayout,
this._jederFieldsFieldset,
],
});
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Translation/transliteration go right after the example text and before the source/citation fields
// (not after them) -- they're about the example itself, not the citation.
var content = [textInputLayout];
if (language !== "ku") {
content.push(translationInputLayout, transcriptionInputLayout);
}
content.push(sourceTypeLayout, this._sourceInputLayout, this._sourceURLInputLayout, this._citoidBox);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help wording in and out of it when switching to/from free text.
this._fieldsLayout = new OO.ui.FieldsetLayout({
label: "Nimûneyeke bi " + (languages[this._language] || "zimanekî nenas") + " lê zêde dikî.",
items: content,
classes: ["add-example-fieldset"],
});
var buttonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-main-buttons"],
items: [
this._applyButton,
this._cancelButton,
this._clearButton,
this._loadingImage,
]
});
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
content: [
this._fieldsLayout,
buttonsLayout,
],
});
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid button box, and the manual jêder-* fields toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.clearItems();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
var items = [];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var widthClass = field.width === "narrow" ? "add-example-field-narrow"
: field.width === "wide" ? "add-example-field-wide"
: "add-example-field-medium";
items.push(new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: [widthClass],
}));
});
this._jederFieldsFieldset.addItems(items);
}
this._jederFieldsFieldset.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid button box: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key.
this._citoidBox.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text (no Citoid box visible there to explain), Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var index = this._fieldsLayout.items.indexOf(this._sourceURLInputLayout);
this._fieldsLayout.removeItems([this._sourceURLInputLayout]);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
this._fieldsLayout.addItems([this._sourceURLInputLayout], index);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._frame.toggle(visible);
if (visible) {
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
l6joi8ygi89x08mid2j1caowpm926au
6342280
6342265
2026-08-24T22:46:16Z
Wikihez
7344
6342280
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "width" controls field layout below (see _setSourceType): "narrow" for short fields (year, pages, ...), "wide" for fields that always take their own row, unset for medium fields (two-ish per row).
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cih", "label": "Cih" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "width": "narrow" },
{ "key": "çap", "label": "Çap", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "isbn", "label": "ISBN", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "nivîskar2", "label": "Nivîskar 2" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "kovar", "label": "Kovar" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "weşanxane", "label": "Weşanxane" },
{ "key": "cild", "label": "Cild", "width": "narrow" },
{ "key": "hejmar", "label": "Hejmar", "width": "narrow" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "rûpel", "label": "Rûpel", "width": "narrow" },
{ "key": "url", "label": "URL", "width": "wide" }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar" },
{ "key": "sernav", "label": "Sernav", "multiline": true, "width": "wide" },
{ "key": "terciman", "label": "Terciman" },
{ "key": "websîte", "label": "Websîte" },
{ "key": "url", "label": "URL", "width": "wide" },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "width": "wide" },
{ "key": "sal", "label": "Sal", "width": "narrow" },
{ "key": "tarîx", "label": "Tarîx", "width": "narrow" }
]
}
};
var languages = {};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
// Get names of all defined languages
var api = new mw.Api();
api.get({
action: "query",
format: "json",
titles: "MediaWiki:Gadget-translation editor.js/ziman.json",
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
languages = JSON.parse(data.query.pages[pageID].revisions[0].slots.main["*"]);
break;
}
}
});
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($item, $button, language, definitionLevel).$element);
console.log("$item", $item);
console.log("$button", $button);
console.log("language", language);
console.log("definitionLevel", definitionLevel);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem.append($button));
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Every language section's own <h2> already carries the raw language code directly -- MediaWiki renders
// it as <span class="besazimani" id="CODE"> right inside the heading -- so this reads that instead of
// needing an existing example's lang attribute or the async-loaded "languages" code->name map.
function languageCodeForOl($ol) {
var $h2 = $($ol.prevAll(".mw-heading2, h2").get(0));
return $h2.find(".besazimani").attr("id") || null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
$button.on("click", function() {
if (!$button.form) {
$formItem.append(new Form($placeholder, $button, language, definitionLevel).$element);
}
$button.form.setVisible(true);
return false;
});
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem.append($button));
$li.append($ul);
});
});
// Constructor for the edit form; lastExample/button/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter, and it's also the query field the Citoid button below fetches from.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
var citoidButtonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-citoid-buttons"],
items: [this._citoidButton, this._citoidClearButton],
});
// Fieldset that holds the fields for whichever jêder-* template is selected.
this._jederFieldsFieldset = new OO.ui.FieldsetLayout({
classes: ["add-example-jeder-fields"],
});
// Citoid button + jêder-* fields, framed as one "template" step — unlike the URL field above, this box only makes sense once a jêder-* template is active (there's nothing here for Citoid to fill in free-text mode, since it has no bibliographic fields to populate), so it's hidden for free text (see _setSourceType).
this._citoidBox = new OO.ui.PanelLayout({
expanded: false,
framed: true,
padded: true,
classes: ["add-example-citoid-box"],
content: [
new OO.ui.LabelWidget({
label: "Ji Citoid an bi destan tijî bike:",
classes: ["add-example-citoid-box-title"],
}),
citoidButtonsLayout,
this._jederFieldsFieldset,
],
});
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Translation/transliteration go right after the example text and before the source/citation fields
// (not after them) -- they're about the example itself, not the citation.
var content = [textInputLayout];
if (language !== "ku") {
content.push(translationInputLayout, transcriptionInputLayout);
}
content.push(sourceTypeLayout, this._sourceInputLayout, this._sourceURLInputLayout, this._citoidBox);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help wording in and out of it when switching to/from free text.
this._fieldsLayout = new OO.ui.FieldsetLayout({
label: "Nimûneyeke bi " + (languages[this._language] || "zimanekî nenas") + " lê zêde dikî.",
items: content,
classes: ["add-example-fieldset"],
});
var buttonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-main-buttons"],
items: [
this._applyButton,
this._cancelButton,
this._clearButton,
this._loadingImage,
]
});
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
content: [
this._fieldsLayout,
buttonsLayout,
],
});
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid button box, and the manual jêder-* fields toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.clearItems();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
var items = [];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var widthClass = field.width === "narrow" ? "add-example-field-narrow"
: field.width === "wide" ? "add-example-field-wide"
: "add-example-field-medium";
items.push(new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: [widthClass],
}));
});
this._jederFieldsFieldset.addItems(items);
}
this._jederFieldsFieldset.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid button box: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key.
this._citoidBox.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text (no Citoid box visible there to explain), Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var index = this._fieldsLayout.items.indexOf(this._sourceURLInputLayout);
this._fieldsLayout.removeItems([this._sourceURLInputLayout]);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._sourceURLInput, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
this._fieldsLayout.addItems([this._sourceURLInputLayout], index);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._frame.toggle(visible);
if (visible) {
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
553r0yvo5ontqkk7p98rz89k9tfigad
6342333
6342280
2026-08-25T06:28:42Z
Wikihez
7344
6342333
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order, so e.g.
// nivîskar/terciman/weşanxane (5+4+3=12) sit on one row, then sernav gets its own full-width row.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 5 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 5 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "nivîskar2", "label": "Nivîskar 2", "span": 4 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "url", "label": "URL", "span": 5 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
}
};
var languages = {};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
// Get names of all defined languages
var api = new mw.Api();
api.get({
action: "query",
format: "json",
titles: "MediaWiki:Gadget-translation editor.js/ziman.json",
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
languages = JSON.parse(data.query.pages[pageID].revisions[0].slots.main["*"]);
break;
}
}
});
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>")
.text("Nimûneyeke bi " + (languages[language] || "zimanekî nenas") + " lê zêde dikî.")
.hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Every language section's own <h2> already carries the raw language code directly -- MediaWiki renders
// it as <span class="besazimani" id="CODE"> right inside the heading -- so this reads that instead of
// needing an existing example's lang attribute or the async-loaded "languages" code->name map.
function languageCodeForOl($ol) {
var $h2 = $($ol.prevAll(".mw-heading2, h2").get(0));
return $h2.find(".besazimani").attr("id") || null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>")
.text("Nimûneyeke bi " + (languages[language] || "zimanekî nenas") + " lê zêde dikî.")
.hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Agahî hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Fieldset that holds the fields for whichever jêder-* template is selected, laid out as a 12-column
// grid (see .add-example-jeder-fields / .add-example-field-span-N in the CSS and _setSourceType).
this._jederFieldsFieldset = new OO.ui.FieldsetLayout({
classes: ["add-example-jeder-fields"],
});
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset.$element
);
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element, transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
var buttonsLayout = new OO.ui.HorizontalLayout({
classes: ["add-example-main-buttons"],
items: [
this._applyButton,
this._cancelButton,
this._clearButton,
this._loadingImage,
]
});
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, buttonsLayout.$element);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.clearItems();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
var items = [];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
items.push(new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
}));
});
this._jederFieldsFieldset.addItems(items);
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
93cbyvrfc42176fl50wvrciuc936mpk
6342335
6342333
2026-08-25T06:36:40Z
Wikihez
7344
6342335
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order, so e.g.
// nivîskar/terciman/weşanxane (5+4+3=12) sit on one row, then sernav gets its own full-width row.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 5 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 5 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "nivîskar2", "label": "Nivîskar 2", "span": 4 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "url", "label": "URL", "span": 5 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
}
};
var languages = {};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
// Get names of all defined languages
var api = new mw.Api();
api.get({
action: "query",
format: "json",
titles: "MediaWiki:Gadget-translation editor.js/ziman.json",
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
languages = JSON.parse(data.query.pages[pageID].revisions[0].slots.main["*"]);
break;
}
}
});
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible). Text is filled in at
// CLICK time, not here -- "languages" is populated by an async api.get() (see above) that's very
// likely still empty at page-load time (when this whole button-creation pass runs), so setting it
// now would permanently bake in the "zimanekî nenas" fallback even for a known language. By the
// time a user actually clicks, the fetch has long since resolved.
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languages[language] || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Every language section's own <h2> already carries the raw language code directly -- MediaWiki renders
// it as <span class="besazimani" id="CODE"> right inside the heading -- so this reads that instead of
// needing an existing example's lang attribute or the async-loaded "languages" code->name map.
function languageCodeForOl($ol) {
var $h2 = $($ol.prevAll(".mw-heading2, h2").get(0));
return $h2.find(".besazimani").attr("id") || null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible). Text filled in at
// CLICK time -- see the matching comment in the first pass above ("languages" loads async).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languages[language] || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._readyHint.text(value ? "Amade ye." : "Metna nimûneyê pêwîst e.");
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Agahî hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Fieldset that holds the fields for whichever jêder-* template is selected, laid out as a 12-column
// grid (see .add-example-jeder-fields / .add-example-field-span-N in the CSS and _setSourceType).
this._jederFieldsFieldset = new OO.ui.FieldsetLayout({
classes: ["add-example-jeder-fields"],
});
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset.$element
);
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne (matches the mockup's readyHint), kept in sync by
// the same textInput "change" handler above that already disables/enables Biweşîne itself.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê pêwîst e.");
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element, transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.clearItems();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
var items = [];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
items.push(new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
}));
});
this._jederFieldsFieldset.addItems(items);
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
qbwwatjhldl8m6i7jqzs1yvdbrj4wfe
6342336
6342335
2026-08-25T06:53:19Z
Wikihez
7344
6342336
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order, so e.g.
// nivîskar/terciman/weşanxane (5+4+3=12) sit on one row, then sernav gets its own full-width row.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 5 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 5 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "nivîskar2", "label": "Nivîskar 2", "span": 4 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "url", "label": "URL", "span": 5 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
}
};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
var api = new mw.Api();
// The display name for a language code, read straight off the page: every language section's <h2> already
// carries both the code (as the id of its .besazimani span -- see languageCodeForOl below) AND the name (as
// that same span's link text, e.g. <span class="besazimani" id="ckb"><a>Soranî</a></span>) -- so there's no
// need to separately fetch/maintain a code->name map (MediaWiki:Gadget-translation editor.js/ziman.json) via
// an async API call, which also used to risk a stale-empty-map race if read before it resolved (see the old
// git history). Returns null if no section on the page uses this code (shouldn't normally happen, since the
// code always comes from a section that's actually on the page).
function languageNameForCode(code) {
var $mark = $(".besazimani[id='" + code + "']").first();
return $mark.length ? $mark.text().trim() : null;
}
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Every language section's own <h2> already carries the raw language code directly -- MediaWiki renders
// it as <span class="besazimani" id="CODE"> right inside the heading -- so this reads that instead of
// needing an existing example's lang attribute. Finds the code by DOCUMENT ORDER (nearest preceding
// .besazimani anywhere on the page), not by walking $ol's own siblings with prevAll() -- the mobile
// (Minerva) skin wraps each <h2> section's content in its own <section class="mf-section-N">, so on mobile
// $ol and its <h2> are NOT siblings (prevAll() would find nothing and silently kill the button for the
// whole section); the desktop (Vector) skin keeps them as flat siblings, where this still works the same.
function languageCodeForOl($ol) {
var $marks = $(".besazimani[id]").add($ol);
var ol = $ol.get(0);
var idx = $marks.index(ol);
for (var i = idx - 1; i >= 0; i--) {
var el = $marks.get(i);
if (el.id) {
return el.id;
}
}
return null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._readyHint.text(value ? "Amade ye." : "Metna nimûneyê pêwîst e.");
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Agahî hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Fields for whichever jêder-* template is selected, laid out as a 12-column grid (see
// .add-example-jeder-fields / .add-example-field-span-N in the CSS and _setSourceType). A plain <div>,
// NOT an OO.ui.FieldsetLayout -- FieldsetLayout puts its items inside its OWN inner $group <div>, one
// level below $element, so a CSS grid class added to $element (via the "classes" config) never actually
// reaches the FieldLayout items -- they stayed in normal block flow while $group itself became a single
// squeezed 1-of-12 grid cell (the "tiny boxes" bug). Same plain-div pattern as the other grid/flex
// containers in this redesign.
this._jederFieldsFieldset = $("<div class='add-example-jeder-fields'>");
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset
);
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne (matches the mockup's readyHint), kept in sync by
// the same textInput "change" handler above that already disables/enables Biweşîne itself.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê pêwîst e.");
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element, transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.empty();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var layout = new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
});
self._jederFieldsFieldset.append(layout.$element);
});
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
2l9kfxbc3zew380kbtjtnl2quvnniqb
6342424
6342336
2026-08-25T09:14:29Z
Wikihez
7344
6342424
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order, so e.g.
// nivîskar/terciman/weşanxane (5+4+3=12) sit on one row, then sernav gets its own full-width row.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 5 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 5 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "nivîskar2", "label": "Nivîskar 2", "span": 4 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "url", "label": "URL", "span": 5 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
}
};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
var api = new mw.Api();
// Language display name, read from the matching section's .besazimani link text.
function languageNameForCode(code) {
var $mark = $(".besazimani[id='" + code + "']").first();
return $mark.length ? $mark.text().trim() : null;
}
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Section's language code: nearest preceding .besazimani[id] by document order (not sibling-walking, which mobile's per-section wrapping breaks).
function languageCodeForOl($ol) {
var $marks = $(".besazimani[id]").add($ol);
var ol = $ol.get(0);
var idx = $marks.index(ol);
for (var i = idx - 1; i >= 0; i--) {
var el = $marks.get(i);
if (el.id) {
return el.id;
}
}
return null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._readyHint.text(value ? "Amade ye." : "Metna nimûneyê lazim e.");
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Agahî hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Plain div (not OO.ui.FieldsetLayout) so the grid CSS class applies directly to the field items.
this._jederFieldsFieldset = $("<div class='add-example-jeder-fields'>");
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset
);
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne (matches the mockup's readyHint), kept in sync by
// the same textInput "change" handler above that already disables/enables Biweşîne itself.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê lazim e.");
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element, transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.empty();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var layout = new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
});
self._jederFieldsFieldset.append(layout.$element);
});
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
i7wn8a7pfgf6sn91iksr0xbd0oyz1vc
6342428
6342424
2026-08-25T09:25:23Z
Wikihez
7344
6342428
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "rûpel", "label": "Rûpel", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
}
};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
var api = new mw.Api();
// Language display name, read from the matching section's .besazimani link text.
function languageNameForCode(code) {
var $mark = $(".besazimani[id='" + code + "']").first();
return $mark.length ? $mark.text().trim() : null;
}
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Section's language code: nearest preceding .besazimani[id] by document order (not sibling-walking, which mobile's per-section wrapping breaks).
function languageCodeForOl($ol) {
var $marks = $(".besazimani[id]").add($ol);
var ol = $ol.get(0);
var idx = $marks.index(ol);
for (var i = idx - 1; i >= 0; i--) {
var el = $marks.get(i);
if (el.id) {
return el.id;
}
}
return null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Pulls the form panel flush with the page's own left/right edges, undoing whatever nested-list indent it inherited from sitting inside a deeply-nested definition.
function alignFormToPage($form) {
var $container = $form.closest(".mw-parser-output");
if (!$container.length) {
return;
}
var pad = parseFloat(window.getComputedStyle($container[0]).paddingLeft) || 0;
var containerLeft = $container.offset().left + pad;
var indent = $form.offset().left - containerLeft;
$form.css({
marginLeft: indent > 0 ? -indent : 0,
width: $container.width() + "px"
});
}
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget();
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._readyHint.text(value ? "Amade ye." : "Metna nimûneyê lazim e.");
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Agahî hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Plain div (not OO.ui.FieldsetLayout) so the grid CSS class applies directly to the field items.
this._jederFieldsFieldset = $("<div class='add-example-jeder-fields'>");
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset
);
this._translationInput = new OO.ui.MultilineTextInputWidget();
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne (matches the mockup's readyHint), kept in sync by
// the same textInput "change" handler above that already disables/enables Biweşîne itself.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê lazim e.");
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element, transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.empty();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var layout = new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
});
self._jederFieldsFieldset.append(layout.$element);
});
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
alignFormToPage(this._frame.$element);
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
g07wgp7u7izc2trfpoi5qwu5awoenfk
6342431
6342428
2026-08-25T09:30:46Z
Wikihez
7344
6342431
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "rûpel", "label": "Rûpel", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
}
};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
var api = new mw.Api();
// Language display name, read from the matching section's .besazimani link text.
function languageNameForCode(code) {
var $mark = $(".besazimani[id='" + code + "']").first();
return $mark.length ? $mark.text().trim() : null;
}
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Section's language code: nearest preceding .besazimani[id] by document order (not sibling-walking, which mobile's per-section wrapping breaks).
function languageCodeForOl($ol) {
var $marks = $(".besazimani[id]").add($ol);
var ol = $ol.get(0);
var idx = $marks.index(ol);
for (var i = idx - 1; i >= 0; i--) {
var el = $marks.get(i);
if (el.id) {
return el.id;
}
}
return null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Pulls the form panel flush with the page's own left/right edges, undoing whatever nested-list indent it inherited from sitting inside a deeply-nested definition.
function alignFormToPage($form) {
var $container = $form.closest(".mw-parser-output");
if (!$container.length) {
return;
}
var pad = parseFloat(window.getComputedStyle($container[0]).paddingLeft) || 0;
var containerLeft = $container.offset().left + pad;
var indent = $form.offset().left - containerLeft;
$form.css({
marginLeft: indent > 0 ? -indent : 0,
width: $container.width() + "px"
});
}
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._readyHint.text(value ? "Amade ye." : "Metna nimûneyê lazim e.");
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Agahî hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Plain div (not OO.ui.FieldsetLayout) so the grid CSS class applies directly to the field items.
this._jederFieldsFieldset = $("<div class='add-example-jeder-fields'>");
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset
);
this._translationInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne (matches the mockup's readyHint), kept in sync by
// the same textInput "change" handler above that already disables/enables Biweşîne itself.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê lazim e.");
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element, transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.empty();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var layout = new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
});
self._jederFieldsFieldset.append(layout.$element);
});
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
alignFormToPage(this._frame.$element);
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
4h8xrv49m13fsa1u4i4q7fg7huqy7ym
6342442
6342431
2026-08-25T09:32:22Z
Wikihez
7344
6342442
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "rûpel", "label": "Rûpel", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
}
};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
var api = new mw.Api();
// Language display name, read from the matching section's .besazimani link text.
function languageNameForCode(code) {
var $mark = $(".besazimani[id='" + code + "']").first();
return $mark.length ? $mark.text().trim() : null;
}
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Section's language code: nearest preceding .besazimani[id] by document order (not sibling-walking, which mobile's per-section wrapping breaks).
function languageCodeForOl($ol) {
var $marks = $(".besazimani[id]").add($ol);
var ol = $ol.get(0);
var idx = $marks.index(ol);
for (var i = idx - 1; i >= 0; i--) {
var el = $marks.get(i);
if (el.id) {
return el.id;
}
}
return null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Pulls the form panel flush with the page's own left/right edges, undoing whatever nested-list indent it inherited from sitting inside a deeply-nested definition.
function alignFormToPage($form) {
var $container = $form.closest(".mw-parser-output");
if (!$container.length) {
return;
}
var pad = parseFloat(window.getComputedStyle($container[0]).paddingLeft) || 0;
var containerLeft = $container.offset().left + pad;
var indent = $form.offset().left - containerLeft;
$form.css({
marginLeft: indent > 0 ? -indent : 0,
width: $container.width() + "px"
});
}
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._readyHint.text(value ? "Amade ye." : "Metna nimûneyê lazim e.");
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Agahî hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Plain div (not OO.ui.FieldsetLayout) so the grid CSS class applies directly to the field items.
this._jederFieldsFieldset = $("<div class='add-example-jeder-fields'>");
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset
);
this._translationInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Translîterasyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne (matches the mockup's readyHint), kept in sync by
// the same textInput "change" handler above that already disables/enables Biweşîne itself.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê lazim e.");
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element, transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.empty();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var layout = new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
});
self._jederFieldsFieldset.append(layout.$element);
});
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
alignFormToPage(this._frame.$element);
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
if (transcription) {
code += "|tr=" + transcription;
}
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
rkebwdcvqivsld1n6v7vm172wszgl1y
6342454
6342442
2026-08-25T09:34:57Z
Wikihez
7344
6342454
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "rûpel", "label": "Rûpel", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
}
};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
var api = new mw.Api();
// Language display name, read from the matching section's .besazimani link text.
function languageNameForCode(code) {
var $mark = $(".besazimani[id='" + code + "']").first();
return $mark.length ? $mark.text().trim() : null;
}
// Whether the page title itself (accented Kurdish Latin letters included) is written in Latin script.
var pageTitleIsLatin = !/[^\x00-\x7FÀ-ɏḀ-ỿ‘’]/.test(mw.config.get("wgTitle") || "");
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Section's language code: nearest preceding .besazimani[id] by document order (not sibling-walking, which mobile's per-section wrapping breaks).
function languageCodeForOl($ol) {
var $marks = $(".besazimani[id]").add($ol);
var ol = $ol.get(0);
var idx = $marks.index(ol);
for (var i = idx - 1; i >= 0; i--) {
var el = $marks.get(i);
if (el.id) {
return el.id;
}
}
return null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas") + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Pulls the form panel flush with the page's own left/right edges, undoing whatever nested-list indent it inherited from sitting inside a deeply-nested definition.
function alignFormToPage($form) {
var $container = $form.closest(".mw-parser-output");
if (!$container.length) {
return;
}
var pad = parseFloat(window.getComputedStyle($container[0]).paddingLeft) || 0;
var containerLeft = $container.offset().left + pad;
var indent = $form.offset().left - containerLeft;
$form.css({
marginLeft: indent > 0 ? -indent : 0,
width: $container.width() + "px"
});
}
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._readyHint.text(value ? "Amade ye." : "Metna nimûneyê lazim e.");
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Agahî hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Plain div (not OO.ui.FieldsetLayout) so the grid CSS class applies directly to the field items.
this._jederFieldsFieldset = $("<div class='add-example-jeder-fields'>");
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset
);
this._translationInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget();
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Transkrîpsiyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne (matches the mockup's readyHint), kept in sync by
// the same textInput "change" handler above that already disables/enables Biweşîne itself.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê lazim e.");
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element);
}
if (!pageTitleIsLatin) {
$topLeft.append(transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.empty();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var layout = new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
});
self._jederFieldsFieldset.append(layout.$element);
});
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
alignFormToPage(this._frame.$element);
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
}
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (transcription) {
code += "|tr=" + transcription;
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
e0erw86rqgx1ndlo80qf2s9kny2hbeq
6342461
6342454
2026-08-25T09:58:06Z
Wikihez
7344
6342461
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "rûpel", "label": "Rûpel", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
}
};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
var api = new mw.Api();
// Language display name, read from the matching section's .besazimani link text.
function languageNameForCode(code) {
var $mark = $(".besazimani[id='" + code + "']").first();
return $mark.length ? $mark.text().trim() : null;
}
// Whether the page title itself (accented Kurdish Latin letters included) is written in Latin script.
var pageTitleIsLatin = !/[^\x00-\x7FÀ-ɏḀ-ỿ‘’]/.test(mw.config.get("wgTitle") || "");
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas").toLowerCase() + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Section's language code: nearest preceding .besazimani[id] by document order (not sibling-walking, which mobile's per-section wrapping breaks).
function languageCodeForOl($ol) {
var $marks = $(".besazimani[id]").add($ol);
var ol = $ol.get(0);
var idx = $marks.index(ol);
for (var i = idx - 1; i >= 0; i--) {
var el = $marks.get(i);
if (el.id) {
return el.id;
}
}
return null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas").toLowerCase() + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Pulls the form panel flush with the page's own left/right edges, undoing whatever nested-list indent it inherited from sitting inside a deeply-nested definition.
function alignFormToPage($form) {
var $container = $form.closest(".mw-parser-output");
if (!$container.length) {
return;
}
var pad = parseFloat(window.getComputedStyle($container[0]).paddingLeft) || 0;
var containerLeft = $container.offset().left + pad;
var indent = $form.offset().left - containerLeft;
$form.css({
marginLeft: indent > 0 ? -indent : 0,
width: $container.width() + "px"
});
}
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._readyHint.text(value ? "Amade ye." : "Metna nimûneyê lazim e.");
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, agahiyan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Agahî hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Plain div (not OO.ui.FieldsetLayout) so the grid CSS class applies directly to the field items.
this._jederFieldsFieldset = $("<div class='add-example-jeder-fields'>");
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset
);
this._translationInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Translîterasyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne (matches the mockup's readyHint), kept in sync by
// the same textInput "change" handler above that already disables/enables Biweşîne itself.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê lazim e.");
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element);
}
if (!pageTitleIsLatin) {
$topLeft.append(transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.empty();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
var layout = new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
});
self._jederFieldsFieldset.append(layout.$element);
});
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
mw.notify("Agahî ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî agahiyan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
alignFormToPage(this._frame.$element);
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
submit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
}
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (transcription) {
code += "|tr=" + transcription;
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
5277qadhdf12l7tgzawrmt4y2fn1hzf
6342531
6342461
2026-08-25T10:29:13Z
Wikihez
7344
6342531
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "rûpel", "label": "Rûpel", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
}
};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
var api = new mw.Api();
// Language display name, read from the matching section's .besazimani link text.
function languageNameForCode(code) {
var $mark = $(".besazimani[id='" + code + "']").first();
return $mark.length ? $mark.text().trim() : null;
}
// Whether the page title itself (accented Kurdish Latin letters included) is written in Latin script.
var pageTitleIsLatin = !/[^\x00-\x7FÀ-ɏḀ-ỿ‘’]/.test(mw.config.get("wgTitle") || "");
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas").toLowerCase() + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Section's language code: nearest preceding .besazimani[id] by document order (not sibling-walking, which mobile's per-section wrapping breaks).
function languageCodeForOl($ol) {
var $marks = $(".besazimani[id]").add($ol);
var ol = $ol.get(0);
var idx = $marks.index(ol);
for (var i = idx - 1; i >= 0; i--) {
var el = $marks.get(i);
if (el.id) {
return el.id;
}
}
return null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas").toLowerCase() + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Pulls the form panel flush with the page's own left/right edges, undoing whatever nested-list indent it inherited from sitting inside a deeply-nested definition.
function alignFormToPage($form) {
var $container = $form.closest(".mw-parser-output");
if (!$container.length) {
return;
}
var pad = parseFloat(window.getComputedStyle($container[0]).paddingLeft) || 0;
var containerLeft = $container.offset().left + pad;
var indent = $form.offset().left - containerLeft;
$form.css({
marginLeft: indent > 0 ? -indent : 0,
width: $container.width() + "px"
});
}
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._updateReadyHint();
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInput.on("change", function() {
self._updateReadyHint();
});
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, malûmatan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
this._sourceURLInput.on("change", function() {
self._updateReadyHint();
});
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Malûmat hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Plain div (not OO.ui.FieldsetLayout) so the grid CSS class applies directly to the field items.
this._jederFieldsFieldset = $("<div class='add-example-jeder-fields'>");
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset
);
this._translationInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Translîterasyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne: no text yet, text but no source (still submittable
// as a bare {{nimûne}}), or fully ready -- kept in sync by _updateReadyHint(), wired to every field below.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê lazim e.");
this._updateReadyHint = function() {
if (!self._textInput.getValue()) {
self._readyHint.text("Metna nimûneyê lazim e.");
return;
}
var hasSource = self._sourceInput.getValue().trim() || self._sourceURLInput.getValue().trim() ||
Object.keys(self._jederFieldWidgets).some(function(key) {
return self._jederFieldWidgets[key].getValue().trim();
});
self._readyHint.text(hasSource ? "Hazir e." : "Çavkanî nehatiye dayîn.");
};
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element);
}
if (!pageTitleIsLatin) {
$topLeft.append(transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.empty();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
widget.on("change", function() {
self._updateReadyHint();
});
var layout = new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
});
self._jederFieldsFieldset.append(layout.$element);
});
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
this._updateReadyHint();
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
mw.notify("Malûmat ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî malûmatan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
alignFormToPage(this._frame.$element);
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Warns before submitting if a Citoid URL/DOI/ISBN was typed but never successfully fetched, then defers to _doSubmit.
submit: function() {
var sourceURLValue = this._sourceURLInput.getValue().trim();
if (sourceURLValue && !this._citoidSuccessMsg.is(":visible")) {
if (!window.confirm("Te lînk, DOI an ISBN nivîsand lê hîn jê malûmat nehatine standin. Bêyî wan berdewam bikî?")) {
return;
}
}
this._doSubmit();
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
_doSubmit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
}
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (transcription) {
code += "|tr=" + transcription;
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
197ozgc5xtobi970thcx58fadn4at2l
6342537
6342531
2026-08-25T10:38:21Z
Wikihez
7344
6342537
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "rûpel", "label": "Rûpel", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
}
};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
var api = new mw.Api();
// Language display name, read from the matching section's .besazimani link text.
function languageNameForCode(code) {
var $mark = $(".besazimani[id='" + code + "']").first();
return $mark.length ? $mark.text().trim() : null;
}
// Whether the page title itself (accented Kurdish Latin letters included) is written in Latin script.
var pageTitleIsLatin = !/[^\x00-\x7FÀ-ɏḀ-ỿ‘’]/.test(mw.config.get("wgTitle") || "");
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas").toLowerCase() + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Section's language code: nearest preceding .besazimani[id] by document order (not sibling-walking, which mobile's per-section wrapping breaks).
function languageCodeForOl($ol) {
var $marks = $(".besazimani[id]").add($ol);
var ol = $ol.get(0);
var idx = $marks.index(ol);
for (var i = idx - 1; i >= 0; i--) {
var el = $marks.get(i);
if (el.id) {
return el.id;
}
}
return null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas").toLowerCase() + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Pulls the form panel flush with the page's own left/right edges, undoing whatever nested-list indent it inherited from sitting inside a deeply-nested definition.
function alignFormToPage($form) {
var $container = $form.closest(".mw-parser-output");
if (!$container.length) {
return;
}
var pad = parseFloat(window.getComputedStyle($container[0]).paddingLeft) || 0;
var containerLeft = $container.offset().left + pad;
var indent = $form.offset().left - containerLeft;
$form.css({
marginLeft: indent > 0 ? -indent : 0,
width: $container.width() + "px"
});
}
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._updateReadyHint();
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInput.on("change", function() {
self._updateReadyHint();
});
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, malûmatan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
this._sourceURLInput.on("change", function() {
self._updateReadyHint();
});
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Malûmat hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Plain div (not OO.ui.FieldsetLayout) so the grid CSS class applies directly to the field items.
this._jederFieldsFieldset = $("<div class='add-example-jeder-fields'>");
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset
);
this._translationInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Translîterasyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne: no text yet, text but no source (still submittable
// as a bare {{nimûne}}), or fully ready -- kept in sync by _updateReadyHint(), wired to every field below.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê lazim e.");
// True while a Citoid-eligible URL/DOI/ISBN is typed in but not yet fetched (or fetched then edited away) and no jêder field has been filled by hand -- the "looks done but isn't" trap this exists to catch. Not applicable in free-text mode, where the fetch button isn't even offered.
this._citoidPending = function() {
return self._currentJederKey !== "" &&
!!self._sourceURLInput.getValue().trim() &&
!self._citoidSuccessMsg.is(":visible") &&
!Object.keys(self._jederFieldWidgets).some(function(key) {
return self._jederFieldWidgets[key].getValue().trim();
});
};
this._updateReadyHint = function() {
if (!self._textInput.getValue()) {
self._readyHint.text("Metna nimûneyê lazim e.");
return;
}
if (self._citoidPending()) {
self._readyHint.text("Pêşî 'Bi otomatîk tijî bike' bitikîne.");
return;
}
var hasSource = self._sourceInput.getValue().trim() || self._sourceURLInput.getValue().trim() ||
Object.keys(self._jederFieldWidgets).some(function(key) {
return self._jederFieldWidgets[key].getValue().trim();
});
self._readyHint.text(hasSource ? "Hazir e." : "Çavkanî nehatiye dayîn.");
};
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element);
}
if (!pageTitleIsLatin) {
$topLeft.append(transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.empty();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
widget.on("change", function() {
self._updateReadyHint();
});
var layout = new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
});
self._jederFieldsFieldset.append(layout.$element);
});
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
this._updateReadyHint();
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
self._updateReadyHint();
mw.notify("Malûmat ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî malûmatan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
alignFormToPage(this._frame.$element);
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Warns before submitting if a Citoid URL/DOI/ISBN was typed but never successfully fetched, then defers to _doSubmit.
submit: function() {
if (this._citoidPending() && !window.confirm("Te lînk, DOI an ISBN nivîsand lê hîn jê malûmat nehatine standin. Bêyî wan berdewam bikî?")) {
return;
}
this._doSubmit();
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
_doSubmit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
}
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (transcription) {
code += "|tr=" + transcription;
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
fg6mthdyyjnbta84ha0cbxnqxfj4f69
6342540
6342537
2026-08-25T11:06:51Z
Wikihez
7344
6342540
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "rûpel", "label": "Rûpel", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
},
"jêder-vîdeo": {
"label": "Vîdeo",
"fields": [
{ "key": "hunermend", "label": "Hunermend", "span": 6 },
{ "key": "platform", "label": "Platform", "span": 6 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "dem", "label": "Dem", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
}
};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
var api = new mw.Api();
// Language display name, read from the matching section's .besazimani link text.
function languageNameForCode(code) {
var $mark = $(".besazimani[id='" + code + "']").first();
return $mark.length ? $mark.text().trim() : null;
}
// Whether the page title itself (accented Kurdish Latin letters included) is written in Latin script.
var pageTitleIsLatin = !/[^\x00-\x7FÀ-ɏḀ-ỿ‘’]/.test(mw.config.get("wgTitle") || "");
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas").toLowerCase() + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Section's language code: nearest preceding .besazimani[id] by document order (not sibling-walking, which mobile's per-section wrapping breaks).
function languageCodeForOl($ol) {
var $marks = $(".besazimani[id]").add($ol);
var ol = $ol.get(0);
var idx = $marks.index(ol);
for (var i = idx - 1; i >= 0; i--) {
var el = $marks.get(i);
if (el.id) {
return el.id;
}
}
return null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas").toLowerCase() + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Pulls the form panel flush with the page's own left/right edges, undoing whatever nested-list indent it inherited from sitting inside a deeply-nested definition.
function alignFormToPage($form) {
var $container = $form.closest(".mw-parser-output");
if (!$container.length) {
return;
}
var pad = parseFloat(window.getComputedStyle($container[0]).paddingLeft) || 0;
var containerLeft = $container.offset().left + pad;
var indent = $form.offset().left - containerLeft;
$form.css({
marginLeft: indent > 0 ? -indent : 0,
width: $container.width() + "px"
});
}
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._updateReadyHint();
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInput.on("change", function() {
self._updateReadyHint();
});
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, malûmatan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
this._sourceURLInput.on("change", function() {
self._updateReadyHint();
self._autofillVideoTimestamp();
});
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Malûmat hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Plain div (not OO.ui.FieldsetLayout) so the grid CSS class applies directly to the field items.
this._jederFieldsFieldset = $("<div class='add-example-jeder-fields'>");
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset
);
this._translationInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Translîterasyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne: no text yet, text but no source (still submittable
// as a bare {{nimûne}}), or fully ready -- kept in sync by _updateReadyHint(), wired to every field below.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê lazim e.");
// True while a Citoid-eligible URL/DOI/ISBN is typed in but not yet fetched (or fetched then edited away) and no jêder field has been filled by hand -- the "looks done but isn't" trap this exists to catch. Not applicable in free-text mode, where the fetch button isn't even offered.
this._citoidPending = function() {
return self._currentJederKey !== "" &&
!!self._sourceURLInput.getValue().trim() &&
!self._citoidSuccessMsg.is(":visible") &&
!Object.keys(self._jederFieldWidgets).some(function(key) {
return self._jederFieldWidgets[key].getValue().trim();
});
};
this._updateReadyHint = function() {
if (!self._textInput.getValue()) {
self._readyHint.text("Metna nimûneyê lazim e.");
return;
}
if (self._citoidPending()) {
self._readyHint.text("Pêşî 'Bi otomatîk tijî bike' bitikîne.");
return;
}
var hasSource = self._sourceInput.getValue().trim() || self._sourceURLInput.getValue().trim() ||
Object.keys(self._jederFieldWidgets).some(function(key) {
return self._jederFieldWidgets[key].getValue().trim();
});
self._readyHint.text(hasSource ? "Hazir e." : "Çavkanî nehatiye dayîn.");
};
// Prefills the Dem field from the typed URL's own "t=" (see wikt.citoid.extractVideoTimestamp) once jêder-vîdeo is active -- never overwrites a value the user already entered by hand.
this._autofillVideoTimestamp = function() {
var demWidget = self._jederFieldWidgets.dem;
if (self._currentJederKey !== "jêder-vîdeo" || !demWidget || demWidget.getValue().trim()) {
return;
}
var dem = wikt.citoid.extractVideoTimestamp(self._sourceURLInput.getValue().trim());
if (dem) {
demWidget.setValue(dem);
}
};
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element);
}
if (!pageTitleIsLatin) {
$topLeft.append(transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.empty();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
widget.on("change", function() {
self._updateReadyHint();
});
var layout = new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
});
self._jederFieldsFieldset.append(layout.$element);
});
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
this._autofillVideoTimestamp();
this._updateReadyHint();
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
self._updateReadyHint();
mw.notify("Malûmat ji Citoid hatin barkirin.");
}, function(errorMsg) {
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî malûmatan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
alignFormToPage(this._frame.$element);
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Warns before submitting if a Citoid URL/DOI/ISBN was typed but never successfully fetched, then defers to _doSubmit.
submit: function() {
if (this._citoidPending() && !window.confirm("Te lînk, DOI an ISBN nivîsand lê hîn jê malûmat nehatine standin. Bêyî wan berdewam bikî?")) {
return;
}
this._doSubmit();
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
_doSubmit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
}
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (transcription) {
code += "|tr=" + transcription;
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
giao2r0ag0crv5osrq5ii5fa730i43y
6342567
6342540
2026-08-25T11:29:49Z
Wikihez
7344
6342567
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "rûpel", "label": "Rûpel", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
},
"jêder-vîdeo": {
"label": "Vîdeo",
"fields": [
{ "key": "hunermend", "label": "Hunermend", "span": 6 },
{ "key": "platform", "label": "Platform", "span": 6 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "tarîx", "label": "Tarîx", "span": 3 },
{ "key": "dem", "label": "Dem", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
}
};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
var api = new mw.Api();
// Language display name, read from the matching section's .besazimani link text.
function languageNameForCode(code) {
var $mark = $(".besazimani[id='" + code + "']").first();
return $mark.length ? $mark.text().trim() : null;
}
// Whether the page title itself (accented Kurdish Latin letters included) is written in Latin script.
var pageTitleIsLatin = !/[^\x00-\x7FÀ-ɏḀ-ỿ‘’]/.test(mw.config.get("wgTitle") || "");
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas").toLowerCase() + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Section's language code: nearest preceding .besazimani[id] by document order (not sibling-walking, which mobile's per-section wrapping breaks).
function languageCodeForOl($ol) {
var $marks = $(".besazimani[id]").add($ol);
var ol = $ol.get(0);
var idx = $marks.index(ol);
for (var i = idx - 1; i >= 0; i--) {
var el = $marks.get(i);
if (el.id) {
return el.id;
}
}
return null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas").toLowerCase() + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Pulls the form panel flush with the page's own left/right edges, undoing whatever nested-list indent it inherited from sitting inside a deeply-nested definition.
function alignFormToPage($form) {
var $container = $form.closest(".mw-parser-output");
if (!$container.length) {
return;
}
var pad = parseFloat(window.getComputedStyle($container[0]).paddingLeft) || 0;
var containerLeft = $container.offset().left + pad;
var indent = $form.offset().left - containerLeft;
$form.css({
marginLeft: indent > 0 ? -indent : 0,
width: $container.width() + "px"
});
}
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._updateReadyHint();
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInput.on("change", function() {
self._updateReadyHint();
});
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, malûmatan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
this._sourceURLInput.on("change", function() {
self._updateReadyHint();
self._autofillVideoTimestamp();
});
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Malûmat hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Plain div (not OO.ui.FieldsetLayout) so the grid CSS class applies directly to the field items.
this._jederFieldsFieldset = $("<div class='add-example-jeder-fields'>");
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset
);
this._translationInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Translîterasyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne: no text yet, text but no source (still submittable
// as a bare {{nimûne}}), or fully ready -- kept in sync by _updateReadyHint(), wired to every field below.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê lazim e.");
// True while a Citoid-eligible URL/DOI/ISBN is typed in but not yet fetched (or fetched then edited away) and no jêder field has been filled by hand -- the "looks done but isn't" trap this exists to catch. Not applicable in free-text mode, where the fetch button isn't even offered.
this._citoidPending = function() {
return self._currentJederKey !== "" &&
!!self._sourceURLInput.getValue().trim() &&
!self._citoidSuccessMsg.is(":visible") &&
!Object.keys(self._jederFieldWidgets).some(function(key) {
return self._jederFieldWidgets[key].getValue().trim();
});
};
this._updateReadyHint = function() {
if (!self._textInput.getValue()) {
self._readyHint.text("Metna nimûneyê lazim e.");
return;
}
if (self._citoidPending()) {
self._readyHint.text("Pêşî 'Bi otomatîk tijî bike' bitikîne.");
return;
}
var hasSource = self._sourceInput.getValue().trim() || self._sourceURLInput.getValue().trim() ||
Object.keys(self._jederFieldWidgets).some(function(key) {
return self._jederFieldWidgets[key].getValue().trim();
});
self._readyHint.text(hasSource ? "Hazir e." : "Çavkanî nehatiye dayîn.");
};
// Prefills the Dem field from the typed URL's own "t=" (see wikt.citoid.extractVideoTimestamp) once jêder-vîdeo is active -- never overwrites a value the user already entered by hand.
this._autofillVideoTimestamp = function() {
var demWidget = self._jederFieldWidgets.dem;
if (self._currentJederKey !== "jêder-vîdeo" || !demWidget || demWidget.getValue().trim()) {
return;
}
var dem = wikt.citoid.extractVideoTimestamp(self._sourceURLInput.getValue().trim());
if (dem) {
demWidget.setValue(dem);
}
};
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element);
}
if (!pageTitleIsLatin) {
$topLeft.append(transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.empty();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
widget.on("change", function() {
self._updateReadyHint();
});
var layout = new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
});
self._jederFieldsFieldset.append(layout.$element);
});
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
this._autofillVideoTimestamp();
this._updateReadyHint();
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
self._updateReadyHint();
mw.notify("Malûmat ji Citoid hatin barkirin.");
}, function(errorMsg) {
// Citoid can't fetch some sites at all (e.g. x.com/twitter.com) -- fall back to jêder-websîte with the site name filled in, rather than just a bare error.
var fallbackSite = wikt.citoid.websiteNameForKnownUrl(query);
if (fallbackSite) {
if (self._currentJederKey !== "jêder-websîte") {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData("jêder-websîte");
if (item) {
menu.chooseItem(item); // this calls _setSourceType("jêder-websîte") automatically
}
}
var websiteWidget = self._jederFieldWidgets["websîte"];
if (websiteWidget && !websiteWidget.getValue()) {
websiteWidget.setValue(fallbackSite);
}
mw.notify("Citoid nikare vê malperê bixwîne; şablona Websîte hate hilbijartin, ji kerema xwe mayî bi destan tijî bike.");
return;
}
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî malûmatan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
alignFormToPage(this._frame.$element);
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Warns before submitting if a Citoid URL/DOI/ISBN was typed but never successfully fetched, then defers to _doSubmit.
submit: function() {
if (this._citoidPending() && !window.confirm("Te lînk, DOI an ISBN nivîsand lê hîn jê malûmat nehatine standin. Bêyî wan berdewam bikî?")) {
return;
}
this._doSubmit();
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
_doSubmit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
}
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (transcription) {
code += "|tr=" + transcription;
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
q9v1cax2v9frajn37pf45opw002iamu
6342568
6342567
2026-08-25T11:35:32Z
Wikihez
7344
6342568
javascript
text/javascript
// <nowiki>
// dependencies (declared in MediaWiki:Gadgets-definition): oojs, oojs-ui, ext.gadget.citoid-helper (wikt.citoid), ext.gadget.StorageUtils (ObjectStorage)
// Formats a string using {0}, {1}, ... placeholders.
if (!String.prototype.format) {
String.prototype.format = function(var_args) {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] !== "undefined" ? args[number] : match;
});
};
}
$(function() {
"use strict";
// Skip pages where this gadget shouldn't run.
if (
mw.config.get("wgPageName") !== "Wîkîferheng:ceribandin/nimûne" &&
mw.config.get("wgNamespaceNumber") !== 108 &&
mw.config.get("wgNamespaceNumber") !== 0 ||
mw.config.get("wgPageName") === "Destpêk" ||
mw.config.get("wgArticleId") === 0
) return;
console.log("Gadget-wikt.add-examples.js dest pê dike…");
var NAME = "[[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]]";
var VERSION = "2.0";
// Persists form drafts via MediaWiki:Gadget-StorageUtils.js (localStorage, falling back to a cookie) so unsaved text survives a failed submit.
var draftStorage = new ObjectStorage("add_examples_draft", 1);
// Citoid logic lives in MediaWiki:Gadget-citoid-helper.js; it's a registered gadget dependency, so wikt.citoid is already loaded by the time this file runs.
// "span" is the field's width in the 12-column grid the fields render in (see .add-example-jeder-fields
// in the CSS and _setSourceType below) -- field ORDER here is also the grid's reading order.
var jederDefs = {
"jêder-kitêb": {
"label": "Kitêb",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "cih", "label": "Cih", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "sala-weşandinê", "label": "Sala weşandinê", "span": 2 },
{ "key": "çap", "label": "Çap", "span": 1 },
{ "key": "rûpel", "label": "Rûpel", "span": 1 },
{ "key": "isbn", "label": "ISBN", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-kovar": {
"label": "Kovar",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 3 },
{ "key": "terciman", "label": "Terciman", "span": 3 },
{ "key": "amadekar", "label": "Amadekar", "span": 3 },
{ "key": "weşanxane", "label": "Weşanxane", "span": 3 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "kovar", "label": "Kovar", "span": 4 },
{ "key": "cild", "label": "Cild", "span": 2 },
{ "key": "hejmar", "label": "Hejmar", "span": 2 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "rûpel", "label": "Rûpel", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
},
"jêder-websîte": {
"label": "Websîte",
"fields": [
{ "key": "nivîskar", "label": "Nivîskar", "span": 4 },
{ "key": "terciman", "label": "Terciman", "span": 4 },
{ "key": "websîte", "label": "Websîte", "span": 4 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "url", "label": "URL", "span": 5 },
{ "key": "urlya-arşîvê", "label": "URLya Arşîvê", "span": 5 },
{ "key": "sal", "label": "Sal", "span": 1 },
{ "key": "tarîx", "label": "Tarîx", "span": 1 }
]
},
"jêder-vîdeo": {
"label": "Vîdeo",
"fields": [
{ "key": "hunermend", "label": "Hunermend", "span": 6 },
{ "key": "platform", "label": "Platform", "span": 6 },
{ "key": "sernav", "label": "Sernav", "multiline": true, "span": 12 },
{ "key": "sal", "label": "Sal", "span": 2 },
{ "key": "tarîx", "label": "Tarîx", "span": 3 },
{ "key": "dem", "label": "Dem", "span": 2 },
{ "key": "url", "label": "URL", "span": 12 }
]
}
};
var sectionNames = {
"Navdêr": ["Navdêr"],
"Formeke navdêrê": ["Formeke navdêrê"],
"Lêker": ["Lêker"],
"Formeke lêkerê": ["Formeke lêkerê"],
"Rengdêr": ["Rengdêr"],
"Formeke rengdêrê": ["Formeke rengdêrê"],
"Hoker": ["Hoker"],
"Formeke hokerê": ["Formeke hokerê"],
"Serenav": ["Serenav"],
"Formeke serenavê": ["Formeke serenavê"],
"Artîkel": ["Artîkel"],
"Baneşan": ["Baneşan"],
"Bazinedaçek": ["Bazinedaçek"],
"Biwêj": ["Biwêj"],
"Cînav": ["Cînav"],
"Daçek": ["Daçek"],
"Girêdek": ["Girêdek"],
"Gotineke pêşiyan": ["Gotineke pêşiyan"],
"Hejmar": ["Hejmar"],
"Hevok": ["Hevok"],
"Îfade": ["Îfade"],
"Kurtenav": ["Kurtenav"],
"Navgir": ["Navgir"],
"Paşdaçek": ["Paşdaçek"],
"Paşgir": ["Paşgir"],
"Pêşdaçek": ["Pêşdaçek"],
"Pêşgir": ["Pêşgir"],
"Pirtik": ["Pirtik"],
"Reh": ["Reh"],
"Sembol": ["Sembol"],
"Tîp": ["Tîp"]
};
// Template names treated as "real examples" (an allow-list, not the old deny-list) so annotation templates like synonyms/antonyms/alt-forms aren't mistaken for examples.
var exampleTemplateNames = ["jêder", "nimûne"].concat(Object.keys(jederDefs));
// Returns the template name starting a "#:"/"#*" line (e.g. "jêder" from "#* {{jêder|ku|...}}"), or null if the line doesn't start with a template.
function getLineTemplateName(line) {
var m = /^#[:*]\s*\{\{\s*([^|}]+)/.exec(line);
return m ? m[1].trim() : null;
}
// Returns the index of the line where a (possibly multi-line) template block starting at startIndex closes its {{ }} braces, so multi-line templates are treated as one block.
function findBlockEnd(lines, startIndex) {
var depth = 0;
var i = startIndex;
for (; i < lines.length; i++) {
var opens = (lines[i].match(/\{\{/g) || []).length;
var closes = (lines[i].match(/\}\}/g) || []).length;
depth += opens - closes;
if (depth <= 0) {
break;
}
}
return i;
}
// Ported from start.js: converts literal line breaks typed/pasted into the example/translation/transcription boxes into wikitext <br> tags, since a raw newline would break the single-line "#*" wikitext structure.
function nlToBr(text) {
return text ? text.replace(/\r\n|\r|\n/g, "<br>") : text;
}
function escapeHtmlForBackdrop(str) {
return String(str)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
// Mirrors a textarea's text with a small marker after each line that's followed by an actual typed/pasted linebreak, rendered into a transparent backdrop behind the textarea (see ensureLinebreakBackdrop()).
function buildLinebreakBackdropHtml(text) {
var lines = text.split(/\r\n|\r|\n/);
return $.map(lines, function(line, i) {
var isLast = i === lines.length - 1;
return escapeHtmlForBackdrop(line) +
(isLast ? "" : "<mark class='add-example-linebreak-mark'>↵</mark>\n");
}).join("");
}
// Copies the metrics that affect where text wraps/lands (font, line height, padding, border) from the real textarea onto its backdrop via computed style, since the backdrop is a plain <div>, not a themed OOUI input.
function syncLinebreakBackdropMetrics(textarea, backdrop) {
var cs = window.getComputedStyle(textarea[0]);
backdrop.css({
"box-sizing": cs.boxSizing,
"padding-top": cs.paddingTop,
"padding-right": cs.paddingRight,
"padding-bottom": cs.paddingBottom,
"padding-left": cs.paddingLeft,
"border-width": cs.borderWidth,
"border-style": "solid",
"font-family": cs.fontFamily,
"font-size": cs.fontSize,
"font-weight": cs.fontWeight,
"line-height": cs.lineHeight,
"letter-spacing": cs.letterSpacing
});
}
// Lazily inserts the transparent backdrop layer used to mark linebreaks, as a sibling of the textarea inside its existing OOUI input wrapper (which OOUI already positions relatively for icon overlays), rather than start.js's approach of wrapping the textarea in a new div — that would risk disturbing OOUI's own layout of the input. Safe to call more than once; the backdrop is cached.
function ensureLinebreakBackdrop(textarea) {
var existing = textarea.data("addExampleLinebreakBackdrop");
if (existing) {
return existing;
}
var $parent = textarea.parent();
if ($parent.css("position") === "static") {
$parent.css("position", "relative");
}
var backdrop = $("<div aria-hidden='true'></div>").addClass("add-example-linebreak-backdrop");
textarea.before(backdrop);
textarea.data("addExampleLinebreakBackdrop", backdrop);
textarea.on("scroll.addExampleLinebreak", function() {
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
});
return backdrop;
}
// Flags a textarea (via CSS class, for the border tint + tooltip) while it contains a typed/pasted linebreak, so the user notices before it's silently turned into <br> on submit; marks only the exact point of the break via the mirrored backdrop.
function highlightLinebreak(el) {
var textarea = $(el);
var text = textarea.val();
var hasBreak = /\r|\n/.test(text);
textarea
.toggleClass("add-example-has-linebreak", hasBreak)
.attr("title", hasBreak ? "Xeta nû dê wek <br> bê nivîsandin" : "");
if (!hasBreak) {
var cached = textarea.data("addExampleLinebreakBackdrop");
if (cached) {
cached.hide();
}
textarea.removeClass("add-example-has-linebreak-source");
return;
}
var backdrop = ensureLinebreakBackdrop(textarea);
textarea.addClass("add-example-has-linebreak-source");
syncLinebreakBackdropMetrics(textarea, backdrop);
backdrop.html(buildLinebreakBackdropHtml(text)).show();
backdrop.scrollTop(textarea.scrollTop()).scrollLeft(textarea.scrollLeft());
}
// Wires linebreak detection onto an OOUI multiline widget, matching start.js's scope: only the quote/example text and its translation/transcription, not bibliographic fields. Uses OOUI's own "change" event rather than the raw <textarea> "input" event start.js listens to, since our fields can also be set programmatically (Clear button, draft restore) via setValue(), which doesn't fire a native DOM input event.
function watchForLinebreaks(widget) {
widget.on("change", function() {
highlightLinebreak(widget.$input[0]);
});
}
var api = new mw.Api();
// Language display name, read from the matching section's .besazimani link text.
function languageNameForCode(code) {
var $mark = $(".besazimani[id='" + code + "']").first();
return $mark.length ? $mark.text().trim() : null;
}
// Whether the page title itself (accented Kurdish Latin letters included) is written in Latin script.
var pageTitleIsLatin = !/[^\x00-\x7FÀ-ɏḀ-ỿ‘’]/.test(mw.config.get("wgTitle") || "");
// .example/.benimune = old Şablon:jêder hidden marker; .h-usage-example/.h-quotation = Modul:usex containers used directly by Şablon:nimûne; .citation-whole = Modul:quote's own wrapper, now used by jêder-* templates (Modul:quote nests .h-quotation inside .citation-whole > dl > dd instead of putting it directly under the <li>, so it needs its own entry here).
// Requiring "ul > li >" is what makes this only match an example that's grouped into its own <ul> -- a
// {{nimûne}} (or its "mk" redirect) with no jêder-family citation alongside it in the same definition
// renders straight under the definition's own content instead, with no such group; also reused below to
// tell whether the second pass still needs to handle a given definition.
var EXISTING_EXAMPLE_SELECTOR = "ul > li > .example, ul > li > .benimune, ul > li > .h-usage-example, ul > li > .h-quotation, ul > li > .citation-whole";
$(EXISTING_EXAMPLE_SELECTOR).each(function() {
var $element = $(this);
var $item = $element.parent();
if (!$item.next().length) {
// Get example’s language
// bdi[lang] = old hidden marker; .e-example[lang]/.e-quotation[lang] = Modul:usex/Modul:quote already put lang on the visible span.
// A jêder-* citation with no jêgirtin= (quotation text) yet renders no h-quotation/e-quotation at all
// (see get_quote() in Modul quote.lua) -- exactly the "bare citation" case this button exists to fill
// in, so this can't just crash: without the guard, [0] is undefined here and ".lang" throws, which
// (since $.each() has no try/catch) silently kills the button for every remaining match on the page.
var $langEl = $item.find(".e-example[lang], .e-quotation[lang], bdi[lang]")[0];
if (!$langEl) {
console.warn("Gadget-wikt.add-examples: nikaribe zimanê vê nimûneyê bibîne, valakirî hate derbaskirin.", $item);
return;
}
var language = $langEl.lang;
if (language === "ku-Latn") {
language = "ku";
}
console.log('Language:', language);
// Get section and indices of associated definition
var definitionLevel = [];
var $definitionItem = $item.parent().parent();
var $topItem;
do {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$topItem = $definitionItem;
$definitionItem = $definitionItem.parent().parent();
} while ($definitionItem.prop("tagName") === "LI");
var $section = $($topItem.parent().prevAll(".mw-heading3, h3").get(0));
if ($section.length) {
definitionLevel.splice(0, 0, $section.find("h3").attr("id"));
} else {
console.warn("Gadget-wikt.add-examples: Section heading not found");
// TODO: why does this happen? mw.notify("Beş nehat dîtin. Jkx li WF:Dîwanê vê problemê ragihînin!");
return;
}
// Remove default edit link if present
var $defaultEditLink = $item.find("span.example > span.stubedit");
if ($defaultEditLink.length) {
$defaultEditLink.remove();
}
// Add a nice button to open the form. $group is the citation-group <ul> itself (parent of $item);
// the form panel is inserted AFTER it (see click handler below), not inside it, so the panel isn't
// squeezed into that <ul>'s narrow hanging-indent width on mobile -- only the button/title stays
// there, matching the "Form redesign for Kurdish example" mockup (title inside the bullet list,
// full-width panel below it).
var $group = $item.parent();
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas").toLowerCase() + " lê zêde dikî.");
var form = new Form($item, $button, $title, language, definitionLevel);
$group.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$item.after($formItem);
}
});
// Second pass: some definitions have no example the pass above could react to at all -- either genuinely
// zero examples, or one rendered via {{nimûne}} (or its "mk" redirect) with no jêder-family citation next
// to it, which (see the comment on EXISTING_EXAMPLE_SELECTOR above) renders with no "ul > li" group to
// match. This walks every recognized POS section's own definitions list directly instead of reacting to
// an existing example, and reads the language off the language section's own <h2> rather than off an
// example -- so it doesn't need one to already exist. Everything else (Form, submit()) is reused as-is.
// MediaWiki wraps each heading in a "mw-heading2"/"mw-heading3"/... div in current skin output; falls
// back to the bare heading element for older/other output that doesn't wrap it.
function headingOuter($h) {
var $wrap = $h.closest(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6");
return $wrap.length ? $wrap : $h;
}
// Section's language code: nearest preceding .besazimani[id] by document order (not sibling-walking, which mobile's per-section wrapping breaks).
function languageCodeForOl($ol) {
var $marks = $(".besazimani[id]").add($ol);
var ol = $ol.get(0);
var idx = $marks.index(ol);
for (var i = idx - 1; i >= 0; i--) {
var el = $marks.get(i);
if (el.id) {
return el.id;
}
}
return null;
}
// A <li> whose OWN direct content (not counting a nested <ol>) is wrapped in ".form-of-definition" is
// MediaWiki's "form of" template system marking that content as generated by a template -- e.g.
// {{ku-tewîna-nav}}'s "Formeke heval:" wrapper together with its "rewşa îzafeyî"/"rewşa çemandî"/...
// readings underneath. That whole nested block is normally the ENTIRE expansion of a single "#"
// wikitext line, with no separate "##" line behind any individual reading -- recursing into it would
// hand out one button per reading, each trying to match a "##" line that doesn't exist, and submit()
// would fail to find where to insert every one of them. A <li> without that class whose nested <ol>
// holds real hand-typed prose (e.g. sîno-koreyî/Navdêr's two genuinely separate "##" sub-senses) has
// no such problem -- those really are individually addressable wikitext lines.
function isFormOfWrapper($li) {
return $li.children(".form-of-definition").length > 0;
}
// Recurse into a <li>'s own nested <ol> UNLESS it's a form-of-template wrapper (see isFormOfWrapper) --
// a wrapper <li> with its own nested <ol> isn't itself a sense with content of its own, only its real
// (non-generated) leaves are.
function eachLeafDefinition($ol, fn) {
$ol.children("li").each(function() {
var $li = $(this);
var $childOl = $li.children("ol");
if ($childOl.length && !isFormOfWrapper($li)) {
$childOl.each(function() {
eachLeafDefinition($(this), fn);
});
} else {
fn($li);
}
});
}
$("h3").each(function() {
var sectionType = $(this).text().trim();
if (!sectionNames[sectionType]) {
return; // not a recognized word-sense section (Bilêvkirin, Etîmolojî, Çavkanî, ...)
}
var h3Id = $(this).attr("id");
// Forward-walk siblings to the definitions <ol>, skipping over a declension table/TemplateStyles/the
// headword line; stop (nothing to attach to in this section) if another heading comes first instead.
var $ol = null;
for (var $cursor = headingOuter($(this)).next(); $cursor.length; $cursor = $cursor.next()) {
if ($cursor.is("ol")) {
$ol = $cursor;
break;
}
if ($cursor.is(".mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, h2, h3, h4, h5, h6")) {
break;
}
}
if (!$ol) {
return;
}
var language = languageCodeForOl($ol);
if (!language) {
console.warn("Gadget-wikt.add-examples: nikaribe koda zimanê vê beşê bibîne.", $ol);
return;
}
eachLeafDefinition($ol, function($li) {
// The pass above already added a button here (or will) -- an actual example already wrapped in
// its own "ul > li" group.
if ($li.find(EXISTING_EXAMPLE_SELECTOR).length) {
return;
}
var definitionLevel = [];
var $definitionItem = $li;
while ($definitionItem.prop("tagName") === "LI") {
// Skip MediaWiki's empty <li class="mw-empty-elt"> placeholders so indices match the real "#" lines in wikitext (see submit()).
definitionLevel.splice(0, 0, $definitionItem.prevAll("li:not(.mw-empty-elt)").length);
$definitionItem = $definitionItem.parent().parent();
}
definitionLevel.splice(0, 0, h3Id);
// A hidden, empty placeholder <li> so submit()'s existing "_$lastExample.after(newLi)" insertion
// (unchanged, same as the pass above) lands the first submitted example right before the button
// -- matching the existing convention of new examples going in before the button, not after it.
var $placeholder = $("<li style='display:none'></li>");
var $formItem = $("<li>");
var $button = $("<a href='#'>Nimûneyeke bikaranînê lê zêde bike</a>");
$button.css("color", "var( --color-subtle, #777777 )");
// Shown in the button's place once the form is open (see Form#setVisible).
var $title = $("<span class='add-example-form-title'></span>").hide();
$formItem.append($button).append($title);
// A "ul" nested directly under a definition "li" starts hidden here (see the HQToggle-controlled
// jêder-citation-group "ul", which only ever renders with an explicit "style="display: block""
// set on it) -- this one has no HQToggle to unhide it, so it needs the same explicit override or
// the button (and the placeholder above) never becomes visible at all.
var $ul = $("<ul>").css("display", "block").append($placeholder).append($formItem);
// The form panel is inserted AFTER $ul (not inside it) once opened -- same reasoning as the first
// pass above: keeps the full-width panel out of the tight bulleted-list indentation on mobile.
$button.on("click", function() {
if (!$button.form) {
$title.text("Nimûneyeke bi " + (languageNameForCode(language) || "zimanekî nenas").toLowerCase() + " lê zêde dikî.");
var form = new Form($placeholder, $button, $title, language, definitionLevel);
$ul.after(form.$element);
}
$button.form.setVisible(true);
return false;
});
$li.append($ul);
});
});
// Pulls the form panel flush with the page's own left/right edges, undoing whatever nested-list indent it inherited from sitting inside a deeply-nested definition.
function alignFormToPage($form) {
var $container = $form.closest(".mw-parser-output");
if (!$container.length) {
return;
}
var pad = parseFloat(window.getComputedStyle($container[0]).paddingLeft) || 0;
var containerLeft = $container.offset().left + pad;
var indent = $form.offset().left - containerLeft;
$form.css({
marginLeft: indent > 0 ? -indent : 0,
width: $container.width() + "px"
});
}
// Constructor for the edit form; lastExample/button/title/language/definitionLevel identify where the form attaches and what it edits.
function Form($lastExample, $button, $title, language, definitionLevel) {
var self = this;
this._language = language;
this._definitionLevel = definitionLevel;
this._$lastExample = $lastExample;
this._$button = $button;
this._$button.form = this;
this._$title = $title;
this._currentJederKey = "";
this._jederFieldWidgets = {};
this._textInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var textInputLayout = new OO.ui.FieldLayout(this._textInput, {
label: "Metna nimûneyê",
align: "top",
});
this._textInput.on("change", function(value) {
self._applyButton.setDisabled(!value);
self._updateReadyHint();
});
watchForLinebreaks(this._textInput);
// Source type dropdown: free text, a jêder-* template, or "citoid" (a pseudo key, not in jederDefs) meaning "not yet detected" — the default, switched automatically once a Citoid fetch succeeds (see _fillFromCitoid).
var sourceTypeMenuItems = [
new OO.ui.MenuOptionWidget({ data: "citoid", label: "Bi Citoidê otomatîk zêde bike" }),
new OO.ui.MenuOptionWidget({ data: "", label: "Bi destê xwe binivîsim" }),
];
for (var jederKey in jederDefs) {
if (jederDefs.hasOwnProperty(jederKey)) {
sourceTypeMenuItems.push(new OO.ui.MenuOptionWidget({
data: jederKey,
label: jederDefs[jederKey].label,
}));
}
}
this._sourceTypeDropdown = new OO.ui.DropdownWidget({
menu: { items: sourceTypeMenuItems },
label: "Bi Citoidê otomatîk zêde bike",
});
var sourceTypeLayout = new OO.ui.FieldLayout(this._sourceTypeDropdown, {
label: "Şablona çavkaniyê",
align: "top",
});
this._sourceTypeDropdown.getMenu().on("choose", function(menuOption) {
self._setSourceType(menuOption.getData());
});
this._sourceInput = new OO.ui.MultilineTextInputWidget();
this._sourceInput.on("change", function() {
self._updateReadyHint();
});
this._sourceInputLayout = new OO.ui.FieldLayout(this._sourceInput, {
label: "Çavkaniya nimûneyê",
align: "top",
});
// Always visible in every mode (free text included) — submit() reads this unconditionally as the "url=" parameter. The Citoid fetch button sits right next to it (not in a separate box) -- see _urlRowWidget below.
this._sourceURLInput = new OO.ui.TextInputWidget({
icon: "link",
placeholder: "https://… an jî DOI/ISBN",
});
this._citoidButton = new OO.ui.ButtonWidget({
label: "Bi otomatîk tijî bike",
icon: "download",
flags: ["progressive"],
title: "Li gorî URL, DOI an ISBNya jorîn, malûmatan ji Citoid tîne û qadên şablona jêder-* otomatîk tijî dike.",
classes: ["add-example-citoid-fetch"],
});
this._citoidButton.on("click", this._fillFromCitoid.bind(this));
this._sourceURLInput.on("change", function() {
self._updateReadyHint();
self._autofillVideoTimestamp();
});
// URL input + inline "auto-fill" button as one row (replaces the old separate framed Citoid box's
// button row) -- a plain OO.ui.Widget used purely as a flex-row container (same pattern as
// _loadingImage below: build it empty, then manually append its children's $elements). Disabling
// during submit() still goes through the individual _sourceURLInput/_citoidButton references, not
// through this wrapper.
this._urlRowWidget = new OO.ui.Widget({ classes: ["add-example-url-row"] });
this._urlRowWidget.$element.append(this._sourceURLInput.$element, this._citoidButton.$element);
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Li qutiyê URL, DOI an ISBN binivîse û pê lê bike butona 'Bi otomatîk tijî bike' da ku otomatîk çavkanî were dagirtin.",
helpInline: true,
});
// Matches the wording just constructed above, so the initial _setSourceType("citoid") call at the end of this constructor doesn't needlessly recreate an identical layout.
this._urlFieldIsFreeTextWording = false;
// Shown right after a successful Citoid fetch (see _fillFromCitoid); hidden again on clear.
this._citoidSuccessMsg = $("<span class='add-example-citoid-success'>✓ Malûmat hatin dagirtin — li jêr kontrol bike.</span>").hide();
// Clears the URL field and any filled jêder-* fields without touching the example text/translation.
this._citoidClearButton = new OO.ui.ButtonWidget({
label: "Vala bike",
icon: "trash",
framed: false,
title: "Lînkê û qadên jêder-* yên vê beşê vala bike",
classes: ["add-example-citoid-clear"],
});
this._citoidClearButton.on("click", function() {
self._sourceURLInput.setValue("");
self._citoidSuccessMsg.hide();
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setValue("");
});
});
// Plain div (not OO.ui.FieldsetLayout) so the grid CSS class applies directly to the field items.
this._jederFieldsFieldset = $("<div class='add-example-jeder-fields'>");
// "Malûmatên çavkaniyê" header (+ the "Vala bike" clear button) sitting right above the fields grid,
// replacing the old framed "Ji Citoid an bi destan tijî bike:" box -- like this only makes sense once
// a real jêder-* template is active (there's nothing here to show for the "citoid: not yet detected"
// placeholder or for free text), so the whole section toggles together in _setSourceType().
this._jederSection = $("<div class='add-example-jeder-section'>").append(
$("<div class='add-example-jeder-header'>")
.append($("<span class='add-example-jeder-header-label'>Malûmatên çavkaniyê</span>"))
.append(this._citoidClearButton.$element),
this._jederFieldsFieldset
);
this._translationInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var translationInputLayout = new OO.ui.FieldLayout(this._translationInput, {
label: "Tercimeya kurmancî ya nimûneyê",
align: "top",
});
watchForLinebreaks(this._translationInput);
this._transcriptionInput = new OO.ui.MultilineTextInputWidget({ rows: 4 });
var transcriptionInputLayout = new OO.ui.FieldLayout(this._transcriptionInput, {
label: "Translîterasyona nimûneyê",
align: "top",
help: "Tenê lê zêde bike eger metna di nimûneyê de bi alfabeya latînî nehatibe nivîsandin.",
helpInline: true,
});
watchForLinebreaks(this._transcriptionInput);
this._applyButton = new OO.ui.ButtonWidget({
label: "Biweşîne",
icon: "check",
title: "Nimûneyê ji bo vê tarîfê nimûneyê lê zêde bike",
flags: ["progressive", "primary"],
disabled: true,
});
this._applyButton.on("click", this.submit.bind(this));
// Reactive "ready to submit" hint next to Biweşîne: no text yet, text but no source (still submittable
// as a bare {{nimûne}}), or fully ready -- kept in sync by _updateReadyHint(), wired to every field below.
this._readyHint = $("<span class='add-example-ready-hint'></span>").text("Metna nimûneyê lazim e.");
// True while a Citoid-eligible URL/DOI/ISBN is typed in but not yet fetched (or fetched then edited away) and no jêder field has been filled by hand -- the "looks done but isn't" trap this exists to catch. Not applicable in free-text mode, where the fetch button isn't even offered.
this._citoidPending = function() {
return self._currentJederKey !== "" &&
!!self._sourceURLInput.getValue().trim() &&
!self._citoidSuccessMsg.is(":visible") &&
!Object.keys(self._jederFieldWidgets).some(function(key) {
return self._jederFieldWidgets[key].getValue().trim();
});
};
this._updateReadyHint = function() {
if (!self._textInput.getValue()) {
self._readyHint.text("Metna nimûneyê lazim e.");
return;
}
if (self._citoidPending()) {
self._readyHint.text("Pêşî 'Bi otomatîk tijî bike' bitikîne.");
return;
}
var hasSource = self._sourceInput.getValue().trim() || self._sourceURLInput.getValue().trim() ||
Object.keys(self._jederFieldWidgets).some(function(key) {
return self._jederFieldWidgets[key].getValue().trim();
});
self._readyHint.text(hasSource ? "Hazir e." : "Çavkanî nehatiye dayîn.");
};
// Prefills the Dem field from the typed URL's own "t=" (see wikt.citoid.extractVideoTimestamp) once jêder-vîdeo is active -- never overwrites a value the user already entered by hand.
this._autofillVideoTimestamp = function() {
var demWidget = self._jederFieldWidgets.dem;
if (self._currentJederKey !== "jêder-vîdeo" || !demWidget || demWidget.getValue().trim()) {
return;
}
var dem = wikt.citoid.extractVideoTimestamp(self._sourceURLInput.getValue().trim());
if (dem) {
demWidget.setValue(dem);
}
};
// framed:false (+ the "destructive" flag for the red text/hover) matches the mockup's borderless
// "Betal bike" -- a plain colored link rather than a boxed button, distinguishing it from Paqij bike.
this._cancelButton = new OO.ui.ButtonWidget({
label: "Betal bike",
icon: "close",
title: "Formê bigire",
flags: ["destructive"],
framed: false,
});
this._cancelButton.on("click", function() {
self.setVisible(false);
});
this._clearButton = new OO.ui.ButtonWidget({
label: "Paqij bike",
icon: "trash",
title: "Hemû qadan vala bike û pêşnûyisên hilanîbûyî jê bibe",
});
this._clearButton.on("click", function() {
self.clear();
self._clearDraft();
});
// Native CSS spinner (see Gadget-wikt.add-examples.css) instead of an external Commons GIF, so there's no network request and it matches dark/light mode.
this._loadingImage = new OO.ui.Widget({
classes: ["add-example-loading"],
});
this._loadingImage.$element.append($('<span class="add-example-spinner" aria-hidden="true"></span>'));
this._loadingImage.toggle(false);
// Two-column top section (see "Form redesign for Kurdish example/Nimûne zêde bike.dc.html"): example
// text (+ translation/transliteration for non-ku, right after it, not after the source fields) on the
// left; source-type + link/Citoid on the right. Built as plain <div>s, not an OOUI layout -- OOUI has
// no CSS-grid container -- so .add-example-top-grid in the CSS can lay them out as a real responsive
// 7fr/5fr grid (collapsing to one column on narrow screens).
var $topLeft = $("<div class='add-example-top-col'>").append(textInputLayout.$element);
if (language !== "ku") {
$topLeft.append(translationInputLayout.$element);
}
if (!pageTitleIsLatin) {
$topLeft.append(transcriptionInputLayout.$element);
}
var $topRight = $("<div class='add-example-top-col'>").append(
sourceTypeLayout.$element,
this._sourceInputLayout.$element,
this._sourceURLInputLayout.$element,
this._citoidSuccessMsg
);
var $topGrid = $("<div class='add-example-top-grid'>").append($topLeft, $topRight);
// Saved on the instance (not just a local var) so _setSourceType() can swap the URL field's label/help
// wording in and out of it when switching to/from free text (see the FieldLayout replaceWith() there).
this._fieldsLayout = $("<div class='add-example-fieldset'>").append($topGrid, this._jederSection);
// Bottom action row -- order/spacing matches the mockup: Biweşîne (+ spinner + ready hint), a spacer
// pushing the rest right, then Paqij bike (bordered/subtle) and Betal bike (borderless red text, via
// framed:false above). A plain flex <div>, not an OOUI HorizontalLayout, so the raw hint/spacer
// elements can sit alongside the real button widgets (same reasoning as the top grid above).
var $buttonsRow = $("<div class='add-example-main-buttons'>").append(
this._applyButton.$element,
this._loadingImage.$element,
this._readyHint,
$("<span class='add-example-buttons-spacer'></span>"),
this._clearButton.$element,
this._cancelButton.$element
);
this._frame = new OO.ui.PanelLayout({
id: "add-example-definition-{0}-form".format(this._definitionLevel.join("-")),
classes: ["add-example-form"],
expanded: false,
});
this._frame.$element.append(this._fieldsLayout, $buttonsRow);
// Default to "citoid" mode; selectItemByData() doesn't fire "choose" (that only fires for interactive selection), so _setSourceType() must also be called explicitly to set up the initial UI.
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
}
Form.prototype = {
// Returns the jQuery object for this form.
get $element() {
return this._frame.$element;
},
// Switches the source section between free text, Citoid auto-detect (no template chosen yet), and a specific jêder-* template, rebuilding the field list to match. The URL field itself is always visible in every mode (see the constructor); only the free-text textarea, the Citoid fetch button, and the "Malûmatên çavkaniyê" fields section toggle here.
_setSourceType: function(jederKey) {
var self = this;
this._currentJederKey = jederKey;
this._jederFieldsFieldset.empty();
this._jederFieldWidgets = {};
var isRealJederKey = jederKey && jederDefs[jederKey];
if (isRealJederKey) {
var def = jederDefs[jederKey];
def.fields.forEach(function(field) {
var widget = field.multiline
? new OO.ui.MultilineTextInputWidget({ rows: 2, autosize: false })
: new OO.ui.TextInputWidget();
self._jederFieldWidgets[field.key] = widget;
widget.on("change", function() {
self._updateReadyHint();
});
var layout = new OO.ui.FieldLayout(widget, {
label: field.label,
align: "top",
classes: ["add-example-field-span-" + (field.span || 4)],
});
self._jederFieldsFieldset.append(layout.$element);
});
}
// "Malûmatên çavkaniyê" header + fields grid: only once a real template is chosen/detected --
// nothing to show yet for the plain "citoid: not yet detected" placeholder or for free text.
this._jederSection.toggle(!!isRealJederKey);
// Free text textarea only for "" (free text); hidden for "citoid" and any real jêder-* key.
this._sourceInputLayout.toggle(jederKey === "");
// Citoid fetch button: hidden for free text (nothing there for it to fill in), shown for "citoid" auto-detect and any real jêder-* key. The URL input itself next to it stays visible in every mode.
this._citoidButton.toggle(jederKey !== "");
// URL field wording: plain "attach a link" phrasing for free text, Citoid-oriented phrasing otherwise. Only recreated when actually crossing that boundary, not on every dropdown change (e.g. switching between two jêder-* types keeps the same wording, no need to touch the DOM).
var isFreeText = jederKey === "";
if (this._urlFieldIsFreeTextWording !== isFreeText) {
this._urlFieldIsFreeTextWording = isFreeText;
this._sourceURLInput.setPlaceholder(isFreeText ? "URLyeke wekî https://…" : "URLyek wekî https://… an jî DOI/ISBN");
var $oldLayout = this._sourceURLInputLayout.$element;
// Re-wraps the SAME _urlRowWidget (still holding _sourceURLInput + _citoidButton) in a new
// FieldLayout with the new label/help; the widget's $element moves along with it, same as the
// old addItems()/removeItems() swap did for the plain input before this redesign.
this._sourceURLInputLayout = new OO.ui.FieldLayout(this._urlRowWidget, isFreeText ? {
label: "Adresa webê ya nimûneyê",
align: "top",
help: "Tenê binivîse eger lînk jixwe di referansa çavkaniyê de tinebe.",
helpInline: true,
} : {
label: "Lînk, DOI an ISBNya çavkaniyê",
align: "top",
help: "Ev dibe lînka çavkaniyê (url=). Ji bo şablonên jêder-*, dikare bi Citoid an bi destan jî bên dagirtin.",
helpInline: true,
});
$oldLayout.replaceWith(this._sourceURLInputLayout.$element);
}
this._autofillVideoTimestamp();
this._updateReadyHint();
},
// Fetches data from MediaWiki:Gadget-citoid-helper.js, picks the matching jêder-* template, and fills its empty fields; citoid-helper is a registered gadget dependency so it's already loaded here.
_fillFromCitoid: function() {
var self = this;
var query = this._sourceURLInput.getValue().trim();
if (!query) {
mw.notify("Ji kerema xwe re pêşî URL, DOI an ISBNyekê binivîse.");
return;
}
this._citoidButton.setDisabled(true);
this._loadingImage.toggle(true);
wikt.citoid.fetchJederFields(query).then(function(result) {
// Only let Citoid pick the template type when nothing's been chosen yet (the "citoid" auto-detect default). If the user already selected a specific jêder-* type (or free text), that choice is respected — e.g. picking "Websîte" and fetching a tweet must not silently switch to "Kovar" just because Citoid guessed differently.
var wasAutoDetect = self._currentJederKey === "citoid";
if (wasAutoDetect) {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData(result.jederKey);
if (item) {
menu.chooseItem(item); // this calls _setSourceType(jederKey) automatically
}
}
var targetJederKey = self._currentJederKey;
// Fields Citoid returned were shaped for its own detected type; if the active template differs (the case above where the user's choice was kept), re-derive fields for that template instead so e.g. "Websîte" still gets its own website-shaped fields (websîte, tarîx, ...) rather than leftover kovar-shaped ones.
var fields = targetJederKey === result.jederKey ? result.fields : wikt.citoid.dataToJederFields(targetJederKey, result.raw);
Object.keys(fields).forEach(function(key) {
var widget = self._jederFieldWidgets[key];
if (widget && !widget.getValue()) {
widget.setValue(fields[key]);
}
});
self._citoidSuccessMsg.show();
self._updateReadyHint();
mw.notify("Malûmat ji Citoid hatin barkirin.");
}, function(errorMsg) {
// Citoid can't fetch some sites at all (e.g. x.com/twitter.com) -- fall back to jêder-websîte with a website name guessed from the URL itself, rather than just a bare error.
var fallbackSite = wikt.citoid.websiteNameForUrl(query);
if (fallbackSite) {
if (self._currentJederKey !== "jêder-websîte") {
var menu = self._sourceTypeDropdown.getMenu();
var item = menu.findItemFromData("jêder-websîte");
if (item) {
menu.chooseItem(item); // this calls _setSourceType("jêder-websîte") automatically
}
}
var websiteWidget = self._jederFieldWidgets["websîte"];
if (websiteWidget && !websiteWidget.getValue()) {
websiteWidget.setValue(fallbackSite);
}
mw.notify("Citoid nikare vê malperê bixwîne; şablona Websîte hate hilbijartin, ji kerema xwe mayî bi destan tijî bike.");
return;
}
mw.notify(typeof errorMsg === "string" ? errorMsg : "Nekarî malûmatan ji Citoid bistîne. Kontrol bike ka URL/DOI/ISBN rast e.");
}).always(function() {
self._citoidButton.setDisabled(false);
self._loadingImage.toggle(false);
});
},
// Toggles the visibility of this form and restores any saved draft when shown. The title text takes
// the button's place while open (see the "Form redesign for Kurdish example" mockup); the button
// itself stays put ready to reappear once the form is cancelled/closed.
setVisible: function(visible) {
this._$button.toggle(!visible);
this._$title.toggle(visible);
this._frame.toggle(visible);
if (visible) {
alignFormToPage(this._frame.$element);
var draft = draftStorage.Get() || {};
if (!this._textInput.getValue() && draft.text) {
this._textInput.setValue(draft.text);
}
if (!this._sourceInput.getValue() && draft.source) {
this._sourceInput.setValue(draft.source);
}
if (!this._sourceURLInput.getValue() && draft.sourceURL) {
this._sourceURLInput.setValue(draft.sourceURL);
}
if (!this._translationInput.getValue() && draft.translation) {
this._translationInput.setValue(draft.translation);
}
if (!this._transcriptionInput.getValue() && draft.transcription) {
this._transcriptionInput.setValue(draft.transcription);
}
}
},
// Removes any saved draft (localStorage/cookie via MediaWiki:Gadget-StorageUtils.js) so it can't resurface on other pages.
_clearDraft: function() {
draftStorage.Set({});
},
// Clears all fields in this form.
clear: function() {
this._textInput.setValue("");
this._sourceInput.setValue("");
this._sourceURLInput.setValue("");
this._translationInput.setValue("");
this._transcriptionInput.setValue("");
this._citoidSuccessMsg.hide();
this._sourceTypeDropdown.getMenu().selectItemByData("citoid");
this._setSourceType("citoid");
},
// Warns before submitting if a Citoid URL/DOI/ISBN was typed but never successfully fetched, then defers to _doSubmit.
submit: function() {
if (this._citoidPending() && !window.confirm("Te lînk, DOI an ISBN nivîsand lê hîn jê malûmat nehatine standin. Bêyî wan berdewam bikî?")) {
return;
}
this._doSubmit();
},
// Generates and submits the wikicode, then inserts the resulting HTML element if no errors occurred.
_doSubmit: function() {
var self = this;
self._textInput.setDisabled(true);
self._sourceInput.setDisabled(true);
self._sourceURLInput.setDisabled(true);
self._translationInput.setDisabled(true);
self._transcriptionInput.setDisabled(true);
self._sourceTypeDropdown.setDisabled(true);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(true);
});
// self._disableTranslationChk.setDisabled(true);
this._applyButton.setDisabled(true);
this._clearButton.setDisabled(true);
this._loadingImage.toggle(true);
var source = this._sourceInput.getValue().trim();
var sourceURL = this._sourceURLInput.getValue().trim();
var text = this._textInput.getValue().trim();
// If a jêder-* template is selected, collect its filled-in fields.
var jederParams = [];
if (this._currentJederKey && jederDefs[this._currentJederKey]) {
jederDefs[this._currentJederKey].fields.forEach(function(field) {
var widget = self._jederFieldWidgets[field.key];
var value = widget ? widget.getValue().trim() : "";
if (value) {
jederParams.push(field.key + "=" + value);
}
});
}
var usingJederTemplate = this._currentJederKey && jederParams.length > 0;
var minakAnNa, sablon;
if (usingJederTemplate) {
// The jêder-* template itself is used as the template, not as the "2=" content.
minakAnNa = "*";
sablon = this._currentJederKey;
} else if (source || sourceURL) {
minakAnNa = "*";
sablon = "jêder";
} else {
minakAnNa = ":";
sablon = "nimûne";
}
var listMarker = "".padStart(this._definitionLevel.length - 1, "#") + minakAnNa;
var title = mw.config.get('wgTitle');
// jêder-* template, jêder, or nimûne
var code = listMarker + " {{" + sablon;
// 1= language code
code += "|" + this._language;
if (usingJederTemplate) {
// Fields of the selected jêder-* template, passed straight through as its parameters.
jederParams.forEach(function(param) {
code += "|" + param;
});
} else {
// 2= source (free text)
if (source) {
code += "|2=" + source;
}
if (sourceURL) {
code += "|url=" + sourceURL;
}
}
// jêgirtin/nimûne (quotation text)
code += "|";
if (sablon !== "nimûne") {
code += "jêgirtin=";
}
// bold the page title, then convert any literal linebreak in the example text to <br> (see nlToBr) so it can't break the single-line "#*" wikitext
code += nlToBr(text.replace(new RegExp("(" + title + "([^( |,|;|?|.|!)]+)?)", "ig"), "'''$1'''"));
if (this._language !== "ku") {
var translation = nlToBr(this._translationInput.getValue().trim());
if (translation) {
code += "|tercime=" + translation;
}
}
var transcription = nlToBr(this._transcriptionInput.getValue().trim());
if (transcription) {
code += "|tr=" + transcription;
}
code += "}}";
// var escapedLangCode = languages[this._language].charAt(0).toUpperCase() + languages[this._language].slice(1);
// console.log("escapedLangCode: ", escapedLangCode);
var sectionIDPattern = new RegExp("^([\\wîêçş_]+?)_?(\\d+)?_?(\\d+)?$");
console.log("this._definitionLevel[0]: ", this._definitionLevel[0]);
var matchSectionID = sectionIDPattern.exec(this._definitionLevel[0]);
//var isInflection;
var sectionType = matchSectionID[1].replace(/_/, ' ');
sectionType = sectionType.replace(/_\d+$/, '');
console.log("sectionType: ", sectionType);
var sectionNum = matchSectionID[2] ? parseInt(matchSectionID[2]) : "";
console.log("Section Number:", sectionNum);
// Insert new example into page’s code
api.get({
action: "query",
titles: mw.config.get("wgPageName"),
prop: "revisions",
rvprop: "content",
rvslots: "main",
}).then(function(data) {
var pageContent;
for (var pageID in data.query.pages) {
if (data.query.pages.hasOwnProperty(pageID)) {
// noinspection JSUnresolvedVariable
pageContent = data.query.pages[pageID].revisions[0].slots.main["*"];
break;
}
}
// Look for correct language section
var langSectionRegex = new RegExp("==[ ]*{{ziman\\|{0}}}[ ]*==".format(self._language));
var langSectionIndex = pageContent.search(langSectionRegex);
console.log("langSectionIndex:", langSectionIndex);
if (langSectionIndex === -1) {
console.log("langSectionIndex === -1");
error("Xeletiyeke bi koda zimanî heye. Koda zimanî:" + self._language);
return;
}
// Look for correct word type section
var lines = pageContent.slice(langSectionIndex).split("\n");
var sectionNamesRegex = Object.keys(sectionNames).join('|');
var sectionRegex = new RegExp('^===[ ]*(' + sectionNamesRegex + ')\\s*(\\d+)?');
var targetLineIndex;
for (targetLineIndex = 0; targetLineIndex < lines.length; targetLineIndex++) {
var line = lines[targetLineIndex];
console.log("line:", line);
var matchSection = sectionRegex.exec(line);
if (matchSection) {
console.log("matchSection:", matchSection[1]);
// Extract section name and number from the matched result
var matchedSectionName = matchSection[1];
var matchedSectionNum = matchSection[2]; // It could be undefined
if (!sectionNames[sectionType]) {
error('Navê beşê xelet e. Di beşên "Ji wêjêyê" û "Ji wêjêya klasîk" ev amûr nayê bikaranîn.');
return; // Exit the function
}
// Check if the matched section name is in the expected list
if (sectionNames[sectionType].includes(matchedSectionName)) {
// Match only the specific numbered section the button was clicked in (e.g. "Navdêr 2",
// not just the first "===Navdêr...===" heading found) -- both sides are "" when the
// section has no number at all (a single unnumbered "===Navdêr===").
var matchedSectionNumValue = matchedSectionNum ? parseInt(matchedSectionNum, 10) : "";
if (matchedSectionNumValue === sectionNum) {
// Add more conditions if needed for inflection, e.g., (isInflection === line.includes("Formeke "))
break;
}
}
}
}
if (targetLineIndex === lines.length) {
console.log("targetLineIndex === lines.length");
error("Di navê beşê de xeletî heye. Îhtimalen bi vî navê beşê çend heb hene.");
return;
}
// Look for correct definition
var defIndex = -1;
var level = 1;
for (; targetLineIndex < lines.length; targetLineIndex++) {
var m = /^(#+)[^*#:]/.exec(lines[targetLineIndex]);
console.log("lines[targetLineIndex]:", lines[targetLineIndex]);
if (m) {
console.log("m:", m);
if (level === m[1].length) {
console.log("m[1]:", m[1]);
defIndex++;
console.log("defIndex:", defIndex);
if (self._definitionLevel[level] === defIndex) {
console.log("self._definitionLevel[level] === defIndex");
console.log("self._definitionLevel[level]", self._definitionLevel[level]);
if (level === self._definitionLevel.length - 1) {
console.log("level:", level);
break;
} else {
level++;
defIndex = -1;
}
}
}
}
}
// Find where to insert within this definition's "#:"/"#*" block: walk lines after the definition (findBlockEnd() tracks multi-line templates), and use exampleTemplateNames to tell real examples from annotations (synonyms, antonyms, alt-forms, etc.) rather than hard-blocking specific names.
var insertionFound = false;
var lastRelevantBlockEnd = -1;
var isJederFamily = (sablon === "jêder" || Object.prototype.hasOwnProperty.call(jederDefs, sablon));
var scanIndex = targetLineIndex + 1;
var emptyTemplate = false;
for (; scanIndex < lines.length; scanIndex++) {
var scanLine = lines[scanIndex];
if (!scanLine.startsWith("#:") && !scanLine.startsWith("#*")) {
// Left this definition's "#:"/"#*" block (e.g. a new definition or section starts).
break;
}
var blockEnd = findBlockEnd(lines, scanIndex);
var templateName = getLineTemplateName(scanLine);
var isExampleLine = templateName !== null &&
exampleTemplateNames.indexOf(templateName) !== -1;
if (isJederFamily) {
// jêder-family examples go after all "#:"/"#*" lines of this definition (both real examples and annotations).
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
} else if (sablon === "nimûne") {
// "nimûne" examples go before any "#*" line, but after "#:" lines.
if (scanLine.startsWith("#*")) {
break;
}
lastRelevantBlockEnd = blockEnd;
insertionFound = true;
}
scanIndex = blockEnd; // Skip past the whole (possibly multi-line) block
}
var insertAt = lastRelevantBlockEnd >= 0 ? lastRelevantBlockEnd + 1 : scanIndex;
if (lastRelevantBlockEnd >= 0) {
emptyTemplate = /#+\*\s*{{[ ]*b?ê?(nimûne|mînak|jêgirtin)\??\s*\|\s*\|?\s*[^|}]+}}/.test(lines[lastRelevantBlockEnd]);
}
if (emptyTemplate) {
console.log("empty Template found", sablon);
// Replace empty template with new example
lines.splice(lastRelevantBlockEnd, 1, code);
} else {
console.log("empty Template not found", sablon);
// Insert the new example (right after the definition if it had no existing "#:"/"#*" lines yet, or after the relevant block otherwise).
lines.splice(insertAt, 0, code);
}
// Submit new page content
api.edit(mw.config.get("wgPageName"), function(_) {
return {
text: pageContent.slice(0, langSectionIndex) + lines.join("\n"),
summary: "+nimûneya bikaranînê bi amûra « {0} » (v{1}).".format(NAME, VERSION),
};
}).then(function() {
api.parse(code).done(function(data) {
var $renderedExample = $(data).find("ul > li").html();
var $item;
// Insert rendered example into page
if (emptyTemplate) {
self._$lastExample.html($renderedExample);
$item = self._$lastExample;
} else {
self._$lastExample.after($item = $("<li>").append($renderedExample));
}
$item.css("background-color", "lightgreen");
setTimeout(function() {
$item.css("background-color", "inherit");
}, 1000);
self._$lastExample = $item;
});
self.setVisible(false);
self.clear();
self._clearDraft();
reenable();
});
});
function error(errorMessage) {
mw.notify(errorMessage || "Nimûne nehat weşandin, îhtimalen rûpel hate guhartin. Ji kerema xwe re rûpelê dîsa bar bike û dîsa biceribîne.");
draftStorage.Set({
text: self._textInput.getValue(),
source: self._sourceInput.getValue(),
sourceURL: self._sourceURLInput.getValue(),
translation: self._translationInput.getValue(),
transcription: self._transcriptionInput.getValue(),
});
reenable();
}
function reenable() {
self._textInput.setDisabled(false);
self._sourceInput.setDisabled(false);
self._sourceURLInput.setDisabled(false);
self._translationInput.setDisabled(false);
self._transcriptionInput.setDisabled(false);
self._sourceTypeDropdown.setDisabled(false);
Object.keys(self._jederFieldWidgets).forEach(function(key) {
self._jederFieldWidgets[key].setDisabled(false);
});
// self._disableTranslationChk.setDisabled(false);
self._applyButton.setDisabled(false);
self._cancelButton.setDisabled(false);
self._clearButton.setDisabled(false);
self._loadingImage.toggle(false);
}
},
};
});
// </nowiki>
7zldmogorm05mjkpk30lfdj5yqqz72m
Bikarhêner:Wikihez/Gadget-wikt.add-examples.css
2
1357894
6342332
6329670
2026-08-25T06:27:55Z
Wikihez
7344
6342332
css
text/css
/* [[Şablon:bênimûne]]: nivîsa "Nimûneyekê bide" tê jê birin, ne hewce ye */
.mw-parser-output li:has(> .benimune) {
display: none;
}
/* [[fr:MediaWiki:Gadget-wikt.add-examples.css ]] */
.add-example-form .oo-ui-inputWidget-input {
font-family: monospace !important;
font-size: 1.2em;
}
.add-example-form .add-example-fieldset {
margin-bottom: 1em;
}
/* Overall form panel: a white/near-white card lifted off the page with a soft shadow rather than a flat grey fill + hard border, so it reads as one modern panel instead of an old-style boxed form. */
.add-example-form {
max-width: 640px;
width: 100%;
box-sizing: border-box;
margin-top: 0.5em;
padding: 1.25em;
border: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
border-radius: 8px;
background-color: var(--background-color-base, #fff);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
html.skin-theme-clientpref-night .add-example-form {
background-color: var(--background-color-base, #101418);
border-color: rgba(255, 255, 255, 0.08);
/* Shadows barely read on dark backgrounds, so this leans more on the border for separation, plus a darker/tighter shadow just to lift it off the page. */
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
/* Title shown in place of the "Nimûneyeke bikaranînê lê zêde bike" link once its form is open (see
Form#setVisible in the JS) -- stays inside the same bullet <li> the link lived in, matching the "Form
redesign for Kurdish example" mockup where the title sits inside the bulleted list and the actual form
panel is a separate full-width block below it, not squeezed into the list's own narrow indent. */
.add-example-form-title {
font-weight: 700;
font-size: 1.05em;
color: var(--color-emphasized, #101418);
}
/* Two-column top section: example text (+ translation/transliteration) on the left, source-type + link/Citoid
on the right. Collapses to one column on narrow screens (see the media query below). */
.add-example-top-grid {
display: grid;
grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
gap: 16px 20px;
align-items: start;
}
.add-example-top-col {
display: flex;
flex-direction: column;
gap: 12px;
min-width: 0; /* lets long unbreakable text (URLs, DOIs) shrink instead of overflowing the grid track */
}
/* URL input + inline "Bi otomatîk tijî bike" fetch button, side by side in one row (see _urlRowWidget in the JS) -- replaces the old separate framed Citoid box. */
.add-example-url-row {
display: flex;
gap: 8px;
align-items: stretch;
}
.add-example-url-row .oo-ui-textInputWidget {
flex: 1 1 auto;
min-width: 0;
}
.add-example-url-row .add-example-citoid-fetch {
flex: none;
}
.add-example-citoid-success {
font-size: 0.92em;
color: var(--wikt-palette-green6, #14866d);
}
/* "Malûmatên çavkaniyê" section: the jêder-* fields grid + its header row, replacing the old fully-bordered
"Ji Citoid an bi destan tijî bike:" box -- a lightweight top-divider + faint tint instead of a second card
stacked inside the form panel above. */
.add-example-jeder-section {
border-top: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
background-color: var(--background-color-interactive-subtle, rgba(0, 0, 0, 0.04));
/* Negative left/right margin matches .add-example-form's own padding (1.25em) so the tint bleeds to the
panel's side edges; NOT bled to the bottom -- the Biweşîne/Betal bike/Paqij bike row comes right after
this section (a sibling, not nested inside it) and needs its own normal spacing above it. */
padding: 1em 1.25em;
margin: 0.75em -1.25em 0;
}
html.skin-theme-clientpref-night .add-example-jeder-section {
border-top-color: rgba(255, 255, 255, 0.08);
background-color: rgba(255, 255, 255, 0.05);
}
.add-example-jeder-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 0.6em;
}
.add-example-jeder-header-label {
font-size: 13.5px;
font-weight: 600;
color: var(--color-subtle, #54595d);
}
/* jêder-* template fields (Book/Journal/Website): a real 12-column grid, each field spanning its own
jederDefs[key].span columns (see _setSourceType in the JS) instead of the old inline-block width tiers. */
.add-example-jeder-fields {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 4px 12px;
}
.add-example-jeder-fields .oo-ui-fieldLayout {
min-width: 0; /* lets a field shrink below its content's natural width inside its grid track */
}
.add-example-field-span-1 { grid-column: span 1; }
.add-example-field-span-2 { grid-column: span 2; }
.add-example-field-span-3 { grid-column: span 3; }
.add-example-field-span-4 { grid-column: span 4; }
.add-example-field-span-5 { grid-column: span 5; }
.add-example-field-span-6 { grid-column: span 6; }
.add-example-field-span-12 { grid-column: span 12; }
.add-example-jeder-fields .oo-ui-fieldLayout-header,
.add-example-jeder-fields .oo-ui-fieldLayout-header label {
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget {
max-width: 100%;
width: 100%;
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget input,
.add-example-jeder-fields .oo-ui-textInputWidget textarea {
font-size: 0.95em;
padding: 4px 8px;
min-height: 2.2em;
line-height: 1.4;
resize: vertical;
}
/* Make the example text and free-text source/URL fields (the top two-column section) a bit larger for readability than the small bibliographic sub-fields below. */
.add-example-top-col textarea {
font-size: 1.05em;
}
/* Main action row (Biweşîne/Betal bike/Paqij bike): light gap between buttons plus a top border to separate from the fields above; scoped to this class rather than .oo-ui-horizontalLayout generally, since that also matches the small Citoid button row, which doesn't need this treatment. */
.add-example-main-buttons {
margin-top: 0.75em;
padding-top: 0.75em;
border-top: 1px solid var(--border-color-subtle, #c8ccd1);
gap: 0.5em;
flex-wrap: wrap; /* keep buttons from overflowing on narrow screens */
}
/* Loading spinner: plain CSS, not a Commons image, so it needs no network request and matches dark/light mode. */
.add-example-spinner {
display: inline-block;
width: 1.2em;
height: 1.2em;
vertical-align: middle;
border: 2px solid var(--border-color-subtle, #c8ccd1);
border-top-color: var(--color-progressive, #36c);
border-radius: 50%;
animation: add-example-spin 0.8s linear infinite;
}
@keyframes add-example-spin {
to { transform: rotate(360deg); }
}
/* Narrow screens: collapse the two-column top section to one column -- 5fr next to 7fr leaves the right
column (dropdown + link field) too cramped once the page itself is phone-width, on top of whatever
indentation the list this form is attached to already adds. */
@media (max-width: 640px) {
.add-example-top-grid {
grid-template-columns: 1fr;
}
}
/* Small screens: the framed panel gets its own padding on top of the page's, which can push things past the
viewport; also loosen the jêder-* fields grid to 2 columns so narrow-span fields (Sal, Çap, ...) don't end
up too cramped to use. */
@media (max-width: 480px) {
.add-example-form {
padding: 0.75em;
}
.add-example-jeder-section {
margin-left: -0.75em;
margin-right: -0.75em;
}
.add-example-jeder-fields {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.add-example-jeder-fields [class*="add-example-field-span-"] {
grid-column: span 1;
}
.add-example-jeder-fields .add-example-field-span-12 {
grid-column: span 2;
}
}
/* Ported from start.js/styles.css: warns when the example/translation/transcription boxes contain a literal linebreak, which submit() converts to <br> (see nlToBr in the JS) rather than letting it silently corrupt the single-line "#*" wikitext. */
.add-example-form textarea.add-example-has-linebreak {
border-color: var(--wikt-palette-yellow6, #ac6600) !important;
}
/* Backdrop layer behind the textarea, mirroring its text with a marker at each break point; font/padding/box-sizing/line-height are copied from the textarea via computed style (see syncLinebreakBackdropMetrics in the JS), not shared CSS classes, since most of the textarea's own sizing rules target "textarea", which this <div> wouldn't match. Created lazily, only once a textarea actually has a break. */
.add-example-linebreak-backdrop {
position: absolute;
inset: 0;
z-index: 0;
margin: 0;
overflow: hidden;
white-space: pre-wrap;
word-wrap: break-word;
color: transparent;
background: transparent !important;
border-color: transparent !important;
box-shadow: none !important;
resize: none !important;
pointer-events: none;
display: none;
}
/* Raises the textarea itself above its backdrop and makes its own background see-through, so the backdrop's break marker shows through behind the typed text. */
.add-example-form textarea.add-example-has-linebreak-source {
position: relative;
z-index: 1;
background-color: transparent !important;
}
/* The ↵ marker itself, placed right after each line that's followed by an actual typed/pasted linebreak. */
.add-example-linebreak-mark {
background-color: var(--wikt-palette-yellow6, #ac6600);
color: var(--wikt-palette-white, #fff);
border-radius: 2px;
}
mb8tcb7e6tu00a2jnv5xse4h5i6o30q
6342334
6342332
2026-08-25T06:36:13Z
Wikihez
7344
6342334
css
text/css
/* [[Şablon:bênimûne]]: nivîsa "Nimûneyekê bide" tê jê birin, ne hewce ye */
.mw-parser-output li:has(> .benimune) {
display: none;
}
/* [[fr:MediaWiki:Gadget-wikt.add-examples.css ]] */
.add-example-form .oo-ui-inputWidget-input {
font-family: monospace !important;
font-size: 1.2em;
}
.add-example-form .add-example-fieldset {
margin-bottom: 1em;
}
/* Overall form panel: a white/near-white card lifted off the page with a soft shadow rather than a flat grey fill + hard border, so it reads as one modern panel instead of an old-style boxed form. */
.add-example-form {
max-width: 640px;
width: 100%;
box-sizing: border-box;
margin-top: 0.5em;
padding: 1.25em;
border: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
border-radius: 8px;
background-color: var(--background-color-base, #fff);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
html.skin-theme-clientpref-night .add-example-form {
background-color: var(--background-color-base, #101418);
border-color: rgba(255, 255, 255, 0.08);
/* Shadows barely read on dark backgrounds, so this leans more on the border for separation, plus a darker/tighter shadow just to lift it off the page. */
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
/* Title shown in place of the "Nimûneyeke bikaranînê lê zêde bike" link once its form is open (see
Form#setVisible in the JS) -- stays inside the same bullet <li> the link lived in, matching the "Form
redesign for Kurdish example" mockup where the title sits inside the bulleted list and the actual form
panel is a separate full-width block below it, not squeezed into the list's own narrow indent. */
.add-example-form-title {
font-weight: 700;
font-size: 1.05em;
color: var(--color-emphasized, #101418);
}
/* Two-column top section: example text (+ translation/transliteration) on the left, source-type + link/Citoid
on the right. Collapses to one column on narrow screens (see the media query below). */
.add-example-top-grid {
display: grid;
grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
gap: 16px 20px;
align-items: start;
}
.add-example-top-col {
display: flex;
flex-direction: column;
gap: 12px;
min-width: 0; /* lets long unbreakable text (URLs, DOIs) shrink instead of overflowing the grid track */
}
/* URL input + inline "Bi otomatîk tijî bike" fetch button, side by side in one row (see _urlRowWidget in the JS) -- replaces the old separate framed Citoid box. */
.add-example-url-row {
display: flex;
gap: 8px;
align-items: stretch;
}
.add-example-url-row .oo-ui-textInputWidget {
flex: 1 1 auto;
min-width: 0;
}
.add-example-url-row .add-example-citoid-fetch {
flex: none;
}
.add-example-citoid-success {
font-size: 0.92em;
color: var(--wikt-palette-green6, #14866d);
}
/* "Malûmatên çavkaniyê" section: the jêder-* fields grid + its header row, replacing the old fully-bordered
"Ji Citoid an bi destan tijî bike:" box -- a lightweight top-divider + faint tint instead of a second card
stacked inside the form panel above. */
.add-example-jeder-section {
border-top: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
background-color: var(--background-color-interactive-subtle, rgba(0, 0, 0, 0.04));
/* Negative left/right margin matches .add-example-form's own padding (1.25em) so the tint bleeds to the
panel's side edges; NOT bled to the bottom -- the Biweşîne/Betal bike/Paqij bike row comes right after
this section (a sibling, not nested inside it) and needs its own normal spacing above it. */
padding: 1em 1.25em;
margin: 0.75em -1.25em 0;
}
html.skin-theme-clientpref-night .add-example-jeder-section {
border-top-color: rgba(255, 255, 255, 0.08);
background-color: rgba(255, 255, 255, 0.05);
}
.add-example-jeder-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 0.6em;
}
.add-example-jeder-header-label {
font-size: 13.5px;
font-weight: 600;
color: var(--color-subtle, #54595d);
}
/* jêder-* template fields (Book/Journal/Website): a real 12-column grid, each field spanning its own
jederDefs[key].span columns (see _setSourceType in the JS) instead of the old inline-block width tiers. */
.add-example-jeder-fields {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 4px 12px;
}
.add-example-jeder-fields .oo-ui-fieldLayout {
min-width: 0; /* lets a field shrink below its content's natural width inside its grid track */
}
.add-example-field-span-1 { grid-column: span 1; }
.add-example-field-span-2 { grid-column: span 2; }
.add-example-field-span-3 { grid-column: span 3; }
.add-example-field-span-4 { grid-column: span 4; }
.add-example-field-span-5 { grid-column: span 5; }
.add-example-field-span-6 { grid-column: span 6; }
.add-example-field-span-12 { grid-column: span 12; }
.add-example-jeder-fields .oo-ui-fieldLayout-header,
.add-example-jeder-fields .oo-ui-fieldLayout-header label {
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget {
max-width: 100%;
width: 100%;
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget input,
.add-example-jeder-fields .oo-ui-textInputWidget textarea {
font-size: 0.95em;
padding: 4px 8px;
min-height: 2.2em;
line-height: 1.4;
resize: vertical;
}
/* Make the example text and free-text source/URL fields (the top two-column section) a bit larger for readability than the small bibliographic sub-fields below. */
.add-example-top-col textarea {
font-size: 1.05em;
}
/* Main action row (Biweşîne + hint, spacer, Paqij bike, Betal bike): a plain flex <div> now (not an OOUI
HorizontalLayout, which used to supply display:flex on its own -- see the JS), so display:flex is set here
explicitly. Light gap between items plus a top border to separate from the fields above. */
.add-example-main-buttons {
display: flex;
align-items: center;
margin-top: 0.75em;
padding-top: 0.75em;
border-top: 1px solid var(--border-color-subtle, #c8ccd1);
gap: 0.5em;
flex-wrap: wrap; /* keep buttons from overflowing on narrow screens */
}
.add-example-ready-hint {
font-size: 12.5px;
color: var(--color-subtle, #72777d);
}
.add-example-buttons-spacer {
flex: 1 1 auto;
}
/* Loading spinner: plain CSS, not a Commons image, so it needs no network request and matches dark/light mode. */
.add-example-spinner {
display: inline-block;
width: 1.2em;
height: 1.2em;
vertical-align: middle;
border: 2px solid var(--border-color-subtle, #c8ccd1);
border-top-color: var(--color-progressive, #36c);
border-radius: 50%;
animation: add-example-spin 0.8s linear infinite;
}
@keyframes add-example-spin {
to { transform: rotate(360deg); }
}
/* Narrow screens: collapse the two-column top section to one column -- 5fr next to 7fr leaves the right
column (dropdown + link field) too cramped once the page itself is phone-width, on top of whatever
indentation the list this form is attached to already adds. */
@media (max-width: 640px) {
.add-example-top-grid {
grid-template-columns: 1fr;
}
}
/* Small screens: the framed panel gets its own padding on top of the page's, which can push things past the
viewport; also loosen the jêder-* fields grid to 2 columns so narrow-span fields (Sal, Çap, ...) don't end
up too cramped to use. */
@media (max-width: 480px) {
.add-example-form {
padding: 0.75em;
}
.add-example-jeder-section {
margin-left: -0.75em;
margin-right: -0.75em;
}
.add-example-jeder-fields {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.add-example-jeder-fields [class*="add-example-field-span-"] {
grid-column: span 1;
}
.add-example-jeder-fields .add-example-field-span-12 {
grid-column: span 2;
}
}
/* Ported from start.js/styles.css: warns when the example/translation/transcription boxes contain a literal linebreak, which submit() converts to <br> (see nlToBr in the JS) rather than letting it silently corrupt the single-line "#*" wikitext. */
.add-example-form textarea.add-example-has-linebreak {
border-color: var(--wikt-palette-yellow6, #ac6600) !important;
}
/* Backdrop layer behind the textarea, mirroring its text with a marker at each break point; font/padding/box-sizing/line-height are copied from the textarea via computed style (see syncLinebreakBackdropMetrics in the JS), not shared CSS classes, since most of the textarea's own sizing rules target "textarea", which this <div> wouldn't match. Created lazily, only once a textarea actually has a break. */
.add-example-linebreak-backdrop {
position: absolute;
inset: 0;
z-index: 0;
margin: 0;
overflow: hidden;
white-space: pre-wrap;
word-wrap: break-word;
color: transparent;
background: transparent !important;
border-color: transparent !important;
box-shadow: none !important;
resize: none !important;
pointer-events: none;
display: none;
}
/* Raises the textarea itself above its backdrop and makes its own background see-through, so the backdrop's break marker shows through behind the typed text. */
.add-example-form textarea.add-example-has-linebreak-source {
position: relative;
z-index: 1;
background-color: transparent !important;
}
/* The ↵ marker itself, placed right after each line that's followed by an actual typed/pasted linebreak. */
.add-example-linebreak-mark {
background-color: var(--wikt-palette-yellow6, #ac6600);
color: var(--wikt-palette-white, #fff);
border-radius: 2px;
}
9y3d3rspitk0pxk2lvci9twgythyzj5
6342417
6342334
2026-08-25T08:52:33Z
Wikihez
7344
6342417
css
text/css
/* [[Şablon:bênimûne]]: nivîsa "Nimûneyekê bide" tê jê birin, ne hewce ye */
.mw-parser-output li:has(> .benimune) {
display: none;
}
/* [[fr:MediaWiki:Gadget-wikt.add-examples.css ]] */
.add-example-form .oo-ui-inputWidget-input {
font-family: monospace !important;
font-size: 1.2em;
}
.add-example-form .add-example-fieldset {
margin-bottom: 1em;
}
/* Overall form panel: a white/near-white card lifted off the page with a soft shadow rather than a flat grey fill + hard border, so it reads as one modern panel instead of an old-style boxed form. No max-width -- the panel is a sibling of the citation <ul> (see the JS) specifically so it can stretch to whatever width the page allows instead of being squeezed by the list's indentation; capping it at a fixed px here would undo that from the outside. */
.add-example-form {
width: 100%;
box-sizing: border-box;
margin-top: 0.5em;
padding: 1.25em;
border: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
border-radius: 8px;
background-color: var(--background-color-base, #fff);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
html.skin-theme-clientpref-night .add-example-form {
background-color: var(--background-color-base, #101418);
border-color: rgba(255, 255, 255, 0.08);
/* Shadows barely read on dark backgrounds, so this leans more on the border for separation, plus a darker/tighter shadow just to lift it off the page. */
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
/* Title shown in place of the "Nimûneyeke bikaranînê lê zêde bike" link once its form is open (see
Form#setVisible in the JS) -- stays inside the same bullet <li> the link lived in, matching the "Form
redesign for Kurdish example" mockup where the title sits inside the bulleted list and the actual form
panel is a separate full-width block below it, not squeezed into the list's own narrow indent. */
.add-example-form-title {
font-weight: 700;
font-size: 1.05em;
color: var(--color-emphasized, #101418);
}
/* Two-column top section: example text (+ translation/transliteration) on the left, source-type + link/Citoid
on the right. Collapses to one column on narrow screens (see the media query below). */
.add-example-top-grid {
display: grid;
grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
gap: 16px 20px;
align-items: start;
}
.add-example-top-col {
display: flex;
flex-direction: column;
gap: 12px;
min-width: 0; /* lets long unbreakable text (URLs, DOIs) shrink instead of overflowing the grid track */
}
/* URL input on its own line, "Bi otomatîk tijî bike" fetch button on its own line below (see _urlRowWidget in
the JS) -- side-by-side left the URL input too narrow to read/type into once the button's own label claimed
its fixed content width. */
.add-example-url-row {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 8px;
}
.add-example-url-row .oo-ui-textInputWidget {
width: 100%;
}
.add-example-url-row .add-example-citoid-fetch {
align-self: flex-start;
}
.add-example-citoid-success {
font-size: 0.92em;
color: var(--wikt-palette-green6, #14866d);
}
/* "Malûmatên çavkaniyê" section: the jêder-* fields grid + its header row, replacing the old fully-bordered
"Ji Citoid an bi destan tijî bike:" box -- a lightweight top-divider + faint tint instead of a second card
stacked inside the form panel above. */
.add-example-jeder-section {
border-top: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
background-color: var(--background-color-interactive-subtle, rgba(0, 0, 0, 0.04));
/* Negative left/right margin matches .add-example-form's own padding (1.25em) so the tint bleeds to the
panel's side edges; NOT bled to the bottom -- the Biweşîne/Betal bike/Paqij bike row comes right after
this section (a sibling, not nested inside it) and needs its own normal spacing above it. */
padding: 1em 1.25em;
margin: 0.75em -1.25em 0;
}
html.skin-theme-clientpref-night .add-example-jeder-section {
border-top-color: rgba(255, 255, 255, 0.08);
background-color: rgba(255, 255, 255, 0.05);
}
.add-example-jeder-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 0.6em;
}
.add-example-jeder-header-label {
font-size: 13.5px;
font-weight: 600;
color: var(--color-subtle, #54595d);
}
/* jêder-* template fields (Book/Journal/Website): a real 12-column grid, each field spanning its own
jederDefs[key].span columns (see _setSourceType in the JS) instead of the old inline-block width tiers. */
.add-example-jeder-fields {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 4px 12px;
}
.add-example-jeder-fields .oo-ui-fieldLayout {
min-width: 0; /* lets a field shrink below its content's natural width inside its grid track */
}
.add-example-field-span-1 { grid-column: span 1; }
.add-example-field-span-2 { grid-column: span 2; }
.add-example-field-span-3 { grid-column: span 3; }
.add-example-field-span-4 { grid-column: span 4; }
.add-example-field-span-5 { grid-column: span 5; }
.add-example-field-span-6 { grid-column: span 6; }
.add-example-field-span-12 { grid-column: span 12; }
.add-example-jeder-fields .oo-ui-fieldLayout-header,
.add-example-jeder-fields .oo-ui-fieldLayout-header label {
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget {
max-width: 100%;
width: 100%;
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget input,
.add-example-jeder-fields .oo-ui-textInputWidget textarea {
font-size: 0.95em;
padding: 4px 8px;
min-height: 2.2em;
line-height: 1.4;
resize: vertical;
}
/* Make the example text and free-text source/URL fields (the top two-column section) a bit larger for readability than the small bibliographic sub-fields below. */
.add-example-top-col textarea {
font-size: 1.05em;
}
/* Main action row (Biweşîne + hint, spacer, Paqij bike, Betal bike): a plain flex <div> now (not an OOUI
HorizontalLayout, which used to supply display:flex on its own -- see the JS), so display:flex is set here
explicitly. Light gap between items plus a top border to separate from the fields above. */
.add-example-main-buttons {
display: flex;
align-items: center;
margin-top: 0.75em;
padding-top: 0.75em;
border-top: 1px solid var(--border-color-subtle, #c8ccd1);
gap: 0.5em;
flex-wrap: wrap; /* keep buttons from overflowing on narrow screens */
}
.add-example-ready-hint {
font-size: 12.5px;
color: var(--color-subtle, #72777d);
}
.add-example-buttons-spacer {
flex: 1 1 auto;
}
/* Loading spinner: plain CSS, not a Commons image, so it needs no network request and matches dark/light mode. */
.add-example-spinner {
display: inline-block;
width: 1.2em;
height: 1.2em;
vertical-align: middle;
border: 2px solid var(--border-color-subtle, #c8ccd1);
border-top-color: var(--color-progressive, #36c);
border-radius: 50%;
animation: add-example-spin 0.8s linear infinite;
}
@keyframes add-example-spin {
to { transform: rotate(360deg); }
}
/* Narrow screens: collapse the two-column top section to one column -- 5fr next to 7fr leaves the right
column (dropdown + link field) too cramped once the page itself is phone-width, on top of whatever
indentation the list this form is attached to already adds. */
@media (max-width: 640px) {
.add-example-top-grid {
grid-template-columns: 1fr;
}
}
/* Small screens: the framed panel gets its own padding on top of the page's, which can push things past the
viewport; also loosen the jêder-* fields grid to 2 columns so narrow-span fields (Sal, Çap, ...) don't end
up too cramped to use. */
@media (max-width: 480px) {
.add-example-form {
padding: 0.75em;
}
.add-example-jeder-section {
margin-left: -0.75em;
margin-right: -0.75em;
}
.add-example-jeder-fields {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.add-example-jeder-fields [class*="add-example-field-span-"] {
grid-column: span 1;
}
.add-example-jeder-fields .add-example-field-span-12 {
grid-column: span 2;
}
}
/* Ported from start.js/styles.css: warns when the example/translation/transcription boxes contain a literal linebreak, which submit() converts to <br> (see nlToBr in the JS) rather than letting it silently corrupt the single-line "#*" wikitext. */
.add-example-form textarea.add-example-has-linebreak {
border-color: var(--wikt-palette-yellow6, #ac6600) !important;
}
/* Backdrop layer behind the textarea, mirroring its text with a marker at each break point; font/padding/box-sizing/line-height are copied from the textarea via computed style (see syncLinebreakBackdropMetrics in the JS), not shared CSS classes, since most of the textarea's own sizing rules target "textarea", which this <div> wouldn't match. Created lazily, only once a textarea actually has a break. */
.add-example-linebreak-backdrop {
position: absolute;
inset: 0;
z-index: 0;
margin: 0;
overflow: hidden;
white-space: pre-wrap;
word-wrap: break-word;
color: transparent;
background: transparent !important;
border-color: transparent !important;
box-shadow: none !important;
resize: none !important;
pointer-events: none;
display: none;
}
/* Raises the textarea itself above its backdrop and makes its own background see-through, so the backdrop's break marker shows through behind the typed text. */
.add-example-form textarea.add-example-has-linebreak-source {
position: relative;
z-index: 1;
background-color: transparent !important;
}
/* The ↵ marker itself, placed right after each line that's followed by an actual typed/pasted linebreak. */
.add-example-linebreak-mark {
background-color: var(--wikt-palette-yellow6, #ac6600);
color: var(--wikt-palette-white, #fff);
border-radius: 2px;
}
g8dp1zclv8cqyva5d5x5dfx36mu8tsy
6342419
6342417
2026-08-25T08:54:53Z
Wikihez
7344
6342419
css
text/css
/* [[Şablon:bênimûne]]: nivîsa "Nimûneyekê bide" tê jê birin, ne hewce ye */
.mw-parser-output li:has(> .benimune) {
display: none;
}
/* [[fr:MediaWiki:Gadget-wikt.add-examples.css ]] */
.add-example-form .oo-ui-inputWidget-input {
font-family: monospace !important;
font-size: 1.2em;
}
.add-example-form .add-example-fieldset {
margin-bottom: 1em;
}
/* Overall form panel: a white/near-white card lifted off the page with a soft shadow rather than a flat grey fill + hard border, so it reads as one modern panel instead of an old-style boxed form. No max-width -- the panel is a sibling of the citation <ul> (see the JS) specifically so it can stretch to whatever width the page allows instead of being squeezed by the list's indentation; capping it at a fixed px here would undo that from the outside. */
.add-example-form {
width: 100%;
box-sizing: border-box;
margin-top: 0.5em;
padding: 1.25em;
border: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
border-radius: 8px;
background-color: var(--background-color-base, #fff);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
html.skin-theme-clientpref-night .add-example-form {
background-color: var(--background-color-base, #101418);
border-color: rgba(255, 255, 255, 0.08);
/* Shadows barely read on dark backgrounds, so this leans more on the border for separation, plus a darker/tighter shadow just to lift it off the page. */
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
/* Title shown in place of the "Nimûneyeke bikaranînê lê zêde bike" link once its form is open (see
Form#setVisible in the JS) -- stays inside the same bullet <li> the link lived in, matching the "Form
redesign for Kurdish example" mockup where the title sits inside the bulleted list and the actual form
panel is a separate full-width block below it, not squeezed into the list's own narrow indent. */
.add-example-form-title {
font-weight: 700;
font-size: 1.05em;
color: var(--color-emphasized, #101418);
}
/* Two-column top section: example text (+ translation/transliteration) on the left, source-type + link/Citoid
on the right. Collapses to one column on narrow screens (see the media query below). */
.add-example-top-grid {
display: grid;
grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
gap: 16px 20px;
align-items: start;
}
.add-example-top-col {
display: flex;
flex-direction: column;
gap: 12px;
min-width: 0; /* lets long unbreakable text (URLs, DOIs) shrink instead of overflowing the grid track */
}
/* URL input on its own line, "Bi otomatîk tijî bike" fetch button on its own line below (see _urlRowWidget in
the JS) -- side-by-side left the URL input too narrow to read/type into once the button's own label claimed
its fixed content width. */
.add-example-url-row {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 8px;
}
.add-example-url-row .oo-ui-textInputWidget {
width: 100%;
}
.add-example-url-row .add-example-citoid-fetch {
align-self: flex-start;
}
.add-example-citoid-success {
font-size: 0.92em;
color: var(--wikt-palette-green6, #14866d);
}
/* "Malûmatên çavkaniyê" section: the jêder-* fields grid + its header row, replacing the old fully-bordered
"Ji Citoid an bi destan tijî bike:" box -- a lightweight top-divider + faint tint instead of a second card
stacked inside the form panel above. */
.add-example-jeder-section {
border-top: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
background-color: var(--background-color-interactive-subtle, rgba(0, 0, 0, 0.04));
/* Negative left/right margin matches .add-example-form's own padding (1.25em) so the tint bleeds to the
panel's side edges; NOT bled to the bottom -- the Biweşîne/Betal bike/Paqij bike row comes right after
this section (a sibling, not nested inside it) and needs its own normal spacing above it. */
padding: 1em 1.25em;
margin: 0.75em -1.25em 0;
}
html.skin-theme-clientpref-night .add-example-jeder-section {
border-top-color: rgba(255, 255, 255, 0.08);
background-color: rgba(255, 255, 255, 0.05);
}
.add-example-jeder-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 0.6em;
}
.add-example-jeder-header-label {
font-size: 13.5px;
font-weight: 600;
color: var(--color-subtle, #54595d);
}
/* jêder-* template fields (Book/Journal/Website): a real 12-column grid, each field spanning its own
jederDefs[key].span columns (see _setSourceType in the JS) instead of the old inline-block width tiers.
align-items: start (matches .add-example-top-grid above) -- without it, grid's default "stretch" lets
fields sharing a row drift to different vertical positions instead of all starting flush at the row's top
(visible as one field's label/box sitting visibly lower than its row-mates, e.g. Terciman next to
Nivîskar/Websîte). */
.add-example-jeder-fields {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 4px 12px;
align-items: start;
}
.add-example-jeder-fields .oo-ui-fieldLayout {
min-width: 0; /* lets a field shrink below its content's natural width inside its grid track */
}
.add-example-field-span-1 { grid-column: span 1; }
.add-example-field-span-2 { grid-column: span 2; }
.add-example-field-span-3 { grid-column: span 3; }
.add-example-field-span-4 { grid-column: span 4; }
.add-example-field-span-5 { grid-column: span 5; }
.add-example-field-span-6 { grid-column: span 6; }
.add-example-field-span-12 { grid-column: span 12; }
.add-example-jeder-fields .oo-ui-fieldLayout-header,
.add-example-jeder-fields .oo-ui-fieldLayout-header label {
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget {
max-width: 100%;
width: 100%;
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget input,
.add-example-jeder-fields .oo-ui-textInputWidget textarea {
font-size: 0.95em;
padding: 4px 8px;
min-height: 2.2em;
line-height: 1.4;
resize: vertical;
}
/* Make the example text and free-text source/URL fields (the top two-column section) a bit larger for readability than the small bibliographic sub-fields below. */
.add-example-top-col textarea {
font-size: 1.05em;
}
/* Main action row (Biweşîne + hint, spacer, Paqij bike, Betal bike): a plain flex <div> now (not an OOUI
HorizontalLayout, which used to supply display:flex on its own -- see the JS), so display:flex is set here
explicitly. Light gap between items plus a top border to separate from the fields above. */
.add-example-main-buttons {
display: flex;
align-items: center;
margin-top: 0.75em;
padding-top: 0.75em;
border-top: 1px solid var(--border-color-subtle, #c8ccd1);
gap: 0.5em;
flex-wrap: wrap; /* keep buttons from overflowing on narrow screens */
}
.add-example-ready-hint {
font-size: 12.5px;
color: var(--color-subtle, #72777d);
}
.add-example-buttons-spacer {
flex: 1 1 auto;
}
/* Loading spinner: plain CSS, not a Commons image, so it needs no network request and matches dark/light mode. */
.add-example-spinner {
display: inline-block;
width: 1.2em;
height: 1.2em;
vertical-align: middle;
border: 2px solid var(--border-color-subtle, #c8ccd1);
border-top-color: var(--color-progressive, #36c);
border-radius: 50%;
animation: add-example-spin 0.8s linear infinite;
}
@keyframes add-example-spin {
to { transform: rotate(360deg); }
}
/* Narrow screens: collapse the two-column top section to one column -- 5fr next to 7fr leaves the right
column (dropdown + link field) too cramped once the page itself is phone-width, on top of whatever
indentation the list this form is attached to already adds. */
@media (max-width: 640px) {
.add-example-top-grid {
grid-template-columns: 1fr;
}
}
/* Small screens: the framed panel gets its own padding on top of the page's, which can push things past the
viewport; also loosen the jêder-* fields grid to 2 columns so narrow-span fields (Sal, Çap, ...) don't end
up too cramped to use. */
@media (max-width: 480px) {
.add-example-form {
padding: 0.75em;
}
.add-example-jeder-section {
margin-left: -0.75em;
margin-right: -0.75em;
}
.add-example-jeder-fields {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.add-example-jeder-fields [class*="add-example-field-span-"] {
grid-column: span 1;
}
.add-example-jeder-fields .add-example-field-span-12 {
grid-column: span 2;
}
}
/* Ported from start.js/styles.css: warns when the example/translation/transcription boxes contain a literal linebreak, which submit() converts to <br> (see nlToBr in the JS) rather than letting it silently corrupt the single-line "#*" wikitext. */
.add-example-form textarea.add-example-has-linebreak {
border-color: var(--wikt-palette-yellow6, #ac6600) !important;
}
/* Backdrop layer behind the textarea, mirroring its text with a marker at each break point; font/padding/box-sizing/line-height are copied from the textarea via computed style (see syncLinebreakBackdropMetrics in the JS), not shared CSS classes, since most of the textarea's own sizing rules target "textarea", which this <div> wouldn't match. Created lazily, only once a textarea actually has a break. */
.add-example-linebreak-backdrop {
position: absolute;
inset: 0;
z-index: 0;
margin: 0;
overflow: hidden;
white-space: pre-wrap;
word-wrap: break-word;
color: transparent;
background: transparent !important;
border-color: transparent !important;
box-shadow: none !important;
resize: none !important;
pointer-events: none;
display: none;
}
/* Raises the textarea itself above its backdrop and makes its own background see-through, so the backdrop's break marker shows through behind the typed text. */
.add-example-form textarea.add-example-has-linebreak-source {
position: relative;
z-index: 1;
background-color: transparent !important;
}
/* The ↵ marker itself, placed right after each line that's followed by an actual typed/pasted linebreak. */
.add-example-linebreak-mark {
background-color: var(--wikt-palette-yellow6, #ac6600);
color: var(--wikt-palette-white, #fff);
border-radius: 2px;
}
f6bj2jhbezhv766a879vhpjymm9bjp5
6342425
6342419
2026-08-25T09:14:45Z
Wikihez
7344
6342425
css
text/css
/* [[Şablon:bênimûne]]: nivîsa "Nimûneyekê bide" tê jê birin, ne hewce ye */
.mw-parser-output li:has(> .benimune) {
display: none;
}
/* [[fr:MediaWiki:Gadget-wikt.add-examples.css ]] */
.add-example-form .oo-ui-inputWidget-input {
font-family: monospace !important;
font-size: 1.2em;
}
.add-example-form .add-example-fieldset {
margin-bottom: 1em;
}
/* Form panel: card with border, radius, and shadow. No max-width -- stretches to the page's own width. */
.add-example-form {
width: 100%;
box-sizing: border-box;
margin-top: 0.5em;
padding: 1.25em;
border: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
border-radius: 8px;
background-color: var(--background-color-base, #fff);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
html.skin-theme-clientpref-night .add-example-form {
background-color: var(--background-color-base, #101418);
border-color: rgba(255, 255, 255, 0.08);
/* Dark mode: lean on the border, not the shadow, for separation */
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
/* Title shown in place of the "add example" link while its form is open */
.add-example-form-title {
font-weight: 700;
font-size: 1.05em;
color: var(--color-emphasized, #101418);
}
/* Two-column top section: example text left, source type/link right; collapses to one column below 640px */
.add-example-top-grid {
display: grid;
grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
gap: 16px 20px;
align-items: start;
}
.add-example-top-col {
display: flex;
flex-direction: column;
gap: 12px;
min-width: 0; /* lets long unbreakable text shrink instead of overflowing */
}
/* URL input and Citoid fetch button, each on its own line */
.add-example-url-row {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 8px;
}
.add-example-url-row .oo-ui-textInputWidget {
width: 100%;
}
.add-example-url-row .add-example-citoid-fetch {
align-self: flex-start;
}
.add-example-citoid-success {
font-size: 0.92em;
color: var(--wikt-palette-green6, #14866d);
}
/* Source-info section: "Malûmatên çavkaniyê" header + the jêder-* fields grid */
.add-example-jeder-section {
border-top: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
background-color: var(--background-color-interactive-subtle, rgba(0, 0, 0, 0.04));
padding: 1em 1.25em;
margin: 0.75em -1.25em 0; /* bleeds tint to the panel's side edges only */
}
html.skin-theme-clientpref-night .add-example-jeder-section {
border-top-color: rgba(255, 255, 255, 0.08);
background-color: rgba(255, 255, 255, 0.05);
}
.add-example-jeder-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 0.6em;
}
.add-example-jeder-header-label {
font-size: 13.5px;
font-weight: 600;
color: var(--color-subtle, #54595d);
}
/* jêder-* template fields: 12-column grid, each field spans its own jederDefs[key].span columns */
.add-example-jeder-fields {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 4px 12px;
align-items: start;
}
.add-example-jeder-fields .oo-ui-fieldLayout {
min-width: 0; /* lets a field shrink below its content's natural width */
}
.add-example-field-span-1 { grid-column: span 1; }
.add-example-field-span-2 { grid-column: span 2; }
.add-example-field-span-3 { grid-column: span 3; }
.add-example-field-span-4 { grid-column: span 4; }
.add-example-field-span-5 { grid-column: span 5; }
.add-example-field-span-6 { grid-column: span 6; }
.add-example-field-span-12 { grid-column: span 12; }
.add-example-jeder-fields .oo-ui-fieldLayout-header,
.add-example-jeder-fields .oo-ui-fieldLayout-header label {
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget {
max-width: 100%;
width: 100%;
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget input,
.add-example-jeder-fields .oo-ui-textInputWidget textarea {
font-size: 0.95em;
padding: 4px 8px;
min-height: 2.2em;
line-height: 1.4;
resize: vertical;
}
/* Larger font for the top-section textareas than the bibliographic sub-fields below */
.add-example-top-col textarea {
font-size: 1.05em;
}
/* Bottom action row: Biweşîne + hint, spacer, Paqij bike, Betal bike */
.add-example-main-buttons {
display: flex;
align-items: center;
margin-top: 0.75em;
padding-top: 0.75em;
border-top: 1px solid var(--border-color-subtle, #c8ccd1);
gap: 0.5em;
flex-wrap: wrap; /* keep buttons from overflowing on narrow screens */
}
.add-example-ready-hint {
font-size: 12.5px;
color: var(--color-subtle, #72777d);
}
.add-example-buttons-spacer {
flex: 1 1 auto;
}
/* CSS-only loading spinner, matches dark/light mode */
.add-example-spinner {
display: inline-block;
width: 1.2em;
height: 1.2em;
vertical-align: middle;
border: 2px solid var(--border-color-subtle, #c8ccd1);
border-top-color: var(--color-progressive, #36c);
border-radius: 50%;
animation: add-example-spin 0.8s linear infinite;
}
@keyframes add-example-spin {
to { transform: rotate(360deg); }
}
/* Narrow screens: collapse the top grid to one column */
@media (max-width: 640px) {
.add-example-top-grid {
grid-template-columns: 1fr;
}
}
/* Small screens: tighter padding, jêder-fields grid drops to 2 columns */
@media (max-width: 480px) {
.add-example-form {
padding: 0.75em;
}
.add-example-jeder-section {
margin-left: -0.75em;
margin-right: -0.75em;
}
.add-example-jeder-fields {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.add-example-jeder-fields [class*="add-example-field-span-"] {
grid-column: span 1;
}
.add-example-jeder-fields .add-example-field-span-12 {
grid-column: span 2;
}
}
/* Warns when the example/translation/transcription text has a literal linebreak */
.add-example-form textarea.add-example-has-linebreak {
border-color: var(--wikt-palette-yellow6, #ac6600) !important;
}
/* Backdrop mirrors the textarea's text with a marker at each linebreak; metrics synced from the textarea via JS */
.add-example-linebreak-backdrop {
position: absolute;
inset: 0;
z-index: 0;
margin: 0;
overflow: hidden;
white-space: pre-wrap;
word-wrap: break-word;
color: transparent;
background: transparent !important;
border-color: transparent !important;
box-shadow: none !important;
resize: none !important;
pointer-events: none;
display: none;
}
/* Textarea sits above its backdrop with a transparent background so the marker shows through */
.add-example-form textarea.add-example-has-linebreak-source {
position: relative;
z-index: 1;
background-color: transparent !important;
}
/* The ↵ marker itself, placed after each line followed by a linebreak */
.add-example-linebreak-mark {
background-color: var(--wikt-palette-yellow6, #ac6600);
color: var(--wikt-palette-white, #fff);
border-radius: 2px;
}
k34zpigx3xoyrbo153o1334ofbghq9y
6342426
6342425
2026-08-25T09:17:24Z
Wikihez
7344
6342426
css
text/css
/* [[Şablon:bênimûne]]: nivîsa "Nimûneyekê bide" tê jê birin, ne hewce ye */
.mw-parser-output li:has(> .benimune) {
display: none;
}
/* [[fr:MediaWiki:Gadget-wikt.add-examples.css ]] */
.add-example-form .oo-ui-inputWidget-input {
font-family: monospace !important;
font-size: 1.2em;
}
.add-example-form .add-example-fieldset {
margin-bottom: 1em;
}
/* Form panel: card with border, radius, and shadow. No max-width -- stretches to the page's own width. */
.add-example-form {
width: 100%;
box-sizing: border-box;
margin-top: 0.5em;
padding: 1.25em;
border: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
border-radius: 8px;
background-color: var(--background-color-base, #fff);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
html.skin-theme-clientpref-night .add-example-form {
background-color: var(--background-color-base, #101418);
border-color: rgba(255, 255, 255, 0.08);
/* Dark mode: lean on the border, not the shadow, for separation */
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
/* Title shown in place of the "add example" link while its form is open */
.add-example-form-title {
font-weight: 700;
font-size: 1.05em;
color: var(--color-emphasized, #101418);
}
/* Two-column top section: example text left, source type/link right; collapses to one column below 640px */
.add-example-top-grid {
display: grid;
grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
gap: 16px 20px;
align-items: start;
}
.add-example-top-col {
display: flex;
flex-direction: column;
gap: 12px;
min-width: 0; /* lets long unbreakable text shrink instead of overflowing */
}
/* URL input and Citoid fetch button, each on its own line */
.add-example-url-row {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 8px;
}
.add-example-url-row .oo-ui-textInputWidget {
width: 100%;
}
.add-example-url-row .add-example-citoid-fetch {
align-self: flex-start;
}
.add-example-citoid-success {
font-size: 0.92em;
color: var(--wikt-palette-green6, #14866d);
}
/* Source-info section: "Malûmatên çavkaniyê" header + the jêder-* fields grid */
.add-example-jeder-section {
border-top: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
background-color: var(--background-color-interactive-subtle, rgba(0, 0, 0, 0.04));
padding: 1em 1.25em;
margin: 0.75em -1.25em 0; /* bleeds tint to the panel's side edges only */
}
html.skin-theme-clientpref-night .add-example-jeder-section {
border-top-color: rgba(255, 255, 255, 0.08);
background-color: rgba(255, 255, 255, 0.05);
}
.add-example-jeder-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 0.6em;
}
.add-example-jeder-header-label {
font-size: 13.5px;
font-weight: 600;
color: var(--color-subtle, #54595d);
}
/* jêder-* template fields: 12-column grid, each field spans its own jederDefs[key].span columns */
.add-example-jeder-fields {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 4px 12px;
align-items: start;
}
.add-example-jeder-fields .oo-ui-fieldLayout {
min-width: 0; /* lets a field shrink below its content's natural width */
margin-top: 0 !important; /* overrides OOUI's own stacking margin, not wanted between fields sharing a grid row */
}
.add-example-field-span-1 { grid-column: span 1; }
.add-example-field-span-2 { grid-column: span 2; }
.add-example-field-span-3 { grid-column: span 3; }
.add-example-field-span-4 { grid-column: span 4; }
.add-example-field-span-5 { grid-column: span 5; }
.add-example-field-span-6 { grid-column: span 6; }
.add-example-field-span-12 { grid-column: span 12; }
.add-example-jeder-fields .oo-ui-fieldLayout-header,
.add-example-jeder-fields .oo-ui-fieldLayout-header label {
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget {
max-width: 100%;
width: 100%;
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget input,
.add-example-jeder-fields .oo-ui-textInputWidget textarea {
font-size: 0.95em;
padding: 4px 8px;
min-height: 2.2em;
line-height: 1.4;
resize: vertical;
}
/* Larger font for the top-section textareas than the bibliographic sub-fields below */
.add-example-top-col textarea {
font-size: 1.05em;
}
/* Bottom action row: Biweşîne + hint, spacer, Paqij bike, Betal bike */
.add-example-main-buttons {
display: flex;
align-items: center;
margin-top: 0.75em;
padding-top: 0.75em;
border-top: 1px solid var(--border-color-subtle, #c8ccd1);
gap: 0.5em;
flex-wrap: wrap; /* keep buttons from overflowing on narrow screens */
}
.add-example-ready-hint {
font-size: 12.5px;
color: var(--color-subtle, #72777d);
}
.add-example-buttons-spacer {
flex: 1 1 auto;
}
/* CSS-only loading spinner, matches dark/light mode */
.add-example-spinner {
display: inline-block;
width: 1.2em;
height: 1.2em;
vertical-align: middle;
border: 2px solid var(--border-color-subtle, #c8ccd1);
border-top-color: var(--color-progressive, #36c);
border-radius: 50%;
animation: add-example-spin 0.8s linear infinite;
}
@keyframes add-example-spin {
to { transform: rotate(360deg); }
}
/* Narrow screens: collapse the top grid to one column */
@media (max-width: 640px) {
.add-example-top-grid {
grid-template-columns: 1fr;
}
}
/* Small screens: tighter padding, jêder-fields grid drops to 2 columns */
@media (max-width: 480px) {
.add-example-form {
padding: 0.75em;
}
.add-example-jeder-section {
margin-left: -0.75em;
margin-right: -0.75em;
}
.add-example-jeder-fields {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.add-example-jeder-fields [class*="add-example-field-span-"] {
grid-column: span 1;
}
.add-example-jeder-fields .add-example-field-span-12 {
grid-column: span 2;
}
}
/* Warns when the example/translation/transcription text has a literal linebreak */
.add-example-form textarea.add-example-has-linebreak {
border-color: var(--wikt-palette-yellow6, #ac6600) !important;
}
/* Backdrop mirrors the textarea's text with a marker at each linebreak; metrics synced from the textarea via JS */
.add-example-linebreak-backdrop {
position: absolute;
inset: 0;
z-index: 0;
margin: 0;
overflow: hidden;
white-space: pre-wrap;
word-wrap: break-word;
color: transparent;
background: transparent !important;
border-color: transparent !important;
box-shadow: none !important;
resize: none !important;
pointer-events: none;
display: none;
}
/* Textarea sits above its backdrop with a transparent background so the marker shows through */
.add-example-form textarea.add-example-has-linebreak-source {
position: relative;
z-index: 1;
background-color: transparent !important;
}
/* The ↵ marker itself, placed after each line followed by a linebreak */
.add-example-linebreak-mark {
background-color: var(--wikt-palette-yellow6, #ac6600);
color: var(--wikt-palette-white, #fff);
border-radius: 2px;
}
7ru77rgc9vjbsc6pmew0dpxofd96gu7
6342462
6342426
2026-08-25T09:58:27Z
Wikihez
7344
6342462
css
text/css
/* [[Şablon:bênimûne]]: nivîsa "Nimûneyekê bide" tê jê birin, ne hewce ye */
.mw-parser-output li:has(> .benimune) {
display: none;
}
/* [[fr:MediaWiki:Gadget-wikt.add-examples.css ]] */
.add-example-form .oo-ui-inputWidget-input {
font-family: monospace !important;
font-size: 1.2em;
}
.add-example-form .add-example-fieldset {
margin-bottom: 1em;
}
/* Form panel: card with border, radius, and shadow. No max-width -- stretches to the page's own width. */
.add-example-form {
width: 100%;
box-sizing: border-box;
margin-top: 0.5em;
padding: 1.25em;
border: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
border-radius: 8px;
background-color: var(--background-color-base, #fff);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
html.skin-theme-clientpref-night .add-example-form {
background-color: var(--background-color-base, #101418);
border-color: rgba(255, 255, 255, 0.08);
/* Dark mode: lean on the border, not the shadow, for separation */
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
/* Title shown in place of the "add example" link while its form is open */
.add-example-form-title {
font-weight: 700;
font-size: 1.05em;
color: var(--color-emphasized, #101418);
}
/* Two-column top section: example text left, source type/link right; collapses to one column below 640px */
.add-example-top-grid {
display: grid;
grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
gap: 16px 20px;
align-items: start;
}
.add-example-top-col {
display: flex;
flex-direction: column;
gap: 12px;
min-width: 0; /* lets long unbreakable text shrink instead of overflowing */
}
/* URL input and Citoid fetch button, each on its own line */
.add-example-url-row {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 8px;
}
.add-example-url-row .oo-ui-textInputWidget {
width: 100%;
}
.add-example-url-row .add-example-citoid-fetch {
align-self: flex-start;
}
.add-example-citoid-success {
font-size: 0.92em;
color: var(--wikt-palette-green6, #14866d);
}
/* Source-info section: "Malûmatên çavkaniyê" header + the jêder-* fields grid */
.add-example-jeder-section {
border-top: 1px solid var(--border-color-subtle, rgba(0, 0, 0, 0.08));
background-color: var(--background-color-interactive-subtle, rgba(0, 0, 0, 0.04));
padding: 1em 1.25em;
margin: 0.75em -1.25em 0; /* bleeds tint to the panel's side edges only */
}
html.skin-theme-clientpref-night .add-example-jeder-section {
border-top-color: rgba(255, 255, 255, 0.08);
background-color: rgba(255, 255, 255, 0.05);
}
.add-example-jeder-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 0.6em;
}
.add-example-jeder-header-label {
font-size: 13.5px;
font-weight: 600;
color: var(--color-subtle, #54595d);
}
.add-example-jeder-header .add-example-citoid-clear {
font-size: 12px;
}
.add-example-jeder-header .add-example-citoid-clear .oo-ui-iconElement-icon {
min-width: 14px;
min-height: 14px;
background-size: 14px;
}
/* jêder-* template fields: 12-column grid, each field spans its own jederDefs[key].span columns */
.add-example-jeder-fields {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 4px 12px;
align-items: start;
}
.add-example-jeder-fields .oo-ui-fieldLayout {
min-width: 0; /* lets a field shrink below its content's natural width */
margin-top: 0 !important; /* overrides OOUI's own stacking margin, not wanted between fields sharing a grid row */
}
.add-example-field-span-1 { grid-column: span 1; }
.add-example-field-span-2 { grid-column: span 2; }
.add-example-field-span-3 { grid-column: span 3; }
.add-example-field-span-4 { grid-column: span 4; }
.add-example-field-span-5 { grid-column: span 5; }
.add-example-field-span-6 { grid-column: span 6; }
.add-example-field-span-12 { grid-column: span 12; }
.add-example-jeder-fields .oo-ui-fieldLayout-header,
.add-example-jeder-fields .oo-ui-fieldLayout-header label {
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget {
max-width: 100%;
width: 100%;
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget input,
.add-example-jeder-fields .oo-ui-textInputWidget textarea {
font-size: 0.95em;
padding: 4px 8px;
min-height: 2.2em;
line-height: 1.4;
resize: vertical;
}
/* Larger font for the top-section textareas than the bibliographic sub-fields below */
.add-example-top-col textarea {
font-size: 1.05em;
}
/* Bottom action row: Biweşîne + hint, spacer, Paqij bike, Betal bike */
.add-example-main-buttons {
display: flex;
align-items: center;
margin-top: 0.75em;
padding-top: 0.75em;
border-top: 1px solid var(--border-color-subtle, #c8ccd1);
gap: 0.5em;
flex-wrap: wrap; /* keep buttons from overflowing on narrow screens */
}
.add-example-ready-hint {
font-size: 12.5px;
color: var(--color-subtle, #72777d);
}
.add-example-buttons-spacer {
flex: 1 1 auto;
}
/* CSS-only loading spinner, matches dark/light mode */
.add-example-spinner {
display: inline-block;
width: 1.2em;
height: 1.2em;
vertical-align: middle;
border: 2px solid var(--border-color-subtle, #c8ccd1);
border-top-color: var(--color-progressive, #36c);
border-radius: 50%;
animation: add-example-spin 0.8s linear infinite;
}
@keyframes add-example-spin {
to { transform: rotate(360deg); }
}
/* Narrow screens: collapse the top grid to one column */
@media (max-width: 640px) {
.add-example-top-grid {
grid-template-columns: 1fr;
}
}
/* Small screens: tighter padding, jêder-fields grid drops to 2 columns */
@media (max-width: 480px) {
.add-example-form {
padding: 0.75em;
}
.add-example-jeder-section {
margin-left: -0.75em;
margin-right: -0.75em;
}
.add-example-jeder-fields {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.add-example-jeder-fields [class*="add-example-field-span-"] {
grid-column: span 1;
}
.add-example-jeder-fields .add-example-field-span-12 {
grid-column: span 2;
}
}
/* Warns when the example/translation/transcription text has a literal linebreak */
.add-example-form textarea.add-example-has-linebreak {
border-color: var(--wikt-palette-yellow6, #ac6600) !important;
}
/* Backdrop mirrors the textarea's text with a marker at each linebreak; metrics synced from the textarea via JS */
.add-example-linebreak-backdrop {
position: absolute;
inset: 0;
z-index: 0;
margin: 0;
overflow: hidden;
white-space: pre-wrap;
word-wrap: break-word;
color: transparent;
background: transparent !important;
border-color: transparent !important;
box-shadow: none !important;
resize: none !important;
pointer-events: none;
display: none;
}
/* Textarea sits above its backdrop with a transparent background so the marker shows through */
.add-example-form textarea.add-example-has-linebreak-source {
position: relative;
z-index: 1;
background-color: transparent !important;
}
/* The ↵ marker itself, placed after each line followed by a linebreak */
.add-example-linebreak-mark {
background-color: var(--wikt-palette-yellow6, #ac6600);
color: var(--wikt-palette-white, #fff);
border-radius: 2px;
}
da5y3rjg2jeak19mz06yea36l4lovri
6342498
6342462
2026-08-25T10:15:34Z
Wikihez
7344
6342498
css
text/css
/* Design tokens shared with the "Entry wizard" redesign, so gadgets read as one site: warm parchment card
palette, Spectral/IBM Plex Sans/IBM Plex Mono type, no drop shadows, pill-shaped action buttons. */
@import url('https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,300;0,400;0,600;1,400&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root {
--wikt-ae-font-sans: 'IBM Plex Sans', system-ui, sans-serif;
--wikt-ae-font-mono: 'IBM Plex Mono', monospace;
--wikt-ae-card-bg: #fffdf8;
--wikt-ae-card-border: #e6dfd2;
--wikt-ae-divider: #efe8db;
--wikt-ae-input-border: #cfc7b8;
--wikt-ae-input-bg: #fff;
--wikt-ae-text: #1c1a17;
--wikt-ae-text-body: #4a453d;
--wikt-ae-text-label: #3d3830;
--wikt-ae-text-muted: #8a8378;
--wikt-ae-text-placeholder: #b3ab9e;
--wikt-ae-accent: #2a5db0;
--wikt-ae-accent-hover: #1c4685;
--wikt-ae-accent-bg: #eef2fa;
--wikt-ae-accent-border: #d5def0;
--wikt-ae-destructive: #9c3a28;
--wikt-ae-section-bg: #fbf8f1;
}
html.skin-theme-clientpref-night {
--wikt-ae-card-bg: var(--background-color-base, #101418);
--wikt-ae-card-border: rgba(255, 255, 255, 0.08);
--wikt-ae-divider: rgba(255, 255, 255, 0.06);
--wikt-ae-input-border: rgba(255, 255, 255, 0.2);
--wikt-ae-input-bg: rgba(255, 255, 255, 0.04);
--wikt-ae-text: #f0ece4;
--wikt-ae-text-body: #cfc7b8;
--wikt-ae-text-label: #e4ddd0;
--wikt-ae-text-muted: #a89f8f;
--wikt-ae-text-placeholder: #6b6459;
--wikt-ae-accent: #6ea1e0;
--wikt-ae-accent-hover: #8fb6e8;
--wikt-ae-accent-bg: rgba(110, 161, 224, 0.15);
--wikt-ae-accent-border: rgba(110, 161, 224, 0.35);
--wikt-ae-destructive: #d97a63;
--wikt-ae-section-bg: rgba(255, 255, 255, 0.03);
}
.add-example-form .oo-ui-inputWidget-input {
font-family: var(--wikt-ae-font-sans) !important;
}
.add-example-form .add-example-fieldset {
margin-bottom: 1em;
}
/* Form panel: card with border and radius, no shadow (matches the Entry wizard "no shadows" rule) */
.add-example-form {
width: 100%;
box-sizing: border-box;
margin-top: 0.5em;
padding: 1.25em;
font-family: var(--wikt-ae-font-sans);
color: var(--wikt-ae-text);
border: 1px solid var(--wikt-ae-card-border);
border-radius: 14px;
background-color: var(--wikt-ae-card-bg);
}
/* Title shown in place of the "add example" link while its form is open */
.add-example-form-title {
font-family: var(--wikt-ae-font-sans);
font-weight: 600;
font-size: 13.5px;
color: var(--wikt-ae-text-label);
}
/* Field labels: consistent weight/size/color across all OOUI FieldLayouts in the form */
.add-example-form .oo-ui-fieldLayout-header label {
font-family: var(--wikt-ae-font-sans);
font-size: 12.5px;
font-weight: 500;
color: var(--wikt-ae-text-label);
}
/* Text inputs: shared border/radius/background, focus ring instead of OOUI's default */
.add-example-form .oo-ui-textInputWidget input,
.add-example-form .oo-ui-textInputWidget textarea {
border-color: var(--wikt-ae-input-border) !important;
border-radius: 10px !important;
background-color: var(--wikt-ae-input-bg) !important;
}
.add-example-form .oo-ui-textInputWidget input:focus,
.add-example-form .oo-ui-textInputWidget textarea:focus {
border-color: var(--wikt-ae-accent) !important;
box-shadow: 0 0 0 3px var(--wikt-ae-accent-bg) !important;
}
.add-example-form .oo-ui-textInputWidget input {
min-height: 44px;
}
/* Action buttons: pill-shaped, accent-colored to match the Entry wizard's Bişîne/secondary buttons */
.add-example-form .oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
border-radius: 999px !important;
}
.add-example-form .oo-ui-flaggedElement-progressive.oo-ui-flaggedElement-primary .oo-ui-buttonElement-button {
background-color: var(--wikt-ae-accent) !important;
border-color: var(--wikt-ae-accent) !important;
}
.add-example-form .oo-ui-flaggedElement-progressive.oo-ui-flaggedElement-primary:hover .oo-ui-buttonElement-button {
background-color: var(--wikt-ae-accent-hover) !important;
border-color: var(--wikt-ae-accent-hover) !important;
}
.add-example-form .oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive:not(.oo-ui-flaggedElement-primary) .oo-ui-buttonElement-button {
background-color: var(--wikt-ae-accent-bg) !important;
border-color: var(--wikt-ae-accent-border) !important;
color: var(--wikt-ae-accent) !important;
}
.add-example-form .oo-ui-flaggedElement-destructive .oo-ui-buttonElement-button {
color: var(--wikt-ae-destructive) !important;
}
/* Two-column top section: example text left, source type/link right; collapses to one column below 640px */
.add-example-top-grid {
display: grid;
grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
gap: 16px 20px;
align-items: start;
}
.add-example-top-col {
display: flex;
flex-direction: column;
gap: 12px;
min-width: 0; /* lets long unbreakable text shrink instead of overflowing */
}
/* URL input and Citoid fetch button, each on its own line */
.add-example-url-row {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 8px;
}
.add-example-url-row .oo-ui-textInputWidget {
width: 100%;
}
.add-example-url-row .add-example-citoid-fetch {
align-self: flex-start;
}
.add-example-citoid-success {
font-size: 0.92em;
color: var(--wikt-palette-green6, #14866d);
}
/* Source-info section: "Malûmatên çavkaniyê" header + the jêder-* fields grid */
.add-example-jeder-section {
border-top: 1px solid var(--wikt-ae-divider);
background-color: var(--wikt-ae-section-bg);
padding: 1em 1.25em;
margin: 0.75em -1.25em 0; /* bleeds tint to the panel's side edges only */
}
.add-example-jeder-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 0.6em;
}
/* Section eyebrow style, matching the Entry wizard's small-caps section labels */
.add-example-jeder-header-label {
font-family: var(--wikt-ae-font-mono);
font-size: 11px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--wikt-ae-text-muted);
}
.add-example-jeder-header .add-example-citoid-clear {
font-size: 12px;
}
.add-example-jeder-header .add-example-citoid-clear .oo-ui-iconElement-icon {
min-width: 14px;
min-height: 14px;
background-size: 14px;
}
/* jêder-* template fields: 12-column grid, each field spans its own jederDefs[key].span columns */
.add-example-jeder-fields {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 4px 12px;
align-items: start;
}
.add-example-jeder-fields .oo-ui-fieldLayout {
min-width: 0; /* lets a field shrink below its content's natural width */
margin-top: 0 !important; /* overrides OOUI's own stacking margin, not wanted between fields sharing a grid row */
}
.add-example-field-span-1 { grid-column: span 1; }
.add-example-field-span-2 { grid-column: span 2; }
.add-example-field-span-3 { grid-column: span 3; }
.add-example-field-span-4 { grid-column: span 4; }
.add-example-field-span-5 { grid-column: span 5; }
.add-example-field-span-6 { grid-column: span 6; }
.add-example-field-span-12 { grid-column: span 12; }
.add-example-jeder-fields .oo-ui-fieldLayout-header label {
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget {
max-width: 100%;
width: 100%;
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget input,
.add-example-jeder-fields .oo-ui-textInputWidget textarea {
font-size: 0.95em;
padding: 4px 8px;
min-height: 2.2em;
line-height: 1.4;
resize: vertical;
}
/* Larger font for the top-section textareas than the bibliographic sub-fields below */
.add-example-top-col textarea {
font-size: 1.05em;
}
/* Bottom action row: Biweşîne + hint, spacer, Paqij bike, Betal bike */
.add-example-main-buttons {
display: flex;
align-items: center;
margin-top: 0.75em;
padding-top: 0.75em;
border-top: 1px solid var(--wikt-ae-divider);
gap: 0.5em;
flex-wrap: wrap; /* keep buttons from overflowing on narrow screens */
}
.add-example-ready-hint {
font-family: var(--wikt-ae-font-sans);
font-size: 12.5px;
color: var(--wikt-ae-text-muted);
}
.add-example-buttons-spacer {
flex: 1 1 auto;
}
/* CSS-only loading spinner, matches dark/light mode */
.add-example-spinner {
display: inline-block;
width: 1.2em;
height: 1.2em;
vertical-align: middle;
border: 2px solid var(--wikt-ae-input-border);
border-top-color: var(--wikt-ae-accent);
border-radius: 50%;
animation: add-example-spin 0.8s linear infinite;
}
@keyframes add-example-spin {
to { transform: rotate(360deg); }
}
/* Narrow screens: collapse the top grid to one column */
@media (max-width: 640px) {
.add-example-top-grid {
grid-template-columns: 1fr;
}
}
/* Small screens: tighter padding, jêder-fields grid drops to 2 columns */
@media (max-width: 480px) {
.add-example-form {
padding: 0.75em;
}
.add-example-jeder-section {
margin-left: -0.75em;
margin-right: -0.75em;
}
.add-example-jeder-fields {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.add-example-jeder-fields [class*="add-example-field-span-"] {
grid-column: span 1;
}
.add-example-jeder-fields .add-example-field-span-12 {
grid-column: span 2;
}
}
/* Warns when the example/translation/transcription text has a literal linebreak */
.add-example-form textarea.add-example-has-linebreak {
border-color: var(--wikt-palette-yellow6, #ac6600) !important;
}
/* Backdrop mirrors the textarea's text with a marker at each linebreak; metrics synced from the textarea via JS */
.add-example-linebreak-backdrop {
position: absolute;
inset: 0;
z-index: 0;
margin: 0;
overflow: hidden;
white-space: pre-wrap;
word-wrap: break-word;
color: transparent;
background: transparent !important;
border-color: transparent !important;
box-shadow: none !important;
resize: none !important;
pointer-events: none;
display: none;
}
/* Textarea sits above its backdrop with a transparent background so the marker shows through */
.add-example-form textarea.add-example-has-linebreak-source {
position: relative;
z-index: 1;
background-color: transparent !important;
}
/* The ↵ marker itself, placed after each line followed by a linebreak */
.add-example-linebreak-mark {
background-color: var(--wikt-palette-yellow6, #ac6600);
color: var(--wikt-palette-white, #fff);
border-radius: 2px;
}
e1qa6fkmu10c5ghzarl7tgf0mk6j4ep
6342506
6342498
2026-08-25T10:16:44Z
Wikihez
7344
6342506
css
text/css
/* Design tokens shared with the "Entry wizard" redesign, so gadgets read as one site: warm parchment card
palette, Spectral/IBM Plex Sans/IBM Plex Mono type, no drop shadows, pill-shaped action buttons. */
@import url('https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,300;0,400;0,600;1,400&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root {
--wikt-ae-font-sans: 'IBM Plex Sans', system-ui, sans-serif;
--wikt-ae-font-mono: 'IBM Plex Mono', monospace;
--wikt-ae-card-bg: #fffdf8;
--wikt-ae-card-border: #e6dfd2;
--wikt-ae-divider: #efe8db;
--wikt-ae-input-border: #cfc7b8;
--wikt-ae-input-bg: #fff;
--wikt-ae-text: #1c1a17;
--wikt-ae-text-body: #4a453d;
--wikt-ae-text-label: #3d3830;
--wikt-ae-text-muted: #8a8378;
--wikt-ae-text-placeholder: #b3ab9e;
--wikt-ae-accent: #2a5db0;
--wikt-ae-accent-hover: #1c4685;
--wikt-ae-accent-bg: #eef2fa;
--wikt-ae-accent-border: #d5def0;
--wikt-ae-destructive: #9c3a28;
--wikt-ae-section-bg: #fbf8f1;
}
html.skin-theme-clientpref-night {
--wikt-ae-card-bg: var(--background-color-base, #101418);
--wikt-ae-card-border: rgba(255, 255, 255, 0.08);
--wikt-ae-divider: rgba(255, 255, 255, 0.06);
--wikt-ae-input-border: rgba(255, 255, 255, 0.2);
--wikt-ae-input-bg: rgba(255, 255, 255, 0.04);
--wikt-ae-text: #f0ece4;
--wikt-ae-text-body: #cfc7b8;
--wikt-ae-text-label: #e4ddd0;
--wikt-ae-text-muted: #a89f8f;
--wikt-ae-text-placeholder: #6b6459;
--wikt-ae-accent: #6ea1e0;
--wikt-ae-accent-hover: #8fb6e8;
--wikt-ae-accent-bg: rgba(110, 161, 224, 0.15);
--wikt-ae-accent-border: rgba(110, 161, 224, 0.35);
--wikt-ae-destructive: #d97a63;
--wikt-ae-section-bg: rgba(255, 255, 255, 0.03);
}
.add-example-form .oo-ui-inputWidget-input {
font-family: var(--wikt-ae-font-sans) !important;
}
.add-example-form .add-example-fieldset {
margin-bottom: 1em;
}
/* Form panel: card with border and radius, no shadow (matches the Entry wizard "no shadows" rule) */
.add-example-form {
width: 100%;
box-sizing: border-box;
margin-top: 0.5em;
padding: 1.25em;
font-family: var(--wikt-ae-font-sans);
color: var(--wikt-ae-text);
border: 1px solid var(--wikt-ae-card-border);
border-radius: 14px;
background-color: var(--wikt-ae-card-bg);
}
/* Title shown in place of the "add example" link while its form is open */
.add-example-form-title {
font-family: var(--wikt-ae-font-sans);
font-weight: 600;
font-size: 13.5px;
color: var(--wikt-ae-text-label);
}
/* Field labels: consistent weight/size/color across all OOUI FieldLayouts in the form */
.add-example-form .oo-ui-fieldLayout-header label {
font-family: var(--wikt-ae-font-sans);
font-size: 12.5px;
font-weight: 500;
color: var(--wikt-ae-text-label);
}
/* Text inputs: shared border/radius/background, focus ring instead of OOUI's default */
.add-example-form .oo-ui-textInputWidget input,
.add-example-form .oo-ui-textInputWidget textarea {
border-color: var(--wikt-ae-input-border) !important;
border-radius: 10px !important;
background-color: var(--wikt-ae-input-bg) !important;
}
.add-example-form .oo-ui-textInputWidget input:focus,
.add-example-form .oo-ui-textInputWidget textarea:focus {
border-color: var(--wikt-ae-accent) !important;
box-shadow: 0 0 0 3px var(--wikt-ae-accent-bg) !important;
}
.add-example-form .oo-ui-textInputWidget input {
min-height: 44px;
}
/* Action buttons: pill-shaped, accent-colored to match the Entry wizard's Bişîne/secondary buttons */
.add-example-form .oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
border-radius: 999px !important;
}
.add-example-form .oo-ui-flaggedElement-progressive.oo-ui-flaggedElement-primary .oo-ui-buttonElement-button {
background-color: var(--wikt-ae-accent) !important;
border-color: var(--wikt-ae-accent) !important;
}
.add-example-form .oo-ui-flaggedElement-progressive.oo-ui-flaggedElement-primary:hover .oo-ui-buttonElement-button {
background-color: var(--wikt-ae-accent-hover) !important;
border-color: var(--wikt-ae-accent-hover) !important;
}
.add-example-form .oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive:not(.oo-ui-flaggedElement-primary) .oo-ui-buttonElement-button {
background-color: var(--wikt-ae-accent-bg) !important;
border-color: var(--wikt-ae-accent-border) !important;
color: var(--wikt-ae-accent) !important;
}
.add-example-form .oo-ui-flaggedElement-destructive .oo-ui-buttonElement-button {
color: var(--wikt-ae-destructive) !important;
}
/* Two-column top section: example text left, source type/link right; collapses to one column below 640px */
.add-example-top-grid {
display: grid;
grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
gap: 16px 20px;
align-items: start;
}
.add-example-top-col {
display: flex;
flex-direction: column;
gap: 12px;
min-width: 0; /* lets long unbreakable text shrink instead of overflowing */
}
/* URL input and Citoid fetch button, each on its own line */
.add-example-url-row {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 8px;
}
.add-example-url-row .oo-ui-textInputWidget {
width: 100%;
}
.add-example-url-row .add-example-citoid-fetch {
align-self: flex-start;
}
.add-example-citoid-success {
font-size: 0.92em;
color: var(--wikt-palette-green6, #14866d);
}
/* Source-info section: "Malûmatên çavkaniyê" header + the jêder-* fields grid */
.add-example-jeder-section {
border-top: 1px solid var(--wikt-ae-divider);
background-color: var(--wikt-ae-section-bg);
padding: 1em 1.25em;
margin: 0.75em -1.25em 0; /* bleeds tint to the panel's side edges only */
}
.add-example-jeder-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 0.6em;
}
/* Section eyebrow style, matching the Entry wizard's small-caps section labels */
.add-example-jeder-header-label {
font-family: var(--wikt-ae-font-mono);
font-size: 11px;
letter-spacing: 0.12em;
color: var(--wikt-ae-text-muted);
}
.add-example-jeder-header .add-example-citoid-clear {
font-size: 12px;
}
.add-example-jeder-header .add-example-citoid-clear .oo-ui-iconElement-icon {
min-width: 14px;
min-height: 14px;
background-size: 14px;
}
/* jêder-* template fields: 12-column grid, each field spans its own jederDefs[key].span columns */
.add-example-jeder-fields {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 4px 12px;
align-items: start;
}
.add-example-jeder-fields .oo-ui-fieldLayout {
min-width: 0; /* lets a field shrink below its content's natural width */
margin-top: 0 !important; /* overrides OOUI's own stacking margin, not wanted between fields sharing a grid row */
}
.add-example-field-span-1 { grid-column: span 1; }
.add-example-field-span-2 { grid-column: span 2; }
.add-example-field-span-3 { grid-column: span 3; }
.add-example-field-span-4 { grid-column: span 4; }
.add-example-field-span-5 { grid-column: span 5; }
.add-example-field-span-6 { grid-column: span 6; }
.add-example-field-span-12 { grid-column: span 12; }
.add-example-jeder-fields .oo-ui-fieldLayout-header label {
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget {
max-width: 100%;
width: 100%;
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget input,
.add-example-jeder-fields .oo-ui-textInputWidget textarea {
font-size: 0.95em;
padding: 4px 8px;
min-height: 2.2em;
line-height: 1.4;
resize: vertical;
}
/* Larger font for the top-section textareas than the bibliographic sub-fields below */
.add-example-top-col textarea {
font-size: 1.05em;
}
/* Bottom action row: Biweşîne + hint, spacer, Paqij bike, Betal bike */
.add-example-main-buttons {
display: flex;
align-items: center;
margin-top: 0.75em;
padding-top: 0.75em;
border-top: 1px solid var(--wikt-ae-divider);
gap: 0.5em;
flex-wrap: wrap; /* keep buttons from overflowing on narrow screens */
}
.add-example-ready-hint {
font-family: var(--wikt-ae-font-sans);
font-size: 12.5px;
color: var(--wikt-ae-text-muted);
}
.add-example-buttons-spacer {
flex: 1 1 auto;
}
/* CSS-only loading spinner, matches dark/light mode */
.add-example-spinner {
display: inline-block;
width: 1.2em;
height: 1.2em;
vertical-align: middle;
border: 2px solid var(--wikt-ae-input-border);
border-top-color: var(--wikt-ae-accent);
border-radius: 50%;
animation: add-example-spin 0.8s linear infinite;
}
@keyframes add-example-spin {
to { transform: rotate(360deg); }
}
/* Narrow screens: collapse the top grid to one column */
@media (max-width: 640px) {
.add-example-top-grid {
grid-template-columns: 1fr;
}
}
/* Small screens: tighter padding, jêder-fields grid drops to 2 columns */
@media (max-width: 480px) {
.add-example-form {
padding: 0.75em;
}
.add-example-jeder-section {
margin-left: -0.75em;
margin-right: -0.75em;
}
.add-example-jeder-fields {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.add-example-jeder-fields [class*="add-example-field-span-"] {
grid-column: span 1;
}
.add-example-jeder-fields .add-example-field-span-12 {
grid-column: span 2;
}
}
/* Warns when the example/translation/transcription text has a literal linebreak */
.add-example-form textarea.add-example-has-linebreak {
border-color: var(--wikt-palette-yellow6, #ac6600) !important;
}
/* Backdrop mirrors the textarea's text with a marker at each linebreak; metrics synced from the textarea via JS */
.add-example-linebreak-backdrop {
position: absolute;
inset: 0;
z-index: 0;
margin: 0;
overflow: hidden;
white-space: pre-wrap;
word-wrap: break-word;
color: transparent;
background: transparent !important;
border-color: transparent !important;
box-shadow: none !important;
resize: none !important;
pointer-events: none;
display: none;
}
/* Textarea sits above its backdrop with a transparent background so the marker shows through */
.add-example-form textarea.add-example-has-linebreak-source {
position: relative;
z-index: 1;
background-color: transparent !important;
}
/* The ↵ marker itself, placed after each line followed by a linebreak */
.add-example-linebreak-mark {
background-color: var(--wikt-palette-yellow6, #ac6600);
color: var(--wikt-palette-white, #fff);
border-radius: 2px;
}
643u9p5cvmhgaqaopc3ld6oek2eo0hn
6342538
6342506
2026-08-25T10:50:55Z
Wikihez
7344
6342538
css
text/css
/* Design tokens shared with the "Entry wizard" redesign, so gadgets read as one site: warm parchment card
palette, Spectral/IBM Plex Sans/IBM Plex Mono type, no drop shadows, pill-shaped action buttons. */
@import url('https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,300;0,400;0,600;1,400&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root {
--wikt-ae-font-sans: 'IBM Plex Sans', system-ui, sans-serif;
--wikt-ae-font-mono: 'IBM Plex Mono', monospace;
--wikt-ae-card-bg: #fffdf8;
--wikt-ae-card-border: #e6dfd2;
--wikt-ae-divider: #efe8db;
--wikt-ae-input-border: #cfc7b8;
--wikt-ae-input-bg: #fff;
--wikt-ae-text: #1c1a17;
--wikt-ae-text-body: #4a453d;
--wikt-ae-text-label: #3d3830;
--wikt-ae-text-muted: #8a8378;
--wikt-ae-text-placeholder: #b3ab9e;
--wikt-ae-accent: #2a5db0;
--wikt-ae-accent-hover: #1c4685;
--wikt-ae-accent-bg: #eef2fa;
--wikt-ae-accent-border: #d5def0;
--wikt-ae-destructive: #9c3a28;
--wikt-ae-section-bg: #fbf8f1;
}
html.skin-theme-clientpref-night {
--wikt-ae-card-bg: var(--background-color-base, #101418);
--wikt-ae-card-border: rgba(255, 255, 255, 0.08);
--wikt-ae-divider: rgba(255, 255, 255, 0.06);
--wikt-ae-input-border: rgba(255, 255, 255, 0.2);
--wikt-ae-input-bg: rgba(255, 255, 255, 0.04);
--wikt-ae-text: #f0ece4;
--wikt-ae-text-body: #cfc7b8;
--wikt-ae-text-label: #e4ddd0;
--wikt-ae-text-muted: #a89f8f;
--wikt-ae-text-placeholder: #6b6459;
--wikt-ae-accent: #6ea1e0;
--wikt-ae-accent-hover: #8fb6e8;
--wikt-ae-accent-bg: rgba(110, 161, 224, 0.15);
--wikt-ae-accent-border: rgba(110, 161, 224, 0.35);
--wikt-ae-destructive: #d97a63;
--wikt-ae-section-bg: rgba(255, 255, 255, 0.03);
}
/* {{bênimûne}}'s own "Nimûneyekê bide" prompt is redundant once this gadget's own button renders in its place */
.mw-parser-output li:has(> .benimune) {
display: none;
}
.add-example-form .oo-ui-inputWidget-input {
font-family: var(--wikt-ae-font-sans) !important;
}
.add-example-form .add-example-fieldset {
margin-bottom: 1em;
}
/* Form panel: card with border and radius, no shadow (matches the Entry wizard "no shadows" rule) */
.add-example-form {
width: 100%;
box-sizing: border-box;
margin-top: 0.5em;
padding: 1.25em;
font-family: var(--wikt-ae-font-sans);
color: var(--wikt-ae-text);
border: 1px solid var(--wikt-ae-card-border);
border-radius: 14px;
background-color: var(--wikt-ae-card-bg);
}
/* Title shown in place of the "add example" link while its form is open */
.add-example-form-title {
font-family: var(--wikt-ae-font-sans);
font-weight: 600;
font-size: 13.5px;
color: var(--wikt-ae-text-label);
}
/* Field labels: consistent weight/size/color across all OOUI FieldLayouts in the form */
.add-example-form .oo-ui-fieldLayout-header label {
font-family: var(--wikt-ae-font-sans);
font-size: 12.5px;
font-weight: 500;
color: var(--wikt-ae-text-label);
}
/* Text inputs: shared border/radius/background, focus ring instead of OOUI's default */
.add-example-form .oo-ui-textInputWidget input,
.add-example-form .oo-ui-textInputWidget textarea {
border-color: var(--wikt-ae-input-border) !important;
border-radius: 10px !important;
background-color: var(--wikt-ae-input-bg) !important;
}
.add-example-form .oo-ui-textInputWidget input:focus,
.add-example-form .oo-ui-textInputWidget textarea:focus {
border-color: var(--wikt-ae-accent) !important;
box-shadow: 0 0 0 3px var(--wikt-ae-accent-bg) !important;
}
.add-example-form .oo-ui-textInputWidget input {
min-height: 44px;
}
/* Action buttons: pill-shaped, accent-colored to match the Entry wizard's Bişîne/secondary buttons */
.add-example-form .oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
border-radius: 999px !important;
}
.add-example-form .oo-ui-flaggedElement-progressive.oo-ui-flaggedElement-primary .oo-ui-buttonElement-button {
background-color: var(--wikt-ae-accent) !important;
border-color: var(--wikt-ae-accent) !important;
}
.add-example-form .oo-ui-flaggedElement-progressive.oo-ui-flaggedElement-primary:hover .oo-ui-buttonElement-button {
background-color: var(--wikt-ae-accent-hover) !important;
border-color: var(--wikt-ae-accent-hover) !important;
}
.add-example-form .oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive:not(.oo-ui-flaggedElement-primary) .oo-ui-buttonElement-button {
background-color: var(--wikt-ae-accent-bg) !important;
border-color: var(--wikt-ae-accent-border) !important;
color: var(--wikt-ae-accent) !important;
}
.add-example-form .oo-ui-flaggedElement-destructive .oo-ui-buttonElement-button {
color: var(--wikt-ae-destructive) !important;
}
/* Two-column top section: example text left, source type/link right; collapses to one column below 640px */
.add-example-top-grid {
display: grid;
grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
gap: 16px 20px;
align-items: start;
}
.add-example-top-col {
display: flex;
flex-direction: column;
gap: 12px;
min-width: 0; /* lets long unbreakable text shrink instead of overflowing */
}
/* URL input and Citoid fetch button, each on its own line */
.add-example-url-row {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 8px;
}
.add-example-url-row .oo-ui-textInputWidget {
width: 100%;
}
.add-example-url-row .add-example-citoid-fetch {
align-self: flex-start;
}
.add-example-citoid-success {
font-size: 0.92em;
color: var(--wikt-palette-green6, #14866d);
}
/* Source-info section: "Malûmatên çavkaniyê" header + the jêder-* fields grid */
.add-example-jeder-section {
border-top: 1px solid var(--wikt-ae-divider);
background-color: var(--wikt-ae-section-bg);
padding: 1em 1.25em;
margin: 0.75em -1.25em 0; /* bleeds tint to the panel's side edges only */
}
.add-example-jeder-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 0.6em;
}
/* Section eyebrow style, matching the Entry wizard's small-caps section labels */
.add-example-jeder-header-label {
font-family: var(--wikt-ae-font-mono);
font-size: 11px;
letter-spacing: 0.12em;
color: var(--wikt-ae-text-muted);
}
.add-example-jeder-header .add-example-citoid-clear {
font-size: 12px;
}
.add-example-jeder-header .add-example-citoid-clear .oo-ui-iconElement-icon {
min-width: 14px;
min-height: 14px;
background-size: 14px;
}
/* jêder-* template fields: 12-column grid, each field spans its own jederDefs[key].span columns */
.add-example-jeder-fields {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 4px 12px;
align-items: start;
}
.add-example-jeder-fields .oo-ui-fieldLayout {
min-width: 0; /* lets a field shrink below its content's natural width */
margin-top: 0 !important; /* overrides OOUI's own stacking margin, not wanted between fields sharing a grid row */
}
.add-example-field-span-1 { grid-column: span 1; }
.add-example-field-span-2 { grid-column: span 2; }
.add-example-field-span-3 { grid-column: span 3; }
.add-example-field-span-4 { grid-column: span 4; }
.add-example-field-span-5 { grid-column: span 5; }
.add-example-field-span-6 { grid-column: span 6; }
.add-example-field-span-12 { grid-column: span 12; }
.add-example-jeder-fields .oo-ui-fieldLayout-header label {
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget {
max-width: 100%;
width: 100%;
font-size: 0.95em;
}
.add-example-jeder-fields .oo-ui-textInputWidget input,
.add-example-jeder-fields .oo-ui-textInputWidget textarea {
font-size: 0.95em;
padding: 4px 8px;
min-height: 2.2em;
line-height: 1.4;
resize: vertical;
}
/* Larger font for the top-section textareas than the bibliographic sub-fields below */
.add-example-top-col textarea {
font-size: 1.05em;
}
/* Bottom action row: Biweşîne + hint, spacer, Paqij bike, Betal bike */
.add-example-main-buttons {
display: flex;
align-items: center;
margin-top: 0.75em;
padding-top: 0.75em;
border-top: 1px solid var(--wikt-ae-divider);
gap: 0.5em;
flex-wrap: wrap; /* keep buttons from overflowing on narrow screens */
}
.add-example-ready-hint {
font-family: var(--wikt-ae-font-sans);
font-size: 12.5px;
color: var(--wikt-ae-text-muted);
}
.add-example-buttons-spacer {
flex: 1 1 auto;
}
/* CSS-only loading spinner, matches dark/light mode */
.add-example-spinner {
display: inline-block;
width: 1.2em;
height: 1.2em;
vertical-align: middle;
border: 2px solid var(--wikt-ae-input-border);
border-top-color: var(--wikt-ae-accent);
border-radius: 50%;
animation: add-example-spin 0.8s linear infinite;
}
@keyframes add-example-spin {
to { transform: rotate(360deg); }
}
/* Narrow screens: collapse the top grid to one column */
@media (max-width: 640px) {
.add-example-top-grid {
grid-template-columns: 1fr;
}
}
/* Small screens: tighter padding, jêder-fields grid drops to 2 columns */
@media (max-width: 480px) {
.add-example-form {
padding: 0.75em;
}
.add-example-jeder-section {
margin-left: -0.75em;
margin-right: -0.75em;
}
.add-example-jeder-fields {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.add-example-jeder-fields [class*="add-example-field-span-"] {
grid-column: span 1;
}
.add-example-jeder-fields .add-example-field-span-12 {
grid-column: span 2;
}
}
/* Warns when the example/translation/transcription text has a literal linebreak */
.add-example-form textarea.add-example-has-linebreak {
border-color: var(--wikt-palette-yellow6, #ac6600) !important;
}
/* Backdrop mirrors the textarea's text with a marker at each linebreak; metrics synced from the textarea via JS */
.add-example-linebreak-backdrop {
position: absolute;
inset: 0;
z-index: 0;
margin: 0;
overflow: hidden;
white-space: pre-wrap;
word-wrap: break-word;
color: transparent;
background: transparent !important;
border-color: transparent !important;
box-shadow: none !important;
resize: none !important;
pointer-events: none;
display: none;
}
/* Textarea sits above its backdrop with a transparent background so the marker shows through */
.add-example-form textarea.add-example-has-linebreak-source {
position: relative;
z-index: 1;
background-color: transparent !important;
}
/* The ↵ marker itself, placed after each line followed by a linebreak */
.add-example-linebreak-mark {
background-color: var(--wikt-palette-yellow6, #ac6600);
color: var(--wikt-palette-white, #fff);
border-radius: 2px;
}
jp21yqeqf5zc81jf2cdt08lsokxde2v
Bikarhêner:Şêr/soranî
2
1358817
6342226
6341881
2026-08-24T20:40:21Z
Şêr
1103
'[[https://ckb.wikipedia.org/wiki/%D9%86%DB%95%D8%B1%D9%85%D8%A7%D9%85%DB%8E%D8%B1]]' ket şûna rûpelê.
6342226
wikitext
text/x-wiki
[[https://ckb.wikipedia.org/wiki/%D9%86%DB%95%D8%B1%D9%85%D8%A7%D9%85%DB%8E%D8%B1]]
ftocpe1lwjywd6sm8nnmcyw8k0nsbxg
6342345
6342226
2026-08-25T08:24:23Z
Şêr
1103
6342345
wikitext
text/x-wiki
aloz kirdin
asîm
aşpez
awale
axîret
bała
bijardin
bizûtnewe
delêt
dellêt
dûcarî
gaw
gowar
gutin
gwêçke
hał
hawjîn
herzale
herzekar
hêtûn
keban
kêwî
kolare
kwêr
meła
mêjûnasî
mirdar
mirdin
mîwan
nał
naman-
nat-
natan-
nay-
nayan-
nem-
neman-
net-
netan-
ney-
neyan-
nîm
pêgeştû
pêkewe
qisekirdin
romanewanî
romannûsî
ronak
runak
runakî
siłam
siław
tał
tarîk
tarîkî
telekebaz
trê
wiłatparêz
willat
wutin
xał
załim
ئابروو
ئابۆر
ئاپتەر
ئاتەش
ئاخاوتن
ئاخر
ئاخلێف
ئاخوون
ئاخێو
ئادەی!
ئاراستە
ئارمووش
ئارەق
ئاژاڵ
ئاژاوە
ئاسایی
ئاساییش
ئاستەم
ئاسرمە
ئاسەوار
ئاسوودە
ئاسوون
ئاسۆک
ئاسیم
ئاسیو
ئاشاخە
ئاشپەزخانە
ئاشت
ئاشچی
ئاشخانە
ئاشنا
ئافرەت
ئافەریدە
ئاقل
ئاکار
ئاکام
ئال
ئالف
ئاڵتوون
ئاڵووگۆز
ئاڵووگۆڕ
ئاڵۆز
ئام
ئامادە
ئامار
ئاماژ
ئاماسان
ئامان!
ئامراز
ئامسەر
ئامۆزا
ئامۆژن
ئامێر
ئاھەنگ
ئاوا
ئاواز
ئاواڵە
ئاور
ئاوزەنگی
ئاوساندن
ئاوھا
ئاوەدان
ئاوەدانی
ئاوەر
ئاوەرێژ
ئاوەژوو
ئاوەندیار
ئایا؟
ئایندە
ئایین
ئەبلەق
ئەبیاڵ
ئەبێ
ئەتک
ئەتوون
ئەجزاجی
ئەجندا
ئەدی!
ئەدی؟
ئەرامەندە
ئەرج
ئەرز
ئەرک
ئەرە
ئەزبۆلە
ئەژدەھا
ئەژماردن
ئەژمێر
ئەسپایی
ئەستوون
ئەستۆ
ئەستی
ئەستێرک
ئەستێوڵک
ئەسکری
ئەسکوێ
ئەسڵەن
ئەشک
ئەشکەنجە
ئەشیا
ئەفسانە
ئەفسەر
ئەقل
ئەگریجە
ئەلبەت
ئەلمۆدە
ئەڵقە
ئەڵماس
ئەڵێ
ئەمر
ئەمن
ئەموست
ئەمین
ئەنتیکە
ئەنجام
ئەنجن
ئەنجومەن
ئەندازیار
ئەنگاو
ئەنگوور
ئەنەم
ئەھلی
ئەوانیش
ئەوجا
ئەورەنگ
ئەوزار
ئەوسا
ئەوە
ئەوەش
ئەوەندە
ئەی
ئەی!
ئەینا؟
ئیجا
ئیختیار
ئیرھاب
ئیرھابی
ئیستیقالە
ئیش
ئیفتادە
ئیم
ئیمرۆ
ئیمسال
ئیمشەو
ئینجا
بابوسکە
بابۆڵە
باپیر
باتەک
باتوو
باتی
باچە
باخەڵ
بادیھەوا
بارام
بارست
بارشت
بارمتە
بارە
بازد
بازوو
بازۆر
باڕ
باستانناسی
باستورمە
بافت
باڵابستە
باڵباز
باڵۆڵە
باڵۆن
باڵێ
باڵێف
بانگردێن
بانوو
باھێر
باوک
باوەڕ
باوەقۆت
باوی
بایست
باینجان
باینجانی ڕەش
باینجانی سوور
بایەخ
بایی
بچەژ
بدوو
برادەر
براژن
برای ھاوپشت
بردەمەنی
برژانگ
برژاو
برسێتی
برغوو
برنگ
برووسکە
بریتی
بزاڤ
بزان
بزاوتن
بزگور
بزووتنەوە
بڕاو
بڕمێن
بڕوانامە
بڕۆ
بڕیار
بڕێک
بژاردن
بژاردە
بژوولک
بسکە
بشێوە
بلیمەت
بڵح
بڵند
بناغە
بنچە
بنچینەیی
بنکە
بنەما
بنەوش
بەتڵانە
بەحر
بەخت
بەخترەش
بەختەوەر
بەختیار
بەخش
بەخشەندە
بەخشەندەیی
بەد
بەدبەخت
بەدرەقە
بەر سەر کەسێکەوە لەوەڕان
بەرایی
بەردەوک
بەرز
بەرزە
بەرژەوەند
بەرژەوەندی
بەرف
بەرگ
بەرگری
بەرگە
بەرگەشتە
بەرە
بەرەزە
بەرەو
بەرەوژۆرکە
بەرەوژێرکە
بەروار
بەروودوا
بەزم
بەژ
بەستن
بەستە
بەسر
بەش
بەشدار
بەفر
بەق
بەقال
بەقلیسۆک
بەل
بەلاش
بەلایەن
بەلایەنی
بەلەز
بەلەم
بەڵا
بەڵام
بەڵگە
بەڵەد
بەڵەک
بەڵەیاندن
بەناوبانگ
بەند
بەندە
بەندەگی
بەنگ
بەنگکێش
بەھا
بەھارات
بەھانە
بەھر
بەھرە
بەھەشت
بەو
بەوان
بەیار
بەیارمەتیت
بەیاز
بەیاننامە
بەیانی
بەیچەڵ
بەیدەست
بەینەت
بەینەتدار
بوختان
بوخچە
بوودینە
بووردن
بووژاندن
بووسە
بووم
بووواردن
بووێژ
بوێر
بۆچوون
بۆران
بۆرچین
بۆردن
بۆق
بۆقەتە
بۆنە
بۆینباخ
بیانوو
بیانی
بیبن
بیبی
بیجامە
بیچم
بیراز
بیرتەسک
بیرە
بیرووڕا
بیستا
بیستراو
بیستن
بیستەر
بیستۆک
بیڤر
بێتار
بێجگە
بێخ
بێخبڕ
بێزار
بێژار
بێسەرووشوێن
بێشەڵان
بێگانە
بێگومان
بێلایەن
بێلایەنی
بێنەوبەرە
بێھیوا
بێوەژن
پابەند
پاتری
پاچ
پاداشت
پارێزگار
پاساو
پاسەوان
پانایی
پاندان
پایتەخت
پرد
پشکنین
پەتی
پەرواز
پەشیمان
پەلەمە
پەیامبەر
پەیامنێر
پۆتین
پۆل
پیشە
پیشەسازی
پێشکەوتن
پێو
تاقم
تكايه
تەپەدۆر
تەڤۆڵ
تەمەڵ
تەواو
توون
تۆپ
جەنگاڤەر
چابووک
چاپاڵێو
چاپخانە
چاپکراو
چاپەز
چاتۆڵە
چاچی
چادرگا
چارشێو
چارە
چارەک
چارەنووس
چارەنووسساز
چارەوا
چاسر
چاش
چاشتێنگا
چاشنی
چاکەت
چاڵ
چاڵاو
چاڵەچەقیلە
چاندەمەنی
چاندەنی
چاوباشقاڵ
چاوەڕوانکراو
چاوێشە
چایەر
چپک
چرادان
چراکەوان
چراورک
چرچ
چرکان
چرکاندن
چرکە
چرووسان
چرووساندن
چرووساو
چرووک
چزاندن
چڕان
چڕنووک
چڕووچاو
چش
چقڵ
چکان
چکاندن
چکۆک
چکۆڵە
چلە
چلۆکۆک
چلۆنھا
چلێس
چلێسی
چڵپاو
چڵک
چڵکاو
چڵم
چمک
چنگاڵ
چنۆک
چەپاڵ
چەپاڵە
چەپاو
چەپخوون
چەپڕۆ
چەپڕۆیی
چەپکەن
چەپلەر
چەپە
چەپەجاخ
چەپەر
چەپەڵۆک
چەپووچێڕ
چەپۆک
چەتاڵ
چەتڵەمەز
چەتە
چەتیانە
چەخماق
چەرخاو
چەرخەمە
چەرداخ
چەرداوەروو
چەردە
چەرس
چەرم
چەرمەسەرێ
چەرە
چەڕندە
چەڕین
چەسپ
چەش
چەشتن
چەشکە
چەشمە
چەشن
چەشنی
چەقاڵ
چەقان
چەقاندن
چەقەڵ
چەقۆساز
چەقۆکێش
چەکووش
چەلاک
چەلان
چەلاو
چەلیپا
چەڵەمە
چەمچە
چەمەر
چەمەری
چەمووچەم
چەمۆڵە
چەندایەتی
چەندەمین
چەندێتی
چەنە
چەنەباز
چەنەبازی
چەنەچەن
چەنەھەراش
چەو
چەواشە
چەوتانەوە
چەوتی
چەودار
چوارچێوە
چواردەور
چوارگۆشە
چوارلا
چوارەک
چوالە
چوختی
چوڕ
چوست
چۆپین
چۆدار
چۆڕان
چۆڕاندن
چۆش!
چۆق
چۆلاغ
چۆلک
چۆڵ
چۆنھا
چۆنیەک
چیتۆکە
چیل
چیلەچەپ
چیلەک
چیم
چێر
چێژ
چێژان
چێژیلە
چێش
چێشتخانە
چێشتکەر
چێشتن
چێو
چێوە
چێوین
خوێندن
خۆشەویست
خۆم
خۆمان
رۆژانە
ژار
ژاراو
ژاراوی
ژاربەر
ژارقەندە
ژارک
ژارووژەنگ
ژاژ
ژاژک
ژاڵە
ژاندار
ژانەسک
ژانەسەر
ژاوەژاو
ژلێواندن
ژلێوە
ژمار
ژماردن
ژمارکار
ژمارکۆ
ژمارەگر
ژمارەگری
ژمارەیی
ژمێرە
ژنانە
ژنانی
ژنەشا
ژنێتی
ژەقنەبووت
ژەک
ژەمک
ژەندن
ژەنگاڵی
ژەنگاوی
ژەھری ھەڵاخنین
ژووان
ژووانگا
ژووران
ژوورەوە
ژوورۆچکە
ژیار
ژیاری
ژیانەوە
ژیانی
ژیرانە
ژیربێژ
ژیربێژانە
ژیرکەلە
ژیری
ژینامە
ژینداری
ژیھاتن
ژیوار
ژێر
ژێربەران
ژێرپیاڵە
ژێرپێ
ژێرتیپ
ژێرچەپۆکە
ژێردەست
ژێردەستی
ژێرزەمین
ژێرزەمینی
ژێرسەر
ژێرکەنارە
ژێرەوە
ژێرەوەنان
ژێروو
ژێرووزەبەر
سەنگەر
سەنیا
سوپا
شتن
فافۆن
فاقە
فاک
فاڵ
فاڵ گرتنەوە
فاما
فامیدە
فامین
فانۆس
فایل
فترە
فتوا
فتیلە
فراژان
فراژاندن
فراژی
فراژیوەر
فراوانی
فرتەنە
فرزەند
فرزەند ھێنانەوە
فرستادە
فرشتەنگ
فرە
فرەایینی
فرەبێژ
فرەز
فرەنەتەوەیی
فرەھزبایی
فرەھزبی
فرەیی
فرۆشتنەوە
فرۆشراو
فریز
فریو
فریواندن
فریوباز
فریوخۆر
فزە
فڕفڕە
فڕفڕۆکە
فڕفینگ
فڕکان
فڕگە
فڕن
فڕندە
فڕنک
فڕووج
فڕووفێڵ
فڕوون
فڕۆکەنەھێڵ
فڕۆکەوان
فڕیشتە
فڕین
فڕێ
فڕێدراو
فس
فسکە
فسکەفسک
فشقیات
فشەکەر
فشەگاڵتە
فلیقاندن
فلیقاو
فڵان
فڵت
فڵتاندن
فڵتەدەمە
فڵیتە
فم
فنددان
فەتار
فەتار فەتار
فەتارەت
فەتان
فەخفووری
فەرامۆش
فەرامۆشی
فەرتووت
فەرخی
فەردە
فەرز
فەرزین
فەرق
فەرکار
فەرکاندن
فەرکانە
فەرمان
فەرمانبەر
فەرمانڕەوا
فەرمانڕەوایی
فەرمانگێڕی
فەرمانی
فەرمایشت
فەرموو
فەرموون
فەرەھ
فەروار
فەروو
فەریک
فەڕاش
فەڕاقە
فەڕدار
فەسڵ
فەقیر
فەقێ
فەکڵە
فەلسەفە
فەلە
فەلەسووف
فەن
فەنا
فەوتان
فەوتاندن
فەوتاو
فوو
فوودراو
فوورھە
فیتەفیت
فیچقە
فیدا
فیدایی
فیرست
فیز
فیزار
فیزن
فیڕکە
فیڕۆ
فیسان
فیسەڵ
فیش
فیشاڵ
فیشەفیش
فیعل
فیک
فیکە
فیکەفیک
فێدار
فێر
فێربوو
فێردار
فێرداری
فێرگە
فێسان
فێڵ
فێڵباز
فێڵووفەرەج
فێنک
قردێلە
قرقێنە
قنگ
قەبەیی
قەتران
قەساب
قەسابخانە
قەشەنگ
قەنەفە
قەول
قەیران
قەیرە
قەیناکە
قوپان
قوپاو
قوربانی
قولاپ
قۆپچە
قۆخ
قۆرخ
قۆقز
کابان
کابرا
کابە
کابینە
کاپۆڵ
کات
کاتپێو
کاتەوکات
کاچ
کاخەز
کاخەزدار
کادان
کارا
کاراسک
کاراشنا
کاراشنایی
کاربرا
کاربرایەتی
کاربڕ
کاربەدەستی
کاربین
کارتە
کارخانە
کاردانەوە
کاردیتوو
کارزان
کارزانی
کارژۆلە
کارساز
کارکردە
کارکەر
کارکەنار
کارکەناری
کارگە
کارگەر
کارگوزار
کارگوزاری
کارگێڕ
کارگێڕی
کارنامە
کارنیارنامە
کارھاتوو
کارەبا
کارەز
کارەزاو
کارەزکەن
کارەسات
کارەکەر
کاروانچی
کاروانکەر
کاروانکوژ
کاروانی
کارووبار
کارووس
کاری
کاریگەر
کاژاو
کاژەڵاخ
کاسب
کاسبی
کاسپ
کاستی
کاسی
کاش
کاشانە
کاشە
کاشی
کاف
کاک
کاکڵ
کاکە
کاکەلێ
کاکەیی
کاکۆ
کاکیبەکاکی
کالان
کالە
کالی
کالیار
کاڵا
کاڵات
کاڵەک
کاڵەمستە
کاڵی
کاماخ
کامار
کامپ
کامەتا
کامەرانی
کان
کاناو
کانزا
کانزایی
کانوون
کانیاو
کانیبەردینە
کانیلە
کانیەدرۆزنە
کاھوو
کاو
کاوڕ
کاوش
کاول
کاویر
کاوێژ
کپەنە
کتک
کتکنەوتینە
کتکی
کتووپڕ
کتێبباز
کتێبەڤان
کچانە
کچکۆڵە
کچنی
کچەتیو
کچەزا
کخ
کراس
کراو
کرتناک
کرداری
کرداری تێپەر
کرداری تێنەپەر
کرداری لێکدراو
کردە
کردەکار
کردەگار
کرسپ
کرمدڵ
کرۆت
کرۆسک
کرۆشتن
کرۆک
کریڤ
کرێ
کرێبار
کرێکاری
کز
کزاندنەوە
کزانەوە
کزر
کزۆڵە
کزی
کڕکڕاگە
کڕکەوتوو
کڕە
کڕەک
کڕووزانەوە
کڕووزە
کڕووھوڕ
کڕیار
کڕێشاوی
کڕێنە
کسپ
کسپووکۆ
کسسە
کشان
کشت
کشتکار
کشتگەھ
کشتەک
کشوومات
کشووماتی
کفرباز
کفندڕ
کلت
کلتوور
کلچان
کلچێوک
کلدان
کلدوومان
کلەر
کلیل
کلیلە
کلیم
کڵ
کڵاش
کڵاشچن
کڵاواسن
کڵاوزرێ
کڵاوقژ
کڵاونە
کڵپە
کڵپە لێ ھەڵسان
کڵپووھووڕ
کڵفت
کڵۆ
کڵۆر
کڵۆش
کڵۆڵ
کڵۆڵی
کڵێس
کڵێسمان
کڵێشە
کنگخشکێ
کنگخلیسکێ
کنگدەر
کنگر
کنە
کنەکار
کنیواڵ
کنێر
کەباب
کەبات
کەبار
کەپرۆکە
کەپەنەک
کەت
کەتان
کەتانە
کەتانی
کەتن
کەتە
کەتوو
کەتیرە
کەچە
کەچەڵ
کەچەڵی
کەرانباوکگاو
کەرانە
کەرپەسە
کەرپیاو
کەرت
کەرتکراو
کەرتە
کەرتووپەرت
کەرتی
کەردڕ
کەرسەگ
کەرکە
کەرکوژ
کەرگەز
کەرھەنگ
کەرە
کەرەجی
کەرەدێز
کەرەسە
کەرەکی
کەرەکێوی
کەرەنتوو
کەرەوز
کەرووبار
کەرۆکە
کەرێتی
کەزاخە
کەزی
کەڕ
کەڕەت
کەڕەتی
کەڕەکۆنتێ
کەڕەنسۆ
کەڕەواڵە
کەڕوو
کەڕوو ھێڵھێنان
کەڕووواوی
کەڕی
کەژاوە
کەژماڵ
کەسانە
کەستەک
کەسک
کەسکووسۆر
کەسکوون
کەسکی
کەسنەدار
کەسنەدیو
کەسیرە
کەش
کەشاکەش
کەشتیگەل
کەشتیوان
کەشتیوانی
کەشخە
کەشزان
کەشزانی
کەشک
کەشکە
کەشکەلان
کەشکەلانی فەلەک
کەشمەکەشم
کەشە
کەشەنگ
کەشووفش
کەشیش
کەشیە
کەف
کەفارەت
کەفالەت
کەفاو
کەفووکۆڵ
کەفیل
کەلا
کەلار
کەلارە
کەلتوور
کەلخانە
کەلە
کەلەپەر
کەلەپوور
کەلەپووری
کەلەتەزێن
کەلەشەق
کەلەکوچ
کەلەلا
کەلەم
کەلواز
کەلووپەل
کەلووکۆم
کەلێن
کەڵام
کەڵان
کەڵب
کەڵەس
کەڵەک
کەڵەکباز
کەڵەکچی
کەڵەگەت
کەڵەوێ
کەڵووڕی
کەڵۆس
کەم کەمە
کەماڵ
کەمان
کەمانچەژەن
کەمایەتی
کەمایەسی
کەمبیر
کەمتەرخەمی
کەمتیار
کەمتین
کەمچیکڵدانە
کەمدەست
کەمدوو
کەمڕوو
کەمساڵ
کەمشیر
کەمناو
کەمە
کەمەبەند
کەمەر
کەمەربەستی
کەمەرچین
کەمەردار
کەمەرەیی
کەمەری زەوی
کەمەکێک
کەمەیی
کەمووکووڕی
کەمۆ
کەمۆکار
کەمۆکاری
کەمۆیار
کەمۆیاری
کەمی
کەنار
کەناراو
کەنارگر
کەنارگری
کەنارەیی
کەنتۆر
کەند
کەند و کۆسپ
کەنداڵ
کەنداو
کەندەک
کەندەکار
کەندەڵان
کەنزەک
کەنەفت
کەنەفتی
کەنیچە
کەنیلێ
کەھلان
کەو ئڤ
کەوا
کەوالە
کەوان
کەوانکۆشە
کەوانە
کەوباز
کەوبازی
کەوباڕ
کەوبەدار
کەوتوو
کەوچک
کەوداو
کەودەن
کەورک
کەوژ
کەوژین
کەوشەک
کەوشەکەن
کەوشەکۆن
کەوگیر
کەولۆس
کەومار
کەوە
کەوەر
کەوۆت
کەوێڵ
کەی
کەیبانوو
کەیس
کەیل
کەیلان
کەینووبەین
کەیوان
کوارەنگ
کوتان
کوتووپڕ
کوتوومت
کوچوولە
کودەڵە
کورتان
کورتاندروو
کورتبڕ
کورتبڕی
کورتبین
کورتبینی
کورتم
کورتە
کورتەباڵا
کورتەبنە
کورتەک
کورتی
کورتیلە
کوردانە
کوردایەتی
کوردپەروەر
کوردستانی
کوردشناس
کوردکوژە
کوردناسی
کوردھەز
کوردەواری
کوردیاخێو
کوردیزانی
کوردیزمان
کورکاندن
کورەک
کوزان
کوڕ
کوڕانە
کوڕکوڕە
کوڕگەل
کوڕنووش
کوڕە
کوڕەزا
کوڕەزازا
کوڕێتی
کوژاندنەوە
کوژران
کوژراو
کوشتار
کوشتبەندان
کوشتن
کوشتەرا
کوشندە
کوفار
کولاف
کولاندنەوە
کولانەوە
کولپ
کولخان
کولەپاچ
کولەمەرگی
کولیچە
کوڵاو
کوڵک
کوڵکوڵە
کوڵەبنە
کوڵەبەس
کوڵەپێچ
کوڵەنانی
کوڵەنجە
کوڵەھەسار
کوڵۆت
کوڵۆک
کونار
کوناودەر
کونبڕ
کونتیلە
کونجرە
کونجی
کونجێن
کونچک
کونزەین
کونکراو
کونکەرە
کونەباجە
کونەبەبوو
کونیلە
کونیلەدار
کوو
کووپ
کووپە
کووپەڵە
کووچە
کوور
کوورە
کووز
کووکەلە
کووکوو
کووکووکەرە
کوونی
کوێخا
کوێخایەتی
کوێرانە
کوێراو
کوێردەرە
کوێرەدێ
کوێرەڕێ
کوێرەشەقام
کوێرەکانی
کوێرەمار
کوێرەمووشە
کوێرەوەری
کوێری
کوێڕا
کوێستانی
کوێلە
کوێلەدار
کوێلەداری
کوێلەیی
کوێندەری
کوێوە
کۆ
کۆبەند
کۆبوونەوە
کۆپارە
کۆت
کۆتان
کۆتایی
کۆتایی ١یی پێ
کۆتەرە
کۆجەڵە
کۆچ
کۆچاوکۆچ
کۆچکەر
کۆچەری
کۆچەرێتی
کۆچەک
کۆچەکە
کۆچی
کۆچی دوایی
کۆخ
کۆخوازی
کۆد
کۆرپەلە
کۆز
کۆزانین
کۆزمان
کۆزە
کۆزەرە
کۆڕگە
کۆژە
کۆژۆ
کۆسپ
کۆسپایی
کۆستە
کۆستەوەوی
کۆسە
کۆشان
کۆشش
کۆشیار
کۆفرۆش
کۆفرۆشی
کۆڤان
کۆکردنەوە
کۆکەکۆک
کۆکین
کۆکێتی
کۆلک
کۆلیسک
کۆڵ
کۆڵارە
کۆڵان
کۆڵاندۆز
کۆڵانکوت
کۆڵراو
کۆڵکێش
کۆڵگێڕ
کۆڵنج
کۆڵنجان
کۆڵنگە
کۆڵنەدەر
کۆڵھەڵگر
کۆڵە
کۆڵەر
کۆڵەوار
کۆڵوو
کۆڵیت
کۆڵین
کۆڵینەوە
کۆم
کۆما
کۆماری
کۆماوە
کۆمفرۆش
کۆمفرۆشی
کۆمەک
کۆمەکی
کۆمەڵ
کۆمەڵایەتی
کۆمەڵزان
کۆمەڵزانی
کۆمەڵە
کۆمی
کۆنە
کۆنەباو
کۆنەپەرست
کۆنەپەرستی
کۆنەپۆش
کۆنەساڵ
کۆنەفرۆش
کۆنی
کۆنینە
کیتەڵە
کیسەڵ
کیشوەر
کیشوەربڕ
کیشوەری
کیوار
کێ
کێچ
کێچاوی
کێرزل
کێرزلی
کێڕ
کێش
کێشان
کێشانەوە
کێشدار
کێشران
کێشراو
کێشمان
کێشمەکێش
کێشە
کێل
کێڵراو
کێوی ئاگرپرژێن
کێویلە
گابۆڕ
گاراندن
گارەگار
گازر
گازندە
گازندۆک
گازەرا
گاڕس
گاسن
گاف
گاکێوی
گاگەل
گاگۆڵکێ
گاگێرە
گالیسکە
گاڵ
گاڵتە
گاڵتەبێژ
گاڵتەجاڕ
گاڵتەچی
گاڵتەگێ
گاڵە
گاڵەکوت
گاڵۆک
گامەڵاس
گامێش
گان
گاناوی
گانەک
گاوارە
گاووس
گاووگۆتاڵ
گایلکە
گایی
گرتنەوە
گرتەک
گرتوو
گرتووخانە
گردە
گردەبا
گردەپیاو
گردەڵە
گردۆکۆ
گردۆڵک
گرژی
گرس
گرفت
گرفتە
گرمەژنە
گرمۆڵە
گرمۆڵەیی
گرنگی
گرەو
گروون
گرۆ
گریشمە
گرین
گرینۆک
گرێدراو
گرێکوێرە
گزیر
گڕاندن
گڕگر
گڕگرتوو
گڕووگاڵ
گڕوێ
گڕوێیی
گڕۆز
گژەبا
گشتگر
گشتی
گفتووگۆ
گڤی
گلار
گلارە
گلاو
گلەبان
گلەخان
گلەسپی
گلەیی
گلۆفتن
گلین
گلێجە
گلێر
گڵۆپ
گڵۆڵە
گندۆر
گەپەگەپ
گەچ
گەدا
گەدایی
گەدە
گەر
گەردان
گەردانە
گەرداو
گەردنکەچ
گەردنکەش
گەردنکێل
گەردەش
گەردووخول
گەردووگەڵا
گەردوون
گەرم
گەرما
گەرماپێو
گەرماجمان
گەرماو
گەرماوگەرم
گەرمایی
گەرمبردوو
گەرمەگلێ
گەرمی
گەرمیان
گەرمیانی
گەرمیپێو
گەرمێتی
گەرەک
گەرەکی
گەروانکە
گەرووێش
گەزاف
گەزگەزان
گەزندە
گەزنە
گەزەن
گەزین
گەڕان
گەڕاندن
گەڕاندنەوە
گەڕانەوە
گەڕەلاوژە
گەڕۆک
گەڕۆڵ
گەڕۆڵە!
گەڕی
گەستن
گەسکە
گەش
گەشایشت
گەشبین
گەشبینی
گەشتنامە
گەشتوەر
گەشتووگوزار
گەشتیار
گەشکە
گەشکەدار
گەشەکردوو
گەشی
گەف
گەفووگوڕ
گەفین
گەل
گەلال
گەلاوێژ
گەلھۆ
گەلەخان
گەلەراوێژی
گەلۆر
گەڵادار
گەڵارێزان
گەڵاڕن
گەڵاکوتک
گەڵاڵە
گەڵاوگەڵ
گەڵاوەر
گەمارۆ
گەماڵ
گەموورە
گەناندن
گەندەڵ
گەندووگوو
گەنمگردی
گەنمە
گەنیو
گەواد
گەوار
گەواڵ
گەواھ
گەواھی
گەورەیی
گەوز
گەولاز
گەوھەر
گەوھەربەند
گەوھەردار
گەوھەرکار
گەوە
گەوەری
گەوەکار
گەوون
گەی
گەیاندن
گەیشتگە
گەیشتوو
گەیگر
گەیین
گودلە
گوربز
گوربە
گورج
گورد
گورزە
گورزەتیشک
گورزەھۆن
گورگانگاز
گوزارە
گوزارەدار
گوزارەیی
گوزەریو
گوڕ
گوڕە
گوڕەشە
گوڕەشەکار
گوڕەووبڕە
گوژم
گوستاخ
گوستاخی
گوشار
گوشران
گوشراو
گوشراوە
گول
گولاج
گولی
گوڵ
گوڵاڵە
گوڵان
گوڵاو
گوڵاوپژێن
گوڵاوی
گوڵباران
گوڵبانگ
گوڵبەدەم
گوڵدار
گوڵدان
گوڵرەنگ
گوڵڕێزان
گوڵشەن
گوڵگوڵی
گوڵمە
گوڵمێخ
گوڵە
گوڵەباخ
گوڵەباران
گوڵەپرێژ
گوڵەچاوێشە
گوڵەندام
گوڵونکە
گوڵی
گوم
گومانبار
گومانرەش
گومانی
گومرک
گومڕاکەر
گومناو
گومی
گوناھ
گوناھبار
گونجان
گونجاندن
گونجاو
گونداری
گوندۆرە
گووار
گووارە
گووان
گووبۆق
گووپ
گووپن
گووران
گووواوی
گووێ
گووێچکە
گوێ
گوێبەل
گوێدێر
گوێرە
گوێرەکە
گوێزرنگانەوە
گوێزەر
گوێزی فەریک
گوێزی کوێر
گوێڕەپ
گوێسووک
گوێسووکی
گوێقورس
گوێقوڵاخ
گوێکپ
گوێگر
گوێگران
گوێلەمست
گوێنی
گۆتاڵ
گۆترە
گۆتن
گۆج
گۆجی
گۆران
گۆرین
گۆزەر
گۆزەڵە
گۆڕان
گۆڕاندن
گۆڕاندنەوە
گۆڕانکار
گۆڕانکاری
گۆڕستان
گۆڕین
گۆڕینەوە
گۆساڵە
گۆشپارە
گۆشتاو
گۆشتخۆر
گۆشتن
گۆشتی کاڵ
گۆشەدار
گۆشەگیری
گۆشەنیگا
گۆکار
گۆگرد
گۆڵە
گۆم
گۆمەڵتە
گۆنە
گۆنیە
گۆییژ
گیایی
گیرا
گیران
گیراو
گیراوە
گیراوێ
گیرسانەوە
گیرفانبڕ
گیرفانی باخەڵ
گیرکار
گیرووگرفت
گیرۆ
گیرۆبەند
گیرۆدار
گیز
گیزاندن
گیڕەگیڕ
گیشە
گیڤ
گییانسەخت
گێپەڕە
گێتاڵ
گێرە
گێرەووکێشە
گێزەر
گێڕان
گێژاو
گێژوووێژ
گێسوو
گێلاس
گێلۆکە
گێلی
گێوە
لا چوون
لابابەت
لابار
لابراو
لابەرھەم
لاپاڵ
لاپچین
لاپەڕە
لات و لوات
لات و لوار
لاترقەوچ
لاتەڕاف
لاتوخم
لاجانگ
لاجیوەرد
لاچوو
لادێیی
لارەلار
لارەولار
لاڕەو
لاڕێ
لاژگ
لاژگی
لاساری
لاسایی
لاساییانە
لاساییکەر
لاسک
لاسەنگ
لاسەنگی
لاشان
لاشەڕ
لاشەڕی
لاف و گەزاف
لاقردی
لاک
لاکاری
لاکۆڵان
لاکێش
لاکێشە
لاگیر
لاگیری
لالخاوە
لالە
لالەنگی
لاڵ
لاڵانەوە
لاڵە
لاڵەپەتە
لاڵوپاڵ
لاڵی
لامئەلیفلا
لامل
لامی قەڵەو
لانەواز
لانەوازی
لاەنجام
لاواز
لاوازی
لاوانەوە
لاوچاک
لاورگە
لاوژە
لاوک
لاولاو
لاوە
لاوێتی
لای
لایەن
لایەنگر
لایەنگری
لچەستوور
لچوولێو
لرفەلرف
لک
لکاوە
لکێنراو
لمۆز
لمین
لنگەلەرێ
لە
لەباری
لەبز
لەبلەبی
لەبەرچاڤ
لەپ
لەپاشەجێماو
لەپالەپ
لەپماڵ
لەپەوڕوو
لەپی
لەپی دەست
لەتگەر
لەتووپەت
لەچەر
لەچەری
لەخشتەبەر
لەخەم
لەخەمڕەخسیو
لەخواترس
لەخواترسی
لەخوانەترس
لەخوانەترسی
لەران
لەراندن
لەرانەوە
لەرز
لەرزان
لەرزاندن
لەرزۆک
لەز
لەزاندن
لەزپیو
لەزگێڕ
لەزگێڕی
لەزەت
لەزین
لەڕ
لەڕ و لاواز
لەڕوو
لەڕوویی
لەڕی
لەسەرخۆ
لەسەرخۆیی
لەسەرکەرەوە
لەش
لەشسووک
لەشقورس
لەشکر
لەشکرگا
لەشکرگێڕ
لەشکرگێڕی
لەشوولار
لەشی
لەعنەت
لەفاف
لەقان
لەقاندن
لەقە
لەقەب
لەقەکوت
لەقەلەق
لەقوولۆق
لەک
لەکە
لەکەدار
لەکەداری
لەکی
لەگژ
لەگەن
لەل
لەلە
لەلەیی
لەم
لەم جێگایە دا
لەم دیوەوە
لەمئەو بەر
لەمان
لەمانەوە
لەمپا
لەمپەر
لەنجین
لەنگەر
لەنگەرە
لەنگی
لەنگین
لەنگێزە
لەھیم
لەو
لەو پەڕ
لەو سەرەوە
لەوازە
لەواشە
لەوان
لەوچەلەوچ
لەوچەیی
لەوس
لەوساوە
لەوسن
لەوە بە دەر
لەوە بەو لاوە
لەوە پێش
لەوە دوا
لەوەڕ
لەوەڕگا
لەوەن
لەوێ
لەوێچ
لەوێڕا
لەوێوە
لوان
لواندن
لواو
لوڕ
لوڕستان
لوڕی
لووتبەرز
لووتبەرزی
لووتزل
لووتفش
لووتقوڵنگە
لووتە
لووتەلا
لووتەوانە
لوودە
لووزەو
لووس
لووسکە
لووسووپووس
لوول
لوولاق
لوولکراو
لوولە
لوولەیی
لوولێنە
لۆترەوان
لۆترەوانی
لۆتە
لۆتی
لۆتیێتی
لۆخان
لۆر
لۆرت
لۆرە
لۆری
لۆزەندەر
لۆقە
لۆک
لۆککراو
لۆکە
لۆلە
لۆلۆ
لۆمە
لۆنگ
لۆنە
لیان
لیپ
لیتاو
لیچاڵ
لیخن
لیر
لیژنە
لیژنەدار
لیستە
لیک
لیمە
لیمۆ
لیمۆنی
لیمۆیی
لینج
لینج و فینچ
لینجی
لیوا
لێ
لێ بووردن
لێ بێزران
لێ پڕ بوون
لێ تووژینەوە
لێ تێک چوونەوە
لێ چوونەوە
لێ خەفەتان
لێ خوڕین
لێ ڕاوەستان
لێ قەومان
لێ کۆڵینەوە
لێ گۆڕین
لێ نان
لێ نەگرتن
لێ ھاتن
لێ ھەڵبڕین
لێ ھەڵسان
لێ ھەڵکەوتن
لێ وە
لێ وەرگەڕانەوە
لێ وەستانەوە
لێ وەشانەوە
لێبووردن
لێبووردە
لێبووردوو
لێت
لێتان
لێچوو
لێچوونی
لێخوڕ
لێدوو
لێر
لێرە
لێرە بە دواوە
لێرەش
لێرەوار
لێزگ
لێزگە
لێژ
لێژاو
لێژی
لێسە
لێش
لێقەوماو
لێک
لێک بڕان
لێک بەربوونەوە
لێک ڕەوینەوە
لێکۆلینەوە
لێڵاو
لێڵایی
لێڵایی داھاتن
لێڵە
لێڵی
لێم
لێمان
لێھاتوو
لێواولێو
لێوڕێژ
لێوەدار
لێی
لێیان
مامۆژن
مامۆستا
ماوە
متمانە
مژۆک
ململانێ
مەترسی
مەرز
مەرکانە
مەزن
مەڕۆ
مەمک
میراتی
مێباز
ناخۆش
ناخۆشی
نازناو
نامیلکە
نانەواخانە
ناوازە
ناوخۆ
ناوک
ناوەندی
نزیک
نەبەرد
نەخشە
نەریت
نوشتانەوە
نۆش
نیشانە
نێردراو
نێوان
ھا
ھاتنە دی
ھاتنەوە
ھاتنەوە یاد
ھاتووچوو
ھاجی
ھاجیبادام
ھاجیبایەف
ھاجیرەش
ھاجیلەقلەق
ھار
ھار و ھاج
ھاروو
ھارووھوورت
ھاری
ھاریکار
ھاریکاری
ھازر
ھازری
ھاڕاو
ھاڕە
ھاڕین
ھاڕیە
ھاژ
ھاژاندن
ھاشا
ھاشووھووش
ھافز
ھاڤل
ھاکا
ھاکایی
ھاکم
ھاکمانە
ھاکمێتی
ھاکۆ
ھاڵ
ھاڵ و ئەھواڵ
ھاڵاو
ھاڵەت
ھاڵی
ھامار
ھامێز
ھان
ھانابەر
ھاندراو
ھاندەر
ھاوارکەر
ھاواری
ھاواھەنگی
ھاوبەش
ھاوبەند
ھاوبیر
ھاوپا
ھاوپایە
ھاوپرسی
ھاوپشت
ھاوپەیمان
ھاوتا
ھاوتەک
ھاوتەمەن
ھاوجۆت
ھاوجێ
ھاوچاخ
ھاوچاو
ھاوچاوی
ھاوچڕە
ھاوچەق
ھاوچەک
ھاوخاک
ھاوخەف
ھاوخوان
ھاودەرد
ھاودەست
ھاودین
ھاوراز
ھاوزگ
ھاوزمان
ھاوزۆم
ھاوڕێ
ھاوڕێتی
ھاوساز
ھاوساڵ
ھاوسامە
ھاوسنوور
ھاوسەدە
ھاوسەر
ھاوسەنگ
ھاوسەنگی
ھاوسوێند
ھاوسوێندی
ھاوشار
ھاوشان
ھاوشیرە
ھاوشێوە
ھاوکات
ھاوکار
ھاوکاری
ھاوکێش
ھاوکێشە
ھاولا
ھاوماڵ
ھاومل
ھاوناو
ھاونشین
ھاونەبەرد
ھاونۆرە
ھاوەن
ھاووڵات
ھاووڵاتی
ھاویشتن
ھاوینھەوار
ھاوێر
ھتد
ھزب
ھسێب
ھکوومەت
ھل
ھە
ھەب
ھەپروون
ھەپس
ھەپسخانە
ھەپەسان
ھەپەساندن
ھەپەساو
ھەپوو
ھەپین
ھەتا
ھەتا دوایی
ھەتا سەر
ھەتار
ھەتارەک:
ھەتاو
ھەترە
ھەتھەتۆکە
ھەتوان
ھەتیو
ھەتیوبار
ھەتیوخانە
ھەچولوور
ھەد
ھەدیس
ھەراج
ھەراس
ھەراسان
ھەرام
ھەرامخۆر
ھەرامە
ھەرجایی
ھەرد
ھەردەبیر
ھەردەگێڵ
ھەردوو
ھەرزاڵە
ھەرزان
ھەرزانبەھا
ھەرزانی
ھەرزە
ھەرزەبێژ
ھەرزەچەنە
ھەرزەکار
ھەرزەکارانە
ھەرزەکاری
ھەرزەیی
ھەرفی
ھەرگیز
ھەرگیزئاو ھەرگیز
ھەرگینە
ھەرلە
ھەرمێپشکوان
ھەرەس
ھەرەوەز
ھەروا
ھەری
ھەریف
ھەرێز
ھەرێم
ھەرێمی
ھەز
ھەز و ناھەز
ھەزارە
ھەزاریەک
ھەزبێلە
ھەزرەت
ھەزم
ھەڕا
ھەڕە
ھەڕەشە
ھەڕەشە و گوڕەشە
ھەڕەمە
ھەژار
ھەژاری
ھەژان
ھەژاندن
ھەژگ
ھەژەند
ھەژێنەر
ھەسار
ھەسان
ھەساوە
ھەستبەر
ھەستبەری
ھەستری
ھەستە
ھەستەوەر
ھەستەوەری
ھەستیار
ھەستیاری
ھەسیر
ھەسیرمەیان
ھەش
ھەشار
ھەشاردراو
ھەشبەسەر
ھەشتا
ھەشتالوو
ھەشتیەک
ھەشھەش
ھەشەری
ھەفت
ھەفتا
ھەفتانە
ھەفتە
ھەفتەیی
ھەڤاڵ
ھەڤدە
ھەڤکێشی
ھەقانی
ھەقایەت
ھەقدەست
ھەکیم
ھەگبە
ھەل
ھەلات
ھەلانە
ھەلاھەلا
ھەلک
ھەلھەلە
ھەلەقمەلەق
ھەلەکە
ھەلوومەرج
ھەلۆک
ھەڵاتوو
ھەڵاخنین
ھەڵاڵ
ھەڵاڵخۆر
ھەڵامسان
ھەڵامەت
ھەڵامەتی
ھەڵاورد
ھەڵاوردن
ھەڵاوسان
ھەڵاوێز
ھەڵبرواندن
ھەڵبزڕکان
ھەڵبزڕکاو
ھەڵبڕین
ھەڵبژار
ھەڵبژاردن
ھەڵبژاردە
ھەڵبژێر
ھەڵبژێڕاو
ھەڵبەز
ھەڵبەست
ھەڵبەستراو
ھەڵبەستن
ھەڵبەستە
ھەڵپاچراو
ھەڵپاچین
ھەڵپچڕان
ھەڵپچڕاو
ھەڵپچڕین
ھەڵپرووزان
ھەڵپرووزاندن
ھەڵپرووزاو
ھەڵپرووکاو
ھەڵپڕووکان
ھەڵپڕووکاندن
ھەڵپژان
ھەڵپە
ھەڵپەڕاندن
ھەڵپەڕکێ
ھەڵپەڕین
ھەڵپەساردن
ھەڵپەساڕاو
ھەڵپەنمان
ھەڵپێچ
ھەڵپێچان
ھەڵپێچراو
ھەڵترووشکان
ھەڵتڕین
ھەڵتڵیشان
ھەڵتڵیشاندن
ھەڵتڵیشاو
ھەڵتەکان
ھەڵتەکاندن
ھەڵتەکیو
ھەڵتووڕاندن
ھەڵتۆقین
ھەڵتیزاندن
ھەڵچنراو
ھەڵچنین
ھەڵچەقین
ھەڵچوون
ھەڵخران
ھەڵخستن
ھەڵخلیسکان
ھەڵخلیسکاندن
ھەڵخەڵەتان
ھەڵخەڵەتاندن
ھەڵخەڵەتاو
ھەڵخەڵەتێو
ھەڵخوێندن
ھەڵدان
ھەڵدانەوە
ھەڵدرووراو
ھەڵدروون
ھەڵدڕان
ھەڵدڕاو
ھەڵدڕین
ھەڵدێران
ھەڵزڵەپین
ھەڵزڵەپیو
ھەڵڕژان
ھەڵڕژراو
ھەڵڕشتن
ھەڵژمار
ھەڵژماردن
ھەڵژمێڕاو
ھەڵسان
ھەڵسان و کەوتن
ھەڵساندن
ھەڵسانەوە
ھەڵساو
ھەڵسەنگاندن
ھەڵسەنگێنەر
ھەڵسووڕان
ھەڵسووڕاندن
ھەڵسووڕاو
ھەڵسووڕێنەر
ھەڵسووکەوت
ھەڵشاخین
ھەڵشێلان
ھەڵفریواندن
ھەڵفڕاندن
ھەڵفڕین
ھەڵفلیقان
ھەڵفلیقاندن
ھەڵفلیقاو
ھەڵقرچان
ھەڵقورتاندن
ھەڵقوڕاندن
ھەڵکالین
ھەڵکراو
ھەڵکزراندن
ھەڵکڕان
ھەڵکڕاندن
ھەڵکڕاو
ھەڵکشان
ھەڵکشە
ھەڵکەندن
ھەڵکەنران
ھەڵکەنراو
ھەڵکەوت
ھەڵکوڵین
ھەڵکۆ
ھەڵکۆڵراو
ھەڵکێش
ھەڵکێشان
ھەڵکێشراو
ھەڵگرتن
ھەڵگڵۆفتن
ھەڵگەڕان
ھەڵگەڕانەوە
ھەڵگوشین
ھەڵگیران
ھەڵگیرسان
ھەڵگیرساندن
ھەڵلا
ھەڵلووشین
ھەڵم
ھەڵمات
ھەڵماتێن
ھەڵماڵران
ھەڵماڵراو
ھەڵماڵین
ھەڵمان
ھەڵمژین
ھەڵمەت
ھەڵمەتجاڕ
ھەڵمەقۆ
ھەڵمیزان
ھەڵنان
ھەڵنیشتن
ھەڵھاتن
ھەڵھێنان
ھەڵھێنانەوە
ھەڵھێنجان
ھەڵھێنجراو
ھەڵھێنراو
ھەڵھێنگە
ھەڵھێنەر
ھەڵە
ھەڵەت
ھەڵەخەرج
ھەڵەداوان
ھەڵەشە
ھەڵەشەیی
ھەڵەنگووتن
ھەڵەھەڵ
ھەڵەوەڕ
ھەڵواسران
ھەڵواسراو
ھەڵواسین
ھەڵوەران
ھەڵوەراندن
ھەڵوەشان
ھەڵوەشاندن
ھەڵوەشاو
ھەڵوەشێنراو
ھەڵووتن
ھەڵووژە
ھەڵووژەرەشە
ھەڵۆ
ھەڵۆڵ
ھەڵیز
ھەماز
ھەماڵ
ھەمام
ھەمان
ھەمان کات
ھەمایەڵ
ھەمشین
ھەمەلایەنە
ھەموار
ھەموو
ھەمووپرسی
ھەموووانی
ھەموویی
ھەمیشە
ھەمیشەیی
ھەن
ھەنار
ھەناردە
ھەناسەبڕکێ
ھەناسەسارد
ھەناسەسوار
ھەناسەوواری
ھەناو
ھەند
ھەنداز
ھەندە
ھەندەر
ھەندەران
ھەندەرھۆ
ھەنسک
ھەنسک ھەڵدان
ھەنگ
ھەنگامە
ھەنگاو
ھەنگاوھاویشتن
ھەنگدان
ھەنگڵ
ھەنگەشەلێ
ھەنەزا
ھەنووکەیی
ھەنوون
ھەو
ھەوار
ھەوارگە
ھەواری
ھەواڵگوزاری
ھەواڵە
ھەواڵە بە گەواڵە
ھەواندنەوە
ھەوانەوە
ھەوایی
ھەوت
ھەوتە
ھەوتەوانە
ھەوتیر
ھەوجاڕ
ھەوجۆش
ھەودا
ھەوراز
ھەوراز و نشێو
ھەورەباڵا
ھەورەتریشقە
ھەوریس
ھەوز
ھەوزانە
ھەوسار
ھەوسەڵە
ھەوەس
ھەوەڵ
ھەویر
ھەوینج
ھەوێ
ھەوێن
ھەیا
ھەیبەت
ھەیتە
ھەیران
ھەیزەران
ھەیس
ھەیش
ھەیش پێ ھەڵگرتن
ھەیشۆ
ھەیشۆ لێ ھەڵگیران
ھەیف
ھەیوان
ھەیوانات
ھەیوانان
ھوجرە
ھورمز
ھورمەت
ھوزەیران
ھوزوور
ھوڕەو
ھوژە
ھوشتر
ھوکمدار
ھولھولی
ھولە
ھولەسێ
ھومەڵخەزا
ھونەر
ھونەرگا
ھونەرمەند
ھونەرمەندانە
ھونەرە جوانەکان
ھونەروەر
ھوو
ھووت
ھووردە
ھووردەبینی
ھووڕ
ھووشە
ھووشەکار
ھووھا
ھووھووکەرە
ھۆجەنە
ھۆدار
ھۆدە
ھۆرتە
ھۆردوو
ھۆز
ھۆزان
ھۆزانی
ھۆزکی
ھۆڕ
ھۆڕن
ھۆڕە
ھۆشبڕ
ھۆشمەند
ھۆشمەندی
ھۆشیار
ھۆشیارانە
ھۆشیاری
ھۆکار
ھۆکڵ
ھۆگر
ھۆل
ھۆن
ھۆنەر
ھۆو
ھی
ھیچ
ھیچی
ھیدایەت
ھیر
ھیز
ھیزانە
ھیزە
ھیزەڵ
ھیزێتی
ھیساب
ھیکمەت
ھیلاک
ھیلاندن
ھیمەت
ھیوابڕاو
ھیوادار
ھێ
ھێدز
ھێدی
ھێرۆ
ھێز
ھێزا
ھێزم
ھێشتا
ھێشتن
ھێشخان
ھێشوو
ھێل
ھێلانە
ھێلز
ھێلکە
ھێلکەورۆن
ھێلکەیی
ھێلم
ھێلینج
ھێڵ
ھێڵان
ھێڵکاری
ھێڵی ئاسنی
ھێمایی
ھێمن
ھێمنی
ھێنان
ھێنانەوە
ھێواش
ھێواشکار
ھێواشی
ھێور
ھێورانە
ھێوەر
ھێوەرزا
ھێوەرژن
ھێویری
و مەتیو
وتار
وەستاندن
یارمەتی
یاسا
8zfzdrhgt62byxo8sahkka47pzkvvym
6342346
6342345
2026-08-25T08:24:37Z
Şêr
1103
6342346
wikitext
text/x-wiki
ئابروو
ئابۆر
ئاپتەر
ئاتەش
ئاخاوتن
ئاخر
ئاخلێف
ئاخوون
ئاخێو
ئادەی!
ئاراستە
ئارمووش
ئارەق
ئاژاڵ
ئاژاوە
ئاسایی
ئاساییش
ئاستەم
ئاسرمە
ئاسەوار
ئاسوودە
ئاسوون
ئاسۆک
ئاسیم
ئاسیو
ئاشاخە
ئاشپەزخانە
ئاشت
ئاشچی
ئاشخانە
ئاشنا
ئافرەت
ئافەریدە
ئاقل
ئاکار
ئاکام
ئال
ئالف
ئاڵتوون
ئاڵووگۆز
ئاڵووگۆڕ
ئاڵۆز
ئام
ئامادە
ئامار
ئاماژ
ئاماسان
ئامان!
ئامراز
ئامسەر
ئامۆزا
ئامۆژن
ئامێر
ئاھەنگ
ئاوا
ئاواز
ئاواڵە
ئاور
ئاوزەنگی
ئاوساندن
ئاوھا
ئاوەدان
ئاوەدانی
ئاوەر
ئاوەرێژ
ئاوەژوو
ئاوەندیار
ئایا؟
ئایندە
ئایین
ئەبلەق
ئەبیاڵ
ئەبێ
ئەتک
ئەتوون
ئەجزاجی
ئەجندا
ئەدی!
ئەدی؟
ئەرامەندە
ئەرج
ئەرز
ئەرک
ئەرە
ئەزبۆلە
ئەژدەھا
ئەژماردن
ئەژمێر
ئەسپایی
ئەستوون
ئەستۆ
ئەستی
ئەستێرک
ئەستێوڵک
ئەسکری
ئەسکوێ
ئەسڵەن
ئەشک
ئەشکەنجە
ئەشیا
ئەفسانە
ئەفسەر
ئەقل
ئەگریجە
ئەلبەت
ئەلمۆدە
ئەڵقە
ئەڵماس
ئەڵێ
ئەمر
ئەمن
ئەموست
ئەمین
ئەنتیکە
ئەنجام
ئەنجن
ئەنجومەن
ئەندازیار
ئەنگاو
ئەنگوور
ئەنەم
ئەھلی
ئەوانیش
ئەوجا
ئەورەنگ
ئەوزار
ئەوسا
ئەوە
ئەوەش
ئەوەندە
ئەی
ئەی!
ئەینا؟
ئیجا
ئیختیار
ئیرھاب
ئیرھابی
ئیستیقالە
ئیش
ئیفتادە
ئیم
ئیمرۆ
ئیمسال
ئیمشەو
ئینجا
بابوسکە
بابۆڵە
باپیر
باتەک
باتوو
باتی
باچە
باخەڵ
بادیھەوا
بارام
بارست
بارشت
بارمتە
بارە
بازد
بازوو
بازۆر
باڕ
باستانناسی
باستورمە
بافت
باڵابستە
باڵباز
باڵۆڵە
باڵۆن
باڵێ
باڵێف
بانگردێن
بانوو
باھێر
باوک
باوەڕ
باوەقۆت
باوی
بایست
باینجان
باینجانی ڕەش
باینجانی سوور
بایەخ
بایی
بچەژ
بدوو
برادەر
براژن
برای ھاوپشت
بردەمەنی
برژانگ
برژاو
برسێتی
برغوو
برنگ
برووسکە
بریتی
بزاڤ
بزان
بزاوتن
بزگور
بزووتنەوە
بڕاو
بڕمێن
بڕوانامە
بڕۆ
بڕیار
بڕێک
بژاردن
بژاردە
بژوولک
بسکە
بشێوە
بلیمەت
بڵح
بڵند
بناغە
بنچە
بنچینەیی
بنکە
بنەما
بنەوش
بەتڵانە
بەحر
بەخت
بەخترەش
بەختەوەر
بەختیار
بەخش
بەخشەندە
بەخشەندەیی
بەد
بەدبەخت
بەدرەقە
بەر سەر کەسێکەوە لەوەڕان
بەرایی
بەردەوک
بەرز
بەرزە
بەرژەوەند
بەرژەوەندی
بەرف
بەرگ
بەرگری
بەرگە
بەرگەشتە
بەرە
بەرەزە
بەرەو
بەرەوژۆرکە
بەرەوژێرکە
بەروار
بەروودوا
بەزم
بەژ
بەستن
بەستە
بەسر
بەش
بەشدار
بەفر
بەق
بەقال
بەقلیسۆک
بەل
بەلاش
بەلایەن
بەلایەنی
بەلەز
بەلەم
بەڵا
بەڵام
بەڵگە
بەڵەد
بەڵەک
بەڵەیاندن
بەناوبانگ
بەند
بەندە
بەندەگی
بەنگ
بەنگکێش
بەھا
بەھارات
بەھانە
بەھر
بەھرە
بەھەشت
بەو
بەوان
بەیار
بەیارمەتیت
بەیاز
بەیاننامە
بەیانی
بەیچەڵ
بەیدەست
بەینەت
بەینەتدار
بوختان
بوخچە
بوودینە
بووردن
بووژاندن
بووسە
بووم
بووواردن
بووێژ
بوێر
بۆچوون
بۆران
بۆرچین
بۆردن
بۆق
بۆقەتە
بۆنە
بۆینباخ
بیانوو
بیانی
بیبن
بیبی
بیجامە
بیچم
بیراز
بیرتەسک
بیرە
بیرووڕا
بیستا
بیستراو
بیستن
بیستەر
بیستۆک
بیڤر
بێتار
بێجگە
بێخ
بێخبڕ
بێزار
بێژار
بێسەرووشوێن
بێشەڵان
بێگانە
بێگومان
بێلایەن
بێلایەنی
بێنەوبەرە
بێھیوا
بێوەژن
پابەند
پاتری
پاچ
پاداشت
پارێزگار
پاساو
پاسەوان
پانایی
پاندان
پایتەخت
پرد
پشکنین
پەتی
پەرواز
پەشیمان
پەلەمە
پەیامبەر
پەیامنێر
پۆتین
پۆل
پیشە
پیشەسازی
پێشکەوتن
پێو
تاقم
تكايه
تەپەدۆر
تەڤۆڵ
تەمەڵ
تەواو
توون
تۆپ
جەنگاڤەر
چابووک
چاپاڵێو
چاپخانە
چاپکراو
چاپەز
چاتۆڵە
چاچی
چادرگا
چارشێو
چارە
چارەک
چارەنووس
چارەنووسساز
چارەوا
چاسر
چاش
چاشتێنگا
چاشنی
چاکەت
چاڵ
چاڵاو
چاڵەچەقیلە
چاندەمەنی
چاندەنی
چاوباشقاڵ
چاوەڕوانکراو
چاوێشە
چایەر
چپک
چرادان
چراکەوان
چراورک
چرچ
چرکان
چرکاندن
چرکە
چرووسان
چرووساندن
چرووساو
چرووک
چزاندن
چڕان
چڕنووک
چڕووچاو
چش
چقڵ
چکان
چکاندن
چکۆک
چکۆڵە
چلە
چلۆکۆک
چلۆنھا
چلێس
چلێسی
چڵپاو
چڵک
چڵکاو
چڵم
چمک
چنگاڵ
چنۆک
چەپاڵ
چەپاڵە
چەپاو
چەپخوون
چەپڕۆ
چەپڕۆیی
چەپکەن
چەپلەر
چەپە
چەپەجاخ
چەپەر
چەپەڵۆک
چەپووچێڕ
چەپۆک
چەتاڵ
چەتڵەمەز
چەتە
چەتیانە
چەخماق
چەرخاو
چەرخەمە
چەرداخ
چەرداوەروو
چەردە
چەرس
چەرم
چەرمەسەرێ
چەرە
چەڕندە
چەڕین
چەسپ
چەش
چەشتن
چەشکە
چەشمە
چەشن
چەشنی
چەقاڵ
چەقان
چەقاندن
چەقەڵ
چەقۆساز
چەقۆکێش
چەکووش
چەلاک
چەلان
چەلاو
چەلیپا
چەڵەمە
چەمچە
چەمەر
چەمەری
چەمووچەم
چەمۆڵە
چەندایەتی
چەندەمین
چەندێتی
چەنە
چەنەباز
چەنەبازی
چەنەچەن
چەنەھەراش
چەو
چەواشە
چەوتانەوە
چەوتی
چەودار
چوارچێوە
چواردەور
چوارگۆشە
چوارلا
چوارەک
چوالە
چوختی
چوڕ
چوست
چۆپین
چۆدار
چۆڕان
چۆڕاندن
چۆش!
چۆق
چۆلاغ
چۆلک
چۆڵ
چۆنھا
چۆنیەک
چیتۆکە
چیل
چیلەچەپ
چیلەک
چیم
چێر
چێژ
چێژان
چێژیلە
چێش
چێشتخانە
چێشتکەر
چێشتن
چێو
چێوە
چێوین
خوێندن
خۆشەویست
خۆم
خۆمان
رۆژانە
ژار
ژاراو
ژاراوی
ژاربەر
ژارقەندە
ژارک
ژارووژەنگ
ژاژ
ژاژک
ژاڵە
ژاندار
ژانەسک
ژانەسەر
ژاوەژاو
ژلێواندن
ژلێوە
ژمار
ژماردن
ژمارکار
ژمارکۆ
ژمارەگر
ژمارەگری
ژمارەیی
ژمێرە
ژنانە
ژنانی
ژنەشا
ژنێتی
ژەقنەبووت
ژەک
ژەمک
ژەندن
ژەنگاڵی
ژەنگاوی
ژەھری ھەڵاخنین
ژووان
ژووانگا
ژووران
ژوورەوە
ژوورۆچکە
ژیار
ژیاری
ژیانەوە
ژیانی
ژیرانە
ژیربێژ
ژیربێژانە
ژیرکەلە
ژیری
ژینامە
ژینداری
ژیھاتن
ژیوار
ژێر
ژێربەران
ژێرپیاڵە
ژێرپێ
ژێرتیپ
ژێرچەپۆکە
ژێردەست
ژێردەستی
ژێرزەمین
ژێرزەمینی
ژێرسەر
ژێرکەنارە
ژێرەوە
ژێرەوەنان
ژێروو
ژێرووزەبەر
سەنگەر
سەنیا
سوپا
شتن
فافۆن
فاقە
فاک
فاڵ
فاڵ گرتنەوە
فاما
فامیدە
فامین
فانۆس
فایل
فترە
فتوا
فتیلە
فراژان
فراژاندن
فراژی
فراژیوەر
فراوانی
فرتەنە
فرزەند
فرزەند ھێنانەوە
فرستادە
فرشتەنگ
فرە
فرەایینی
فرەبێژ
فرەز
فرەنەتەوەیی
فرەھزبایی
فرەھزبی
فرەیی
فرۆشتنەوە
فرۆشراو
فریز
فریو
فریواندن
فریوباز
فریوخۆر
فزە
فڕفڕە
فڕفڕۆکە
فڕفینگ
فڕکان
فڕگە
فڕن
فڕندە
فڕنک
فڕووج
فڕووفێڵ
فڕوون
فڕۆکەنەھێڵ
فڕۆکەوان
فڕیشتە
فڕین
فڕێ
فڕێدراو
فس
فسکە
فسکەفسک
فشقیات
فشەکەر
فشەگاڵتە
فلیقاندن
فلیقاو
فڵان
فڵت
فڵتاندن
فڵتەدەمە
فڵیتە
فم
فنددان
فەتار
فەتار فەتار
فەتارەت
فەتان
فەخفووری
فەرامۆش
فەرامۆشی
فەرتووت
فەرخی
فەردە
فەرز
فەرزین
فەرق
فەرکار
فەرکاندن
فەرکانە
فەرمان
فەرمانبەر
فەرمانڕەوا
فەرمانڕەوایی
فەرمانگێڕی
فەرمانی
فەرمایشت
فەرموو
فەرموون
فەرەھ
فەروار
فەروو
فەریک
فەڕاش
فەڕاقە
فەڕدار
فەسڵ
فەقیر
فەقێ
فەکڵە
فەلسەفە
فەلە
فەلەسووف
فەن
فەنا
فەوتان
فەوتاندن
فەوتاو
فوو
فوودراو
فوورھە
فیتەفیت
فیچقە
فیدا
فیدایی
فیرست
فیز
فیزار
فیزن
فیڕکە
فیڕۆ
فیسان
فیسەڵ
فیش
فیشاڵ
فیشەفیش
فیعل
فیک
فیکە
فیکەفیک
فێدار
فێر
فێربوو
فێردار
فێرداری
فێرگە
فێسان
فێڵ
فێڵباز
فێڵووفەرەج
فێنک
قردێلە
قرقێنە
قنگ
قەبەیی
قەتران
قەساب
قەسابخانە
قەشەنگ
قەنەفە
قەول
قەیران
قەیرە
قەیناکە
قوپان
قوپاو
قوربانی
قولاپ
قۆپچە
قۆخ
قۆرخ
قۆقز
کابان
کابرا
کابە
کابینە
کاپۆڵ
کات
کاتپێو
کاتەوکات
کاچ
کاخەز
کاخەزدار
کادان
کارا
کاراسک
کاراشنا
کاراشنایی
کاربرا
کاربرایەتی
کاربڕ
کاربەدەستی
کاربین
کارتە
کارخانە
کاردانەوە
کاردیتوو
کارزان
کارزانی
کارژۆلە
کارساز
کارکردە
کارکەر
کارکەنار
کارکەناری
کارگە
کارگەر
کارگوزار
کارگوزاری
کارگێڕ
کارگێڕی
کارنامە
کارنیارنامە
کارھاتوو
کارەبا
کارەز
کارەزاو
کارەزکەن
کارەسات
کارەکەر
کاروانچی
کاروانکەر
کاروانکوژ
کاروانی
کارووبار
کارووس
کاری
کاریگەر
کاژاو
کاژەڵاخ
کاسب
کاسبی
کاسپ
کاستی
کاسی
کاش
کاشانە
کاشە
کاشی
کاف
کاک
کاکڵ
کاکە
کاکەلێ
کاکەیی
کاکۆ
کاکیبەکاکی
کالان
کالە
کالی
کالیار
کاڵا
کاڵات
کاڵەک
کاڵەمستە
کاڵی
کاماخ
کامار
کامپ
کامەتا
کامەرانی
کان
کاناو
کانزا
کانزایی
کانوون
کانیاو
کانیبەردینە
کانیلە
کانیەدرۆزنە
کاھوو
کاو
کاوڕ
کاوش
کاول
کاویر
کاوێژ
کپەنە
کتک
کتکنەوتینە
کتکی
کتووپڕ
کتێبباز
کتێبەڤان
کچانە
کچکۆڵە
کچنی
کچەتیو
کچەزا
کخ
کراس
کراو
کرتناک
کرداری
کرداری تێپەر
کرداری تێنەپەر
کرداری لێکدراو
کردە
کردەکار
کردەگار
کرسپ
کرمدڵ
کرۆت
کرۆسک
کرۆشتن
کرۆک
کریڤ
کرێ
کرێبار
کرێکاری
کز
کزاندنەوە
کزانەوە
کزر
کزۆڵە
کزی
کڕکڕاگە
کڕکەوتوو
کڕە
کڕەک
کڕووزانەوە
کڕووزە
کڕووھوڕ
کڕیار
کڕێشاوی
کڕێنە
کسپ
کسپووکۆ
کسسە
کشان
کشت
کشتکار
کشتگەھ
کشتەک
کشوومات
کشووماتی
کفرباز
کفندڕ
کلت
کلتوور
کلچان
کلچێوک
کلدان
کلدوومان
کلەر
کلیل
کلیلە
کلیم
کڵ
کڵاش
کڵاشچن
کڵاواسن
کڵاوزرێ
کڵاوقژ
کڵاونە
کڵپە
کڵپە لێ ھەڵسان
کڵپووھووڕ
کڵفت
کڵۆ
کڵۆر
کڵۆش
کڵۆڵ
کڵۆڵی
کڵێس
کڵێسمان
کڵێشە
کنگخشکێ
کنگخلیسکێ
کنگدەر
کنگر
کنە
کنەکار
کنیواڵ
کنێر
کەباب
کەبات
کەبار
کەپرۆکە
کەپەنەک
کەت
کەتان
کەتانە
کەتانی
کەتن
کەتە
کەتوو
کەتیرە
کەچە
کەچەڵ
کەچەڵی
کەرانباوکگاو
کەرانە
کەرپەسە
کەرپیاو
کەرت
کەرتکراو
کەرتە
کەرتووپەرت
کەرتی
کەردڕ
کەرسەگ
کەرکە
کەرکوژ
کەرگەز
کەرھەنگ
کەرە
کەرەجی
کەرەدێز
کەرەسە
کەرەکی
کەرەکێوی
کەرەنتوو
کەرەوز
کەرووبار
کەرۆکە
کەرێتی
کەزاخە
کەزی
کەڕ
کەڕەت
کەڕەتی
کەڕەکۆنتێ
کەڕەنسۆ
کەڕەواڵە
کەڕوو
کەڕوو ھێڵھێنان
کەڕووواوی
کەڕی
کەژاوە
کەژماڵ
کەسانە
کەستەک
کەسک
کەسکووسۆر
کەسکوون
کەسکی
کەسنەدار
کەسنەدیو
کەسیرە
کەش
کەشاکەش
کەشتیگەل
کەشتیوان
کەشتیوانی
کەشخە
کەشزان
کەشزانی
کەشک
کەشکە
کەشکەلان
کەشکەلانی فەلەک
کەشمەکەشم
کەشە
کەشەنگ
کەشووفش
کەشیش
کەشیە
کەف
کەفارەت
کەفالەت
کەفاو
کەفووکۆڵ
کەفیل
کەلا
کەلار
کەلارە
کەلتوور
کەلخانە
کەلە
کەلەپەر
کەلەپوور
کەلەپووری
کەلەتەزێن
کەلەشەق
کەلەکوچ
کەلەلا
کەلەم
کەلواز
کەلووپەل
کەلووکۆم
کەلێن
کەڵام
کەڵان
کەڵب
کەڵەس
کەڵەک
کەڵەکباز
کەڵەکچی
کەڵەگەت
کەڵەوێ
کەڵووڕی
کەڵۆس
کەم کەمە
کەماڵ
کەمان
کەمانچەژەن
کەمایەتی
کەمایەسی
کەمبیر
کەمتەرخەمی
کەمتیار
کەمتین
کەمچیکڵدانە
کەمدەست
کەمدوو
کەمڕوو
کەمساڵ
کەمشیر
کەمناو
کەمە
کەمەبەند
کەمەر
کەمەربەستی
کەمەرچین
کەمەردار
کەمەرەیی
کەمەری زەوی
کەمەکێک
کەمەیی
کەمووکووڕی
کەمۆ
کەمۆکار
کەمۆکاری
کەمۆیار
کەمۆیاری
کەمی
کەنار
کەناراو
کەنارگر
کەنارگری
کەنارەیی
کەنتۆر
کەند
کەند و کۆسپ
کەنداڵ
کەنداو
کەندەک
کەندەکار
کەندەڵان
کەنزەک
کەنەفت
کەنەفتی
کەنیچە
کەنیلێ
کەھلان
کەو ئڤ
کەوا
کەوالە
کەوان
کەوانکۆشە
کەوانە
کەوباز
کەوبازی
کەوباڕ
کەوبەدار
کەوتوو
کەوچک
کەوداو
کەودەن
کەورک
کەوژ
کەوژین
کەوشەک
کەوشەکەن
کەوشەکۆن
کەوگیر
کەولۆس
کەومار
کەوە
کەوەر
کەوۆت
کەوێڵ
کەی
کەیبانوو
کەیس
کەیل
کەیلان
کەینووبەین
کەیوان
کوارەنگ
کوتان
کوتووپڕ
کوتوومت
کوچوولە
کودەڵە
کورتان
کورتاندروو
کورتبڕ
کورتبڕی
کورتبین
کورتبینی
کورتم
کورتە
کورتەباڵا
کورتەبنە
کورتەک
کورتی
کورتیلە
کوردانە
کوردایەتی
کوردپەروەر
کوردستانی
کوردشناس
کوردکوژە
کوردناسی
کوردھەز
کوردەواری
کوردیاخێو
کوردیزانی
کوردیزمان
کورکاندن
کورەک
کوزان
کوڕ
کوڕانە
کوڕکوڕە
کوڕگەل
کوڕنووش
کوڕە
کوڕەزا
کوڕەزازا
کوڕێتی
کوژاندنەوە
کوژران
کوژراو
کوشتار
کوشتبەندان
کوشتن
کوشتەرا
کوشندە
کوفار
کولاف
کولاندنەوە
کولانەوە
کولپ
کولخان
کولەپاچ
کولەمەرگی
کولیچە
کوڵاو
کوڵک
کوڵکوڵە
کوڵەبنە
کوڵەبەس
کوڵەپێچ
کوڵەنانی
کوڵەنجە
کوڵەھەسار
کوڵۆت
کوڵۆک
کونار
کوناودەر
کونبڕ
کونتیلە
کونجرە
کونجی
کونجێن
کونچک
کونزەین
کونکراو
کونکەرە
کونەباجە
کونەبەبوو
کونیلە
کونیلەدار
کوو
کووپ
کووپە
کووپەڵە
کووچە
کوور
کوورە
کووز
کووکەلە
کووکوو
کووکووکەرە
کوونی
کوێخا
کوێخایەتی
کوێرانە
کوێراو
کوێردەرە
کوێرەدێ
کوێرەڕێ
کوێرەشەقام
کوێرەکانی
کوێرەمار
کوێرەمووشە
کوێرەوەری
کوێری
کوێڕا
کوێستانی
کوێلە
کوێلەدار
کوێلەداری
کوێلەیی
کوێندەری
کوێوە
کۆ
کۆبەند
کۆبوونەوە
کۆپارە
کۆت
کۆتان
کۆتایی
کۆتایی ١یی پێ
کۆتەرە
کۆجەڵە
کۆچ
کۆچاوکۆچ
کۆچکەر
کۆچەری
کۆچەرێتی
کۆچەک
کۆچەکە
کۆچی
کۆچی دوایی
کۆخ
کۆخوازی
کۆد
کۆرپەلە
کۆز
کۆزانین
کۆزمان
کۆزە
کۆزەرە
کۆڕگە
کۆژە
کۆژۆ
کۆسپ
کۆسپایی
کۆستە
کۆستەوەوی
کۆسە
کۆشان
کۆشش
کۆشیار
کۆفرۆش
کۆفرۆشی
کۆڤان
کۆکردنەوە
کۆکەکۆک
کۆکین
کۆکێتی
کۆلک
کۆلیسک
کۆڵ
کۆڵارە
کۆڵان
کۆڵاندۆز
کۆڵانکوت
کۆڵراو
کۆڵکێش
کۆڵگێڕ
کۆڵنج
کۆڵنجان
کۆڵنگە
کۆڵنەدەر
کۆڵھەڵگر
کۆڵە
کۆڵەر
کۆڵەوار
کۆڵوو
کۆڵیت
کۆڵین
کۆڵینەوە
کۆم
کۆما
کۆماری
کۆماوە
کۆمفرۆش
کۆمفرۆشی
کۆمەک
کۆمەکی
کۆمەڵ
کۆمەڵایەتی
کۆمەڵزان
کۆمەڵزانی
کۆمەڵە
کۆمی
کۆنە
کۆنەباو
کۆنەپەرست
کۆنەپەرستی
کۆنەپۆش
کۆنەساڵ
کۆنەفرۆش
کۆنی
کۆنینە
کیتەڵە
کیسەڵ
کیشوەر
کیشوەربڕ
کیشوەری
کیوار
کێ
کێچ
کێچاوی
کێرزل
کێرزلی
کێڕ
کێش
کێشان
کێشانەوە
کێشدار
کێشران
کێشراو
کێشمان
کێشمەکێش
کێشە
کێل
کێڵراو
کێوی ئاگرپرژێن
کێویلە
گابۆڕ
گاراندن
گارەگار
گازر
گازندە
گازندۆک
گازەرا
گاڕس
گاسن
گاف
گاکێوی
گاگەل
گاگۆڵکێ
گاگێرە
گالیسکە
گاڵ
گاڵتە
گاڵتەبێژ
گاڵتەجاڕ
گاڵتەچی
گاڵتەگێ
گاڵە
گاڵەکوت
گاڵۆک
گامەڵاس
گامێش
گان
گاناوی
گانەک
گاوارە
گاووس
گاووگۆتاڵ
گایلکە
گایی
گرتنەوە
گرتەک
گرتوو
گرتووخانە
گردە
گردەبا
گردەپیاو
گردەڵە
گردۆکۆ
گردۆڵک
گرژی
گرس
گرفت
گرفتە
گرمەژنە
گرمۆڵە
گرمۆڵەیی
گرنگی
گرەو
گروون
گرۆ
گریشمە
گرین
گرینۆک
گرێدراو
گرێکوێرە
گزیر
گڕاندن
گڕگر
گڕگرتوو
گڕووگاڵ
گڕوێ
گڕوێیی
گڕۆز
گژەبا
گشتگر
گشتی
گفتووگۆ
گڤی
گلار
گلارە
گلاو
گلەبان
گلەخان
گلەسپی
گلەیی
گلۆفتن
گلین
گلێجە
گلێر
گڵۆپ
گڵۆڵە
گندۆر
گەپەگەپ
گەچ
گەدا
گەدایی
گەدە
گەر
گەردان
گەردانە
گەرداو
گەردنکەچ
گەردنکەش
گەردنکێل
گەردەش
گەردووخول
گەردووگەڵا
گەردوون
گەرم
گەرما
گەرماپێو
گەرماجمان
گەرماو
گەرماوگەرم
گەرمایی
گەرمبردوو
گەرمەگلێ
گەرمی
گەرمیان
گەرمیانی
گەرمیپێو
گەرمێتی
گەرەک
گەرەکی
گەروانکە
گەرووێش
گەزاف
گەزگەزان
گەزندە
گەزنە
گەزەن
گەزین
گەڕان
گەڕاندن
گەڕاندنەوە
گەڕانەوە
گەڕەلاوژە
گەڕۆک
گەڕۆڵ
گەڕۆڵە!
گەڕی
گەستن
گەسکە
گەش
گەشایشت
گەشبین
گەشبینی
گەشتنامە
گەشتوەر
گەشتووگوزار
گەشتیار
گەشکە
گەشکەدار
گەشەکردوو
گەشی
گەف
گەفووگوڕ
گەفین
گەل
گەلال
گەلاوێژ
گەلھۆ
گەلەخان
گەلەراوێژی
گەلۆر
گەڵادار
گەڵارێزان
گەڵاڕن
گەڵاکوتک
گەڵاڵە
گەڵاوگەڵ
گەڵاوەر
گەمارۆ
گەماڵ
گەموورە
گەناندن
گەندەڵ
گەندووگوو
گەنمگردی
گەنمە
گەنیو
گەواد
گەوار
گەواڵ
گەواھ
گەواھی
گەورەیی
گەوز
گەولاز
گەوھەر
گەوھەربەند
گەوھەردار
گەوھەرکار
گەوە
گەوەری
گەوەکار
گەوون
گەی
گەیاندن
گەیشتگە
گەیشتوو
گەیگر
گەیین
گودلە
گوربز
گوربە
گورج
گورد
گورزە
گورزەتیشک
گورزەھۆن
گورگانگاز
گوزارە
گوزارەدار
گوزارەیی
گوزەریو
گوڕ
گوڕە
گوڕەشە
گوڕەشەکار
گوڕەووبڕە
گوژم
گوستاخ
گوستاخی
گوشار
گوشران
گوشراو
گوشراوە
گول
گولاج
گولی
گوڵ
گوڵاڵە
گوڵان
گوڵاو
گوڵاوپژێن
گوڵاوی
گوڵباران
گوڵبانگ
گوڵبەدەم
گوڵدار
گوڵدان
گوڵرەنگ
گوڵڕێزان
گوڵشەن
گوڵگوڵی
گوڵمە
گوڵمێخ
گوڵە
گوڵەباخ
گوڵەباران
گوڵەپرێژ
گوڵەچاوێشە
گوڵەندام
گوڵونکە
گوڵی
گوم
گومانبار
گومانرەش
گومانی
گومرک
گومڕاکەر
گومناو
گومی
گوناھ
گوناھبار
گونجان
گونجاندن
گونجاو
گونداری
گوندۆرە
گووار
گووارە
گووان
گووبۆق
گووپ
گووپن
گووران
گووواوی
گووێ
گووێچکە
گوێ
گوێبەل
گوێدێر
گوێرە
گوێرەکە
گوێزرنگانەوە
گوێزەر
گوێزی فەریک
گوێزی کوێر
گوێڕەپ
گوێسووک
گوێسووکی
گوێقورس
گوێقوڵاخ
گوێکپ
گوێگر
گوێگران
گوێلەمست
گوێنی
گۆتاڵ
گۆترە
گۆتن
گۆج
گۆجی
گۆران
گۆرین
گۆزەر
گۆزەڵە
گۆڕان
گۆڕاندن
گۆڕاندنەوە
گۆڕانکار
گۆڕانکاری
گۆڕستان
گۆڕین
گۆڕینەوە
گۆساڵە
گۆشپارە
گۆشتاو
گۆشتخۆر
گۆشتن
گۆشتی کاڵ
گۆشەدار
گۆشەگیری
گۆشەنیگا
گۆکار
گۆگرد
گۆڵە
گۆم
گۆمەڵتە
گۆنە
گۆنیە
گۆییژ
گیایی
گیرا
گیران
گیراو
گیراوە
گیراوێ
گیرسانەوە
گیرفانبڕ
گیرفانی باخەڵ
گیرکار
گیرووگرفت
گیرۆ
گیرۆبەند
گیرۆدار
گیز
گیزاندن
گیڕەگیڕ
گیشە
گیڤ
گییانسەخت
گێپەڕە
گێتاڵ
گێرە
گێرەووکێشە
گێزەر
گێڕان
گێژاو
گێژوووێژ
گێسوو
گێلاس
گێلۆکە
گێلی
گێوە
لا چوون
لابابەت
لابار
لابراو
لابەرھەم
لاپاڵ
لاپچین
لاپەڕە
لات و لوات
لات و لوار
لاترقەوچ
لاتەڕاف
لاتوخم
لاجانگ
لاجیوەرد
لاچوو
لادێیی
لارەلار
لارەولار
لاڕەو
لاڕێ
لاژگ
لاژگی
لاساری
لاسایی
لاساییانە
لاساییکەر
لاسک
لاسەنگ
لاسەنگی
لاشان
لاشەڕ
لاشەڕی
لاف و گەزاف
لاقردی
لاک
لاکاری
لاکۆڵان
لاکێش
لاکێشە
لاگیر
لاگیری
لالخاوە
لالە
لالەنگی
لاڵ
لاڵانەوە
لاڵە
لاڵەپەتە
لاڵوپاڵ
لاڵی
لامئەلیفلا
لامل
لامی قەڵەو
لانەواز
لانەوازی
لاەنجام
لاواز
لاوازی
لاوانەوە
لاوچاک
لاورگە
لاوژە
لاوک
لاولاو
لاوە
لاوێتی
لای
لایەن
لایەنگر
لایەنگری
لچەستوور
لچوولێو
لرفەلرف
لک
لکاوە
لکێنراو
لمۆز
لمین
لنگەلەرێ
لە
لەباری
لەبز
لەبلەبی
لەبەرچاڤ
لەپ
لەپاشەجێماو
لەپالەپ
لەپماڵ
لەپەوڕوو
لەپی
لەپی دەست
لەتگەر
لەتووپەت
لەچەر
لەچەری
لەخشتەبەر
لەخەم
لەخەمڕەخسیو
لەخواترس
لەخواترسی
لەخوانەترس
لەخوانەترسی
لەران
لەراندن
لەرانەوە
لەرز
لەرزان
لەرزاندن
لەرزۆک
لەز
لەزاندن
لەزپیو
لەزگێڕ
لەزگێڕی
لەزەت
لەزین
لەڕ
لەڕ و لاواز
لەڕوو
لەڕوویی
لەڕی
لەسەرخۆ
لەسەرخۆیی
لەسەرکەرەوە
لەش
لەشسووک
لەشقورس
لەشکر
لەشکرگا
لەشکرگێڕ
لەشکرگێڕی
لەشوولار
لەشی
لەعنەت
لەفاف
لەقان
لەقاندن
لەقە
لەقەب
لەقەکوت
لەقەلەق
لەقوولۆق
لەک
لەکە
لەکەدار
لەکەداری
لەکی
لەگژ
لەگەن
لەل
لەلە
لەلەیی
لەم
لەم جێگایە دا
لەم دیوەوە
لەمئەو بەر
لەمان
لەمانەوە
لەمپا
لەمپەر
لەنجین
لەنگەر
لەنگەرە
لەنگی
لەنگین
لەنگێزە
لەھیم
لەو
لەو پەڕ
لەو سەرەوە
لەوازە
لەواشە
لەوان
لەوچەلەوچ
لەوچەیی
لەوس
لەوساوە
لەوسن
لەوە بە دەر
لەوە بەو لاوە
لەوە پێش
لەوە دوا
لەوەڕ
لەوەڕگا
لەوەن
لەوێ
لەوێچ
لەوێڕا
لەوێوە
لوان
لواندن
لواو
لوڕ
لوڕستان
لوڕی
لووتبەرز
لووتبەرزی
لووتزل
لووتفش
لووتقوڵنگە
لووتە
لووتەلا
لووتەوانە
لوودە
لووزەو
لووس
لووسکە
لووسووپووس
لوول
لوولاق
لوولکراو
لوولە
لوولەیی
لوولێنە
لۆترەوان
لۆترەوانی
لۆتە
لۆتی
لۆتیێتی
لۆخان
لۆر
لۆرت
لۆرە
لۆری
لۆزەندەر
لۆقە
لۆک
لۆککراو
لۆکە
لۆلە
لۆلۆ
لۆمە
لۆنگ
لۆنە
لیان
لیپ
لیتاو
لیچاڵ
لیخن
لیر
لیژنە
لیژنەدار
لیستە
لیک
لیمە
لیمۆ
لیمۆنی
لیمۆیی
لینج
لینج و فینچ
لینجی
لیوا
لێ
لێ بووردن
لێ بێزران
لێ پڕ بوون
لێ تووژینەوە
لێ تێک چوونەوە
لێ چوونەوە
لێ خەفەتان
لێ خوڕین
لێ ڕاوەستان
لێ قەومان
لێ کۆڵینەوە
لێ گۆڕین
لێ نان
لێ نەگرتن
لێ ھاتن
لێ ھەڵبڕین
لێ ھەڵسان
لێ ھەڵکەوتن
لێ وە
لێ وەرگەڕانەوە
لێ وەستانەوە
لێ وەشانەوە
لێبووردن
لێبووردە
لێبووردوو
لێت
لێتان
لێچوو
لێچوونی
لێخوڕ
لێدوو
لێر
لێرە
لێرە بە دواوە
لێرەش
لێرەوار
لێزگ
لێزگە
لێژ
لێژاو
لێژی
لێسە
لێش
لێقەوماو
لێک
لێک بڕان
لێک بەربوونەوە
لێک ڕەوینەوە
لێکۆلینەوە
لێڵاو
لێڵایی
لێڵایی داھاتن
لێڵە
لێڵی
لێم
لێمان
لێھاتوو
لێواولێو
لێوڕێژ
لێوەدار
لێی
لێیان
مامۆژن
مامۆستا
ماوە
متمانە
مژۆک
ململانێ
مەترسی
مەرز
مەرکانە
مەزن
مەڕۆ
مەمک
میراتی
مێباز
ناخۆش
ناخۆشی
نازناو
نامیلکە
نانەواخانە
ناوازە
ناوخۆ
ناوک
ناوەندی
نزیک
نەبەرد
نەخشە
نەریت
نوشتانەوە
نۆش
نیشانە
نێردراو
نێوان
ھا
ھاتنە دی
ھاتنەوە
ھاتنەوە یاد
ھاتووچوو
ھاجی
ھاجیبادام
ھاجیبایەف
ھاجیرەش
ھاجیلەقلەق
ھار
ھار و ھاج
ھاروو
ھارووھوورت
ھاری
ھاریکار
ھاریکاری
ھازر
ھازری
ھاڕاو
ھاڕە
ھاڕین
ھاڕیە
ھاژ
ھاژاندن
ھاشا
ھاشووھووش
ھافز
ھاڤل
ھاکا
ھاکایی
ھاکم
ھاکمانە
ھاکمێتی
ھاکۆ
ھاڵ
ھاڵ و ئەھواڵ
ھاڵاو
ھاڵەت
ھاڵی
ھامار
ھامێز
ھان
ھانابەر
ھاندراو
ھاندەر
ھاوارکەر
ھاواری
ھاواھەنگی
ھاوبەش
ھاوبەند
ھاوبیر
ھاوپا
ھاوپایە
ھاوپرسی
ھاوپشت
ھاوپەیمان
ھاوتا
ھاوتەک
ھاوتەمەن
ھاوجۆت
ھاوجێ
ھاوچاخ
ھاوچاو
ھاوچاوی
ھاوچڕە
ھاوچەق
ھاوچەک
ھاوخاک
ھاوخەف
ھاوخوان
ھاودەرد
ھاودەست
ھاودین
ھاوراز
ھاوزگ
ھاوزمان
ھاوزۆم
ھاوڕێ
ھاوڕێتی
ھاوساز
ھاوساڵ
ھاوسامە
ھاوسنوور
ھاوسەدە
ھاوسەر
ھاوسەنگ
ھاوسەنگی
ھاوسوێند
ھاوسوێندی
ھاوشار
ھاوشان
ھاوشیرە
ھاوشێوە
ھاوکات
ھاوکار
ھاوکاری
ھاوکێش
ھاوکێشە
ھاولا
ھاوماڵ
ھاومل
ھاوناو
ھاونشین
ھاونەبەرد
ھاونۆرە
ھاوەن
ھاووڵات
ھاووڵاتی
ھاویشتن
ھاوینھەوار
ھاوێر
ھتد
ھزب
ھسێب
ھکوومەت
ھل
ھە
ھەب
ھەپروون
ھەپس
ھەپسخانە
ھەپەسان
ھەپەساندن
ھەپەساو
ھەپوو
ھەپین
ھەتا
ھەتا دوایی
ھەتا سەر
ھەتار
ھەتارەک:
ھەتاو
ھەترە
ھەتھەتۆکە
ھەتوان
ھەتیو
ھەتیوبار
ھەتیوخانە
ھەچولوور
ھەد
ھەدیس
ھەراج
ھەراس
ھەراسان
ھەرام
ھەرامخۆر
ھەرامە
ھەرجایی
ھەرد
ھەردەبیر
ھەردەگێڵ
ھەردوو
ھەرزاڵە
ھەرزان
ھەرزانبەھا
ھەرزانی
ھەرزە
ھەرزەبێژ
ھەرزەچەنە
ھەرزەکار
ھەرزەکارانە
ھەرزەکاری
ھەرزەیی
ھەرفی
ھەرگیز
ھەرگیزئاو ھەرگیز
ھەرگینە
ھەرلە
ھەرمێپشکوان
ھەرەس
ھەرەوەز
ھەروا
ھەری
ھەریف
ھەرێز
ھەرێم
ھەرێمی
ھەز
ھەز و ناھەز
ھەزارە
ھەزاریەک
ھەزبێلە
ھەزرەت
ھەزم
ھەڕا
ھەڕە
ھەڕەشە
ھەڕەشە و گوڕەشە
ھەڕەمە
ھەژار
ھەژاری
ھەژان
ھەژاندن
ھەژگ
ھەژەند
ھەژێنەر
ھەسار
ھەسان
ھەساوە
ھەستبەر
ھەستبەری
ھەستری
ھەستە
ھەستەوەر
ھەستەوەری
ھەستیار
ھەستیاری
ھەسیر
ھەسیرمەیان
ھەش
ھەشار
ھەشاردراو
ھەشبەسەر
ھەشتا
ھەشتالوو
ھەشتیەک
ھەشھەش
ھەشەری
ھەفت
ھەفتا
ھەفتانە
ھەفتە
ھەفتەیی
ھەڤاڵ
ھەڤدە
ھەڤکێشی
ھەقانی
ھەقایەت
ھەقدەست
ھەکیم
ھەگبە
ھەل
ھەلات
ھەلانە
ھەلاھەلا
ھەلک
ھەلھەلە
ھەلەقمەلەق
ھەلەکە
ھەلوومەرج
ھەلۆک
ھەڵاتوو
ھەڵاخنین
ھەڵاڵ
ھەڵاڵخۆر
ھەڵامسان
ھەڵامەت
ھەڵامەتی
ھەڵاورد
ھەڵاوردن
ھەڵاوسان
ھەڵاوێز
ھەڵبرواندن
ھەڵبزڕکان
ھەڵبزڕکاو
ھەڵبڕین
ھەڵبژار
ھەڵبژاردن
ھەڵبژاردە
ھەڵبژێر
ھەڵبژێڕاو
ھەڵبەز
ھەڵبەست
ھەڵبەستراو
ھەڵبەستن
ھەڵبەستە
ھەڵپاچراو
ھەڵپاچین
ھەڵپچڕان
ھەڵپچڕاو
ھەڵپچڕین
ھەڵپرووزان
ھەڵپرووزاندن
ھەڵپرووزاو
ھەڵپرووکاو
ھەڵپڕووکان
ھەڵپڕووکاندن
ھەڵپژان
ھەڵپە
ھەڵپەڕاندن
ھەڵپەڕکێ
ھەڵپەڕین
ھەڵپەساردن
ھەڵپەساڕاو
ھەڵپەنمان
ھەڵپێچ
ھەڵپێچان
ھەڵپێچراو
ھەڵترووشکان
ھەڵتڕین
ھەڵتڵیشان
ھەڵتڵیشاندن
ھەڵتڵیشاو
ھەڵتەکان
ھەڵتەکاندن
ھەڵتەکیو
ھەڵتووڕاندن
ھەڵتۆقین
ھەڵتیزاندن
ھەڵچنراو
ھەڵچنین
ھەڵچەقین
ھەڵچوون
ھەڵخران
ھەڵخستن
ھەڵخلیسکان
ھەڵخلیسکاندن
ھەڵخەڵەتان
ھەڵخەڵەتاندن
ھەڵخەڵەتاو
ھەڵخەڵەتێو
ھەڵخوێندن
ھەڵدان
ھەڵدانەوە
ھەڵدرووراو
ھەڵدروون
ھەڵدڕان
ھەڵدڕاو
ھەڵدڕین
ھەڵدێران
ھەڵزڵەپین
ھەڵزڵەپیو
ھەڵڕژان
ھەڵڕژراو
ھەڵڕشتن
ھەڵژمار
ھەڵژماردن
ھەڵژمێڕاو
ھەڵسان
ھەڵسان و کەوتن
ھەڵساندن
ھەڵسانەوە
ھەڵساو
ھەڵسەنگاندن
ھەڵسەنگێنەر
ھەڵسووڕان
ھەڵسووڕاندن
ھەڵسووڕاو
ھەڵسووڕێنەر
ھەڵسووکەوت
ھەڵشاخین
ھەڵشێلان
ھەڵفریواندن
ھەڵفڕاندن
ھەڵفڕین
ھەڵفلیقان
ھەڵفلیقاندن
ھەڵفلیقاو
ھەڵقرچان
ھەڵقورتاندن
ھەڵقوڕاندن
ھەڵکالین
ھەڵکراو
ھەڵکزراندن
ھەڵکڕان
ھەڵکڕاندن
ھەڵکڕاو
ھەڵکشان
ھەڵکشە
ھەڵکەندن
ھەڵکەنران
ھەڵکەنراو
ھەڵکەوت
ھەڵکوڵین
ھەڵکۆ
ھەڵکۆڵراو
ھەڵکێش
ھەڵکێشان
ھەڵکێشراو
ھەڵگرتن
ھەڵگڵۆفتن
ھەڵگەڕان
ھەڵگەڕانەوە
ھەڵگوشین
ھەڵگیران
ھەڵگیرسان
ھەڵگیرساندن
ھەڵلا
ھەڵلووشین
ھەڵم
ھەڵمات
ھەڵماتێن
ھەڵماڵران
ھەڵماڵراو
ھەڵماڵین
ھەڵمان
ھەڵمژین
ھەڵمەت
ھەڵمەتجاڕ
ھەڵمەقۆ
ھەڵمیزان
ھەڵنان
ھەڵنیشتن
ھەڵھاتن
ھەڵھێنان
ھەڵھێنانەوە
ھەڵھێنجان
ھەڵھێنجراو
ھەڵھێنراو
ھەڵھێنگە
ھەڵھێنەر
ھەڵە
ھەڵەت
ھەڵەخەرج
ھەڵەداوان
ھەڵەشە
ھەڵەشەیی
ھەڵەنگووتن
ھەڵەھەڵ
ھەڵەوەڕ
ھەڵواسران
ھەڵواسراو
ھەڵواسین
ھەڵوەران
ھەڵوەراندن
ھەڵوەشان
ھەڵوەشاندن
ھەڵوەشاو
ھەڵوەشێنراو
ھەڵووتن
ھەڵووژە
ھەڵووژەرەشە
ھەڵۆ
ھەڵۆڵ
ھەڵیز
ھەماز
ھەماڵ
ھەمام
ھەمان
ھەمان کات
ھەمایەڵ
ھەمشین
ھەمەلایەنە
ھەموار
ھەموو
ھەمووپرسی
ھەموووانی
ھەموویی
ھەمیشە
ھەمیشەیی
ھەن
ھەنار
ھەناردە
ھەناسەبڕکێ
ھەناسەسارد
ھەناسەسوار
ھەناسەوواری
ھەناو
ھەند
ھەنداز
ھەندە
ھەندەر
ھەندەران
ھەندەرھۆ
ھەنسک
ھەنسک ھەڵدان
ھەنگ
ھەنگامە
ھەنگاو
ھەنگاوھاویشتن
ھەنگدان
ھەنگڵ
ھەنگەشەلێ
ھەنەزا
ھەنووکەیی
ھەنوون
ھەو
ھەوار
ھەوارگە
ھەواری
ھەواڵگوزاری
ھەواڵە
ھەواڵە بە گەواڵە
ھەواندنەوە
ھەوانەوە
ھەوایی
ھەوت
ھەوتە
ھەوتەوانە
ھەوتیر
ھەوجاڕ
ھەوجۆش
ھەودا
ھەوراز
ھەوراز و نشێو
ھەورەباڵا
ھەورەتریشقە
ھەوریس
ھەوز
ھەوزانە
ھەوسار
ھەوسەڵە
ھەوەس
ھەوەڵ
ھەویر
ھەوینج
ھەوێ
ھەوێن
ھەیا
ھەیبەت
ھەیتە
ھەیران
ھەیزەران
ھەیس
ھەیش
ھەیش پێ ھەڵگرتن
ھەیشۆ
ھەیشۆ لێ ھەڵگیران
ھەیف
ھەیوان
ھەیوانات
ھەیوانان
ھوجرە
ھورمز
ھورمەت
ھوزەیران
ھوزوور
ھوڕەو
ھوژە
ھوشتر
ھوکمدار
ھولھولی
ھولە
ھولەسێ
ھومەڵخەزا
ھونەر
ھونەرگا
ھونەرمەند
ھونەرمەندانە
ھونەرە جوانەکان
ھونەروەر
ھوو
ھووت
ھووردە
ھووردەبینی
ھووڕ
ھووشە
ھووشەکار
ھووھا
ھووھووکەرە
ھۆجەنە
ھۆدار
ھۆدە
ھۆرتە
ھۆردوو
ھۆز
ھۆزان
ھۆزانی
ھۆزکی
ھۆڕ
ھۆڕن
ھۆڕە
ھۆشبڕ
ھۆشمەند
ھۆشمەندی
ھۆشیار
ھۆشیارانە
ھۆشیاری
ھۆکار
ھۆکڵ
ھۆگر
ھۆل
ھۆن
ھۆنەر
ھۆو
ھی
ھیچ
ھیچی
ھیدایەت
ھیر
ھیز
ھیزانە
ھیزە
ھیزەڵ
ھیزێتی
ھیساب
ھیکمەت
ھیلاک
ھیلاندن
ھیمەت
ھیوابڕاو
ھیوادار
ھێ
ھێدز
ھێدی
ھێرۆ
ھێز
ھێزا
ھێزم
ھێشتا
ھێشتن
ھێشخان
ھێشوو
ھێل
ھێلانە
ھێلز
ھێلکە
ھێلکەورۆن
ھێلکەیی
ھێلم
ھێلینج
ھێڵ
ھێڵان
ھێڵکاری
ھێڵی ئاسنی
ھێمایی
ھێمن
ھێمنی
ھێنان
ھێنانەوە
ھێواش
ھێواشکار
ھێواشی
ھێور
ھێورانە
ھێوەر
ھێوەرزا
ھێوەرژن
ھێویری
و مەتیو
وتار
وەستاندن
یارمەتی
یاسا
4pivox1ef0es4opno2zlv43kms3iedd
6342347
6342346
2026-08-25T08:28:34Z
Şêr
1103
6342347
wikitext
text/x-wiki
ئابروو
ئابۆر
ئاپتەر
ئاتەش
ئاخاوتن
ئاخر
ئاخلێف
ئاخوون
ئاخێو
ئادەی!
ئاراستە
ئارمووش
ئارەق
ئاژاڵ
ئاژاوە
ئاسایی
ئاساییش
ئاستەم
ئاسرمە
ئاسەوار
ئاسوودە
ئاسوون
ئاسۆک
ئاسیم
ئاسیو
ئاشاخە
ئاشپەزخانە
ئاشت
ئاشچی
ئاشخانە
ئاشنا
ئافرەت
ئافەریدە
ئاقل
ئاکار
ئاکام
ئال
ئالف
ئاڵتوون
ئاڵووگۆز
ئاڵووگۆڕ
ئاڵۆز
ئام
ئامادە
ئامار
ئاماژ
ئاماسان
ئامان!
ئامراز
ئامسەر
ئامۆزا
ئامۆژن
ئامێر
ئاھەنگ
ئاوا
ئاواز
ئاواڵە
ئاور
ئاوزەنگی
ئاوساندن
ئاوھا
ئاوەدان
ئاوەدانی
ئاوەر
ئاوەرێژ
ئاوەژوو
ئاوەندیار
ئایا؟
ئایندە
ئایین
ئەبلەق
ئەبیاڵ
ئەبێ
ئەتک
ئەتوون
ئەجزاجی
ئەجندا
ئەدی!
ئەدی؟
ئەرامەندە
ئەرج
ئەرز
ئەرک
ئەرە
ئەزبۆلە
ئەژدەھا
ئەژماردن
ئەژمێر
ئەسپایی
ئەستوون
ئەستۆ
ئەستی
ئەستێرک
ئەستێوڵک
ئەسکری
ئەسکوێ
ئەسڵەن
ئەشک
ئەشکەنجە
ئەشیا
ئەفسانە
ئەفسەر
ئەقل
ئەگریجە
ئەلبەت
ئەلمۆدە
ئەڵقە
ئەڵماس
ئەڵێ
ئەمر
ئەمن
ئەموست
ئەمین
ئەنتیکە
ئەنجام
ئەنجن
ئەنجومەن
ئەندازیار
ئەنگاو
ئەنگوور
ئەنەم
ئەھلی
ئەوانیش
ئەوجا
ئەورەنگ
ئەوزار
ئەوسا
ئەوە
ئەوەش
ئەوەندە
ئەی
ئەی!
ئەینا؟
ئیجا
ئیختیار
ئیرھاب
ئیرھابی
ئیستیقالە
ئیش
ئیفتادە
ئیم
ئیمرۆ
ئیمسال
ئیمشەو
ئینجا
بابوسکە
بابۆڵە
باپیر
باتەک
باتوو
باتی
باچە
باخەڵ
بادیھەوا
بارام
بارست
بارشت
بارمتە
بارە
بازد
بازوو
بازۆر
باڕ
باستانناسی
باستورمە
بافت
باڵابستە
باڵباز
باڵۆڵە
باڵۆن
باڵێ
باڵێف
بانگردێن
بانوو
باھێر
باوک
باوەڕ
باوەقۆت
باوی
بایست
باینجان
باینجانی ڕەش
باینجانی سوور
بایەخ
بایی
بچەژ
بدوو
برادەر
براژن
برای ھاوپشت
بردەمەنی
برژانگ
برژاو
برسێتی
برغوو
برنگ
برووسکە
بریتی
بزاڤ
بزان
بزاوتن
بزگور
بزووتنەوە
بڕاو
بڕمێن
بڕوانامە
بڕۆ
بڕیار
بڕێک
بژاردن
بژاردە
بژوولک
بسکە
بشێوە
بلیمەت
بڵح
بڵند
بناغە
بنچە
بنچینەیی
بنکە
بنەما
بنەوش
بەتڵانە
بەحر
بەخت
بەخترەش
بەختەوەر
بەختیار
بەخش
بەخشەندە
بەخشەندەیی
بەد
بەدبەخت
بەدرەقە
بەر سەر کەسێکەوە لەوەڕان
بەرایی
بەردەوک
بەرز
بەرزە
بەرژەوەند
بەرژەوەندی
بەرف
بەرگ
بەرگری
بەرگە
بەرگەشتە
بەرە
بەرەزە
بەرەو
بەرەوژۆرکە
بەرەوژێرکە
بەروار
بەروودوا
بەزم
بەژ
بەستن
بەستە
بەسر
بەش
بەشدار
بەفر
بەق
بەقال
بەقلیسۆک
بەل
بەلاش
بەلایەن
بەلایەنی
بەلەز
بەلەم
بەڵا
بەڵام
بەڵگە
بەڵەد
بەڵەک
بەڵەیاندن
بەناوبانگ
بەند
بەندە
بەندەگی
بەنگ
بەنگکێش
بەھا
بەھارات
بەھانە
بەھر
بەھرە
بەھەشت
بەو
بەوان
بەیار
بەیارمەتیت
بەیاز
بەیاننامە
بەیانی
بەیچەڵ
بەیدەست
بەینەت
بەینەتدار
بوختان
بوخچە
بوودینە
بووردن
بووژاندن
بووسە
بووم
بووواردن
بووێژ
بوێر
بۆچوون
بۆران
بۆرچین
بۆردن
بۆق
بۆقەتە
بۆنە
بۆینباخ
بیانوو
بیانی
بیبن
بیبی
بیجامە
بیچم
بیراز
بیرتەسک
بیرە
بیرووڕا
بیستا
بیستراو
بیستن
بیستەر
بیستۆک
بیڤر
بێتار
بێجگە
بێخ
بێخبڕ
بێزار
بێژار
بێسەرووشوێن
بێشەڵان
بێگانە
بێگومان
بێلایەن
بێلایەنی
بێنەوبەرە
بێھیوا
بێوەژن
پابەند
پاتری
پاچ
پاداشت
پارێزگار
پاساو
پاسەوان
پانایی
پاندان
پایتەخت
پرد
پشکنین
پەتی
پەرواز
پەشیمان
پەلەمە
پەیامبەر
پەیامنێر
پۆتین
پۆل
پیشە
پیشەسازی
پێشکەوتن
پێو
تاقم
تكايه
تەپەدۆر
تەڤۆڵ
تەمەڵ
تەواو
توون
تۆپ
جەنگاڤەر
چابووک
چاپاڵێو
چاپخانە
چاپکراو
چاپەز
چاتۆڵە
چاچی
چادرگا
چارشێو
چارە
چارەک
چارەنووس
چارەنووسساز
چارەوا
چاسر
چاش
چاشتێنگا
چاشنی
چاکەت
چاڵ
چاڵاو
چاڵەچەقیلە
چاندەمەنی
چاندەنی
چاوباشقاڵ
چاوەڕوانکراو
چاوێشە
چایەر
چپک
چرادان
چراکەوان
چراورک
چرچ
چرکان
چرکاندن
چرکە
چرووسان
چرووساندن
چرووساو
چرووک
چزاندن
چڕان
چڕنووک
چڕووچاو
چش
چقڵ
چکان
چکاندن
چکۆک
چکۆڵە
چلە
چلۆکۆک
چلۆنھا
چلێس
چلێسی
چڵپاو
چڵک
چڵکاو
چڵم
چمک
چنگاڵ
چنۆک
چەپاڵ
چەپاڵە
چەپاو
چەپخوون
چەپڕۆ
چەپڕۆیی
چەپکەن
چەپلەر
چەپە
چەپەجاخ
چەپەر
چەپەڵۆک
چەپووچێڕ
چەپۆک
چەتاڵ
چەتڵەمەز
چەتە
چەتیانە
چەخماق
چەرخاو
چەرخەمە
چەرداخ
چەرداوەروو
چەردە
چەرس
چەرم
چەرمەسەرێ
چەرە
چەڕندە
چەڕین
چەسپ
چەش
چەشتن
چەشکە
چەشمە
چەشن
چەشنی
چەقاڵ
چەقان
چەقاندن
چەقەڵ
چەقۆساز
چەقۆکێش
چەکووش
چەلاک
چەلان
چەلاو
چەلیپا
چەڵەمە
چەمچە
چەمەر
چەمەری
چەمووچەم
چەمۆڵە
چەندایەتی
چەندەمین
چەندێتی
چەنە
چەنەباز
چەنەبازی
چەنەچەن
چەنەھەراش
چەو
چەواشە
چەوتانەوە
چەوتی
چەودار
چوارچێوە
چواردەور
چوارگۆشە
چوارلا
چوارەک
چوالە
چوختی
چوڕ
چوست
چۆپین
چۆدار
چۆڕان
چۆڕاندن
چۆش!
چۆق
چۆلاغ
چۆلک
چۆڵ
چۆنھا
چۆنیەک
چیتۆکە
چیل
چیلەچەپ
چیلەک
چیم
چێر
چێژ
چێژان
چێژیلە
چێش
چێشتخانە
چێشتکەر
چێشتن
چێو
چێوە
چێوین
خوێندن
خۆشەویست
خۆم
خۆمان
رۆژانە
ژار
ژاراو
ژاراوی
ژاربەر
ژارقەندە
ژارک
ژارووژەنگ
ژاژ
ژاژک
ژاڵە
ژاندار
ژانەسک
ژانەسەر
ژاوەژاو
ژلێواندن
ژلێوە
ژمار
ژماردن
ژمارکار
ژمارکۆ
ژمارەگر
ژمارەگری
ژمارەیی
ژمێرە
ژنانە
ژنانی
ژنەشا
ژنێتی
ژەقنەبووت
ژەک
ژەمک
ژەندن
ژەنگاڵی
ژەنگاوی
ژەھری ھەڵاخنین
ژووان
ژووانگا
ژووران
ژوورەوە
ژوورۆچکە
ژیار
ژیاری
ژیانەوە
ژیانی
ژیرانە
ژیربێژ
ژیربێژانە
ژیرکەلە
ژیری
ژینامە
ژینداری
ژیھاتن
ژیوار
ژێر
ژێربەران
ژێرپیاڵە
ژێرپێ
ژێرتیپ
ژێرچەپۆکە
ژێردەست
ژێردەستی
ژێرزەمین
ژێرزەمینی
ژێرسەر
ژێرکەنارە
ژێرەوە
ژێرەوەنان
ژێروو
ژێرووزەبەر
سەنگەر
سەنیا
سوپا
شتن
فافۆن
فاقە
فاک
فاڵ
فاڵ گرتنەوە
فاما
فامیدە
فامین
فانۆس
فایل
فترە
فتوا
فتیلە
فراژان
فراژاندن
فراژی
فراژیوەر
فراوانی
فرتەنە
فرزەند
فرزەند ھێنانەوە
فرستادە
فرشتەنگ
فرە
فرەایینی
فرەبێژ
فرەز
فرەنەتەوەیی
فرەھزبایی
فرەھزبی
فرەیی
فرۆشتنەوە
فرۆشراو
فریز
فریو
فریواندن
فریوباز
فریوخۆر
فزە
فڕفڕە
فڕفڕۆکە
فڕفینگ
فڕکان
فڕگە
فڕن
فڕندە
فڕنک
فڕووج
فڕووفێڵ
فڕوون
فڕۆکەنەھێڵ
فڕۆکەوان
فڕیشتە
فڕین
فڕێ
فڕێدراو
فس
فسکە
فسکەفسک
فشقیات
فشەکەر
فشەگاڵتە
فلیقاندن
فلیقاو
فڵان
فڵت
فڵتاندن
فڵتەدەمە
فڵیتە
فم
فنددان
فەتار
فەتار فەتار
فەتارەت
فەتان
فەخفووری
فەرامۆش
فەرامۆشی
فەرتووت
فەرخی
فەردە
فەرز
فەرزین
فەرق
فەرکار
فەرکاندن
فەرکانە
فەرمان
فەرمانبەر
فەرمانڕەوا
فەرمانڕەوایی
فەرمانگێڕی
فەرمانی
فەرمایشت
فەرموو
فەرموون
فەرەھ
فەروار
فەروو
فەریک
فەڕاش
فەڕاقە
فەڕدار
فەسڵ
فەقیر
فەقێ
فەکڵە
فەلسەفە
فەلە
فەلەسووف
فەن
فەنا
فەوتان
فەوتاندن
فەوتاو
فوو
فوودراو
فوورھە
فیتەفیت
فیچقە
فیدا
فیدایی
فیرست
فیز
فیزار
فیزن
فیڕکە
فیڕۆ
فیسان
فیسەڵ
فیش
فیشاڵ
فیشەفیش
فیعل
فیک
فیکە
فیکەفیک
فێدار
فێر
فێربوو
فێردار
فێرداری
فێرگە
فێسان
فێڵ
فێڵباز
فێڵووفەرەج
فێنک
قردێلە
قرقێنە
قنگ
قەبەیی
قەتران
قەساب
قەسابخانە
قەشەنگ
قەنەفە
قەول
قەیران
قەیرە
قەیناکە
قوپان
قوپاو
قوربانی
قولاپ
قۆپچە
قۆخ
قۆرخ
قۆقز
کابان
کابرا
کابە
کابینە
کاپۆڵ
کات
کاتپێو
کاتەوکات
کاچ
کاخەز
کاخەزدار
کادان
کارا
کاراسک
کاراشنا
کاراشنایی
کاربرا
کاربرایەتی
کاربڕ
کاربەدەستی
کاربین
کارتە
کارخانە
کاردانەوە
کاردیتوو
کارزان
کارزانی
کارژۆلە
کارساز
کارکردە
کارکەر
کارکەنار
کارکەناری
کارگە
کارگەر
کارگوزار
کارگوزاری
کارگێڕ
کارگێڕی
کارنامە
کارنیارنامە
کارھاتوو
کارەبا
کارەز
کارەزاو
کارەزکەن
کارەسات
کارەکەر
کاروانچی
کاروانکەر
کاروانکوژ
کاروانی
کارووبار
کارووس
کاری
کاریگەر
کاژاو
کاژەڵاخ
کاسب
کاسبی
کاسپ
کاستی
کاسی
کاش
کاشانە
کاشە
کاشی
کاف
کاک
کاکڵ
کاکە
کاکەلێ
کاکەیی
کاکۆ
کاکیبەکاکی
کالان
کالە
کالی
کالیار
کاڵا
کاڵات
کاڵەک
کاڵەمستە
کاڵی
کاماخ
کامار
کامپ
کامەتا
کامەرانی
کان
کاناو
کانزا
کانزایی
کانوون
کانیاو
کانیبەردینە
کانیلە
کانیەدرۆزنە
کاھوو
کاو
کاوڕ
کاوش
کاول
کاویر
کاوێژ
کپەنە
کتک
کتکنەوتینە
کتکی
کتووپڕ
کتێبباز
کتێبەڤان
کچانە
کچکۆڵە
کچنی
کچەتیو
کچەزا
کخ
کراس
کراو
کرتناک
کرداری
کرداری تێپەر
کرداری تێنەپەر
کرداری لێکدراو
کردە
کردەکار
کردەگار
کرسپ
کرمدڵ
کرۆت
کرۆسک
کرۆشتن
کرۆک
کریڤ
کرێ
کرێبار
کرێکاری
کز
کزاندنەوە
کزانەوە
کزر
کزۆڵە
کزی
کڕکڕاگە
کڕکەوتوو
کڕە
کڕەک
کڕووزانەوە
کڕووزە
کڕووھوڕ
کڕیار
کڕێشاوی
کڕێنە
کسپ
کسپووکۆ
کسسە
کشان
کشت
کشتکار
کشتگەھ
کشتەک
کشوومات
کشووماتی
کفرباز
کفندڕ
کلت
کلتوور
کلچان
کلچێوک
کلدان
کلدوومان
کلەر
کلیل
کلیلە
کلیم
کڵ
کڵاش
کڵاشچن
کڵاواسن
کڵاوزرێ
کڵاوقژ
کڵاونە
کڵپە
کڵپە لێ ھەڵسان
کڵپووھووڕ
کڵفت
کڵۆ
کڵۆر
کڵۆش
کڵۆڵ
کڵۆڵی
کڵێس
کڵێسمان
کڵێشە
کنگخشکێ
کنگخلیسکێ
کنگدەر
کنگر
کنە
کنەکار
کنیواڵ
کنێر
کەباب
کەبات
کەبار
کەپرۆکە
کەپەنەک
کەت
کەتان
کەتانە
کەتانی
کەتن
کەتە
کەتوو
کەتیرە
کەچە
کەچەڵ
کەچەڵی
کەرانباوکگاو
کەرانە
کەرپەسە
کەرپیاو
کەرت
کەرتکراو
کەرتە
کەرتووپەرت
کەرتی
کەردڕ
کەرسەگ
کەرکە
کەرکوژ
کەرگەز
کەرھەنگ
کەرە
کەرەجی
کەرەدێز
کەرەسە
کەرەکی
کەرەکێوی
کەرەنتوو
کەرەوز
کەرووبار
کەرۆکە
کەرێتی
کەزاخە
کەزی
کەڕ
کەڕەت
کەڕەتی
کەڕەکۆنتێ
کەڕەنسۆ
کەڕەواڵە
کەڕوو
کەڕوو ھێڵھێنان
کەڕووواوی
کەڕی
کەژاوە
کەژماڵ
کەسانە
کەستەک
کەسک
کەسکووسۆر
کەسکوون
کەسکی
کەسنەدار
کەسنەدیو
کەسیرە
کەش
کەشاکەش
کەشتیگەل
کەشتیوان
کەشتیوانی
کەشخە
کەشزان
کەشزانی
کەشک
کەشکە
کەشکەلان
کەشکەلانی فەلەک
کەشمەکەشم
کەشە
کەشەنگ
کەشووفش
کەشیش
کەشیە
کەف
کەفارەت
کەفالەت
کەفاو
کەفووکۆڵ
کەفیل
کەلا
کەلار
کەلارە
کەلتوور
کەلخانە
کەلە
کەلەپەر
کەلەپوور
کەلەپووری
کەلەتەزێن
کەلەشەق
کەلەکوچ
کەلەلا
کەلەم
کەلواز
کەلووپەل
کەلووکۆم
کەلێن
کەڵام
کەڵان
کەڵب
کەڵەس
کەڵەک
کەڵەکباز
کەڵەکچی
کەڵەگەت
کەڵەوێ
کەڵووڕی
کەڵۆس
کەم کەمە
کەماڵ
کەمان
کەمانچەژەن
کەمایەتی
کەمایەسی
کەمبیر
کەمتەرخەمی
کەمتیار
کەمتین
کەمچیکڵدانە
کەمدەست
کەمدوو
کەمڕوو
کەمساڵ
کەمشیر
کەمناو
کەمە
کەمەبەند
کەمەر
کەمەربەستی
کەمەرچین
کەمەردار
کەمەرەیی
کەمەری زەوی
کەمەکێک
کەمەیی
کەمووکووڕی
کەمۆ
کەمۆکار
کەمۆکاری
کەمۆیار
کەمۆیاری
کەمی
کەنار
کەناراو
کەنارگر
کەنارگری
کەنارەیی
کەنتۆر
کەند
کەند و کۆسپ
کەنداڵ
کەنداو
کەندەک
کەندەکار
کەندەڵان
کەنزەک
کەنەفت
کەنەفتی
کەنیچە
کەنیلێ
کەھلان
کەو ئڤ
کەوا
کەوالە
کەوان
کەوانکۆشە
کەوانە
کەوباز
کەوبازی
کەوباڕ
کەوبەدار
کەوتوو
کەوچک
کەوداو
کەودەن
کەورک
کەوژ
کەوژین
کەوشەک
کەوشەکەن
کەوشەکۆن
کەوگیر
کەولۆس
کەومار
کەوە
کەوەر
کەوۆت
کەوێڵ
کەی
کەیبانوو
کەیس
کەیل
کەیلان
کەینووبەین
کەیوان
کوارەنگ
کوتان
کوتووپڕ
کوتوومت
کوچوولە
کودەڵە
کورتان
کورتاندروو
کورتبڕ
کورتبڕی
کورتبین
کورتبینی
کورتم
کورتە
کورتەباڵا
کورتەبنە
کورتەک
کورتی
کورتیلە
کوردانە
کوردایەتی
کوردپەروەر
کوردستانی
کوردشناس
کوردکوژە
کوردناسی
کوردھەز
کوردەواری
کوردیاخێو
کوردیزانی
کوردیزمان
کورکاندن
کورەک
کوزان
کوڕ
کوڕانە
کوڕکوڕە
کوڕگەل
کوڕنووش
کوڕە
کوڕەزا
کوڕەزازا
کوڕێتی
کوژاندنەوە
کوژران
کوژراو
کوشتار
کوشتبەندان
کوشتن
کوشتەرا
کوشندە
کوفار
کولاف
کولاندنەوە
کولانەوە
کولپ
کولخان
کولەپاچ
کولەمەرگی
کولیچە
کوڵاو
کوڵک
کوڵکوڵە
کوڵەبنە
کوڵەبەس
کوڵەپێچ
کوڵەنانی
کوڵەنجە
کوڵەھەسار
کوڵۆت
کوڵۆک
کونار
کوناودەر
کونبڕ
کونتیلە
کونجرە
کونجی
کونجێن
کونچک
کونزەین
کونکراو
کونکەرە
کونەباجە
کونەبەبوو
کونیلە
کونیلەدار
کوو
کووپ
کووپە
کووپەڵە
کووچە
کوور
کوورە
کووز
کووکەلە
کووکوو
کووکووکەرە
کوونی
کوێخا
کوێخایەتی
کوێرانە
کوێراو
کوێردەرە
کوێرەدێ
کوێرەڕێ
کوێرەشەقام
کوێرەکانی
کوێرەمار
کوێرەمووشە
کوێرەوەری
کوێری
کوێڕا
کوێستانی
کوێلە
کوێلەدار
کوێلەداری
کوێلەیی
کوێندەری
کوێوە
کۆ
کۆبەند
کۆبوونەوە
کۆپارە
کۆت
کۆتان
کۆتایی
کۆتایی ١یی پێ
کۆتەرە
کۆجەڵە
کۆچ
کۆچاوکۆچ
کۆچکەر
کۆچەری
کۆچەرێتی
کۆچەک
کۆچەکە
کۆچی
کۆچی دوایی
کۆخ
کۆخوازی
کۆد
کۆرپەلە
کۆز
کۆزانین
کۆزمان
کۆزە
کۆزەرە
کۆڕگە
کۆژە
کۆژۆ
کۆسپ
کۆسپایی
کۆستە
کۆستەوەوی
کۆسە
کۆشان
کۆشش
کۆشیار
کۆفرۆش
کۆفرۆشی
کۆڤان
کۆکردنەوە
کۆکەکۆک
کۆکین
کۆکێتی
کۆلک
کۆلیسک
کۆڵ
کۆڵارە
کۆڵان
کۆڵاندۆز
کۆڵانکوت
کۆڵراو
کۆڵکێش
کۆڵگێڕ
کۆڵنج
کۆڵنجان
کۆڵنگە
کۆڵنەدەر
کۆڵھەڵگر
کۆڵە
کۆڵەر
کۆڵەوار
کۆڵوو
کۆڵیت
کۆڵین
کۆڵینەوە
کۆم
کۆما
کۆماری
کۆماوە
کۆمفرۆش
کۆمفرۆشی
کۆمەک
کۆمەکی
کۆمەڵ
کۆمەڵایەتی
کۆمەڵزان
کۆمەڵزانی
کۆمەڵە
کۆمی
کۆنە
کۆنەباو
کۆنەپەرست
کۆنەپەرستی
کۆنەپۆش
کۆنەساڵ
کۆنەفرۆش
کۆنی
کۆنینە
کیتەڵە
کیسەڵ
کیشوەر
کیشوەربڕ
کیشوەری
کیوار
کێ
کێچ
کێچاوی
کێرزل
کێرزلی
کێڕ
کێش
کێشان
کێشانەوە
کێشدار
کێشران
کێشراو
کێشمان
کێشمەکێش
کێشە
کێل
کێڵراو
کێوی ئاگرپرژێن
کێویلە
گابۆڕ
گاراندن
گارەگار
گازر
گازندە
گازندۆک
گازەرا
گاڕس
گاسن
گاف
گاکێوی
گاگەل
گاگۆڵکێ
گاگێرە
گالیسکە
گاڵ
گاڵتە
گاڵتەبێژ
گاڵتەجاڕ
گاڵتەچی
گاڵتەگێ
گاڵە
گاڵەکوت
گاڵۆک
گامەڵاس
گامێش
گان
گاناوی
گانەک
گاوارە
گاووس
گاووگۆتاڵ
گایلکە
گایی
گرتنەوە
گرتەک
گرتوو
گرتووخانە
گردە
گردەبا
گردەپیاو
گردەڵە
گردۆکۆ
گردۆڵک
گرژی
گرس
گرفت
گرفتە
گرمەژنە
گرمۆڵە
گرمۆڵەیی
گرنگی
گرەو
گروون
گرۆ
گریشمە
گرین
گرینۆک
گرێدراو
گرێکوێرە
گزیر
گڕاندن
گڕگر
گڕگرتوو
گڕووگاڵ
گڕوێ
گڕوێیی
گڕۆز
گژەبا
گشتگر
گشتی
گفتووگۆ
گڤی
گلار
گلارە
گلاو
گلەبان
گلەخان
گلەسپی
گلەیی
گلۆفتن
گلین
گلێجە
گلێر
گڵۆپ
گڵۆڵە
گندۆر
گەپەگەپ
گەچ
گەدا
گەدایی
گەدە
گەر
گەردان
گەردانە
گەرداو
گەردنکەچ
گەردنکەش
گەردنکێل
گەردەش
گەردووخول
گەردووگەڵا
گەردوون
گەرم
گەرما
گەرماپێو
گەرماجمان
گەرماو
گەرماوگەرم
گەرمایی
گەرمبردوو
گەرمەگلێ
گەرمی
گەرمیان
گەرمیانی
گەرمیپێو
گەرمێتی
گەرەک
گەرەکی
گەروانکە
گەرووێش
گەزاف
گەزگەزان
گەزندە
گەزنە
گەزەن
گەزین
گەڕان
گەڕاندن
گەڕاندنەوە
گەڕانەوە
گەڕەلاوژە
گەڕۆک
گەڕۆڵ
گەڕۆڵە!
گەڕی
گەستن
گەسکە
گەش
گەشایشت
گەشبین
گەشبینی
گەشتنامە
گەشتوەر
گەشتووگوزار
گەشتیار
گەشکە
گەشکەدار
گەشەکردوو
گەشی
گەف
گەفووگوڕ
گەفین
گەل
گەلال
گەلاوێژ
گەلھۆ
گەلەخان
گەلەراوێژی
گەلۆر
گەڵادار
گەڵارێزان
گەڵاڕن
گەڵاکوتک
گەڵاڵە
گەڵاوگەڵ
گەڵاوەر
گەمارۆ
گەماڵ
گەموورە
گەناندن
گەندەڵ
گەندووگوو
گەنمگردی
گەنمە
گەنیو
گەواد
گەوار
گەواڵ
گەواھ
گەواھی
گەورەیی
گەوز
گەولاز
گەوھەر
گەوھەربەند
گەوھەردار
گەوھەرکار
گەوە
گەوەری
گەوەکار
گەوون
گەی
گەیاندن
گەیشتگە
گەیشتوو
گەیگر
گەیین
گودلە
گوربز
گوربە
گورج
گورد
گورزە
گورزەتیشک
گورزەھۆن
گورگانگاز
گوزارە
گوزارەدار
گوزارەیی
گوزەریو
گوڕ
گوڕە
گوڕەشە
گوڕەشەکار
گوڕەووبڕە
گوژم
گوستاخ
گوستاخی
گوشار
گوشران
گوشراو
گوشراوە
گول
گولاج
گولی
گوڵ
گوڵاڵە
گوڵان
گوڵاو
گوڵاوپژێن
گوڵاوی
گوڵباران
گوڵبانگ
گوڵبەدەم
گوڵدار
گوڵدان
گوڵرەنگ
گوڵڕێزان
گوڵشەن
گوڵگوڵی
گوڵمە
گوڵمێخ
گوڵە
گوڵەباخ
گوڵەباران
گوڵەپرێژ
گوڵەچاوێشە
گوڵەندام
گوڵونکە
گوڵی
گوم
گومانبار
گومانرەش
گومانی
گومرک
گومڕاکەر
گومناو
گومی
گوناھ
گوناھبار
گونجان
گونجاندن
گونجاو
گونداری
گوندۆرە
گووار
گووارە
گووان
گووبۆق
گووپ
گووپن
گووران
گووواوی
گووێ
گووێچکە
گوێ
گوێبەل
گوێدێر
گوێرە
گوێرەکە
گوێزرنگانەوە
گوێزەر
گوێزی فەریک
گوێزی کوێر
گوێڕەپ
گوێسووک
گوێسووکی
گوێقورس
گوێقوڵاخ
گوێکپ
گوێگر
گوێگران
گوێلەمست
گوێنی
گۆتاڵ
گۆترە
گۆتن
گۆج
گۆجی
گۆران
گۆرین
گۆزەر
گۆزەڵە
گۆڕان
گۆڕاندن
گۆڕاندنەوە
گۆڕانکار
گۆڕانکاری
گۆڕستان
گۆڕین
گۆڕینەوە
گۆساڵە
گۆشپارە
گۆشتاو
گۆشتخۆر
گۆشتن
گۆشتی کاڵ
گۆشەدار
گۆشەگیری
گۆشەنیگا
گۆکار
گۆگرد
گۆڵە
گۆم
گۆمەڵتە
گۆنە
گۆنیە
گۆییژ
گیایی
گیرا
گیران
گیراو
گیراوە
گیراوێ
گیرسانەوە
گیرفانبڕ
گیرفانی باخەڵ
گیرکار
گیرووگرفت
گیرۆ
گیرۆبەند
گیرۆدار
گیز
گیزاندن
گیڕەگیڕ
گیشە
گیڤ
گییانسەخت
گێپەڕە
گێتاڵ
گێرە
گێرەووکێشە
گێزەر
گێڕان
گێژاو
گێژوووێژ
گێسوو
گێلاس
گێلۆکە
گێلی
گێوە
لا چوون
لابابەت
لابار
لابراو
لابەرھەم
لاپاڵ
لاپچین
لاپەڕە
لات و لوات
لات و لوار
لاترقەوچ
لاتەڕاف
لاتوخم
لاجانگ
لاجیوەرد
لاچوو
لادێیی
لارەلار
لارەولار
لاڕەو
لاڕێ
لاژگ
لاژگی
لاساری
لاسایی
لاساییانە
لاساییکەر
لاسک
لاسەنگ
لاسەنگی
لاشان
لاشەڕ
لاشەڕی
لاف و گەزاف
لاقردی
لاک
لاکاری
لاکۆڵان
لاکێش
لاکێشە
لاگیر
لاگیری
لالخاوە
لالە
لالەنگی
لاڵ
لاڵانەوە
لاڵە
لاڵەپەتە
لاڵوپاڵ
لاڵی
لامئەلیفلا
لامل
لامی قەڵەو
لانەواز
لانەوازی
لاەنجام
لاواز
لاوازی
لاوانەوە
لاوچاک
لاورگە
لاوژە
لاوک
لاولاو
لاوە
لاوێتی
لای
لایەن
لایەنگر
لایەنگری
لچەستوور
لچوولێو
لرفەلرف
لک
لکاوە
لکێنراو
لمۆز
لمین
لنگەلەرێ
لە
لەباری
لەبز
لەبلەبی
لەبەرچاڤ
لەپ
لەپاشەجێماو
لەپالەپ
لەپماڵ
لەپەوڕوو
لەپی
لەپی دەست
لەتگەر
لەتووپەت
لەچەر
لەچەری
لەخشتەبەر
لەخەم
لەخەمڕەخسیو
لەخواترس
لەخواترسی
لەخوانەترس
لەخوانەترسی
لەران
لەراندن
لەرانەوە
لەرز
لەرزان
لەرزاندن
لەرزۆک
لەز
لەزاندن
لەزپیو
لەزگێڕ
لەزگێڕی
لەزەت
لەزین
لەڕ
لەڕ و لاواز
لەڕوو
لەڕوویی
لەڕی
لەسەرخۆ
لەسەرخۆیی
لەسەرکەرەوە
لەش
لەشسووک
لەشقورس
لەشکر
لەشکرگا
لەشکرگێڕ
لەشکرگێڕی
لەشوولار
لەشی
لەعنەت
لەفاف
لەقان
لەقاندن
لەقە
لەقەب
لەقەکوت
لەقەلەق
لەقوولۆق
لەک
لەکە
لەکەدار
لەکەداری
لەکی
لەگژ
لەگەن
لەل
لەلە
لەلەیی
لەم
لەم جێگایە دا
لەم دیوەوە
لەمئەو بەر
لەمان
لەمانەوە
لەمپا
لەمپەر
لەنجین
لەنگەر
لەنگەرە
لەنگی
لەنگین
لەنگێزە
لەھیم
لەو
لەو پەڕ
لەو سەرەوە
لەوازە
لەواشە
لەوان
لەوچەلەوچ
لەوچەیی
لەوس
لەوساوە
لەوسن
لەوە بە دەر
لەوە بەو لاوە
لەوە پێش
لەوە دوا
لەوەڕ
لەوەڕگا
لەوەن
لەوێ
لەوێچ
لەوێڕا
لەوێوە
لوان
لواندن
لواو
لوڕ
لوڕستان
لوڕی
لووتبەرز
لووتبەرزی
لووتزل
لووتفش
لووتقوڵنگە
لووتە
لووتەلا
لووتەوانە
لوودە
لووزەو
لووس
لووسکە
لووسووپووس
لوول
لوولاق
لوولکراو
لوولە
لوولەیی
لوولێنە
لۆترەوان
لۆترەوانی
لۆتە
لۆتی
لۆتیێتی
لۆخان
لۆر
لۆرت
لۆرە
لۆری
لۆزەندەر
لۆقە
لۆک
لۆککراو
لۆکە
لۆلە
لۆلۆ
لۆمە
لۆنگ
لۆنە
لیان
لیپ
لیتاو
لیچاڵ
لیخن
لیر
لیژنە
لیژنەدار
لیستە
لیک
لیمە
لیمۆ
لیمۆنی
لیمۆیی
لینج
لینج و فینچ
لینجی
لیوا
لێ
لێ بووردن
لێ بێزران
لێ پڕ بوون
لێ تووژینەوە
لێ تێک چوونەوە
لێ چوونەوە
لێ خەفەتان
لێ خوڕین
لێ ڕاوەستان
لێ قەومان
لێ کۆڵینەوە
لێ گۆڕین
لێ نان
لێ نەگرتن
لێ ھاتن
لێ ھەڵبڕین
لێ ھەڵسان
لێ ھەڵکەوتن
لێ وە
لێ وەرگەڕانەوە
لێ وەستانەوە
لێ وەشانەوە
لێبووردن
لێبووردە
لێبووردوو
لێت
لێتان
لێچوو
لێچوونی
لێخوڕ
لێدوو
لێر
لێرە
لێرە بە دواوە
لێرەش
لێرەوار
لێزگ
لێزگە
لێژ
لێژاو
لێژی
لێسە
لێش
لێقەوماو
لێک
لێک بڕان
لێک بەربوونەوە
لێک ڕەوینەوە
لێکۆلینەوە
لێڵاو
لێڵایی
لێڵایی داھاتن
لێڵە
لێڵی
لێم
لێمان
لێھاتوو
لێواولێو
لێوڕێژ
لێوەدار
لێی
لێیان
مامۆژن
مامۆستا
ماوە
متمانە
مژۆک
ململانێ
مەترسی
مەرز
مەرکانە
مەزن
مەڕۆ
مەمک
میراتی
مێباز
ناخۆش
ناخۆشی
نازناو
نامیلکە
نانەواخانە
ناوازە
ناوخۆ
ناوک
ناوەندی
نزیک
نەبەرد
نەخشە
نەریت
نوشتانەوە
نۆش
نیشانە
نێردراو
نێوان
ھا
ھاتنە دی
ھاتنەوە
ھاتنەوە یاد
ھاتووچوو
ھاجی
ھاجیبادام
ھاجیبایەف
ھاجیرەش
ھاجیلەقلەق
ھار
ھار و ھاج
ھاروو
ھارووھوورت
ھاری
ھاریکار
ھاریکاری
ھازر
ھازری
ھاڕاو
ھاڕە
ھاڕین
ھاڕیە
ھاژ
ھاژاندن
ھاشا
ھاشووھووش
ھافز
ھاڤل
ھاکا
ھاکایی
ھاکم
ھاکمانە
ھاکمێتی
ھاکۆ
ھاڵ
ھاڵ و ئەھواڵ
ھاڵاو
ھاڵەت
ھاڵی
ھامار
ھامێز
ھان
ھانابەر
ھاندراو
ھاندەر
ھاوارکەر
ھاواری
ھاواھەنگی
ھاوبەش
ھاوبەند
ھاوبیر
ھاوپا
ھاوپایە
ھاوپرسی
ھاوپشت
ھاوپەیمان
ھاوتا
ھاوتەک
ھاوتەمەن
ھاوجۆت
ھاوجێ
ھاوچاخ
ھاوچاو
ھاوچاوی
ھاوچڕە
ھاوچەق
ھاوچەک
ھاوخاک
ھاوخەف
ھاوخوان
ھاودەرد
ھاودەست
ھاودین
ھاوراز
ھاوزگ
ھاوزمان
ھاوزۆم
ھاوڕێ
ھاوڕێتی
ھاوساز
ھاوساڵ
ھاوسامە
ھاوسنوور
ھاوسەدە
ھاوسەر
ھاوسەنگ
ھاوسەنگی
ھاوسوێند
ھاوسوێندی
ھاوشار
ھاوشان
ھاوشیرە
ھاوشێوە
ھاوکات
ھاوکار
ھاوکاری
ھاوکێش
ھاوکێشە
ھاولا
ھاوماڵ
ھاومل
ھاوناو
ھاونشین
ھاونەبەرد
ھاونۆرە
ھاوەن
ھاووڵات
ھاووڵاتی
ھاویشتن
ھاوینھەوار
ھاوێر
ھتد
ھزب
ھسێب
ھکوومەت
ھل
ھە
ھەب
ھەپروون
ھەپس
ھەپسخانە
ھەپەسان
ھەپەساندن
ھەپەساو
ھەپوو
ھەپین
ھەتا
ھەتا دوایی
ھەتا سەر
ھەتار
ھەتارەک:
ھەتاو
ھەترە
ھەتھەتۆکە
ھەتوان
ھەتیو
ھەتیوبار
ھەتیوخانە
ھەچولوور
ھەد
ھەدیس
ھەراج
ھەراس
ھەراسان
ھەرام
ھەرامخۆر
ھەرامە
ھەرجایی
ھەرد
ھەردەبیر
ھەردەگێڵ
ھەردوو
ھەرزاڵە
ھەرزان
ھەرزانبەھا
ھەرزانی
ھەرزە
ھەرزەبێژ
ھەرزەچەنە
ھەرزەکار
ھەرزەکارانە
ھەرزەکاری
ھەرزەیی
ھەرفی
ھەرگیز
ھەرگیزئاو ھەرگیز
ھەرگینە
ھەرلە
ھەرمێپشکوان
ھەرەس
ھەرەوەز
ھەروا
ھەری
ھەریف
ھەرێز
ھەرێم
ھەرێمی
ھەز
ھەز و ناھەز
ھەزارە
ھەزاریەک
ھەزبێلە
ھەزرەت
ھەزم
ھەڕا
ھەڕە
ھەڕەشە
ھەڕەشە و گوڕەشە
ھەڕەمە
ھەژار
ھەژاری
ھەژان
ھەژاندن
ھەژگ
ھەژەند
ھەژێنەر
ھەسار
ھەسان
ھەساوە
ھەستبەر
ھەستبەری
ھەستری
ھەستە
ھەستەوەر
ھەستەوەری
ھەستیار
ھەستیاری
ھەسیر
ھەسیرمەیان
ھەش
ھەشار
ھەشاردراو
ھەشبەسەر
ھەشتا
ھەشتالوو
ھەشتیەک
ھەشھەش
ھەشەری
ھەفت
ھەفتا
ھەفتانە
ھەفتە
ھەفتەیی
ھەڤاڵ
ھەڤدە
ھەڤکێشی
ھەقانی
ھەقایەت
ھەقدەست
ھەکیم
ھەگبە
ھەل
ھەلات
ھەلانە
ھەلاھەلا
ھەلک
ھەلھەلە
ھەلەقمەلەق
ھەلەکە
ھەلوومەرج
ھەلۆک
ھەڵاتوو
ھەڵاخنین
ھەڵاڵ
ھەڵاڵخۆر
ھەڵامسان
ھەڵامەت
ھەڵامەتی
ھەڵاورد
ھەڵاوردن
ھەڵاوسان
ھەڵاوێز
ھەڵبرواندن
ھەڵبزڕکان
ھەڵبزڕکاو
ھەڵبڕین
ھەڵبژار
ھەڵبژاردن
ھەڵبژاردە
ھەڵبژێر
ھەڵبژێڕاو
ھەڵبەز
ھەڵبەست
ھەڵبەستراو
ھەڵبەستن
ھەڵبەستە
ھەڵپاچراو
ھەڵپاچین
ھەڵپچڕان
ھەڵپچڕاو
ھەڵپچڕین
ھەڵپرووزان
ھەڵپرووزاندن
ھەڵپرووزاو
ھەڵپرووکاو
ھەڵپڕووکان
ھەڵپڕووکاندن
ھەڵپژان
ھەڵپە
ھەڵپەڕاندن
ھەڵپەڕکێ
ھەڵپەڕین
ھەڵپەساردن
ھەڵپەساڕاو
ھەڵپەنمان
ھەڵپێچ
ھەڵپێچان
ھەڵپێچراو
ھەڵترووشکان
ھەڵتڕین
ھەڵتڵیشان
ھەڵتڵیشاندن
ھەڵتڵیشاو
ھەڵتەکان
ھەڵتەکاندن
ھەڵتەکیو
ھەڵتووڕاندن
ھەڵتۆقین
ھەڵتیزاندن
ھەڵچنراو
ھەڵچنین
ھەڵچەقین
ھەڵچوون
ھەڵخران
ھەڵخستن
ھەڵخلیسکان
ھەڵخلیسکاندن
ھەڵخەڵەتان
ھەڵخەڵەتاندن
ھەڵخەڵەتاو
ھەڵخەڵەتێو
ھەڵخوێندن
ھەڵدان
ھەڵدانەوە
ھەڵدرووراو
ھەڵدروون
ھەڵدڕان
ھەڵدڕاو
ھەڵدڕین
ھەڵدێران
ھەڵزڵەپین
ھەڵزڵەپیو
ھەڵڕژان
ھەڵڕژراو
ھەڵڕشتن
ھەڵژمار
ھەڵژماردن
ھەڵژمێڕاو
ھەڵسان
ھەڵسان و کەوتن
ھەڵساندن
ھەڵسانەوە
ھەڵساو
ھەڵسەنگاندن
ھەڵسەنگێنەر
ھەڵسووڕان
ھەڵسووڕاندن
ھەڵسووڕاو
ھەڵسووڕێنەر
ھەڵسووکەوت
ھەڵشاخین
ھەڵشێلان
ھەڵفریواندن
ھەڵفڕاندن
ھەڵفڕین
ھەڵفلیقان
ھەڵفلیقاندن
ھەڵفلیقاو
ھەڵقرچان
ھەڵقورتاندن
ھەڵقوڕاندن
ھەڵکالین
ھەڵکراو
ھەڵکزراندن
ھەڵکڕان
ھەڵکڕاندن
ھەڵکڕاو
ھەڵکشان
ھەڵکشە
ھەڵکەندن
ھەڵکەنران
ھەڵکەنراو
ھەڵکەوت
ھەڵکوڵین
ھەڵکۆ
ھەڵکۆڵراو
ھەڵکێش
ھەڵکێشان
ھەڵکێشراو
ھەڵگرتن
ھەڵگڵۆفتن
ھەڵگەڕان
ھەڵگەڕانەوە
ھەڵگوشین
ھەڵگیران
ھەڵگیرسان
ھەڵگیرساندن
ھەڵلا
ھەڵلووشین
ھەڵم
ھەڵمات
ھەڵماتێن
ھەڵماڵران
ھەڵماڵراو
ھەڵماڵین
ھەڵمان
ھەڵمژین
ھەڵمەت
ھەڵمەتجاڕ
ھەڵمەقۆ
ھەڵمیزان
ھەڵنان
ھەڵنیشتن
ھەڵھاتن
ھەڵھێنان
ھەڵھێنانەوە
ھەڵھێنجان
ھەڵھێنجراو
ھەڵھێنراو
ھەڵھێنگە
ھەڵھێنەر
ھەڵە
ھەڵەت
ھەڵەخەرج
ھەڵەداوان
ھەڵەشە
ھەڵەشەیی
ھەڵەنگووتن
ھەڵەھەڵ
ھەڵەوەڕ
ھەڵواسران
ھەڵواسراو
ھەڵواسین
ھەڵوەران
ھەڵوەراندن
ھەڵوەشان
ھەڵوەشاندن
ھەڵوەشاو
ھەڵوەشێنراو
ھەڵووتن
ھەڵووژە
ھەڵووژەرەشە
ھەڵۆ
ھەڵۆڵ
ھەڵیز
ھەماز
ھەماڵ
ھەمام
ھەمان
ھەمان کات
ھەمایەڵ
ھەمشین
ھەمەلایەنە
ھەموار
ھەموو
ھەمووپرسی
ھەموووانی
ھەموویی
ھەمیشە
ھەمیشەیی
ھەن
ھەنار
ھەناردە
ھەناسەبڕکێ
ھەناسەسارد
ھەناسەسوار
ھەناسەوواری
ھەناو
ھەند
ھەنداز
ھەندە
ھەندەر
ھەندەران
ھەندەرھۆ
ھەنسک
ھەنسک ھەڵدان
ھەنگ
ھەنگامە
ھەنگاو
ھەنگاوھاویشتن
ھەنگدان
ھەنگڵ
ھەنگەشەلێ
ھەنەزا
ھەنووکەیی
ھەنوون
ھەو
ھەوار
ھەوارگە
ھەواری
ھەواڵگوزاری
ھەواڵە
ھەواڵە بە گەواڵە
ھەواندنەوە
ھەوانەوە
ھەوایی
ھەوت
ھەوتە
ھەوتەوانە
ھەوتیر
ھەوجاڕ
ھەوجۆش
ھەودا
ھەوراز
ھەوراز و نشێو
ھەورەباڵا
ھەورەتریشقە
ھەوریس
ھەوز
ھەوزانە
ھەوسار
ھەوسەڵە
ھەوەس
ھەوەڵ
ھەویر
ھەوینج
ھەوێ
ھەوێن
ھەیا
ھەیبەت
ھەیتە
ھەیران
ھەیزەران
ھەیس
ھەیش
ھەیش پێ ھەڵگرتن
ھەیشۆ
ھەیشۆ لێ ھەڵگیران
ھەیف
ھەیوان
ھەیوانات
ھەیوانان
ھوجرە
ھورمز
ھورمەت
ھوزەیران
ھوزوور
ھوڕەو
ھوژە
ھوشتر
ھوکمدار
ھولھولی
ھولە
ھولەسێ
ھومەڵخەزا
ھونەر
ھونەرگا
ھونەرمەند
ھونەرمەندانە
ھونەرە جوانەکان
ھونەروەر
ھوو
ھووت
ھووردە
ھووردەبینی
ھووڕ
ھووشە
ھووشەکار
ھووھا
ھووھووکەرە
ھۆجەنە
ھۆدار
ھۆدە
ھۆرتە
ھۆردوو
ھۆز
ھۆزان
ھۆزانی
ھۆزکی
ھۆڕ
ھۆڕن
ھۆڕە
ھۆشبڕ
ھۆشمەند
ھۆشمەندی
ھۆشیار
ھۆشیارانە
ھۆشیاری
ھۆکار
ھۆکڵ
ھۆگر
ھۆل
ھۆن
ھۆنەر
ھۆو
ھی
ھیچ
ھیچی
ھیدایەت
ھیر
ھیز
ھیزانە
ھیزە
ھیزەڵ
ھیزێتی
ھیساب
ھیکمەت
ھیلاک
ھیلاندن
ھیمەت
ھیوابڕاو
ھیوادار
ھێ
ھێدز
ھێدی
ھێرۆ
ھێز
ھێزا
ھێزم
ھێشتا
ھێشتن
ھێشخان
ھێشوو
ھێل
ھێلانە
ھێلز
ھێلکە
ھێلکەورۆن
ھێلکەیی
ھێلم
ھێلینج
ھێڵ
ھێڵان
ھێڵکاری
ھێڵی ئاسنی
ھێمایی
ھێمن
ھێمنی
ھێنان
ھێنانەوە
ھێواش
ھێواشکار
ھێواشی
ھێور
ھێورانە
ھێوەر
ھێوەرزا
ھێوەرژن
ھێویری
و مەتیو
وتار
وەستاندن
یارمەتی
یاسا
{
"ئابروو": "Navdêr",
"ئابۆر": "Navdêr",
"ئاپتەر": "Navdêr",
"ئاتەش": "Navdêr",
"ئاخاوتن": "Lêker",
"ئاخر": "Rengdêr",
"ئاخلێف": "Navdêr",
"ئاخوون": "Navdêr",
"ئاخێو": "Navdêr",
"ئادەی!": "Baneşan",
"ئاراستە": "Navdêr",
"ئارمووش": "Navdêr",
"ئارەق": "Navdêr",
"ئاژاڵ": "Navdêr",
"ئاژاوە": "Navdêr",
"ئاسایی": "Rengdêr",
"ئاساییش": "Navdêr",
"ئاستەم": "Rengdêr",
"ئاسرمە": "Navdêr",
"ئاسەوار": "Navdêr",
"ئاسوودە": "Rengdêr",
"ئاسوون": "Navdêr",
"ئاسۆک": "Navdêr",
"ئاسیم": "Rengdêr",
"ئاسیو": "Navdêr",
"ئاشاخە": "Navdêr",
"ئاشپەزخانە": "Navdêr",
"ئاشت": "Rengdêr",
"ئاشچی": "Navdêr",
"ئاشخانە": "Navdêr",
"ئاشنا": "Rengdêr",
"ئافرەت": "Navdêr",
"ئافەریدە": "Navdêr",
"ئاقل": "Rengdêr",
"ئاکار": "Navdêr",
"ئاکام": "Navdêr",
"ئال": "Rengdêr",
"ئالف": "Navdêr",
"ئاڵتوون": "Navdêr",
"ئاڵووگۆز": "Navdêr",
"ئاڵووگۆڕ": "Navdêr",
"ئاڵۆز": "Rengdêr",
"ئام": "Navdêr",
"ئامادە": "Rengdêr",
"ئامار": "Navdêr",
"ئاماژ": "Navdêr",
"ئاماسان": "Lêker",
"ئامان!": "Baneşan",
"ئامراز": "Navdêr",
"ئامسەر": "Navdêr",
"ئامۆزا": "Navdêr",
"ئامۆژن": "Navdêr",
"ئامێر": "Navdêr",
"ئاھەنگ": "Navdêr",
"ئاوا": "Hoker",
"ئاواز": "Navdêr",
"ئاواڵە": "Rengdêr",
"ئاور": "Navdêr",
"ئاوزەنگی": "Navdêr",
"ئاوساندن": "Lêker",
"ئاوھا": "Hoker",
"ئاوەدان": "Rengdêr",
"ئاوەدانی": "Navdêr",
"ئاوەر": "Navdêr",
"ئاوەرێژ": "Navdêr",
"ئاوەژوو": "Rengdêr",
"ئاوەندیار": "Navdêr",
"ئایا؟": "Hoker",
"ئایندە": "Navdêr",
"ئایین": "Navdêr",
"ئەبلەق": "Rengdêr",
"ئەبیاڵ": "Navdêr",
"ئەبێ": "Lêker",
"ئەتک": "Navdêr",
"ئەتوون": "Navdêr",
"ئەجزاجی": "Navdêr",
"ئەجندا": "Navdêr",
"ئەدی!": "Baneşan",
"ئەدی؟": "Hoker",
"ئەرامەندە": "Rengdêr",
"ئەرج": "Navdêr",
"ئەرز": "Navdêr",
"ئەرک": "Navdêr",
"ئەرە": "Daçek",
"ئەزبۆلە": "Navdêr",
"ئەژدەھا": "Navdêr",
"ئەژماردن": "Lêker",
"ئەژمێر": "Navdêr",
"ئەسپایی": "Hoker",
"ئەستوون": "Navdêr",
"ئەستۆ": "Navdêr",
"ئەستی": "Navdêr",
"ئەستێرک": "Navdêr",
"ئەستێوڵک": "Navdêr",
"ئەسکری": "Navdêr",
"ئەسکوێ": "Navdêr",
"ئەسڵەن": "Hoker",
"ئەشک": "Navdêr",
"ئەشکەنجە": "Navdêr",
"ئەشیا": "Navdêr",
"ئەفسانە": "Navdêr",
"ئەفسەر": "Navdêr",
"ئەقل": "Navdêr",
"ئەگریجە": "Navdêr",
"ئەلبەت": "Hoker",
"ئەلمۆدە": "Navdêr",
"ئەڵقە": "Navdêr",
"ئەڵماس": "Navdêr",
"ئەڵێ": "Lêker",
"ئەمر": "Navdêr",
"ئەمن": "Cînav",
"ئەموست": "Navdêr",
"ئەمین": "Rengdêr",
"ئەنتیکە": "Rengdêr",
"ئەنجام": "Navdêr",
"ئەنجن": "Navdêr",
"ئەنجومەن": "Navdêr",
"ئەندازیار": "Navdêr",
"ئەنگاو": "Navdêr",
"ئەنگوور": "Navdêr",
"ئەنەم": "Navdêr",
"ئەھلی": "Rengdêr",
"ئەوانیش": "Cînav",
"ئەوجا": "Hoker",
"ئەورەنگ": "Navdêr",
"ئەوزار": "Navdêr",
"ئەوسا": "Hoker",
"ئەوە": "Cînav",
"ئەوەش": "Cînav",
"ئەوەندە": "Hoker",
"ئەی": "Baneşan",
"ئەی!": "Baneşan",
"ئەینا؟": "Hoker",
"ئیجا": "Hoker",
"ئیختیار": "Rengdêr",
"ئیرھاب": "Navdêr",
"ئیرھابی": "Rengdêr",
"ئیستیقالە": "Navdêr",
"ئیش": "Navdêr",
"ئیفتادە": "Rengdêr",
"ئیم": "Navdêr",
"ئیمرۆ": "Hoker",
"ئیمسال": "Hoker",
"ئیمشەو": "Hoker",
"ئینجا": "Hoker",
"بابوسکە": "Navdêr",
"بابۆڵە": "Navdêr",
"باپیر": "Navdêr",
"باتەک": "Navdêr",
"باتوو": "Navdêr",
"باتی": "Daçek",
"باچە": "Navdêr",
"باخەڵ": "Navdêr",
"بادیھەوا": "Hoker",
"بارام": "Navdêr",
"بارست": "Navdêr",
"بارشت": "Navdêr",
"بارمتە": "Navdêr",
"بارە": "Navdêr",
"بازد": "Navdêr",
"بازوو": "Navdêr",
"بازۆر": "Navdêr",
"باڕ": "Navdêr",
"باستانناسی": "Navdêr",
"باستورمە": "Navdêr",
"بافت": "Navdêr",
"باڵابستە": "Rengdêr",
"باڵباز": "Navdêr",
"باڵۆڵە": "Navdêr",
"باڵۆن": "Navdêr",
"باڵێ": "Baneşan",
"باڵێف": "Navdêr",
"بانگردێن": "Navdêr",
"بانوو": "Navdêr",
"باھێر": "Navdêr",
"باوک": "Navdêr",
"باوەڕ": "Navdêr",
"باوەقۆت": "Navdêr",
"باوی": "Rengdêr",
"بایست": "Navdêr",
"باینجان": "Navdêr",
"باینجانی ڕەش": "Navdêr",
"باینجانی سوور": "Navdêr",
"بایەخ": "Navdêr",
"بایی": "Navdêr",
"بچەژ": "Lêker",
"بدوو": "Lêker",
"برادەر": "Navdêr",
"براژن": "Navdêr",
"برای ھاوپشت": "Navdêr",
"بردەمەنی": "Navdêr",
"برژانگ": "Navdêr",
"برژاو": "Rengdêr",
"برسێتی": "Navdêr",
"برغوو": "Navdêr",
"برنگ": "Navdêr",
"برووسکە": "Navdêr",
"بریتی": "Rengdêr",
"بزاڤ": "Navdêr",
"بزان": "Lêker",
"بزاوتن": "Lêker",
"بزگور": "Navdêr",
"بزووتنەوە": "Navdêr",
"بڕاو": "Rengdêr",
"بڕمێن": "Navdêr",
"بڕوانامە": "Navdêr",
"بڕۆ": "Lêker",
"بڕیار": "Navdêr",
"بڕێک": "Rengdêr",
"بژاردن": "Lêker",
"بژاردە": "Navdêr",
"بژوولک": "Navdêr",
"بسکە": "Navdêr",
"بشێوە": "Rengdêr",
"بلیمەت": "Rengdêr",
"بڵح": "Rengdêr",
"بڵند": "Rengdêr",
"بناغە": "Navdêr",
"بنچە": "Navdêr",
"بنچینەیی": "Rengdêr",
"بنکە": "Navdêr",
"بنەما": "Navdêr",
"بنەوش": "Navdêr",
"بەتڵانە": "Navdêr",
"بەحر": "Navdêr",
"بەخت": "Navdêr",
"بەخترەش": "Rengdêr",
"بەختەوەر": "Rengdêr",
"بەختیار": "Rengdêr",
"بەخش": "Navdêr",
"بەخشەندە": "Rengdêr",
"بەخشەندەیی": "Navdêr",
"بەد": "Rengdêr",
"بەدبەخت": "Rengdêr",
"بەدرەقە": "Navdêr",
"بەر سەر کەسێکەوە لەوەڕان": "Lêker",
"بەرایی": "Navdêr",
"بەردەوک": "Navdêr",
"بەرز": "Rengdêr",
"بەرزە": "Rengdêr",
"بەرژەوەند": "Navdêr",
"بەرژەوەندی": "Navdêr",
"بەرف": "Navdêr",
"بەرگ": "Navdêr",
"بەرگری": "Navdêr",
"بەرگە": "Navdêr",
"بەرگەشتە": "Rengdêr",
"بەرە": "Daçek",
"بەرەزە": "Navdêr",
"بەرەو": "Daçek",
"بەرەوژۆرکە": "Hoker",
"بەرەوژێرکە": "Hoker",
"بەروار": "Navdêr",
"بەروودوا": "Hoker",
"بەزم": "Navdêr",
"بەژ": "Navdêr",
"بەستن": "Lêker",
"بەستە": "Navdêr",
"بەسر": "Navdêr",
"بەش": "Navdêr",
"بەشدار": "Rengdêr",
"بەفر": "Navdêr",
"بەق": "Navdêr",
"بەقال": "Navdêr",
"بەقلیسۆک": "Navdêr",
"بەل": "Navdêr",
"بەلاش": "Hoker",
"بەلایەن": "Navdêr",
"بەلایەنی": "Hoker",
"بەلەز": "Hoker",
"بەلەم": "Navdêr",
"بەڵا": "Navdêr",
"بەڵام": "Girêdek",
"بەڵگە": "Navdêr",
"بەڵەد": "Rengdêr",
"بەڵەک": "Rengdêr",
"بەڵەیاندن": "Lêker",
"بەناوبانگ": "Rengdêr",
"بەند": "Navdêr",
"بەندە": "Navdêr",
"بەندەگی": "Navdêr",
"بەنگ": "Navdêr",
"بەنگکێش": "Navdêr",
"بەھا": "Navdêr",
"بەھارات": "Navdêr",
"بەھانە": "Navdêr",
"بەھر": "Navdêr",
"بەھرە": "Navdêr",
"بەھەشت": "Navdêr",
"بەو": "Cînav",
"بەوان": "Cînav",
"بەیار": "Navdêr",
"بەیارمەتیت": "Baneşan",
"بەیاز": "Navdêr",
"بەیاننامە": "Navdêr",
"بەیانی": "Navdêr",
"بەیچەڵ": "Navdêr",
"بەیدەست": "Rengdêr",
"بەینەت": "Navdêr",
"بەینەتدار": "Rengdêr",
"بوختان": "Navdêr",
"بوخچە": "Navdêr",
"بوودینە": "Navdêr",
"بووردن": "Lêker",
"بووژاندن": "Lêker",
"بووسە": "Navdêr",
"بووم": "Navdêr",
"بووواردن": "Lêker",
"بووێژ": "Navdêr",
"بوێر": "Rengdêr",
"بۆچوون": "Navdêr",
"بۆران": "Navdêr",
"بۆرچین": "Navdêr",
"بۆردن": "Lêker",
"بۆق": "Navdêr",
"بۆقەتە": "Navdêr",
"بۆنە": "Navdêr",
"بۆینباخ": "Navdêr",
"بیانوو": "Navdêr",
"بیانی": "Rengdêr",
"بیبن": "Navdêr",
"بیبی": "Navdêr",
"بیجامە": "Navdêr",
"بیچم": "Navdêr",
"بیراز": "Navdêr",
"بیرتەسک": "Rengdêr",
"بیرە": "Navdêr",
"بیروورِا": "Navdêr",
"بیستا": "Navdêr",
"بیستراو": "Rengdêr",
"بیستن": "Lêker",
"بیستەر": "Navdêr",
"بیستۆک": "Navdêr",
"بیڤر": "Navdêr",
"بێتار": "Navdêr",
"بێجگە": "Daçek",
"بێخ": "Navdêr",
"بێخبڕ": "Rengdêr",
"بێزار": "Rengdêr",
"بێژار": "Navdêr",
"بێسەرووشوێن": "Rengdêr",
"بێشەڵان": "Navdêr",
"بێگانە": "Rengdêr",
"بێگومان": "Hoker",
"بێلایەن": "Rengdêr",
"بێلایەنی": "Navdêr",
"بێنەوبەرە": "Navdêr",
"بێھیوا": "Rengdêr",
"بێوەژن": "Navdêr",
"پابەند": "Rengdêr",
"پاتری": "Navdêr",
"پاچ": "Navdêr",
"پاداشت": "Navdêr",
"پارێزگار": "Navdêr",
"پاساو": "Navdêr",
"پاسەوان": "Navdêr",
"پانایی": "Navdêr",
"پاندان": "Navdêr"
}
mu7usiieobd868g1hss9jg7510u53ws
6342390
6342347
2026-08-25T08:47:25Z
Şêr
1103
Kategorî:Gotarên bê kategoriya rêzimanî bi soranî
6342390
wikitext
text/x-wiki
[[:Kategorî:Gotarên bê kategoriya rêzimanî bi soranî]]
ئابروو
ئابۆر
ئاپتەر
ئاتەش
ئاخاوتن
ئاخر
ئاخلێف
ئاخوون
ئاخێو
ئادەی!
ئاراستە
ئارمووش
ئارەق
ئاژاڵ
ئاژاوە
ئاسایی
ئاساییش
ئاستەم
ئاسرمە
ئاسەوار
ئاسوودە
ئاسوون
ئاسۆک
ئاسیم
ئاسیو
ئاشاخە
ئاشپەزخانە
ئاشت
ئاشچی
ئاشخانە
ئاشنا
ئافرەت
ئافەریدە
ئاقل
ئاکار
ئاکام
ئال
ئالف
ئاڵتوون
ئاڵووگۆز
ئاڵووگۆڕ
ئاڵۆز
ئام
ئامادە
ئامار
ئاماژ
ئاماسان
ئامان!
ئامراز
ئامسەر
ئامۆزا
ئامۆژن
ئامێر
ئاھەنگ
ئاوا
ئاواز
ئاواڵە
ئاور
ئاوزەنگی
ئاوساندن
ئاوھا
ئاوەدان
ئاوەدانی
ئاوەر
ئاوەرێژ
ئاوەژوو
ئاوەندیار
ئایا؟
ئایندە
ئایین
ئەبلەق
ئەبیاڵ
ئەبێ
ئەتک
ئەتوون
ئەجزاجی
ئەجندا
ئەدی!
ئەدی؟
ئەرامەندە
ئەرج
ئەرز
ئەرک
ئەرە
ئەزبۆلە
ئەژدەھا
ئەژماردن
ئەژمێر
ئەسپایی
ئەستوون
ئەستۆ
ئەستی
ئەستێرک
ئەستێوڵک
ئەسکری
ئەسکوێ
ئەسڵەن
ئەشک
ئەشکەنجە
ئەشیا
ئەفسانە
ئەفسەر
ئەقل
ئەگریجە
ئەلبەت
ئەلمۆدە
ئەڵقە
ئەڵماس
ئەڵێ
ئەمر
ئەمن
ئەموست
ئەمین
ئەنتیکە
ئەنجام
ئەنجن
ئەنجومەن
ئەندازیار
ئەنگاو
ئەنگوور
ئەنەم
ئەھلی
ئەوانیش
ئەوجا
ئەورەنگ
ئەوزار
ئەوسا
ئەوە
ئەوەش
ئەوەندە
ئەی
ئەی!
ئەینا؟
ئیجا
ئیختیار
ئیرھاب
ئیرھابی
ئیستیقالە
ئیش
ئیفتادە
ئیم
ئیمرۆ
ئیمسال
ئیمشەو
ئینجا
بابوسکە
بابۆڵە
باپیر
باتەک
باتوو
باتی
باچە
باخەڵ
بادیھەوا
بارام
بارست
بارشت
بارمتە
بارە
بازد
بازوو
بازۆر
باڕ
باستانناسی
باستورمە
بافت
باڵابستە
باڵباز
باڵۆڵە
باڵۆن
باڵێ
باڵێف
بانگردێن
بانوو
باھێر
باوک
باوەڕ
باوەقۆت
باوی
بایست
باینجان
باینجانی ڕەش
باینجانی سوور
بایەخ
بایی
بچەژ
بدوو
برادەر
براژن
برای ھاوپشت
بردەمەنی
برژانگ
برژاو
برسێتی
برغوو
برنگ
برووسکە
بریتی
بزاڤ
بزان
بزاوتن
بزگور
بزووتنەوە
بڕاو
بڕمێن
بڕوانامە
بڕۆ
بڕیار
بڕێک
بژاردن
بژاردە
بژوولک
بسکە
بشێوە
بلیمەت
بڵح
بڵند
بناغە
بنچە
بنچینەیی
بنکە
بنەما
بنەوش
بەتڵانە
بەحر
بەخت
بەخترەش
بەختەوەر
بەختیار
بەخش
بەخشەندە
بەخشەندەیی
بەد
بەدبەخت
بەدرەقە
بەر سەر کەسێکەوە لەوەڕان
بەرایی
بەردەوک
بەرز
بەرزە
بەرژەوەند
بەرژەوەندی
بەرف
بەرگ
بەرگری
بەرگە
بەرگەشتە
بەرە
بەرەزە
بەرەو
بەرەوژۆرکە
بەرەوژێرکە
بەروار
بەروودوا
بەزم
بەژ
بەستن
بەستە
بەسر
بەش
بەشدار
بەفر
بەق
بەقال
بەقلیسۆک
بەل
بەلاش
بەلایەن
بەلایەنی
بەلەز
بەلەم
بەڵا
بەڵام
بەڵگە
بەڵەد
بەڵەک
بەڵەیاندن
بەناوبانگ
بەند
بەندە
بەندەگی
بەنگ
بەنگکێش
بەھا
بەھارات
بەھانە
بەھر
بەھرە
بەھەشت
بەو
بەوان
بەیار
بەیارمەتیت
بەیاز
بەیاننامە
بەیانی
بەیچەڵ
بەیدەست
بەینەت
بەینەتدار
بوختان
بوخچە
بوودینە
بووردن
بووژاندن
بووسە
بووم
بووواردن
بووێژ
بوێر
بۆچوون
بۆران
بۆرچین
بۆردن
بۆق
بۆقەتە
بۆنە
بۆینباخ
بیانوو
بیانی
بیبن
بیبی
بیجامە
بیچم
بیراز
بیرتەسک
بیرە
بیرووڕا
بیستا
بیستراو
بیستن
بیستەر
بیستۆک
بیڤر
بێتار
بێجگە
بێخ
بێخبڕ
بێزار
بێژار
بێسەرووشوێن
بێشەڵان
بێگانە
بێگومان
بێلایەن
بێلایەنی
بێنەوبەرە
بێھیوا
بێوەژن
پابەند
پاتری
پاچ
پاداشت
پارێزگار
پاساو
پاسەوان
پانایی
پاندان
پایتەخت
پرد
پشکنین
پەتی
پەرواز
پەشیمان
پەلەمە
پەیامبەر
پەیامنێر
پۆتین
پۆل
پیشە
پیشەسازی
پێشکەوتن
پێو
تاقم
تكايه
تەپەدۆر
تەڤۆڵ
تەمەڵ
تەواو
توون
تۆپ
جەنگاڤەر
چابووک
چاپاڵێو
چاپخانە
چاپکراو
چاپەز
چاتۆڵە
چاچی
چادرگا
چارشێو
چارە
چارەک
چارەنووس
چارەنووسساز
چارەوا
چاسر
چاش
چاشتێنگا
چاشنی
چاکەت
چاڵ
چاڵاو
چاڵەچەقیلە
چاندەمەنی
چاندەنی
چاوباشقاڵ
چاوەڕوانکراو
چاوێشە
چایەر
چپک
چرادان
چراکەوان
چراورک
چرچ
چرکان
چرکاندن
چرکە
چرووسان
چرووساندن
چرووساو
چرووک
چزاندن
چڕان
چڕنووک
چڕووچاو
چش
چقڵ
چکان
چکاندن
چکۆک
چکۆڵە
چلە
چلۆکۆک
چلۆنھا
چلێس
چلێسی
چڵپاو
چڵک
چڵکاو
چڵم
چمک
چنگاڵ
چنۆک
چەپاڵ
چەپاڵە
چەپاو
چەپخوون
چەپڕۆ
چەپڕۆیی
چەپکەن
چەپلەر
چەپە
چەپەجاخ
چەپەر
چەپەڵۆک
چەپووچێڕ
چەپۆک
چەتاڵ
چەتڵەمەز
چەتە
چەتیانە
چەخماق
چەرخاو
چەرخەمە
چەرداخ
چەرداوەروو
چەردە
چەرس
چەرم
چەرمەسەرێ
چەرە
چەڕندە
چەڕین
چەسپ
چەش
چەشتن
چەشکە
چەشمە
چەشن
چەشنی
چەقاڵ
چەقان
چەقاندن
چەقەڵ
چەقۆساز
چەقۆکێش
چەکووش
چەلاک
چەلان
چەلاو
چەلیپا
چەڵەمە
چەمچە
چەمەر
چەمەری
چەمووچەم
چەمۆڵە
چەندایەتی
چەندەمین
چەندێتی
چەنە
چەنەباز
چەنەبازی
چەنەچەن
چەنەھەراش
چەو
چەواشە
چەوتانەوە
چەوتی
چەودار
چوارچێوە
چواردەور
چوارگۆشە
چوارلا
چوارەک
چوالە
چوختی
چوڕ
چوست
چۆپین
چۆدار
چۆڕان
چۆڕاندن
چۆش!
چۆق
چۆلاغ
چۆلک
چۆڵ
چۆنھا
چۆنیەک
چیتۆکە
چیل
چیلەچەپ
چیلەک
چیم
چێر
چێژ
چێژان
چێژیلە
چێش
چێشتخانە
چێشتکەر
چێشتن
چێو
چێوە
چێوین
خوێندن
خۆشەویست
خۆم
خۆمان
رۆژانە
ژار
ژاراو
ژاراوی
ژاربەر
ژارقەندە
ژارک
ژارووژەنگ
ژاژ
ژاژک
ژاڵە
ژاندار
ژانەسک
ژانەسەر
ژاوەژاو
ژلێواندن
ژلێوە
ژمار
ژماردن
ژمارکار
ژمارکۆ
ژمارەگر
ژمارەگری
ژمارەیی
ژمێرە
ژنانە
ژنانی
ژنەشا
ژنێتی
ژەقنەبووت
ژەک
ژەمک
ژەندن
ژەنگاڵی
ژەنگاوی
ژەھری ھەڵاخنین
ژووان
ژووانگا
ژووران
ژوورەوە
ژوورۆچکە
ژیار
ژیاری
ژیانەوە
ژیانی
ژیرانە
ژیربێژ
ژیربێژانە
ژیرکەلە
ژیری
ژینامە
ژینداری
ژیھاتن
ژیوار
ژێر
ژێربەران
ژێرپیاڵە
ژێرپێ
ژێرتیپ
ژێرچەپۆکە
ژێردەست
ژێردەستی
ژێرزەمین
ژێرزەمینی
ژێرسەر
ژێرکەنارە
ژێرەوە
ژێرەوەنان
ژێروو
ژێرووزەبەر
سەنگەر
سەنیا
سوپا
شتن
فافۆن
فاقە
فاک
فاڵ
فاڵ گرتنەوە
فاما
فامیدە
فامین
فانۆس
فایل
فترە
فتوا
فتیلە
فراژان
فراژاندن
فراژی
فراژیوەر
فراوانی
فرتەنە
فرزەند
فرزەند ھێنانەوە
فرستادە
فرشتەنگ
فرە
فرەایینی
فرەبێژ
فرەز
فرەنەتەوەیی
فرەھزبایی
فرەھزبی
فرەیی
فرۆشتنەوە
فرۆشراو
فریز
فریو
فریواندن
فریوباز
فریوخۆر
فزە
فڕفڕە
فڕفڕۆکە
فڕفینگ
فڕکان
فڕگە
فڕن
فڕندە
فڕنک
فڕووج
فڕووفێڵ
فڕوون
فڕۆکەنەھێڵ
فڕۆکەوان
فڕیشتە
فڕین
فڕێ
فڕێدراو
فس
فسکە
فسکەفسک
فشقیات
فشەکەر
فشەگاڵتە
فلیقاندن
فلیقاو
فڵان
فڵت
فڵتاندن
فڵتەدەمە
فڵیتە
فم
فنددان
فەتار
فەتار فەتار
فەتارەت
فەتان
فەخفووری
فەرامۆش
فەرامۆشی
فەرتووت
فەرخی
فەردە
فەرز
فەرزین
فەرق
فەرکار
فەرکاندن
فەرکانە
فەرمان
فەرمانبەر
فەرمانڕەوا
فەرمانڕەوایی
فەرمانگێڕی
فەرمانی
فەرمایشت
فەرموو
فەرموون
فەرەھ
فەروار
فەروو
فەریک
فەڕاش
فەڕاقە
فەڕدار
فەسڵ
فەقیر
فەقێ
فەکڵە
فەلسەفە
فەلە
فەلەسووف
فەن
فەنا
فەوتان
فەوتاندن
فەوتاو
فوو
فوودراو
فوورھە
فیتەفیت
فیچقە
فیدا
فیدایی
فیرست
فیز
فیزار
فیزن
فیڕکە
فیڕۆ
فیسان
فیسەڵ
فیش
فیشاڵ
فیشەفیش
فیعل
فیک
فیکە
فیکەفیک
فێدار
فێر
فێربوو
فێردار
فێرداری
فێرگە
فێسان
فێڵ
فێڵباز
فێڵووفەرەج
فێنک
قردێلە
قرقێنە
قنگ
قەبەیی
قەتران
قەساب
قەسابخانە
قەشەنگ
قەنەفە
قەول
قەیران
قەیرە
قەیناکە
قوپان
قوپاو
قوربانی
قولاپ
قۆپچە
قۆخ
قۆرخ
قۆقز
کابان
کابرا
کابە
کابینە
کاپۆڵ
کات
کاتپێو
کاتەوکات
کاچ
کاخەز
کاخەزدار
کادان
کارا
کاراسک
کاراشنا
کاراشنایی
کاربرا
کاربرایەتی
کاربڕ
کاربەدەستی
کاربین
کارتە
کارخانە
کاردانەوە
کاردیتوو
کارزان
کارزانی
کارژۆلە
کارساز
کارکردە
کارکەر
کارکەنار
کارکەناری
کارگە
کارگەر
کارگوزار
کارگوزاری
کارگێڕ
کارگێڕی
کارنامە
کارنیارنامە
کارھاتوو
کارەبا
کارەز
کارەزاو
کارەزکەن
کارەسات
کارەکەر
کاروانچی
کاروانکەر
کاروانکوژ
کاروانی
کارووبار
کارووس
کاری
کاریگەر
کاژاو
کاژەڵاخ
کاسب
کاسبی
کاسپ
کاستی
کاسی
کاش
کاشانە
کاشە
کاشی
کاف
کاک
کاکڵ
کاکە
کاکەلێ
کاکەیی
کاکۆ
کاکیبەکاکی
کالان
کالە
کالی
کالیار
کاڵا
کاڵات
کاڵەک
کاڵەمستە
کاڵی
کاماخ
کامار
کامپ
کامەتا
کامەرانی
کان
کاناو
کانزا
کانزایی
کانوون
کانیاو
کانیبەردینە
کانیلە
کانیەدرۆزنە
کاھوو
کاو
کاوڕ
کاوش
کاول
کاویر
کاوێژ
کپەنە
کتک
کتکنەوتینە
کتکی
کتووپڕ
کتێبباز
کتێبەڤان
کچانە
کچکۆڵە
کچنی
کچەتیو
کچەزا
کخ
کراس
کراو
کرتناک
کرداری
کرداری تێپەر
کرداری تێنەپەر
کرداری لێکدراو
کردە
کردەکار
کردەگار
کرسپ
کرمدڵ
کرۆت
کرۆسک
کرۆشتن
کرۆک
کریڤ
کرێ
کرێبار
کرێکاری
کز
کزاندنەوە
کزانەوە
کزر
کزۆڵە
کزی
کڕکڕاگە
کڕکەوتوو
کڕە
کڕەک
کڕووزانەوە
کڕووزە
کڕووھوڕ
کڕیار
کڕێشاوی
کڕێنە
کسپ
کسپووکۆ
کسسە
کشان
کشت
کشتکار
کشتگەھ
کشتەک
کشوومات
کشووماتی
کفرباز
کفندڕ
کلت
کلتوور
کلچان
کلچێوک
کلدان
کلدوومان
کلەر
کلیل
کلیلە
کلیم
کڵ
کڵاش
کڵاشچن
کڵاواسن
کڵاوزرێ
کڵاوقژ
کڵاونە
کڵپە
کڵپە لێ ھەڵسان
کڵپووھووڕ
کڵفت
کڵۆ
کڵۆر
کڵۆش
کڵۆڵ
کڵۆڵی
کڵێس
کڵێسمان
کڵێشە
کنگخشکێ
کنگخلیسکێ
کنگدەر
کنگر
کنە
کنەکار
کنیواڵ
کنێر
کەباب
کەبات
کەبار
کەپرۆکە
کەپەنەک
کەت
کەتان
کەتانە
کەتانی
کەتن
کەتە
کەتوو
کەتیرە
کەچە
کەچەڵ
کەچەڵی
کەرانباوکگاو
کەرانە
کەرپەسە
کەرپیاو
کەرت
کەرتکراو
کەرتە
کەرتووپەرت
کەرتی
کەردڕ
کەرسەگ
کەرکە
کەرکوژ
کەرگەز
کەرھەنگ
کەرە
کەرەجی
کەرەدێز
کەرەسە
کەرەکی
کەرەکێوی
کەرەنتوو
کەرەوز
کەرووبار
کەرۆکە
کەرێتی
کەزاخە
کەزی
کەڕ
کەڕەت
کەڕەتی
کەڕەکۆنتێ
کەڕەنسۆ
کەڕەواڵە
کەڕوو
کەڕوو ھێڵھێنان
کەڕووواوی
کەڕی
کەژاوە
کەژماڵ
کەسانە
کەستەک
کەسک
کەسکووسۆر
کەسکوون
کەسکی
کەسنەدار
کەسنەدیو
کەسیرە
کەش
کەشاکەش
کەشتیگەل
کەشتیوان
کەشتیوانی
کەشخە
کەشزان
کەشزانی
کەشک
کەشکە
کەشکەلان
کەشکەلانی فەلەک
کەشمەکەشم
کەشە
کەشەنگ
کەشووفش
کەشیش
کەشیە
کەف
کەفارەت
کەفالەت
کەفاو
کەفووکۆڵ
کەفیل
کەلا
کەلار
کەلارە
کەلتوور
کەلخانە
کەلە
کەلەپەر
کەلەپوور
کەلەپووری
کەلەتەزێن
کەلەشەق
کەلەکوچ
کەلەلا
کەلەم
کەلواز
کەلووپەل
کەلووکۆم
کەلێن
کەڵام
کەڵان
کەڵب
کەڵەس
کەڵەک
کەڵەکباز
کەڵەکچی
کەڵەگەت
کەڵەوێ
کەڵووڕی
کەڵۆس
کەم کەمە
کەماڵ
کەمان
کەمانچەژەن
کەمایەتی
کەمایەسی
کەمبیر
کەمتەرخەمی
کەمتیار
کەمتین
کەمچیکڵدانە
کەمدەست
کەمدوو
کەمڕوو
کەمساڵ
کەمشیر
کەمناو
کەمە
کەمەبەند
کەمەر
کەمەربەستی
کەمەرچین
کەمەردار
کەمەرەیی
کەمەری زەوی
کەمەکێک
کەمەیی
کەمووکووڕی
کەمۆ
کەمۆکار
کەمۆکاری
کەمۆیار
کەمۆیاری
کەمی
کەنار
کەناراو
کەنارگر
کەنارگری
کەنارەیی
کەنتۆر
کەند
کەند و کۆسپ
کەنداڵ
کەنداو
کەندەک
کەندەکار
کەندەڵان
کەنزەک
کەنەفت
کەنەفتی
کەنیچە
کەنیلێ
کەھلان
کەو ئڤ
کەوا
کەوالە
کەوان
کەوانکۆشە
کەوانە
کەوباز
کەوبازی
کەوباڕ
کەوبەدار
کەوتوو
کەوچک
کەوداو
کەودەن
کەورک
کەوژ
کەوژین
کەوشەک
کەوشەکەن
کەوشەکۆن
کەوگیر
کەولۆس
کەومار
کەوە
کەوەر
کەوۆت
کەوێڵ
کەی
کەیبانوو
کەیس
کەیل
کەیلان
کەینووبەین
کەیوان
کوارەنگ
کوتان
کوتووپڕ
کوتوومت
کوچوولە
کودەڵە
کورتان
کورتاندروو
کورتبڕ
کورتبڕی
کورتبین
کورتبینی
کورتم
کورتە
کورتەباڵا
کورتەبنە
کورتەک
کورتی
کورتیلە
کوردانە
کوردایەتی
کوردپەروەر
کوردستانی
کوردشناس
کوردکوژە
کوردناسی
کوردھەز
کوردەواری
کوردیاخێو
کوردیزانی
کوردیزمان
کورکاندن
کورەک
کوزان
کوڕ
کوڕانە
کوڕکوڕە
کوڕگەل
کوڕنووش
کوڕە
کوڕەزا
کوڕەزازا
کوڕێتی
کوژاندنەوە
کوژران
کوژراو
کوشتار
کوشتبەندان
کوشتن
کوشتەرا
کوشندە
کوفار
کولاف
کولاندنەوە
کولانەوە
کولپ
کولخان
کولەپاچ
کولەمەرگی
کولیچە
کوڵاو
کوڵک
کوڵکوڵە
کوڵەبنە
کوڵەبەس
کوڵەپێچ
کوڵەنانی
کوڵەنجە
کوڵەھەسار
کوڵۆت
کوڵۆک
کونار
کوناودەر
کونبڕ
کونتیلە
کونجرە
کونجی
کونجێن
کونچک
کونزەین
کونکراو
کونکەرە
کونەباجە
کونەبەبوو
کونیلە
کونیلەدار
کوو
کووپ
کووپە
کووپەڵە
کووچە
کوور
کوورە
کووز
کووکەلە
کووکوو
کووکووکەرە
کوونی
کوێخا
کوێخایەتی
کوێرانە
کوێراو
کوێردەرە
کوێرەدێ
کوێرەڕێ
کوێرەشەقام
کوێرەکانی
کوێرەمار
کوێرەمووشە
کوێرەوەری
کوێری
کوێڕا
کوێستانی
کوێلە
کوێلەدار
کوێلەداری
کوێلەیی
کوێندەری
کوێوە
کۆ
کۆبەند
کۆبوونەوە
کۆپارە
کۆت
کۆتان
کۆتایی
کۆتایی ١یی پێ
کۆتەرە
کۆجەڵە
کۆچ
کۆچاوکۆچ
کۆچکەر
کۆچەری
کۆچەرێتی
کۆچەک
کۆچەکە
کۆچی
کۆچی دوایی
کۆخ
کۆخوازی
کۆد
کۆرپەلە
کۆز
کۆزانین
کۆزمان
کۆزە
کۆزەرە
کۆڕگە
کۆژە
کۆژۆ
کۆسپ
کۆسپایی
کۆستە
کۆستەوەوی
کۆسە
کۆشان
کۆشش
کۆشیار
کۆفرۆش
کۆفرۆشی
کۆڤان
کۆکردنەوە
کۆکەکۆک
کۆکین
کۆکێتی
کۆلک
کۆلیسک
کۆڵ
کۆڵارە
کۆڵان
کۆڵاندۆز
کۆڵانکوت
کۆڵراو
کۆڵکێش
کۆڵگێڕ
کۆڵنج
کۆڵنجان
کۆڵنگە
کۆڵنەدەر
کۆڵھەڵگر
کۆڵە
کۆڵەر
کۆڵەوار
کۆڵوو
کۆڵیت
کۆڵین
کۆڵینەوە
کۆم
کۆما
کۆماری
کۆماوە
کۆمفرۆش
کۆمفرۆشی
کۆمەک
کۆمەکی
کۆمەڵ
کۆمەڵایەتی
کۆمەڵزان
کۆمەڵزانی
کۆمەڵە
کۆمی
کۆنە
کۆنەباو
کۆنەپەرست
کۆنەپەرستی
کۆنەپۆش
کۆنەساڵ
کۆنەفرۆش
کۆنی
کۆنینە
کیتەڵە
کیسەڵ
کیشوەر
کیشوەربڕ
کیشوەری
کیوار
کێ
کێچ
کێچاوی
کێرزل
کێرزلی
کێڕ
کێش
کێشان
کێشانەوە
کێشدار
کێشران
کێشراو
کێشمان
کێشمەکێش
کێشە
کێل
کێڵراو
کێوی ئاگرپرژێن
کێویلە
گابۆڕ
گاراندن
گارەگار
گازر
گازندە
گازندۆک
گازەرا
گاڕس
گاسن
گاف
گاکێوی
گاگەل
گاگۆڵکێ
گاگێرە
گالیسکە
گاڵ
گاڵتە
گاڵتەبێژ
گاڵتەجاڕ
گاڵتەچی
گاڵتەگێ
گاڵە
گاڵەکوت
گاڵۆک
گامەڵاس
گامێش
گان
گاناوی
گانەک
گاوارە
گاووس
گاووگۆتاڵ
گایلکە
گایی
گرتنەوە
گرتەک
گرتوو
گرتووخانە
گردە
گردەبا
گردەپیاو
گردەڵە
گردۆکۆ
گردۆڵک
گرژی
گرس
گرفت
گرفتە
گرمەژنە
گرمۆڵە
گرمۆڵەیی
گرنگی
گرەو
گروون
گرۆ
گریشمە
گرین
گرینۆک
گرێدراو
گرێکوێرە
گزیر
گڕاندن
گڕگر
گڕگرتوو
گڕووگاڵ
گڕوێ
گڕوێیی
گڕۆز
گژەبا
گشتگر
گشتی
گفتووگۆ
گڤی
گلار
گلارە
گلاو
گلەبان
گلەخان
گلەسپی
گلەیی
گلۆفتن
گلین
گلێجە
گلێر
گڵۆپ
گڵۆڵە
گندۆر
گەپەگەپ
گەچ
گەدا
گەدایی
گەدە
گەر
گەردان
گەردانە
گەرداو
گەردنکەچ
گەردنکەش
گەردنکێل
گەردەش
گەردووخول
گەردووگەڵا
گەردوون
گەرم
گەرما
گەرماپێو
گەرماجمان
گەرماو
گەرماوگەرم
گەرمایی
گەرمبردوو
گەرمەگلێ
گەرمی
گەرمیان
گەرمیانی
گەرمیپێو
گەرمێتی
گەرەک
گەرەکی
گەروانکە
گەرووێش
گەزاف
گەزگەزان
گەزندە
گەزنە
گەزەن
گەزین
گەڕان
گەڕاندن
گەڕاندنەوە
گەڕانەوە
گەڕەلاوژە
گەڕۆک
گەڕۆڵ
گەڕۆڵە!
گەڕی
گەستن
گەسکە
گەش
گەشایشت
گەشبین
گەشبینی
گەشتنامە
گەشتوەر
گەشتووگوزار
گەشتیار
گەشکە
گەشکەدار
گەشەکردوو
گەشی
گەف
گەفووگوڕ
گەفین
گەل
گەلال
گەلاوێژ
گەلھۆ
گەلەخان
گەلەراوێژی
گەلۆر
گەڵادار
گەڵارێزان
گەڵاڕن
گەڵاکوتک
گەڵاڵە
گەڵاوگەڵ
گەڵاوەر
گەمارۆ
گەماڵ
گەموورە
گەناندن
گەندەڵ
گەندووگوو
گەنمگردی
گەنمە
گەنیو
گەواد
گەوار
گەواڵ
گەواھ
گەواھی
گەورەیی
گەوز
گەولاز
گەوھەر
گەوھەربەند
گەوھەردار
گەوھەرکار
گەوە
گەوەری
گەوەکار
گەوون
گەی
گەیاندن
گەیشتگە
گەیشتوو
گەیگر
گەیین
گودلە
گوربز
گوربە
گورج
گورد
گورزە
گورزەتیشک
گورزەھۆن
گورگانگاز
گوزارە
گوزارەدار
گوزارەیی
گوزەریو
گوڕ
گوڕە
گوڕەشە
گوڕەشەکار
گوڕەووبڕە
گوژم
گوستاخ
گوستاخی
گوشار
گوشران
گوشراو
گوشراوە
گول
گولاج
گولی
گوڵ
گوڵاڵە
گوڵان
گوڵاو
گوڵاوپژێن
گوڵاوی
گوڵباران
گوڵبانگ
گوڵبەدەم
گوڵدار
گوڵدان
گوڵرەنگ
گوڵڕێزان
گوڵشەن
گوڵگوڵی
گوڵمە
گوڵمێخ
گوڵە
گوڵەباخ
گوڵەباران
گوڵەپرێژ
گوڵەچاوێشە
گوڵەندام
گوڵونکە
گوڵی
گوم
گومانبار
گومانرەش
گومانی
گومرک
گومڕاکەر
گومناو
گومی
گوناھ
گوناھبار
گونجان
گونجاندن
گونجاو
گونداری
گوندۆرە
گووار
گووارە
گووان
گووبۆق
گووپ
گووپن
گووران
گووواوی
گووێ
گووێچکە
گوێ
گوێبەل
گوێدێر
گوێرە
گوێرەکە
گوێزرنگانەوە
گوێزەر
گوێزی فەریک
گوێزی کوێر
گوێڕەپ
گوێسووک
گوێسووکی
گوێقورس
گوێقوڵاخ
گوێکپ
گوێگر
گوێگران
گوێلەمست
گوێنی
گۆتاڵ
گۆترە
گۆتن
گۆج
گۆجی
گۆران
گۆرین
گۆزەر
گۆزەڵە
گۆڕان
گۆڕاندن
گۆڕاندنەوە
گۆڕانکار
گۆڕانکاری
گۆڕستان
گۆڕین
گۆڕینەوە
گۆساڵە
گۆشپارە
گۆشتاو
گۆشتخۆر
گۆشتن
گۆشتی کاڵ
گۆشەدار
گۆشەگیری
گۆشەنیگا
گۆکار
گۆگرد
گۆڵە
گۆم
گۆمەڵتە
گۆنە
گۆنیە
گۆییژ
گیایی
گیرا
گیران
گیراو
گیراوە
گیراوێ
گیرسانەوە
گیرفانبڕ
گیرفانی باخەڵ
گیرکار
گیرووگرفت
گیرۆ
گیرۆبەند
گیرۆدار
گیز
گیزاندن
گیڕەگیڕ
گیشە
گیڤ
گییانسەخت
گێپەڕە
گێتاڵ
گێرە
گێرەووکێشە
گێزەر
گێڕان
گێژاو
گێژوووێژ
گێسوو
گێلاس
گێلۆکە
گێلی
گێوە
لا چوون
لابابەت
لابار
لابراو
لابەرھەم
لاپاڵ
لاپچین
لاپەڕە
لات و لوات
لات و لوار
لاترقەوچ
لاتەڕاف
لاتوخم
لاجانگ
لاجیوەرد
لاچوو
لادێیی
لارەلار
لارەولار
لاڕەو
لاڕێ
لاژگ
لاژگی
لاساری
لاسایی
لاساییانە
لاساییکەر
لاسک
لاسەنگ
لاسەنگی
لاشان
لاشەڕ
لاشەڕی
لاف و گەزاف
لاقردی
لاک
لاکاری
لاکۆڵان
لاکێش
لاکێشە
لاگیر
لاگیری
لالخاوە
لالە
لالەنگی
لاڵ
لاڵانەوە
لاڵە
لاڵەپەتە
لاڵوپاڵ
لاڵی
لامئەلیفلا
لامل
لامی قەڵەو
لانەواز
لانەوازی
لاەنجام
لاواز
لاوازی
لاوانەوە
لاوچاک
لاورگە
لاوژە
لاوک
لاولاو
لاوە
لاوێتی
لای
لایەن
لایەنگر
لایەنگری
لچەستوور
لچوولێو
لرفەلرف
لک
لکاوە
لکێنراو
لمۆز
لمین
لنگەلەرێ
لە
لەباری
لەبز
لەبلەبی
لەبەرچاڤ
لەپ
لەپاشەجێماو
لەپالەپ
لەپماڵ
لەپەوڕوو
لەپی
لەپی دەست
لەتگەر
لەتووپەت
لەچەر
لەچەری
لەخشتەبەر
لەخەم
لەخەمڕەخسیو
لەخواترس
لەخواترسی
لەخوانەترس
لەخوانەترسی
لەران
لەراندن
لەرانەوە
لەرز
لەرزان
لەرزاندن
لەرزۆک
لەز
لەزاندن
لەزپیو
لەزگێڕ
لەزگێڕی
لەزەت
لەزین
لەڕ
لەڕ و لاواز
لەڕوو
لەڕوویی
لەڕی
لەسەرخۆ
لەسەرخۆیی
لەسەرکەرەوە
لەش
لەشسووک
لەشقورس
لەشکر
لەشکرگا
لەشکرگێڕ
لەشکرگێڕی
لەشوولار
لەشی
لەعنەت
لەفاف
لەقان
لەقاندن
لەقە
لەقەب
لەقەکوت
لەقەلەق
لەقوولۆق
لەک
لەکە
لەکەدار
لەکەداری
لەکی
لەگژ
لەگەن
لەل
لەلە
لەلەیی
لەم
لەم جێگایە دا
لەم دیوەوە
لەمئەو بەر
لەمان
لەمانەوە
لەمپا
لەمپەر
لەنجین
لەنگەر
لەنگەرە
لەنگی
لەنگین
لەنگێزە
لەھیم
لەو
لەو پەڕ
لەو سەرەوە
لەوازە
لەواشە
لەوان
لەوچەلەوچ
لەوچەیی
لەوس
لەوساوە
لەوسن
لەوە بە دەر
لەوە بەو لاوە
لەوە پێش
لەوە دوا
لەوەڕ
لەوەڕگا
لەوەن
لەوێ
لەوێچ
لەوێڕا
لەوێوە
لوان
لواندن
لواو
لوڕ
لوڕستان
لوڕی
لووتبەرز
لووتبەرزی
لووتزل
لووتفش
لووتقوڵنگە
لووتە
لووتەلا
لووتەوانە
لوودە
لووزەو
لووس
لووسکە
لووسووپووس
لوول
لوولاق
لوولکراو
لوولە
لوولەیی
لوولێنە
لۆترەوان
لۆترەوانی
لۆتە
لۆتی
لۆتیێتی
لۆخان
لۆر
لۆرت
لۆرە
لۆری
لۆزەندەر
لۆقە
لۆک
لۆککراو
لۆکە
لۆلە
لۆلۆ
لۆمە
لۆنگ
لۆنە
لیان
لیپ
لیتاو
لیچاڵ
لیخن
لیر
لیژنە
لیژنەدار
لیستە
لیک
لیمە
لیمۆ
لیمۆنی
لیمۆیی
لینج
لینج و فینچ
لینجی
لیوا
لێ
لێ بووردن
لێ بێزران
لێ پڕ بوون
لێ تووژینەوە
لێ تێک چوونەوە
لێ چوونەوە
لێ خەفەتان
لێ خوڕین
لێ ڕاوەستان
لێ قەومان
لێ کۆڵینەوە
لێ گۆڕین
لێ نان
لێ نەگرتن
لێ ھاتن
لێ ھەڵبڕین
لێ ھەڵسان
لێ ھەڵکەوتن
لێ وە
لێ وەرگەڕانەوە
لێ وەستانەوە
لێ وەشانەوە
لێبووردن
لێبووردە
لێبووردوو
لێت
لێتان
لێچوو
لێچوونی
لێخوڕ
لێدوو
لێر
لێرە
لێرە بە دواوە
لێرەش
لێرەوار
لێزگ
لێزگە
لێژ
لێژاو
لێژی
لێسە
لێش
لێقەوماو
لێک
لێک بڕان
لێک بەربوونەوە
لێک ڕەوینەوە
لێکۆلینەوە
لێڵاو
لێڵایی
لێڵایی داھاتن
لێڵە
لێڵی
لێم
لێمان
لێھاتوو
لێواولێو
لێوڕێژ
لێوەدار
لێی
لێیان
مامۆژن
مامۆستا
ماوە
متمانە
مژۆک
ململانێ
مەترسی
مەرز
مەرکانە
مەزن
مەڕۆ
مەمک
میراتی
مێباز
ناخۆش
ناخۆشی
نازناو
نامیلکە
نانەواخانە
ناوازە
ناوخۆ
ناوک
ناوەندی
نزیک
نەبەرد
نەخشە
نەریت
نوشتانەوە
نۆش
نیشانە
نێردراو
نێوان
ھا
ھاتنە دی
ھاتنەوە
ھاتنەوە یاد
ھاتووچوو
ھاجی
ھاجیبادام
ھاجیبایەف
ھاجیرەش
ھاجیلەقلەق
ھار
ھار و ھاج
ھاروو
ھارووھوورت
ھاری
ھاریکار
ھاریکاری
ھازر
ھازری
ھاڕاو
ھاڕە
ھاڕین
ھاڕیە
ھاژ
ھاژاندن
ھاشا
ھاشووھووش
ھافز
ھاڤل
ھاکا
ھاکایی
ھاکم
ھاکمانە
ھاکمێتی
ھاکۆ
ھاڵ
ھاڵ و ئەھواڵ
ھاڵاو
ھاڵەت
ھاڵی
ھامار
ھامێز
ھان
ھانابەر
ھاندراو
ھاندەر
ھاوارکەر
ھاواری
ھاواھەنگی
ھاوبەش
ھاوبەند
ھاوبیر
ھاوپا
ھاوپایە
ھاوپرسی
ھاوپشت
ھاوپەیمان
ھاوتا
ھاوتەک
ھاوتەمەن
ھاوجۆت
ھاوجێ
ھاوچاخ
ھاوچاو
ھاوچاوی
ھاوچڕە
ھاوچەق
ھاوچەک
ھاوخاک
ھاوخەف
ھاوخوان
ھاودەرد
ھاودەست
ھاودین
ھاوراز
ھاوزگ
ھاوزمان
ھاوزۆم
ھاوڕێ
ھاوڕێتی
ھاوساز
ھاوساڵ
ھاوسامە
ھاوسنوور
ھاوسەدە
ھاوسەر
ھاوسەنگ
ھاوسەنگی
ھاوسوێند
ھاوسوێندی
ھاوشار
ھاوشان
ھاوشیرە
ھاوشێوە
ھاوکات
ھاوکار
ھاوکاری
ھاوکێش
ھاوکێشە
ھاولا
ھاوماڵ
ھاومل
ھاوناو
ھاونشین
ھاونەبەرد
ھاونۆرە
ھاوەن
ھاووڵات
ھاووڵاتی
ھاویشتن
ھاوینھەوار
ھاوێر
ھتد
ھزب
ھسێب
ھکوومەت
ھل
ھە
ھەب
ھەپروون
ھەپس
ھەپسخانە
ھەپەسان
ھەپەساندن
ھەپەساو
ھەپوو
ھەپین
ھەتا
ھەتا دوایی
ھەتا سەر
ھەتار
ھەتارەک:
ھەتاو
ھەترە
ھەتھەتۆکە
ھەتوان
ھەتیو
ھەتیوبار
ھەتیوخانە
ھەچولوور
ھەد
ھەدیس
ھەراج
ھەراس
ھەراسان
ھەرام
ھەرامخۆر
ھەرامە
ھەرجایی
ھەرد
ھەردەبیر
ھەردەگێڵ
ھەردوو
ھەرزاڵە
ھەرزان
ھەرزانبەھا
ھەرزانی
ھەرزە
ھەرزەبێژ
ھەرزەچەنە
ھەرزەکار
ھەرزەکارانە
ھەرزەکاری
ھەرزەیی
ھەرفی
ھەرگیز
ھەرگیزئاو ھەرگیز
ھەرگینە
ھەرلە
ھەرمێپشکوان
ھەرەس
ھەرەوەز
ھەروا
ھەری
ھەریف
ھەرێز
ھەرێم
ھەرێمی
ھەز
ھەز و ناھەز
ھەزارە
ھەزاریەک
ھەزبێلە
ھەزرەت
ھەزم
ھەڕا
ھەڕە
ھەڕەشە
ھەڕەشە و گوڕەشە
ھەڕەمە
ھەژار
ھەژاری
ھەژان
ھەژاندن
ھەژگ
ھەژەند
ھەژێنەر
ھەسار
ھەسان
ھەساوە
ھەستبەر
ھەستبەری
ھەستری
ھەستە
ھەستەوەر
ھەستەوەری
ھەستیار
ھەستیاری
ھەسیر
ھەسیرمەیان
ھەش
ھەشار
ھەشاردراو
ھەشبەسەر
ھەشتا
ھەشتالوو
ھەشتیەک
ھەشھەش
ھەشەری
ھەفت
ھەفتا
ھەفتانە
ھەفتە
ھەفتەیی
ھەڤاڵ
ھەڤدە
ھەڤکێشی
ھەقانی
ھەقایەت
ھەقدەست
ھەکیم
ھەگبە
ھەل
ھەلات
ھەلانە
ھەلاھەلا
ھەلک
ھەلھەلە
ھەلەقمەلەق
ھەلەکە
ھەلوومەرج
ھەلۆک
ھەڵاتوو
ھەڵاخنین
ھەڵاڵ
ھەڵاڵخۆر
ھەڵامسان
ھەڵامەت
ھەڵامەتی
ھەڵاورد
ھەڵاوردن
ھەڵاوسان
ھەڵاوێز
ھەڵبرواندن
ھەڵبزڕکان
ھەڵبزڕکاو
ھەڵبڕین
ھەڵبژار
ھەڵبژاردن
ھەڵبژاردە
ھەڵبژێر
ھەڵبژێڕاو
ھەڵبەز
ھەڵبەست
ھەڵبەستراو
ھەڵبەستن
ھەڵبەستە
ھەڵپاچراو
ھەڵپاچین
ھەڵپچڕان
ھەڵپچڕاو
ھەڵپچڕین
ھەڵپرووزان
ھەڵپرووزاندن
ھەڵپرووزاو
ھەڵپرووکاو
ھەڵپڕووکان
ھەڵپڕووکاندن
ھەڵپژان
ھەڵپە
ھەڵپەڕاندن
ھەڵپەڕکێ
ھەڵپەڕین
ھەڵپەساردن
ھەڵپەساڕاو
ھەڵپەنمان
ھەڵپێچ
ھەڵپێچان
ھەڵپێچراو
ھەڵترووشکان
ھەڵتڕین
ھەڵتڵیشان
ھەڵتڵیشاندن
ھەڵتڵیشاو
ھەڵتەکان
ھەڵتەکاندن
ھەڵتەکیو
ھەڵتووڕاندن
ھەڵتۆقین
ھەڵتیزاندن
ھەڵچنراو
ھەڵچنین
ھەڵچەقین
ھەڵچوون
ھەڵخران
ھەڵخستن
ھەڵخلیسکان
ھەڵخلیسکاندن
ھەڵخەڵەتان
ھەڵخەڵەتاندن
ھەڵخەڵەتاو
ھەڵخەڵەتێو
ھەڵخوێندن
ھەڵدان
ھەڵدانەوە
ھەڵدرووراو
ھەڵدروون
ھەڵدڕان
ھەڵدڕاو
ھەڵدڕین
ھەڵدێران
ھەڵزڵەپین
ھەڵزڵەپیو
ھەڵڕژان
ھەڵڕژراو
ھەڵڕشتن
ھەڵژمار
ھەڵژماردن
ھەڵژمێڕاو
ھەڵسان
ھەڵسان و کەوتن
ھەڵساندن
ھەڵسانەوە
ھەڵساو
ھەڵسەنگاندن
ھەڵسەنگێنەر
ھەڵسووڕان
ھەڵسووڕاندن
ھەڵسووڕاو
ھەڵسووڕێنەر
ھەڵسووکەوت
ھەڵشاخین
ھەڵشێلان
ھەڵفریواندن
ھەڵفڕاندن
ھەڵفڕین
ھەڵفلیقان
ھەڵفلیقاندن
ھەڵفلیقاو
ھەڵقرچان
ھەڵقورتاندن
ھەڵقوڕاندن
ھەڵکالین
ھەڵکراو
ھەڵکزراندن
ھەڵکڕان
ھەڵکڕاندن
ھەڵکڕاو
ھەڵکشان
ھەڵکشە
ھەڵکەندن
ھەڵکەنران
ھەڵکەنراو
ھەڵکەوت
ھەڵکوڵین
ھەڵکۆ
ھەڵکۆڵراو
ھەڵکێش
ھەڵکێشان
ھەڵکێشراو
ھەڵگرتن
ھەڵگڵۆفتن
ھەڵگەڕان
ھەڵگەڕانەوە
ھەڵگوشین
ھەڵگیران
ھەڵگیرسان
ھەڵگیرساندن
ھەڵلا
ھەڵلووشین
ھەڵم
ھەڵمات
ھەڵماتێن
ھەڵماڵران
ھەڵماڵراو
ھەڵماڵین
ھەڵمان
ھەڵمژین
ھەڵمەت
ھەڵمەتجاڕ
ھەڵمەقۆ
ھەڵمیزان
ھەڵنان
ھەڵنیشتن
ھەڵھاتن
ھەڵھێنان
ھەڵھێنانەوە
ھەڵھێنجان
ھەڵھێنجراو
ھەڵھێنراو
ھەڵھێنگە
ھەڵھێنەر
ھەڵە
ھەڵەت
ھەڵەخەرج
ھەڵەداوان
ھەڵەشە
ھەڵەشەیی
ھەڵەنگووتن
ھەڵەھەڵ
ھەڵەوەڕ
ھەڵواسران
ھەڵواسراو
ھەڵواسین
ھەڵوەران
ھەڵوەراندن
ھەڵوەشان
ھەڵوەشاندن
ھەڵوەشاو
ھەڵوەشێنراو
ھەڵووتن
ھەڵووژە
ھەڵووژەرەشە
ھەڵۆ
ھەڵۆڵ
ھەڵیز
ھەماز
ھەماڵ
ھەمام
ھەمان
ھەمان کات
ھەمایەڵ
ھەمشین
ھەمەلایەنە
ھەموار
ھەموو
ھەمووپرسی
ھەموووانی
ھەموویی
ھەمیشە
ھەمیشەیی
ھەن
ھەنار
ھەناردە
ھەناسەبڕکێ
ھەناسەسارد
ھەناسەسوار
ھەناسەوواری
ھەناو
ھەند
ھەنداز
ھەندە
ھەندەر
ھەندەران
ھەندەرھۆ
ھەنسک
ھەنسک ھەڵدان
ھەنگ
ھەنگامە
ھەنگاو
ھەنگاوھاویشتن
ھەنگدان
ھەنگڵ
ھەنگەشەلێ
ھەنەزا
ھەنووکەیی
ھەنوون
ھەو
ھەوار
ھەوارگە
ھەواری
ھەواڵگوزاری
ھەواڵە
ھەواڵە بە گەواڵە
ھەواندنەوە
ھەوانەوە
ھەوایی
ھەوت
ھەوتە
ھەوتەوانە
ھەوتیر
ھەوجاڕ
ھەوجۆش
ھەودا
ھەوراز
ھەوراز و نشێو
ھەورەباڵا
ھەورەتریشقە
ھەوریس
ھەوز
ھەوزانە
ھەوسار
ھەوسەڵە
ھەوەس
ھەوەڵ
ھەویر
ھەوینج
ھەوێ
ھەوێن
ھەیا
ھەیبەت
ھەیتە
ھەیران
ھەیزەران
ھەیس
ھەیش
ھەیش پێ ھەڵگرتن
ھەیشۆ
ھەیشۆ لێ ھەڵگیران
ھەیف
ھەیوان
ھەیوانات
ھەیوانان
ھوجرە
ھورمز
ھورمەت
ھوزەیران
ھوزوور
ھوڕەو
ھوژە
ھوشتر
ھوکمدار
ھولھولی
ھولە
ھولەسێ
ھومەڵخەزا
ھونەر
ھونەرگا
ھونەرمەند
ھونەرمەندانە
ھونەرە جوانەکان
ھونەروەر
ھوو
ھووت
ھووردە
ھووردەبینی
ھووڕ
ھووشە
ھووشەکار
ھووھا
ھووھووکەرە
ھۆجەنە
ھۆدار
ھۆدە
ھۆرتە
ھۆردوو
ھۆز
ھۆزان
ھۆزانی
ھۆزکی
ھۆڕ
ھۆڕن
ھۆڕە
ھۆشبڕ
ھۆشمەند
ھۆشمەندی
ھۆشیار
ھۆشیارانە
ھۆشیاری
ھۆکار
ھۆکڵ
ھۆگر
ھۆل
ھۆن
ھۆنەر
ھۆو
ھی
ھیچ
ھیچی
ھیدایەت
ھیر
ھیز
ھیزانە
ھیزە
ھیزەڵ
ھیزێتی
ھیساب
ھیکمەت
ھیلاک
ھیلاندن
ھیمەت
ھیوابڕاو
ھیوادار
ھێ
ھێدز
ھێدی
ھێرۆ
ھێز
ھێزا
ھێزم
ھێشتا
ھێشتن
ھێشخان
ھێشوو
ھێل
ھێلانە
ھێلز
ھێلکە
ھێلکەورۆن
ھێلکەیی
ھێلم
ھێلینج
ھێڵ
ھێڵان
ھێڵکاری
ھێڵی ئاسنی
ھێمایی
ھێمن
ھێمنی
ھێنان
ھێنانەوە
ھێواش
ھێواشکار
ھێواشی
ھێور
ھێورانە
ھێوەر
ھێوەرزا
ھێوەرژن
ھێویری
و مەتیو
وتار
وەستاندن
یارمەتی
یاسا
{
"ئابروو": "Navdêr",
"ئابۆر": "Navdêr",
"ئاپتەر": "Navdêr",
"ئاتەش": "Navdêr",
"ئاخاوتن": "Lêker",
"ئاخر": "Rengdêr",
"ئاخلێف": "Navdêr",
"ئاخوون": "Navdêr",
"ئاخێو": "Navdêr",
"ئادەی!": "Baneşan",
"ئاراستە": "Navdêr",
"ئارمووش": "Navdêr",
"ئارەق": "Navdêr",
"ئاژاڵ": "Navdêr",
"ئاژاوە": "Navdêr",
"ئاسایی": "Rengdêr",
"ئاساییش": "Navdêr",
"ئاستەم": "Rengdêr",
"ئاسرمە": "Navdêr",
"ئاسەوار": "Navdêr",
"ئاسوودە": "Rengdêr",
"ئاسوون": "Navdêr",
"ئاسۆک": "Navdêr",
"ئاسیم": "Rengdêr",
"ئاسیو": "Navdêr",
"ئاشاخە": "Navdêr",
"ئاشپەزخانە": "Navdêr",
"ئاشت": "Rengdêr",
"ئاشچی": "Navdêr",
"ئاشخانە": "Navdêr",
"ئاشنا": "Rengdêr",
"ئافرەت": "Navdêr",
"ئافەریدە": "Navdêr",
"ئاقل": "Rengdêr",
"ئاکار": "Navdêr",
"ئاکام": "Navdêr",
"ئال": "Rengdêr",
"ئالف": "Navdêr",
"ئاڵتوون": "Navdêr",
"ئاڵووگۆز": "Navdêr",
"ئاڵووگۆڕ": "Navdêr",
"ئاڵۆز": "Rengdêr",
"ئام": "Navdêr",
"ئامادە": "Rengdêr",
"ئامار": "Navdêr",
"ئاماژ": "Navdêr",
"ئاماسان": "Lêker",
"ئامان!": "Baneşan",
"ئامراز": "Navdêr",
"ئامسەر": "Navdêr",
"ئامۆزا": "Navdêr",
"ئامۆژن": "Navdêr",
"ئامێر": "Navdêr",
"ئاھەنگ": "Navdêr",
"ئاوا": "Hoker",
"ئاواز": "Navdêr",
"ئاواڵە": "Rengdêr",
"ئاور": "Navdêr",
"ئاوزەنگی": "Navdêr",
"ئاوساندن": "Lêker",
"ئاوھا": "Hoker",
"ئاوەدان": "Rengdêr",
"ئاوەدانی": "Navdêr",
"ئاوەر": "Navdêr",
"ئاوەرێژ": "Navdêr",
"ئاوەژوو": "Rengdêr",
"ئاوەندیار": "Navdêr",
"ئایا؟": "Hoker",
"ئایندە": "Navdêr",
"ئایین": "Navdêr",
"ئەبلەق": "Rengdêr",
"ئەبیاڵ": "Navdêr",
"ئەبێ": "Lêker",
"ئەتک": "Navdêr",
"ئەتوون": "Navdêr",
"ئەجزاجی": "Navdêr",
"ئەجندا": "Navdêr",
"ئەدی!": "Baneşan",
"ئەدی؟": "Hoker",
"ئەرامەندە": "Rengdêr",
"ئەرج": "Navdêr",
"ئەرز": "Navdêr",
"ئەرک": "Navdêr",
"ئەرە": "Daçek",
"ئەزبۆلە": "Navdêr",
"ئەژدەھا": "Navdêr",
"ئەژماردن": "Lêker",
"ئەژمێر": "Navdêr",
"ئەسپایی": "Hoker",
"ئەستوون": "Navdêr",
"ئەستۆ": "Navdêr",
"ئەستی": "Navdêr",
"ئەستێرک": "Navdêr",
"ئەستێوڵک": "Navdêr",
"ئەسکری": "Navdêr",
"ئەسکوێ": "Navdêr",
"ئەسڵەن": "Hoker",
"ئەشک": "Navdêr",
"ئەشکەنجە": "Navdêr",
"ئەشیا": "Navdêr",
"ئەفسانە": "Navdêr",
"ئەفسەر": "Navdêr",
"ئەقل": "Navdêr",
"ئەگریجە": "Navdêr",
"ئەلبەت": "Hoker",
"ئەلمۆدە": "Navdêr",
"ئەڵقە": "Navdêr",
"ئەڵماس": "Navdêr",
"ئەڵێ": "Lêker",
"ئەمر": "Navdêr",
"ئەمن": "Cînav",
"ئەموست": "Navdêr",
"ئەمین": "Rengdêr",
"ئەنتیکە": "Rengdêr",
"ئەنجام": "Navdêr",
"ئەنجن": "Navdêr",
"ئەنجومەن": "Navdêr",
"ئەندازیار": "Navdêr",
"ئەنگاو": "Navdêr",
"ئەنگوور": "Navdêr",
"ئەنەم": "Navdêr",
"ئەھلی": "Rengdêr",
"ئەوانیش": "Cînav",
"ئەوجا": "Hoker",
"ئەورەنگ": "Navdêr",
"ئەوزار": "Navdêr",
"ئەوسا": "Hoker",
"ئەوە": "Cînav",
"ئەوەش": "Cînav",
"ئەوەندە": "Hoker",
"ئەی": "Baneşan",
"ئەی!": "Baneşan",
"ئەینا؟": "Hoker",
"ئیجا": "Hoker",
"ئیختیار": "Rengdêr",
"ئیرھاب": "Navdêr",
"ئیرھابی": "Rengdêr",
"ئیستیقالە": "Navdêr",
"ئیش": "Navdêr",
"ئیفتادە": "Rengdêr",
"ئیم": "Navdêr",
"ئیمرۆ": "Hoker",
"ئیمسال": "Hoker",
"ئیمشەو": "Hoker",
"ئینجا": "Hoker",
"بابوسکە": "Navdêr",
"بابۆڵە": "Navdêr",
"باپیر": "Navdêr",
"باتەک": "Navdêr",
"باتوو": "Navdêr",
"باتی": "Daçek",
"باچە": "Navdêr",
"باخەڵ": "Navdêr",
"بادیھەوا": "Hoker",
"بارام": "Navdêr",
"بارست": "Navdêr",
"بارشت": "Navdêr",
"بارمتە": "Navdêr",
"بارە": "Navdêr",
"بازد": "Navdêr",
"بازوو": "Navdêr",
"بازۆر": "Navdêr",
"باڕ": "Navdêr",
"باستانناسی": "Navdêr",
"باستورمە": "Navdêr",
"بافت": "Navdêr",
"باڵابستە": "Rengdêr",
"باڵباز": "Navdêr",
"باڵۆڵە": "Navdêr",
"باڵۆن": "Navdêr",
"باڵێ": "Baneşan",
"باڵێف": "Navdêr",
"بانگردێن": "Navdêr",
"بانوو": "Navdêr",
"باھێر": "Navdêr",
"باوک": "Navdêr",
"باوەڕ": "Navdêr",
"باوەقۆت": "Navdêr",
"باوی": "Rengdêr",
"بایست": "Navdêr",
"باینجان": "Navdêr",
"باینجانی ڕەش": "Navdêr",
"باینجانی سوور": "Navdêr",
"بایەخ": "Navdêr",
"بایی": "Navdêr",
"بچەژ": "Lêker",
"بدوو": "Lêker",
"برادەر": "Navdêr",
"براژن": "Navdêr",
"برای ھاوپشت": "Navdêr",
"بردەمەنی": "Navdêr",
"برژانگ": "Navdêr",
"برژاو": "Rengdêr",
"برسێتی": "Navdêr",
"برغوو": "Navdêr",
"برنگ": "Navdêr",
"برووسکە": "Navdêr",
"بریتی": "Rengdêr",
"بزاڤ": "Navdêr",
"بزان": "Lêker",
"بزاوتن": "Lêker",
"بزگور": "Navdêr",
"بزووتنەوە": "Navdêr",
"بڕاو": "Rengdêr",
"بڕمێن": "Navdêr",
"بڕوانامە": "Navdêr",
"بڕۆ": "Lêker",
"بڕیار": "Navdêr",
"بڕێک": "Rengdêr",
"بژاردن": "Lêker",
"بژاردە": "Navdêr",
"بژوولک": "Navdêr",
"بسکە": "Navdêr",
"بشێوە": "Rengdêr",
"بلیمەت": "Rengdêr",
"بڵح": "Rengdêr",
"بڵند": "Rengdêr",
"بناغە": "Navdêr",
"بنچە": "Navdêr",
"بنچینەیی": "Rengdêr",
"بنکە": "Navdêr",
"بنەما": "Navdêr",
"بنەوش": "Navdêr",
"بەتڵانە": "Navdêr",
"بەحر": "Navdêr",
"بەخت": "Navdêr",
"بەخترەش": "Rengdêr",
"بەختەوەر": "Rengdêr",
"بەختیار": "Rengdêr",
"بەخش": "Navdêr",
"بەخشەندە": "Rengdêr",
"بەخشەندەیی": "Navdêr",
"بەد": "Rengdêr",
"بەدبەخت": "Rengdêr",
"بەدرەقە": "Navdêr",
"بەر سەر کەسێکەوە لەوەڕان": "Lêker",
"بەرایی": "Navdêr",
"بەردەوک": "Navdêr",
"بەرز": "Rengdêr",
"بەرزە": "Rengdêr",
"بەرژەوەند": "Navdêr",
"بەرژەوەندی": "Navdêr",
"بەرف": "Navdêr",
"بەرگ": "Navdêr",
"بەرگری": "Navdêr",
"بەرگە": "Navdêr",
"بەرگەشتە": "Rengdêr",
"بەرە": "Daçek",
"بەرەزە": "Navdêr",
"بەرەو": "Daçek",
"بەرەوژۆرکە": "Hoker",
"بەرەوژێرکە": "Hoker",
"بەروار": "Navdêr",
"بەروودوا": "Hoker",
"بەزم": "Navdêr",
"بەژ": "Navdêr",
"بەستن": "Lêker",
"بەستە": "Navdêr",
"بەسر": "Navdêr",
"بەش": "Navdêr",
"بەشدار": "Rengdêr",
"بەفر": "Navdêr",
"بەق": "Navdêr",
"بەقال": "Navdêr",
"بەقلیسۆک": "Navdêr",
"بەل": "Navdêr",
"بەلاش": "Hoker",
"بەلایەن": "Navdêr",
"بەلایەنی": "Hoker",
"بەلەز": "Hoker",
"بەلەم": "Navdêr",
"بەڵا": "Navdêr",
"بەڵام": "Girêdek",
"بەڵگە": "Navdêr",
"بەڵەد": "Rengdêr",
"بەڵەک": "Rengdêr",
"بەڵەیاندن": "Lêker",
"بەناوبانگ": "Rengdêr",
"بەند": "Navdêr",
"بەندە": "Navdêr",
"بەندەگی": "Navdêr",
"بەنگ": "Navdêr",
"بەنگکێش": "Navdêr",
"بەھا": "Navdêr",
"بەھارات": "Navdêr",
"بەھانە": "Navdêr",
"بەھر": "Navdêr",
"بەھرە": "Navdêr",
"بەھەشت": "Navdêr",
"بەو": "Cînav",
"بەوان": "Cînav",
"بەیار": "Navdêr",
"بەیارمەتیت": "Baneşan",
"بەیاز": "Navdêr",
"بەیاننامە": "Navdêr",
"بەیانی": "Navdêr",
"بەیچەڵ": "Navdêr",
"بەیدەست": "Rengdêr",
"بەینەت": "Navdêr",
"بەینەتدار": "Rengdêr",
"بوختان": "Navdêr",
"بوخچە": "Navdêr",
"بوودینە": "Navdêr",
"بووردن": "Lêker",
"بووژاندن": "Lêker",
"بووسە": "Navdêr",
"بووم": "Navdêr",
"بووواردن": "Lêker",
"بووێژ": "Navdêr",
"بوێر": "Rengdêr",
"بۆچوون": "Navdêr",
"بۆران": "Navdêr",
"بۆرچین": "Navdêr",
"بۆردن": "Lêker",
"بۆق": "Navdêr",
"بۆقەتە": "Navdêr",
"بۆنە": "Navdêr",
"بۆینباخ": "Navdêr",
"بیانوو": "Navdêr",
"بیانی": "Rengdêr",
"بیبن": "Navdêr",
"بیبی": "Navdêr",
"بیجامە": "Navdêr",
"بیچم": "Navdêr",
"بیراز": "Navdêr",
"بیرتەسک": "Rengdêr",
"بیرە": "Navdêr",
"بیروورِا": "Navdêr",
"بیستا": "Navdêr",
"بیستراو": "Rengdêr",
"بیستن": "Lêker",
"بیستەر": "Navdêr",
"بیستۆک": "Navdêr",
"بیڤر": "Navdêr",
"بێتار": "Navdêr",
"بێجگە": "Daçek",
"بێخ": "Navdêr",
"بێخبڕ": "Rengdêr",
"بێزار": "Rengdêr",
"بێژار": "Navdêr",
"بێسەرووشوێن": "Rengdêr",
"بێشەڵان": "Navdêr",
"بێگانە": "Rengdêr",
"بێگومان": "Hoker",
"بێلایەن": "Rengdêr",
"بێلایەنی": "Navdêr",
"بێنەوبەرە": "Navdêr",
"بێھیوا": "Rengdêr",
"بێوەژن": "Navdêr",
"پابەند": "Rengdêr",
"پاتری": "Navdêr",
"پاچ": "Navdêr",
"پاداشت": "Navdêr",
"پارێزگار": "Navdêr",
"پاساو": "Navdêr",
"پاسەوان": "Navdêr",
"پانایی": "Navdêr",
"پاندان": "Navdêr"
}
sopgbquf6y6chyctz7j7r558ml3ndf5
6342418
6342390
2026-08-25T08:54:38Z
Şêr
1103
6342418
wikitext
text/x-wiki
[[:Kategorî:Gotarên bê kategoriya rêzimanî bi soranî]]
ئاوەر
ئاوەرێژ
ئاوەژوو
ئاوەندیار
ئایا؟
ئایندە
ئایین
ئەبلەق
ئەبیاڵ
ئەبێ
ئەتک
ئەتوون
ئەجزاجی
ئەجندا
ئەدی!
ئەدی؟
ئەرامەندە
ئەرج
ئەرز
ئەرک
ئەرە
ئەزبۆلە
ئەژدەھا
ئەژماردن
ئەژمێر
ئەسپایی
ئەستوون
ئەستۆ
ئەستی
ئەستێرک
ئەستێوڵک
ئەسکری
ئەسکوێ
ئەسڵەن
ئەشک
ئەشکەنجە
ئەشیا
ئەفسانە
ئەفسەر
ئەقل
ئەگریجە
ئەلبەت
ئەلمۆدە
ئەڵقە
ئەڵماس
ئەڵێ
ئەمر
ئەمن
ئەموست
ئەمین
ئەنتیکە
ئەنجام
ئەنجن
ئەنجومەن
ئەندازیار
ئەنگاو
ئەنگوور
ئەنەم
ئەھلی
ئەوانیش
ئەوجا
ئەورەنگ
ئەوزار
ئەوسا
ئەوە
ئەوەش
ئەوەندە
ئەی
ئەی!
ئەینا؟
ئیجا
ئیختیار
ئیرھاب
ئیرھابی
ئیستیقالە
ئیش
ئیفتادە
ئیم
ئیمرۆ
ئیمسال
ئیمشەو
ئینجا
بابوسکە
بابۆڵە
باپیر
باتەک
باتوو
باتی
باچە
باخەڵ
بادیھەوا
بارام
بارست
بارشت
بارمتە
بارە
بازد
بازوو
بازۆر
باڕ
باستانناسی
باستورمە
بافت
باڵابستە
باڵباز
باڵۆڵە
باڵۆن
باڵێ
باڵێف
بانگردێن
بانوو
باھێر
باوک
باوەڕ
باوەقۆت
باوی
بایست
باینجان
باینجانی ڕەش
باینجانی سوور
بایەخ
بایی
بچەژ
بدوو
برادەر
براژن
برای ھاوپشت
بردەمەنی
برژانگ
برژاو
برسێتی
برغوو
برنگ
برووسکە
بریتی
بزاڤ
بزان
بزاوتن
بزگور
بزووتنەوە
بڕاو
بڕمێن
بڕوانامە
بڕۆ
بڕیار
بڕێک
بژاردن
بژاردە
بژوولک
بسکە
بشێوە
بلیمەت
بڵح
بڵند
بناغە
بنچە
بنچینەیی
بنکە
بنەما
بنەوش
بەتڵانە
بەحر
بەخت
بەخترەش
بەختەوەر
بەختیار
بەخش
بەخشەندە
بەخشەندەیی
بەد
بەدبەخت
بەدرەقە
بەر سەر کەسێکەوە لەوەڕان
بەرایی
بەردەوک
بەرز
بەرزە
بەرژەوەند
بەرژەوەندی
بەرف
بەرگ
بەرگری
بەرگە
بەرگەشتە
بەرە
بەرەزە
بەرەو
بەرەوژۆرکە
بەرەوژێرکە
بەروار
بەروودوا
بەزم
بەژ
بەستن
بەستە
بەسر
بەش
بەشدار
بەفر
بەق
بەقال
بەقلیسۆک
بەل
بەلاش
بەلایەن
بەلایەنی
بەلەز
بەلەم
بەڵا
بەڵام
بەڵگە
بەڵەد
بەڵەک
بەڵەیاندن
بەناوبانگ
بەند
بەندە
بەندەگی
بەنگ
بەنگکێش
بەھا
بەھارات
بەھانە
بەھر
بەھرە
بەھەشت
بەو
بەوان
بەیار
بەیارمەتیت
بەیاز
بەیاننامە
بەیانی
بەیچەڵ
بەیدەست
بەینەت
بەینەتدار
بوختان
بوخچە
بوودینە
بووردن
بووژاندن
بووسە
بووم
بووواردن
بووێژ
بوێر
بۆچوون
بۆران
بۆرچین
بۆردن
بۆق
بۆقەتە
بۆنە
بۆینباخ
بیانوو
بیانی
بیبن
بیبی
بیجامە
بیچم
بیراز
بیرتەسک
بیرە
بیرووڕا
بیستا
بیستراو
بیستن
بیستەر
بیستۆک
بیڤر
بێتار
بێجگە
بێخ
بێخبڕ
بێزار
بێژار
بێسەرووشوێن
بێشەڵان
بێگانە
بێگومان
بێلایەن
بێلایەنی
بێنەوبەرە
بێھیوا
بێوەژن
پابەند
پاتری
پاچ
پاداشت
پارێزگار
پاساو
پاسەوان
پانایی
پاندان
پایتەخت
پرد
پشکنین
پەتی
پەرواز
پەشیمان
پەلەمە
پەیامبەر
پەیامنێر
پۆتین
پۆل
پیشە
پیشەسازی
پێشکەوتن
پێو
تاقم
تكايه
تەپەدۆر
تەڤۆڵ
تەمەڵ
تەواو
توون
تۆپ
جەنگاڤەر
چابووک
چاپاڵێو
چاپخانە
چاپکراو
چاپەز
چاتۆڵە
چاچی
چادرگا
چارشێو
چارە
چارەک
چارەنووس
چارەنووسساز
چارەوا
چاسر
چاش
چاشتێنگا
چاشنی
چاکەت
چاڵ
چاڵاو
چاڵەچەقیلە
چاندەمەنی
چاندەنی
چاوباشقاڵ
چاوەڕوانکراو
چاوێشە
چایەر
چپک
چرادان
چراکەوان
چراورک
چرچ
چرکان
چرکاندن
چرکە
چرووسان
چرووساندن
چرووساو
چرووک
چزاندن
چڕان
چڕنووک
چڕووچاو
چش
چقڵ
چکان
چکاندن
چکۆک
چکۆڵە
چلە
چلۆکۆک
چلۆنھا
چلێس
چلێسی
چڵپاو
چڵک
چڵکاو
چڵم
چمک
چنگاڵ
چنۆک
چەپاڵ
چەپاڵە
چەپاو
چەپخوون
چەپڕۆ
چەپڕۆیی
چەپکەن
چەپلەر
چەپە
چەپەجاخ
چەپەر
چەپەڵۆک
چەپووچێڕ
چەپۆک
چەتاڵ
چەتڵەمەز
چەتە
چەتیانە
چەخماق
چەرخاو
چەرخەمە
چەرداخ
چەرداوەروو
چەردە
چەرس
چەرم
چەرمەسەرێ
چەرە
چەڕندە
چەڕین
چەسپ
چەش
چەشتن
چەشکە
چەشمە
چەشن
چەشنی
چەقاڵ
چەقان
چەقاندن
چەقەڵ
چەقۆساز
چەقۆکێش
چەکووش
چەلاک
چەلان
چەلاو
چەلیپا
چەڵەمە
چەمچە
چەمەر
چەمەری
چەمووچەم
چەمۆڵە
چەندایەتی
چەندەمین
چەندێتی
چەنە
چەنەباز
چەنەبازی
چەنەچەن
چەنەھەراش
چەو
چەواشە
چەوتانەوە
چەوتی
چەودار
چوارچێوە
چواردەور
چوارگۆشە
چوارلا
چوارەک
چوالە
چوختی
چوڕ
چوست
چۆپین
چۆدار
چۆڕان
چۆڕاندن
چۆش!
چۆق
چۆلاغ
چۆلک
چۆڵ
چۆنھا
چۆنیەک
چیتۆکە
چیل
چیلەچەپ
چیلەک
چیم
چێر
چێژ
چێژان
چێژیلە
چێش
چێشتخانە
چێشتکەر
چێشتن
چێو
چێوە
چێوین
خوێندن
خۆشەویست
خۆم
خۆمان
رۆژانە
ژار
ژاراو
ژاراوی
ژاربەر
ژارقەندە
ژارک
ژارووژەنگ
ژاژ
ژاژک
ژاڵە
ژاندار
ژانەسک
ژانەسەر
ژاوەژاو
ژلێواندن
ژلێوە
ژمار
ژماردن
ژمارکار
ژمارکۆ
ژمارەگر
ژمارەگری
ژمارەیی
ژمێرە
ژنانە
ژنانی
ژنەشا
ژنێتی
ژەقنەبووت
ژەک
ژەمک
ژەندن
ژەنگاڵی
ژەنگاوی
ژەھری ھەڵاخنین
ژووان
ژووانگا
ژووران
ژوورەوە
ژوورۆچکە
ژیار
ژیاری
ژیانەوە
ژیانی
ژیرانە
ژیربێژ
ژیربێژانە
ژیرکەلە
ژیری
ژینامە
ژینداری
ژیھاتن
ژیوار
ژێر
ژێربەران
ژێرپیاڵە
ژێرپێ
ژێرتیپ
ژێرچەپۆکە
ژێردەست
ژێردەستی
ژێرزەمین
ژێرزەمینی
ژێرسەر
ژێرکەنارە
ژێرەوە
ژێرەوەنان
ژێروو
ژێرووزەبەر
سەنگەر
سەنیا
سوپا
شتن
فافۆن
فاقە
فاک
فاڵ
فاڵ گرتنەوە
فاما
فامیدە
فامین
فانۆس
فایل
فترە
فتوا
فتیلە
فراژان
فراژاندن
فراژی
فراژیوەر
فراوانی
فرتەنە
فرزەند
فرزەند ھێنانەوە
فرستادە
فرشتەنگ
فرە
فرەایینی
فرەبێژ
فرەز
فرەنەتەوەیی
فرەھزبایی
فرەھزبی
فرەیی
فرۆشتنەوە
فرۆشراو
فریز
فریو
فریواندن
فریوباز
فریوخۆر
فزە
فڕفڕە
فڕفڕۆکە
فڕفینگ
فڕکان
فڕگە
فڕن
فڕندە
فڕنک
فڕووج
فڕووفێڵ
فڕوون
فڕۆکەنەھێڵ
فڕۆکەوان
فڕیشتە
فڕین
فڕێ
فڕێدراو
فس
فسکە
فسکەفسک
فشقیات
فشەکەر
فشەگاڵتە
فلیقاندن
فلیقاو
فڵان
فڵت
فڵتاندن
فڵتەدەمە
فڵیتە
فم
فنددان
فەتار
فەتار فەتار
فەتارەت
فەتان
فەخفووری
فەرامۆش
فەرامۆشی
فەرتووت
فەرخی
فەردە
فەرز
فەرزین
فەرق
فەرکار
فەرکاندن
فەرکانە
فەرمان
فەرمانبەر
فەرمانڕەوا
فەرمانڕەوایی
فەرمانگێڕی
فەرمانی
فەرمایشت
فەرموو
فەرموون
فەرەھ
فەروار
فەروو
فەریک
فەڕاش
فەڕاقە
فەڕدار
فەسڵ
فەقیر
فەقێ
فەکڵە
فەلسەفە
فەلە
فەلەسووف
فەن
فەنا
فەوتان
فەوتاندن
فەوتاو
فوو
فوودراو
فوورھە
فیتەفیت
فیچقە
فیدا
فیدایی
فیرست
فیز
فیزار
فیزن
فیڕکە
فیڕۆ
فیسان
فیسەڵ
فیش
فیشاڵ
فیشەفیش
فیعل
فیک
فیکە
فیکەفیک
فێدار
فێر
فێربوو
فێردار
فێرداری
فێرگە
فێسان
فێڵ
فێڵباز
فێڵووفەرەج
فێنک
قردێلە
قرقێنە
قنگ
قەبەیی
قەتران
قەساب
قەسابخانە
قەشەنگ
قەنەفە
قەول
قەیران
قەیرە
قەیناکە
قوپان
قوپاو
قوربانی
قولاپ
قۆپچە
قۆخ
قۆرخ
قۆقز
کابان
کابرا
کابە
کابینە
کاپۆڵ
کات
کاتپێو
کاتەوکات
کاچ
کاخەز
کاخەزدار
کادان
کارا
کاراسک
کاراشنا
کاراشنایی
کاربرا
کاربرایەتی
کاربڕ
کاربەدەستی
کاربین
کارتە
کارخانە
کاردانەوە
کاردیتوو
کارزان
کارزانی
کارژۆلە
کارساز
کارکردە
کارکەر
کارکەنار
کارکەناری
کارگە
کارگەر
کارگوزار
کارگوزاری
کارگێڕ
کارگێڕی
کارنامە
کارنیارنامە
کارھاتوو
کارەبا
کارەز
کارەزاو
کارەزکەن
کارەسات
کارەکەر
کاروانچی
کاروانکەر
کاروانکوژ
کاروانی
کارووبار
کارووس
کاری
کاریگەر
کاژاو
کاژەڵاخ
کاسب
کاسبی
کاسپ
کاستی
کاسی
کاش
کاشانە
کاشە
کاشی
کاف
کاک
کاکڵ
کاکە
کاکەلێ
کاکەیی
کاکۆ
کاکیبەکاکی
کالان
کالە
کالی
کالیار
کاڵا
کاڵات
کاڵەک
کاڵەمستە
کاڵی
کاماخ
کامار
کامپ
کامەتا
کامەرانی
کان
کاناو
کانزا
کانزایی
کانوون
کانیاو
کانیبەردینە
کانیلە
کانیەدرۆزنە
کاھوو
کاو
کاوڕ
کاوش
کاول
کاویر
کاوێژ
کپەنە
کتک
کتکنەوتینە
کتکی
کتووپڕ
کتێبباز
کتێبەڤان
کچانە
کچکۆڵە
کچنی
کچەتیو
کچەزا
کخ
کراس
کراو
کرتناک
کرداری
کرداری تێپەر
کرداری تێنەپەر
کرداری لێکدراو
کردە
کردەکار
کردەگار
کرسپ
کرمدڵ
کرۆت
کرۆسک
کرۆشتن
کرۆک
کریڤ
کرێ
کرێبار
کرێکاری
کز
کزاندنەوە
کزانەوە
کزر
کزۆڵە
کزی
کڕکڕاگە
کڕکەوتوو
کڕە
کڕەک
کڕووزانەوە
کڕووزە
کڕووھوڕ
کڕیار
کڕێشاوی
کڕێنە
کسپ
کسپووکۆ
کسسە
کشان
کشت
کشتکار
کشتگەھ
کشتەک
کشوومات
کشووماتی
کفرباز
کفندڕ
کلت
کلتوور
کلچان
کلچێوک
کلدان
کلدوومان
کلەر
کلیل
کلیلە
کلیم
کڵ
کڵاش
کڵاشچن
کڵاواسن
کڵاوزرێ
کڵاوقژ
کڵاونە
کڵپە
کڵپە لێ ھەڵسان
کڵپووھووڕ
کڵفت
کڵۆ
کڵۆر
کڵۆش
کڵۆڵ
کڵۆڵی
کڵێس
کڵێسمان
کڵێشە
کنگخشکێ
کنگخلیسکێ
کنگدەر
کنگر
کنە
کنەکار
کنیواڵ
کنێر
کەباب
کەبات
کەبار
کەپرۆکە
کەپەنەک
کەت
کەتان
کەتانە
کەتانی
کەتن
کەتە
کەتوو
کەتیرە
کەچە
کەچەڵ
کەچەڵی
کەرانباوکگاو
کەرانە
کەرپەسە
کەرپیاو
کەرت
کەرتکراو
کەرتە
کەرتووپەرت
کەرتی
کەردڕ
کەرسەگ
کەرکە
کەرکوژ
کەرگەز
کەرھەنگ
کەرە
کەرەجی
کەرەدێز
کەرەسە
کەرەکی
کەرەکێوی
کەرەنتوو
کەرەوز
کەرووبار
کەرۆکە
کەرێتی
کەزاخە
کەزی
کەڕ
کەڕەت
کەڕەتی
کەڕەکۆنتێ
کەڕەنسۆ
کەڕەواڵە
کەڕوو
کەڕوو ھێڵھێنان
کەڕووواوی
کەڕی
کەژاوە
کەژماڵ
کەسانە
کەستەک
کەسک
کەسکووسۆر
کەسکوون
کەسکی
کەسنەدار
کەسنەدیو
کەسیرە
کەش
کەشاکەش
کەشتیگەل
کەشتیوان
کەشتیوانی
کەشخە
کەشزان
کەشزانی
کەشک
کەشکە
کەشکەلان
کەشکەلانی فەلەک
کەشمەکەشم
کەشە
کەشەنگ
کەشووفش
کەشیش
کەشیە
کەف
کەفارەت
کەفالەت
کەفاو
کەفووکۆڵ
کەفیل
کەلا
کەلار
کەلارە
کەلتوور
کەلخانە
کەلە
کەلەپەر
کەلەپوور
کەلەپووری
کەلەتەزێن
کەلەشەق
کەلەکوچ
کەلەلا
کەلەم
کەلواز
کەلووپەل
کەلووکۆم
کەلێن
کەڵام
کەڵان
کەڵب
کەڵەس
کەڵەک
کەڵەکباز
کەڵەکچی
کەڵەگەت
کەڵەوێ
کەڵووڕی
کەڵۆس
کەم کەمە
کەماڵ
کەمان
کەمانچەژەن
کەمایەتی
کەمایەسی
کەمبیر
کەمتەرخەمی
کەمتیار
کەمتین
کەمچیکڵدانە
کەمدەست
کەمدوو
کەمڕوو
کەمساڵ
کەمشیر
کەمناو
کەمە
کەمەبەند
کەمەر
کەمەربەستی
کەمەرچین
کەمەردار
کەمەرەیی
کەمەری زەوی
کەمەکێک
کەمەیی
کەمووکووڕی
کەمۆ
کەمۆکار
کەمۆکاری
کەمۆیار
کەمۆیاری
کەمی
کەنار
کەناراو
کەنارگر
کەنارگری
کەنارەیی
کەنتۆر
کەند
کەند و کۆسپ
کەنداڵ
کەنداو
کەندەک
کەندەکار
کەندەڵان
کەنزەک
کەنەفت
کەنەفتی
کەنیچە
کەنیلێ
کەھلان
کەو ئڤ
کەوا
کەوالە
کەوان
کەوانکۆشە
کەوانە
کەوباز
کەوبازی
کەوباڕ
کەوبەدار
کەوتوو
کەوچک
کەوداو
کەودەن
کەورک
کەوژ
کەوژین
کەوشەک
کەوشەکەن
کەوشەکۆن
کەوگیر
کەولۆس
کەومار
کەوە
کەوەر
کەوۆت
کەوێڵ
کەی
کەیبانوو
کەیس
کەیل
کەیلان
کەینووبەین
کەیوان
کوارەنگ
کوتان
کوتووپڕ
کوتوومت
کوچوولە
کودەڵە
کورتان
کورتاندروو
کورتبڕ
کورتبڕی
کورتبین
کورتبینی
کورتم
کورتە
کورتەباڵا
کورتەبنە
کورتەک
کورتی
کورتیلە
کوردانە
کوردایەتی
کوردپەروەر
کوردستانی
کوردشناس
کوردکوژە
کوردناسی
کوردھەز
کوردەواری
کوردیاخێو
کوردیزانی
کوردیزمان
کورکاندن
کورەک
کوزان
کوڕ
کوڕانە
کوڕکوڕە
کوڕگەل
کوڕنووش
کوڕە
کوڕەزا
کوڕەزازا
کوڕێتی
کوژاندنەوە
کوژران
کوژراو
کوشتار
کوشتبەندان
کوشتن
کوشتەرا
کوشندە
کوفار
کولاف
کولاندنەوە
کولانەوە
کولپ
کولخان
کولەپاچ
کولەمەرگی
کولیچە
کوڵاو
کوڵک
کوڵکوڵە
کوڵەبنە
کوڵەبەس
کوڵەپێچ
کوڵەنانی
کوڵەنجە
کوڵەھەسار
کوڵۆت
کوڵۆک
کونار
کوناودەر
کونبڕ
کونتیلە
کونجرە
کونجی
کونجێن
کونچک
کونزەین
کونکراو
کونکەرە
کونەباجە
کونەبەبوو
کونیلە
کونیلەدار
کوو
کووپ
کووپە
کووپەڵە
کووچە
کوور
کوورە
کووز
کووکەلە
کووکوو
کووکووکەرە
کوونی
کوێخا
کوێخایەتی
کوێرانە
کوێراو
کوێردەرە
کوێرەدێ
کوێرەڕێ
کوێرەشەقام
کوێرەکانی
کوێرەمار
کوێرەمووشە
کوێرەوەری
کوێری
کوێڕا
کوێستانی
کوێلە
کوێلەدار
کوێلەداری
کوێلەیی
کوێندەری
کوێوە
کۆ
کۆبەند
کۆبوونەوە
کۆپارە
کۆت
کۆتان
کۆتایی
کۆتایی ١یی پێ
کۆتەرە
کۆجەڵە
کۆچ
کۆچاوکۆچ
کۆچکەر
کۆچەری
کۆچەرێتی
کۆچەک
کۆچەکە
کۆچی
کۆچی دوایی
کۆخ
کۆخوازی
کۆد
کۆرپەلە
کۆز
کۆزانین
کۆزمان
کۆزە
کۆزەرە
کۆڕگە
کۆژە
کۆژۆ
کۆسپ
کۆسپایی
کۆستە
کۆستەوەوی
کۆسە
کۆشان
کۆشش
کۆشیار
کۆفرۆش
کۆفرۆشی
کۆڤان
کۆکردنەوە
کۆکەکۆک
کۆکین
کۆکێتی
کۆلک
کۆلیسک
کۆڵ
کۆڵارە
کۆڵان
کۆڵاندۆز
کۆڵانکوت
کۆڵراو
کۆڵکێش
کۆڵگێڕ
کۆڵنج
کۆڵنجان
کۆڵنگە
کۆڵنەدەر
کۆڵھەڵگر
کۆڵە
کۆڵەر
کۆڵەوار
کۆڵوو
کۆڵیت
کۆڵین
کۆڵینەوە
کۆم
کۆما
کۆماری
کۆماوە
کۆمفرۆش
کۆمفرۆشی
کۆمەک
کۆمەکی
کۆمەڵ
کۆمەڵایەتی
کۆمەڵزان
کۆمەڵزانی
کۆمەڵە
کۆمی
کۆنە
کۆنەباو
کۆنەپەرست
کۆنەپەرستی
کۆنەپۆش
کۆنەساڵ
کۆنەفرۆش
کۆنی
کۆنینە
کیتەڵە
کیسەڵ
کیشوەر
کیشوەربڕ
کیشوەری
کیوار
کێ
کێچ
کێچاوی
کێرزل
کێرزلی
کێڕ
کێش
کێشان
کێشانەوە
کێشدار
کێشران
کێشراو
کێشمان
کێشمەکێش
کێشە
کێل
کێڵراو
کێوی ئاگرپرژێن
کێویلە
گابۆڕ
گاراندن
گارەگار
گازر
گازندە
گازندۆک
گازەرا
گاڕس
گاسن
گاف
گاکێوی
گاگەل
گاگۆڵکێ
گاگێرە
گالیسکە
گاڵ
گاڵتە
گاڵتەبێژ
گاڵتەجاڕ
گاڵتەچی
گاڵتەگێ
گاڵە
گاڵەکوت
گاڵۆک
گامەڵاس
گامێش
گان
گاناوی
گانەک
گاوارە
گاووس
گاووگۆتاڵ
گایلکە
گایی
گرتنەوە
گرتەک
گرتوو
گرتووخانە
گردە
گردەبا
گردەپیاو
گردەڵە
گردۆکۆ
گردۆڵک
گرژی
گرس
گرفت
گرفتە
گرمەژنە
گرمۆڵە
گرمۆڵەیی
گرنگی
گرەو
گروون
گرۆ
گریشمە
گرین
گرینۆک
گرێدراو
گرێکوێرە
گزیر
گڕاندن
گڕگر
گڕگرتوو
گڕووگاڵ
گڕوێ
گڕوێیی
گڕۆز
گژەبا
گشتگر
گشتی
گفتووگۆ
گڤی
گلار
گلارە
گلاو
گلەبان
گلەخان
گلەسپی
گلەیی
گلۆفتن
گلین
گلێجە
گلێر
گڵۆپ
گڵۆڵە
گندۆر
گەپەگەپ
گەچ
گەدا
گەدایی
گەدە
گەر
گەردان
گەردانە
گەرداو
گەردنکەچ
گەردنکەش
گەردنکێل
گەردەش
گەردووخول
گەردووگەڵا
گەردوون
گەرم
گەرما
گەرماپێو
گەرماجمان
گەرماو
گەرماوگەرم
گەرمایی
گەرمبردوو
گەرمەگلێ
گەرمی
گەرمیان
گەرمیانی
گەرمیپێو
گەرمێتی
گەرەک
گەرەکی
گەروانکە
گەرووێش
گەزاف
گەزگەزان
گەزندە
گەزنە
گەزەن
گەزین
گەڕان
گەڕاندن
گەڕاندنەوە
گەڕانەوە
گەڕەلاوژە
گەڕۆک
گەڕۆڵ
گەڕۆڵە!
گەڕی
گەستن
گەسکە
گەش
گەشایشت
گەشبین
گەشبینی
گەشتنامە
گەشتوەر
گەشتووگوزار
گەشتیار
گەشکە
گەشکەدار
گەشەکردوو
گەشی
گەف
گەفووگوڕ
گەفین
گەل
گەلال
گەلاوێژ
گەلھۆ
گەلەخان
گەلەراوێژی
گەلۆر
گەڵادار
گەڵارێزان
گەڵاڕن
گەڵاکوتک
گەڵاڵە
گەڵاوگەڵ
گەڵاوەر
گەمارۆ
گەماڵ
گەموورە
گەناندن
گەندەڵ
گەندووگوو
گەنمگردی
گەنمە
گەنیو
گەواد
گەوار
گەواڵ
گەواھ
گەواھی
گەورەیی
گەوز
گەولاز
گەوھەر
گەوھەربەند
گەوھەردار
گەوھەرکار
گەوە
گەوەری
گەوەکار
گەوون
گەی
گەیاندن
گەیشتگە
گەیشتوو
گەیگر
گەیین
گودلە
گوربز
گوربە
گورج
گورد
گورزە
گورزەتیشک
گورزەھۆن
گورگانگاز
گوزارە
گوزارەدار
گوزارەیی
گوزەریو
گوڕ
گوڕە
گوڕەشە
گوڕەشەکار
گوڕەووبڕە
گوژم
گوستاخ
گوستاخی
گوشار
گوشران
گوشراو
گوشراوە
گول
گولاج
گولی
گوڵ
گوڵاڵە
گوڵان
گوڵاو
گوڵاوپژێن
گوڵاوی
گوڵباران
گوڵبانگ
گوڵبەدەم
گوڵدار
گوڵدان
گوڵرەنگ
گوڵڕێزان
گوڵشەن
گوڵگوڵی
گوڵمە
گوڵمێخ
گوڵە
گوڵەباخ
گوڵەباران
گوڵەپرێژ
گوڵەچاوێشە
گوڵەندام
گوڵونکە
گوڵی
گوم
گومانبار
گومانرەش
گومانی
گومرک
گومڕاکەر
گومناو
گومی
گوناھ
گوناھبار
گونجان
گونجاندن
گونجاو
گونداری
گوندۆرە
گووار
گووارە
گووان
گووبۆق
گووپ
گووپن
گووران
گووواوی
گووێ
گووێچکە
گوێ
گوێبەل
گوێدێر
گوێرە
گوێرەکە
گوێزرنگانەوە
گوێزەر
گوێزی فەریک
گوێزی کوێر
گوێڕەپ
گوێسووک
گوێسووکی
گوێقورس
گوێقوڵاخ
گوێکپ
گوێگر
گوێگران
گوێلەمست
گوێنی
گۆتاڵ
گۆترە
گۆتن
گۆج
گۆجی
گۆران
گۆرین
گۆزەر
گۆزەڵە
گۆڕان
گۆڕاندن
گۆڕاندنەوە
گۆڕانکار
گۆڕانکاری
گۆڕستان
گۆڕین
گۆڕینەوە
گۆساڵە
گۆشپارە
گۆشتاو
گۆشتخۆر
گۆشتن
گۆشتی کاڵ
گۆشەدار
گۆشەگیری
گۆشەنیگا
گۆکار
گۆگرد
گۆڵە
گۆم
گۆمەڵتە
گۆنە
گۆنیە
گۆییژ
گیایی
گیرا
گیران
گیراو
گیراوە
گیراوێ
گیرسانەوە
گیرفانبڕ
گیرفانی باخەڵ
گیرکار
گیرووگرفت
گیرۆ
گیرۆبەند
گیرۆدار
گیز
گیزاندن
گیڕەگیڕ
گیشە
گیڤ
گییانسەخت
گێپەڕە
گێتاڵ
گێرە
گێرەووکێشە
گێزەر
گێڕان
گێژاو
گێژوووێژ
گێسوو
گێلاس
گێلۆکە
گێلی
گێوە
لا چوون
لابابەت
لابار
لابراو
لابەرھەم
لاپاڵ
لاپچین
لاپەڕە
لات و لوات
لات و لوار
لاترقەوچ
لاتەڕاف
لاتوخم
لاجانگ
لاجیوەرد
لاچوو
لادێیی
لارەلار
لارەولار
لاڕەو
لاڕێ
لاژگ
لاژگی
لاساری
لاسایی
لاساییانە
لاساییکەر
لاسک
لاسەنگ
لاسەنگی
لاشان
لاشەڕ
لاشەڕی
لاف و گەزاف
لاقردی
لاک
لاکاری
لاکۆڵان
لاکێش
لاکێشە
لاگیر
لاگیری
لالخاوە
لالە
لالەنگی
لاڵ
لاڵانەوە
لاڵە
لاڵەپەتە
لاڵوپاڵ
لاڵی
لامئەلیفلا
لامل
لامی قەڵەو
لانەواز
لانەوازی
لاەنجام
لاواز
لاوازی
لاوانەوە
لاوچاک
لاورگە
لاوژە
لاوک
لاولاو
لاوە
لاوێتی
لای
لایەن
لایەنگر
لایەنگری
لچەستوور
لچوولێو
لرفەلرف
لک
لکاوە
لکێنراو
لمۆز
لمین
لنگەلەرێ
لە
لەباری
لەبز
لەبلەبی
لەبەرچاڤ
لەپ
لەپاشەجێماو
لەپالەپ
لەپماڵ
لەپەوڕوو
لەپی
لەپی دەست
لەتگەر
لەتووپەت
لەچەر
لەچەری
لەخشتەبەر
لەخەم
لەخەمڕەخسیو
لەخواترس
لەخواترسی
لەخوانەترس
لەخوانەترسی
لەران
لەراندن
لەرانەوە
لەرز
لەرزان
لەرزاندن
لەرزۆک
لەز
لەزاندن
لەزپیو
لەزگێڕ
لەزگێڕی
لەزەت
لەزین
لەڕ
لەڕ و لاواز
لەڕوو
لەڕوویی
لەڕی
لەسەرخۆ
لەسەرخۆیی
لەسەرکەرەوە
لەش
لەشسووک
لەشقورس
لەشکر
لەشکرگا
لەشکرگێڕ
لەشکرگێڕی
لەشوولار
لەشی
لەعنەت
لەفاف
لەقان
لەقاندن
لەقە
لەقەب
لەقەکوت
لەقەلەق
لەقوولۆق
لەک
لەکە
لەکەدار
لەکەداری
لەکی
لەگژ
لەگەن
لەل
لەلە
لەلەیی
لەم
لەم جێگایە دا
لەم دیوەوە
لەمئەو بەر
لەمان
لەمانەوە
لەمپا
لەمپەر
لەنجین
لەنگەر
لەنگەرە
لەنگی
لەنگین
لەنگێزە
لەھیم
لەو
لەو پەڕ
لەو سەرەوە
لەوازە
لەواشە
لەوان
لەوچەلەوچ
لەوچەیی
لەوس
لەوساوە
لەوسن
لەوە بە دەر
لەوە بەو لاوە
لەوە پێش
لەوە دوا
لەوەڕ
لەوەڕگا
لەوەن
لەوێ
لەوێچ
لەوێڕا
لەوێوە
لوان
لواندن
لواو
لوڕ
لوڕستان
لوڕی
لووتبەرز
لووتبەرزی
لووتزل
لووتفش
لووتقوڵنگە
لووتە
لووتەلا
لووتەوانە
لوودە
لووزەو
لووس
لووسکە
لووسووپووس
لوول
لوولاق
لوولکراو
لوولە
لوولەیی
لوولێنە
لۆترەوان
لۆترەوانی
لۆتە
لۆتی
لۆتیێتی
لۆخان
لۆر
لۆرت
لۆرە
لۆری
لۆزەندەر
لۆقە
لۆک
لۆککراو
لۆکە
لۆلە
لۆلۆ
لۆمە
لۆنگ
لۆنە
لیان
لیپ
لیتاو
لیچاڵ
لیخن
لیر
لیژنە
لیژنەدار
لیستە
لیک
لیمە
لیمۆ
لیمۆنی
لیمۆیی
لینج
لینج و فینچ
لینجی
لیوا
لێ
لێ بووردن
لێ بێزران
لێ پڕ بوون
لێ تووژینەوە
لێ تێک چوونەوە
لێ چوونەوە
لێ خەفەتان
لێ خوڕین
لێ ڕاوەستان
لێ قەومان
لێ کۆڵینەوە
لێ گۆڕین
لێ نان
لێ نەگرتن
لێ ھاتن
لێ ھەڵبڕین
لێ ھەڵسان
لێ ھەڵکەوتن
لێ وە
لێ وەرگەڕانەوە
لێ وەستانەوە
لێ وەشانەوە
لێبووردن
لێبووردە
لێبووردوو
لێت
لێتان
لێچوو
لێچوونی
لێخوڕ
لێدوو
لێر
لێرە
لێرە بە دواوە
لێرەش
لێرەوار
لێزگ
لێزگە
لێژ
لێژاو
لێژی
لێسە
لێش
لێقەوماو
لێک
لێک بڕان
لێک بەربوونەوە
لێک ڕەوینەوە
لێکۆلینەوە
لێڵاو
لێڵایی
لێڵایی داھاتن
لێڵە
لێڵی
لێم
لێمان
لێھاتوو
لێواولێو
لێوڕێژ
لێوەدار
لێی
لێیان
مامۆژن
مامۆستا
ماوە
متمانە
مژۆک
ململانێ
مەترسی
مەرز
مەرکانە
مەزن
مەڕۆ
مەمک
میراتی
مێباز
ناخۆش
ناخۆشی
نازناو
نامیلکە
نانەواخانە
ناوازە
ناوخۆ
ناوک
ناوەندی
نزیک
نەبەرد
نەخشە
نەریت
نوشتانەوە
نۆش
نیشانە
نێردراو
نێوان
ھا
ھاتنە دی
ھاتنەوە
ھاتنەوە یاد
ھاتووچوو
ھاجی
ھاجیبادام
ھاجیبایەف
ھاجیرەش
ھاجیلەقلەق
ھار
ھار و ھاج
ھاروو
ھارووھوورت
ھاری
ھاریکار
ھاریکاری
ھازر
ھازری
ھاڕاو
ھاڕە
ھاڕین
ھاڕیە
ھاژ
ھاژاندن
ھاشا
ھاشووھووش
ھافز
ھاڤل
ھاکا
ھاکایی
ھاکم
ھاکمانە
ھاکمێتی
ھاکۆ
ھاڵ
ھاڵ و ئەھواڵ
ھاڵاو
ھاڵەت
ھاڵی
ھامار
ھامێز
ھان
ھانابەر
ھاندراو
ھاندەر
ھاوارکەر
ھاواری
ھاواھەنگی
ھاوبەش
ھاوبەند
ھاوبیر
ھاوپا
ھاوپایە
ھاوپرسی
ھاوپشت
ھاوپەیمان
ھاوتا
ھاوتەک
ھاوتەمەن
ھاوجۆت
ھاوجێ
ھاوچاخ
ھاوچاو
ھاوچاوی
ھاوچڕە
ھاوچەق
ھاوچەک
ھاوخاک
ھاوخەف
ھاوخوان
ھاودەرد
ھاودەست
ھاودین
ھاوراز
ھاوزگ
ھاوزمان
ھاوزۆم
ھاوڕێ
ھاوڕێتی
ھاوساز
ھاوساڵ
ھاوسامە
ھاوسنوور
ھاوسەدە
ھاوسەر
ھاوسەنگ
ھاوسەنگی
ھاوسوێند
ھاوسوێندی
ھاوشار
ھاوشان
ھاوشیرە
ھاوشێوە
ھاوکات
ھاوکار
ھاوکاری
ھاوکێش
ھاوکێشە
ھاولا
ھاوماڵ
ھاومل
ھاوناو
ھاونشین
ھاونەبەرد
ھاونۆرە
ھاوەن
ھاووڵات
ھاووڵاتی
ھاویشتن
ھاوینھەوار
ھاوێر
ھتد
ھزب
ھسێب
ھکوومەت
ھل
ھە
ھەب
ھەپروون
ھەپس
ھەپسخانە
ھەپەسان
ھەپەساندن
ھەپەساو
ھەپوو
ھەپین
ھەتا
ھەتا دوایی
ھەتا سەر
ھەتار
ھەتارەک:
ھەتاو
ھەترە
ھەتھەتۆکە
ھەتوان
ھەتیو
ھەتیوبار
ھەتیوخانە
ھەچولوور
ھەد
ھەدیس
ھەراج
ھەراس
ھەراسان
ھەرام
ھەرامخۆر
ھەرامە
ھەرجایی
ھەرد
ھەردەبیر
ھەردەگێڵ
ھەردوو
ھەرزاڵە
ھەرزان
ھەرزانبەھا
ھەرزانی
ھەرزە
ھەرزەبێژ
ھەرزەچەنە
ھەرزەکار
ھەرزەکارانە
ھەرزەکاری
ھەرزەیی
ھەرفی
ھەرگیز
ھەرگیزئاو ھەرگیز
ھەرگینە
ھەرلە
ھەرمێپشکوان
ھەرەس
ھەرەوەز
ھەروا
ھەری
ھەریف
ھەرێز
ھەرێم
ھەرێمی
ھەز
ھەز و ناھەز
ھەزارە
ھەزاریەک
ھەزبێلە
ھەزرەت
ھەزم
ھەڕا
ھەڕە
ھەڕەشە
ھەڕەشە و گوڕەشە
ھەڕەمە
ھەژار
ھەژاری
ھەژان
ھەژاندن
ھەژگ
ھەژەند
ھەژێنەر
ھەسار
ھەسان
ھەساوە
ھەستبەر
ھەستبەری
ھەستری
ھەستە
ھەستەوەر
ھەستەوەری
ھەستیار
ھەستیاری
ھەسیر
ھەسیرمەیان
ھەش
ھەشار
ھەشاردراو
ھەشبەسەر
ھەشتا
ھەشتالوو
ھەشتیەک
ھەشھەش
ھەشەری
ھەفت
ھەفتا
ھەفتانە
ھەفتە
ھەفتەیی
ھەڤاڵ
ھەڤدە
ھەڤکێشی
ھەقانی
ھەقایەت
ھەقدەست
ھەکیم
ھەگبە
ھەل
ھەلات
ھەلانە
ھەلاھەلا
ھەلک
ھەلھەلە
ھەلەقمەلەق
ھەلەکە
ھەلوومەرج
ھەلۆک
ھەڵاتوو
ھەڵاخنین
ھەڵاڵ
ھەڵاڵخۆر
ھەڵامسان
ھەڵامەت
ھەڵامەتی
ھەڵاورد
ھەڵاوردن
ھەڵاوسان
ھەڵاوێز
ھەڵبرواندن
ھەڵبزڕکان
ھەڵبزڕکاو
ھەڵبڕین
ھەڵبژار
ھەڵبژاردن
ھەڵبژاردە
ھەڵبژێر
ھەڵبژێڕاو
ھەڵبەز
ھەڵبەست
ھەڵبەستراو
ھەڵبەستن
ھەڵبەستە
ھەڵپاچراو
ھەڵپاچین
ھەڵپچڕان
ھەڵپچڕاو
ھەڵپچڕین
ھەڵپرووزان
ھەڵپرووزاندن
ھەڵپرووزاو
ھەڵپرووکاو
ھەڵپڕووکان
ھەڵپڕووکاندن
ھەڵپژان
ھەڵپە
ھەڵپەڕاندن
ھەڵپەڕکێ
ھەڵپەڕین
ھەڵپەساردن
ھەڵپەساڕاو
ھەڵپەنمان
ھەڵپێچ
ھەڵپێچان
ھەڵپێچراو
ھەڵترووشکان
ھەڵتڕین
ھەڵتڵیشان
ھەڵتڵیشاندن
ھەڵتڵیشاو
ھەڵتەکان
ھەڵتەکاندن
ھەڵتەکیو
ھەڵتووڕاندن
ھەڵتۆقین
ھەڵتیزاندن
ھەڵچنراو
ھەڵچنین
ھەڵچەقین
ھەڵچوون
ھەڵخران
ھەڵخستن
ھەڵخلیسکان
ھەڵخلیسکاندن
ھەڵخەڵەتان
ھەڵخەڵەتاندن
ھەڵخەڵەتاو
ھەڵخەڵەتێو
ھەڵخوێندن
ھەڵدان
ھەڵدانەوە
ھەڵدرووراو
ھەڵدروون
ھەڵدڕان
ھەڵدڕاو
ھەڵدڕین
ھەڵدێران
ھەڵزڵەپین
ھەڵزڵەپیو
ھەڵڕژان
ھەڵڕژراو
ھەڵڕشتن
ھەڵژمار
ھەڵژماردن
ھەڵژمێڕاو
ھەڵسان
ھەڵسان و کەوتن
ھەڵساندن
ھەڵسانەوە
ھەڵساو
ھەڵسەنگاندن
ھەڵسەنگێنەر
ھەڵسووڕان
ھەڵسووڕاندن
ھەڵسووڕاو
ھەڵسووڕێنەر
ھەڵسووکەوت
ھەڵشاخین
ھەڵشێلان
ھەڵفریواندن
ھەڵفڕاندن
ھەڵفڕین
ھەڵفلیقان
ھەڵفلیقاندن
ھەڵفلیقاو
ھەڵقرچان
ھەڵقورتاندن
ھەڵقوڕاندن
ھەڵکالین
ھەڵکراو
ھەڵکزراندن
ھەڵکڕان
ھەڵکڕاندن
ھەڵکڕاو
ھەڵکشان
ھەڵکشە
ھەڵکەندن
ھەڵکەنران
ھەڵکەنراو
ھەڵکەوت
ھەڵکوڵین
ھەڵکۆ
ھەڵکۆڵراو
ھەڵکێش
ھەڵکێشان
ھەڵکێشراو
ھەڵگرتن
ھەڵگڵۆفتن
ھەڵگەڕان
ھەڵگەڕانەوە
ھەڵگوشین
ھەڵگیران
ھەڵگیرسان
ھەڵگیرساندن
ھەڵلا
ھەڵلووشین
ھەڵم
ھەڵمات
ھەڵماتێن
ھەڵماڵران
ھەڵماڵراو
ھەڵماڵین
ھەڵمان
ھەڵمژین
ھەڵمەت
ھەڵمەتجاڕ
ھەڵمەقۆ
ھەڵمیزان
ھەڵنان
ھەڵنیشتن
ھەڵھاتن
ھەڵھێنان
ھەڵھێنانەوە
ھەڵھێنجان
ھەڵھێنجراو
ھەڵھێنراو
ھەڵھێنگە
ھەڵھێنەر
ھەڵە
ھەڵەت
ھەڵەخەرج
ھەڵەداوان
ھەڵەشە
ھەڵەشەیی
ھەڵەنگووتن
ھەڵەھەڵ
ھەڵەوەڕ
ھەڵواسران
ھەڵواسراو
ھەڵواسین
ھەڵوەران
ھەڵوەراندن
ھەڵوەشان
ھەڵوەشاندن
ھەڵوەشاو
ھەڵوەشێنراو
ھەڵووتن
ھەڵووژە
ھەڵووژەرەشە
ھەڵۆ
ھەڵۆڵ
ھەڵیز
ھەماز
ھەماڵ
ھەمام
ھەمان
ھەمان کات
ھەمایەڵ
ھەمشین
ھەمەلایەنە
ھەموار
ھەموو
ھەمووپرسی
ھەموووانی
ھەموویی
ھەمیشە
ھەمیشەیی
ھەن
ھەنار
ھەناردە
ھەناسەبڕکێ
ھەناسەسارد
ھەناسەسوار
ھەناسەوواری
ھەناو
ھەند
ھەنداز
ھەندە
ھەندەر
ھەندەران
ھەندەرھۆ
ھەنسک
ھەنسک ھەڵدان
ھەنگ
ھەنگامە
ھەنگاو
ھەنگاوھاویشتن
ھەنگدان
ھەنگڵ
ھەنگەشەلێ
ھەنەزا
ھەنووکەیی
ھەنوون
ھەو
ھەوار
ھەوارگە
ھەواری
ھەواڵگوزاری
ھەواڵە
ھەواڵە بە گەواڵە
ھەواندنەوە
ھەوانەوە
ھەوایی
ھەوت
ھەوتە
ھەوتەوانە
ھەوتیر
ھەوجاڕ
ھەوجۆش
ھەودا
ھەوراز
ھەوراز و نشێو
ھەورەباڵا
ھەورەتریشقە
ھەوریس
ھەوز
ھەوزانە
ھەوسار
ھەوسەڵە
ھەوەس
ھەوەڵ
ھەویر
ھەوینج
ھەوێ
ھەوێن
ھەیا
ھەیبەت
ھەیتە
ھەیران
ھەیزەران
ھەیس
ھەیش
ھەیش پێ ھەڵگرتن
ھەیشۆ
ھەیشۆ لێ ھەڵگیران
ھەیف
ھەیوان
ھەیوانات
ھەیوانان
ھوجرە
ھورمز
ھورمەت
ھوزەیران
ھوزوور
ھوڕەو
ھوژە
ھوشتر
ھوکمدار
ھولھولی
ھولە
ھولەسێ
ھومەڵخەزا
ھونەر
ھونەرگا
ھونەرمەند
ھونەرمەندانە
ھونەرە جوانەکان
ھونەروەر
ھوو
ھووت
ھووردە
ھووردەبینی
ھووڕ
ھووشە
ھووشەکار
ھووھا
ھووھووکەرە
ھۆجەنە
ھۆدار
ھۆدە
ھۆرتە
ھۆردوو
ھۆز
ھۆزان
ھۆزانی
ھۆزکی
ھۆڕ
ھۆڕن
ھۆڕە
ھۆشبڕ
ھۆشمەند
ھۆشمەندی
ھۆشیار
ھۆشیارانە
ھۆشیاری
ھۆکار
ھۆکڵ
ھۆگر
ھۆل
ھۆن
ھۆنەر
ھۆو
ھی
ھیچ
ھیچی
ھیدایەت
ھیر
ھیز
ھیزانە
ھیزە
ھیزەڵ
ھیزێتی
ھیساب
ھیکمەت
ھیلاک
ھیلاندن
ھیمەت
ھیوابڕاو
ھیوادار
ھێ
ھێدز
ھێدی
ھێرۆ
ھێز
ھێزا
ھێزم
ھێشتا
ھێشتن
ھێشخان
ھێشوو
ھێل
ھێلانە
ھێلز
ھێلکە
ھێلکەورۆن
ھێلکەیی
ھێلم
ھێلینج
ھێڵ
ھێڵان
ھێڵکاری
ھێڵی ئاسنی
ھێمایی
ھێمن
ھێمنی
ھێنان
ھێنانەوە
ھێواش
ھێواشکار
ھێواشی
ھێور
ھێورانە
ھێوەر
ھێوەرزا
ھێوەرژن
ھێویری
و مەتیو
وتار
وەستاندن
یارمەتی
یاسا
{
"ئاوەر": "Navdêr",
"ئاوەرێژ": "Navdêr",
"ئاوەژوو": "Rengdêr",
"ئاوەندیار": "Navdêr",
"ئایا؟": "Hoker",
"ئایندە": "Navdêr",
"ئایین": "Navdêr",
"ئەبلەق": "Rengdêr",
"ئەبیاڵ": "Navdêr",
"ئەبێ": "Lêker",
"ئەتک": "Navdêr",
"ئەتوون": "Navdêr",
"ئەجزاجی": "Navdêr",
"ئەجندا": "Navdêr",
"ئەدی!": "Baneşan",
"ئەدی؟": "Hoker",
"ئەرامەندە": "Rengdêr",
"ئەرج": "Navdêr",
"ئەرز": "Navdêr",
"ئەرک": "Navdêr",
"ئەرە": "Daçek",
"ئەزبۆلە": "Navdêr",
"ئەژدەھا": "Navdêr",
"ئەژماردن": "Lêker",
"ئەژمێر": "Navdêr",
"ئەسپایی": "Hoker",
"ئەستوون": "Navdêr",
"ئەستۆ": "Navdêr",
"ئەستی": "Navdêr",
"ئەستێرک": "Navdêr",
"ئەستێوڵک": "Navdêr",
"ئەسکری": "Navdêr",
"ئەسکوێ": "Navdêr",
"ئەسڵەن": "Hoker",
"ئەشک": "Navdêr",
"ئەشکەنجە": "Navdêr",
"ئەشیا": "Navdêr",
"ئەفسانە": "Navdêr",
"ئەفسەر": "Navdêr",
"ئەقل": "Navdêr",
"ئەگریجە": "Navdêr",
"ئەلبەت": "Hoker",
"ئەلمۆدە": "Navdêr",
"ئەڵقە": "Navdêr",
"ئەڵماس": "Navdêr",
"ئەڵێ": "Lêker",
"ئەمر": "Navdêr",
"ئەمن": "Cînav",
"ئەموست": "Navdêr",
"ئەمین": "Rengdêr",
"ئەنتیکە": "Rengdêr",
"ئەنجام": "Navdêr",
"ئەنجن": "Navdêr",
"ئەنجومەن": "Navdêr",
"ئەندازیار": "Navdêr",
"ئەنگاو": "Navdêr",
"ئەنگوور": "Navdêr",
"ئەنەم": "Navdêr",
"ئەھلی": "Rengdêr",
"ئەوانیش": "Cînav",
"ئەوجا": "Hoker",
"ئەورەنگ": "Navdêr",
"ئەوزار": "Navdêr",
"ئەوسا": "Hoker",
"ئەوە": "Cînav",
"ئەوەش": "Cînav",
"ئەوەندە": "Hoker",
"ئەی": "Baneşan",
"ئەی!": "Baneşan",
"ئەینا؟": "Hoker",
"ئیجا": "Hoker",
"ئیختیار": "Rengdêr",
"ئیرھاب": "Navdêr",
"ئیرھابی": "Rengdêr",
"ئیستیقالە": "Navdêr",
"ئیش": "Navdêr",
"ئیفتادە": "Rengdêr",
"ئیم": "Navdêr",
"ئیمرۆ": "Hoker",
"ئیمسال": "Hoker",
"ئیمشەو": "Hoker",
"ئینجا": "Hoker",
"بابوسکە": "Navdêr",
"بابۆڵە": "Navdêr",
"باپیر": "Navdêr",
"باتەک": "Navdêr",
"باتوو": "Navdêr",
"باتی": "Daçek",
"باچە": "Navdêr",
"باخەڵ": "Navdêr",
"بادیھەوا": "Hoker",
"بارام": "Navdêr",
"بارست": "Navdêr",
"بارشت": "Navdêr",
"بارمتە": "Navdêr",
"بارە": "Navdêr",
"بازد": "Navdêr",
"بازوو": "Navdêr",
"بازۆر": "Navdêr",
"باڕ": "Navdêr",
"باستانناسی": "Navdêr",
"باستورمە": "Navdêr",
"بافت": "Navdêr",
"باڵابستە": "Rengdêr",
"باڵباز": "Navdêr",
"باڵۆڵە": "Navdêr",
"باڵۆن": "Navdêr",
"باڵێ": "Baneşan",
"باڵێف": "Navdêr",
"بانگردێن": "Navdêr",
"بانوو": "Navdêr",
"باھێر": "Navdêr",
"باوک": "Navdêr",
"باوەڕ": "Navdêr",
"باوەقۆت": "Navdêr",
"باوی": "Rengdêr",
"بایست": "Navdêr",
"باینجان": "Navdêr",
"باینجانی ڕەش": "Navdêr",
"باینجانی سوور": "Navdêr",
"بایەخ": "Navdêr",
"بایی": "Navdêr",
"بچەژ": "Lêker",
"بدوو": "Lêker",
"برادەر": "Navdêr",
"براژن": "Navdêr",
"برای ھاوپشت": "Navdêr",
"بردەمەنی": "Navdêr",
"برژانگ": "Navdêr",
"برژاو": "Rengdêr",
"برسێتی": "Navdêr",
"برغوو": "Navdêr",
"برنگ": "Navdêr",
"برووسکە": "Navdêr",
"بریتی": "Rengdêr",
"بزاڤ": "Navdêr",
"بزان": "Lêker",
"بزاوتن": "Lêker",
"بزگور": "Navdêr",
"بزووتنەوە": "Navdêr",
"بڕاو": "Rengdêr",
"بڕمێن": "Navdêr",
"بڕوانامە": "Navdêr",
"بڕۆ": "Lêker",
"بڕیار": "Navdêr",
"بڕێک": "Rengdêr",
"بژاردن": "Lêker",
"بژاردە": "Navdêr",
"بژوولک": "Navdêr",
"بسکە": "Navdêr",
"بشێوە": "Rengdêr",
"بلیمەت": "Rengdêr",
"بڵح": "Rengdêr",
"بڵند": "Rengdêr",
"بناغە": "Navdêr",
"بنچە": "Navdêr",
"بنچینەیی": "Rengdêr",
"بنکە": "Navdêr",
"بنەما": "Navdêr",
"بنەوش": "Navdêr",
"بەتڵانە": "Navdêr",
"بەحر": "Navdêr",
"بەخت": "Navdêr",
"بەخترەش": "Rengdêr",
"بەختەوەر": "Rengdêr",
"بەختیار": "Rengdêr",
"بەخش": "Navdêr",
"بەخشەندە": "Rengdêr",
"بەخشەندەیی": "Navdêr",
"بەد": "Rengdêr",
"بەدبەخت": "Rengdêr",
"بەدرەقە": "Navdêr",
"بەر سەر کەسێکەوە لەوەڕان": "Lêker",
"بەرایی": "Navdêr",
"بەردەوک": "Navdêr",
"بەرز": "Rengdêr",
"بەرزە": "Rengdêr",
"بەرژەوەند": "Navdêr",
"بەرژەوەندی": "Navdêr",
"بەرف": "Navdêr",
"بەرگ": "Navdêr",
"بەرگری": "Navdêr",
"بەرگە": "Navdêr",
"بەرگەشتە": "Rengdêr",
"بەرە": "Daçek",
"بەرەزە": "Navdêr",
"بەرەو": "Daçek",
"بەرەوژۆرکە": "Hoker",
"بەرەوژێرکە": "Hoker",
"بەروار": "Navdêr",
"بەروودوا": "Hoker",
"بەزم": "Navdêr",
"بەژ": "Navdêr",
"بەستن": "Lêker",
"بەستە": "Navdêr",
"بەسر": "Navdêr",
"بەش": "Navdêr",
"بەشدار": "Rengdêr",
"بەفر": "Navdêr",
"بەق": "Navdêr",
"بەقال": "Navdêr",
"بەقلیسۆک": "Navdêr",
"بەل": "Navdêr",
"بەلاش": "Hoker",
"بەلایەن": "Navdêr",
"بەلایەنی": "Hoker",
"بەلەز": "Hoker",
"بەلەم": "Navdêr",
"بەڵا": "Navdêr",
"بەڵام": "Girêdek",
"بەڵگە": "Navdêr",
"بەڵەد": "Rengdêr",
"بەڵەک": "Rengdêr",
"بەڵەیاندن": "Lêker",
"بەناوبانگ": "Rengdêr",
"بەند": "Navdêr",
"بەندە": "Navdêr",
"بەندەگی": "Navdêr",
"بەنگ": "Navdêr",
"بەنگکێش": "Navdêr",
"بەھا": "Navdêr",
"بەھارات": "Navdêr",
"بەھانە": "Navdêr",
"بەھر": "Navdêr",
"بەھرە": "Navdêr",
"بەھەشت": "Navdêr",
"بەو": "Cînav",
"بەوان": "Cînav",
"بەیار": "Navdêr",
"بەیارمەتیت": "Baneşan",
"بەیاز": "Navdêr",
"بەیاننامە": "Navdêr",
"بەیانی": "Navdêr",
"بەیچەڵ": "Navdêr",
"بەیدەست": "Rengdêr",
"بەینەت": "Navdêr",
"بەینەتدار": "Rengdêr",
"بوختان": "Navdêr",
"بوخچە": "Navdêr",
"بوودینە": "Navdêr",
"بووردن": "Lêker",
"بووژاندن": "Lêker",
"بووسە": "Navdêr",
"بووم": "Navdêr",
"بووواردن": "Lêker",
"بووێژ": "Navdêr",
"بوێر": "Rengdêr",
"بۆچوون": "Navdêr",
"بۆران": "Navdêr",
"بۆرچین": "Navdêr",
"بۆردن": "Lêker",
"بۆق": "Navdêr",
"بۆقەتە": "Navdêr",
"بۆنە": "Navdêr",
"بۆینباخ": "Navdêr",
"بیانوو": "Navdêr",
"بیانی": "Rengdêr",
"بیبن": "Navdêr",
"بیبی": "Navdêr",
"بیجامە": "Navdêr",
"بیچم": "Navdêr",
"بیراز": "Navdêr",
"بیرتەسک": "Rengdêr",
"بیرە": "Navdêr",
"بیروورِا": "Navdêr",
"بیستا": "Navdêr",
"بیستراو": "Rengdêr",
"بیستن": "Lêker",
"بیستەر": "Navdêr",
"بیستۆک": "Navdêr",
"بیڤر": "Navdêr",
"بێتار": "Navdêr",
"بێجگە": "Daçek",
"بێخ": "Navdêr",
"بێخبڕ": "Rengdêr",
"بێزار": "Rengdêr",
"بێژار": "Navdêr",
"بێسەرووشوێن": "Rengdêr",
"بێشەڵان": "Navdêr",
"بێگانە": "Rengdêr",
"بێگومان": "Hoker",
"بێلایەن": "Rengdêr",
"بێلایەنی": "Navdêr",
"بێنەوبەرە": "Navdêr",
"بێھیوا": "Rengdêr",
"بێوەژن": "Navdêr",
"پابەند": "Rengdêr",
"پاتری": "Navdêr",
"پاچ": "Navdêr",
"پاداشت": "Navdêr",
"پارێزگار": "Navdêr",
"پاساو": "Navdêr",
"پاسەوان": "Navdêr",
"پانایی": "Navdêr",
"پاندان": "Navdêr"
}
qkseath83yv8d0kb5htylmxn5ycg8mn
6342455
6342418
2026-08-25T09:35:10Z
Şêr
1103
6342455
wikitext
text/x-wiki
[[:Kategorî:Gotarên bê kategoriya rêzimanî bi soranî]]
ئەژمێر
ئەسپایی
ئەستوون
ئەستۆ
ئەستی
ئەستێرک
ئەستێوڵک
ئەسکری
ئەسکوێ
ئەسڵەن
ئەشک
ئەشکەنجە
ئەشیا
ئەفسانە
ئەفسەر
ئەقل
ئەگریجە
ئەلبەت
ئەلمۆدە
ئەڵقە
ئەڵماس
ئەڵێ
ئەمر
ئەمن
ئەموست
ئەمین
ئەنتیکە
ئەنجام
ئەنجن
ئەنجومەن
ئەندازیار
ئەنگاو
ئەنگوور
ئەنەم
ئەھلی
ئەوانیش
ئەوجا
ئەورەنگ
ئەوزار
ئەوسا
ئەوە
ئەوەش
ئەوەندە
ئەی
ئەی!
ئەینا؟
ئیجا
ئیختیار
ئیرھاب
ئیرھابی
ئیستیقالە
ئیش
ئیفتادە
ئیم
ئیمرۆ
ئیمسال
ئیمشەو
ئینجا
بابوسکە
بابۆڵە
باپیر
باتەک
باتوو
باتی
باچە
باخەڵ
بادیھەوا
بارام
بارست
بارشت
بارمتە
بارە
بازد
بازوو
بازۆر
باڕ
باستانناسی
باستورمە
بافت
باڵابستە
باڵباز
باڵۆڵە
باڵۆن
باڵێ
باڵێف
بانگردێن
بانوو
باھێر
باوک
باوەڕ
باوەقۆت
باوی
بایست
باینجان
باینجانی ڕەش
باینجانی سوور
بایەخ
بایی
بچەژ
بدوو
برادەر
براژن
برای ھاوپشت
بردەمەنی
برژانگ
برژاو
برسێتی
برغوو
برنگ
برووسکە
بریتی
بزاڤ
بزان
بزاوتن
بزگور
بزووتنەوە
بڕاو
بڕمێن
بڕوانامە
بڕۆ
بڕیار
بڕێک
بژاردن
بژاردە
بژوولک
بسکە
بشێوە
بلیمەت
بڵح
بڵند
بناغە
بنچە
بنچینەیی
بنکە
بنەما
بنەوش
بەتڵانە
بەحر
بەخت
بەخترەش
بەختەوەر
بەختیار
بەخش
بەخشەندە
بەخشەندەیی
بەد
بەدبەخت
بەدرەقە
بەر سەر کەسێکەوە لەوەڕان
بەرایی
بەردەوک
بەرز
بەرزە
بەرژەوەند
بەرژەوەندی
بەرف
بەرگ
بەرگری
بەرگە
بەرگەشتە
بەرە
بەرەزە
بەرەو
بەرەوژۆرکە
بەرەوژێرکە
بەروار
بەروودوا
بەزم
بەژ
بەستن
بەستە
بەسر
بەش
بەشدار
بەفر
بەق
بەقال
بەقلیسۆک
بەل
بەلاش
بەلایەن
بەلایەنی
بەلەز
بەلەم
بەڵا
بەڵام
بەڵگە
بەڵەد
بەڵەک
بەڵەیاندن
بەناوبانگ
بەند
بەندە
بەندەگی
بەنگ
بەنگکێش
بەھا
بەھارات
بەھانە
بەھر
بەھرە
بەھەشت
بەو
بەوان
بەیار
بەیارمەتیت
بەیاز
بەیاننامە
بەیانی
بەیچەڵ
بەیدەست
بەینەت
بەینەتدار
بوختان
بوخچە
بوودینە
بووردن
بووژاندن
بووسە
بووم
بووواردن
بووێژ
بوێر
بۆچوون
بۆران
بۆرچین
بۆردن
بۆق
بۆقەتە
بۆنە
بۆینباخ
بیانوو
بیانی
بیبن
بیبی
بیجامە
بیچم
بیراز
بیرتەسک
بیرە
بیرووڕا
بیستا
بیستراو
بیستن
بیستەر
بیستۆک
بیڤر
بێتار
بێجگە
بێخ
بێخبڕ
بێزار
بێژار
بێسەرووشوێن
بێشەڵان
بێگانە
بێگومان
بێلایەن
بێلایەنی
بێنەوبەرە
بێھیوا
بێوەژن
پابەند
پاتری
پاچ
پاداشت
پارێزگار
پاساو
پاسەوان
پانایی
پاندان
پایتەخت
پرد
پشکنین
پەتی
پەرواز
پەشیمان
پەلەمە
پەیامبەر
پەیامنێر
پۆتین
پۆل
پیشە
پیشەسازی
پێشکەوتن
پێو
تاقم
تكايه
تەپەدۆر
تەڤۆڵ
تەمەڵ
تەواو
توون
تۆپ
جەنگاڤەر
چابووک
چاپاڵێو
چاپخانە
چاپکراو
چاپەز
چاتۆڵە
چاچی
چادرگا
چارشێو
چارە
چارەک
چارەنووس
چارەنووسساز
چارەوا
چاسر
چاش
چاشتێنگا
چاشنی
چاکەت
چاڵ
چاڵاو
چاڵەچەقیلە
چاندەمەنی
چاندەنی
چاوباشقاڵ
چاوەڕوانکراو
چاوێشە
چایەر
چپک
چرادان
چراکەوان
چراورک
چرچ
چرکان
چرکاندن
چرکە
چرووسان
چرووساندن
چرووساو
چرووک
چزاندن
چڕان
چڕنووک
چڕووچاو
چش
چقڵ
چکان
چکاندن
چکۆک
چکۆڵە
چلە
چلۆکۆک
چلۆنھا
چلێس
چلێسی
چڵپاو
چڵک
چڵکاو
چڵم
چمک
چنگاڵ
چنۆک
چەپاڵ
چەپاڵە
چەپاو
چەپخوون
چەپڕۆ
چەپڕۆیی
چەپکەن
چەپلەر
چەپە
چەپەجاخ
چەپەر
چەپەڵۆک
چەپووچێڕ
چەپۆک
چەتاڵ
چەتڵەمەز
چەتە
چەتیانە
چەخماق
چەرخاو
چەرخەمە
چەرداخ
چەرداوەروو
چەردە
چەرس
چەرم
چەرمەسەرێ
چەرە
چەڕندە
چەڕین
چەسپ
چەش
چەشتن
چەشکە
چەشمە
چەشن
چەشنی
چەقاڵ
چەقان
چەقاندن
چەقەڵ
چەقۆساز
چەقۆکێش
چەکووش
چەلاک
چەلان
چەلاو
چەلیپا
چەڵەمە
چەمچە
چەمەر
چەمەری
چەمووچەم
چەمۆڵە
چەندایەتی
چەندەمین
چەندێتی
چەنە
چەنەباز
چەنەبازی
چەنەچەن
چەنەھەراش
چەو
چەواشە
چەوتانەوە
چەوتی
چەودار
چوارچێوە
چواردەور
چوارگۆشە
چوارلا
چوارەک
چوالە
چوختی
چوڕ
چوست
چۆپین
چۆدار
چۆڕان
چۆڕاندن
چۆش!
چۆق
چۆلاغ
چۆلک
چۆڵ
چۆنھا
چۆنیەک
چیتۆکە
چیل
چیلەچەپ
چیلەک
چیم
چێر
چێژ
چێژان
چێژیلە
چێش
چێشتخانە
چێشتکەر
چێشتن
چێو
چێوە
چێوین
خوێندن
خۆشەویست
خۆم
خۆمان
رۆژانە
ژار
ژاراو
ژاراوی
ژاربەر
ژارقەندە
ژارک
ژارووژەنگ
ژاژ
ژاژک
ژاڵە
ژاندار
ژانەسک
ژانەسەر
ژاوەژاو
ژلێواندن
ژلێوە
ژمار
ژماردن
ژمارکار
ژمارکۆ
ژمارەگر
ژمارەگری
ژمارەیی
ژمێرە
ژنانە
ژنانی
ژنەشا
ژنێتی
ژەقنەبووت
ژەک
ژەمک
ژەندن
ژەنگاڵی
ژەنگاوی
ژەھری ھەڵاخنین
ژووان
ژووانگا
ژووران
ژوورەوە
ژوورۆچکە
ژیار
ژیاری
ژیانەوە
ژیانی
ژیرانە
ژیربێژ
ژیربێژانە
ژیرکەلە
ژیری
ژینامە
ژینداری
ژیھاتن
ژیوار
ژێر
ژێربەران
ژێرپیاڵە
ژێرپێ
ژێرتیپ
ژێرچەپۆکە
ژێردەست
ژێردەستی
ژێرزەمین
ژێرزەمینی
ژێرسەر
ژێرکەنارە
ژێرەوە
ژێرەوەنان
ژێروو
ژێرووزەبەر
سەنگەر
سەنیا
سوپا
شتن
فافۆن
فاقە
فاک
فاڵ
فاڵ گرتنەوە
فاما
فامیدە
فامین
فانۆس
فایل
فترە
فتوا
فتیلە
فراژان
فراژاندن
فراژی
فراژیوەر
فراوانی
فرتەنە
فرزەند
فرزەند ھێنانەوە
فرستادە
فرشتەنگ
فرە
فرەایینی
فرەبێژ
فرەز
فرەنەتەوەیی
فرەھزبایی
فرەھزبی
فرەیی
فرۆشتنەوە
فرۆشراو
فریز
فریو
فریواندن
فریوباز
فریوخۆر
فزە
فڕفڕە
فڕفڕۆکە
فڕفینگ
فڕکان
فڕگە
فڕن
فڕندە
فڕنک
فڕووج
فڕووفێڵ
فڕوون
فڕۆکەنەھێڵ
فڕۆکەوان
فڕیشتە
فڕین
فڕێ
فڕێدراو
فس
فسکە
فسکەفسک
فشقیات
فشەکەر
فشەگاڵتە
فلیقاندن
فلیقاو
فڵان
فڵت
فڵتاندن
فڵتەدەمە
فڵیتە
فم
فنددان
فەتار
فەتار فەتار
فەتارەت
فەتان
فەخفووری
فەرامۆش
فەرامۆشی
فەرتووت
فەرخی
فەردە
فەرز
فەرزین
فەرق
فەرکار
فەرکاندن
فەرکانە
فەرمان
فەرمانبەر
فەرمانڕەوا
فەرمانڕەوایی
فەرمانگێڕی
فەرمانی
فەرمایشت
فەرموو
فەرموون
فەرەھ
فەروار
فەروو
فەریک
فەڕاش
فەڕاقە
فەڕدار
فەسڵ
فەقیر
فەقێ
فەکڵە
فەلسەفە
فەلە
فەلەسووف
فەن
فەنا
فەوتان
فەوتاندن
فەوتاو
فوو
فوودراو
فوورھە
فیتەفیت
فیچقە
فیدا
فیدایی
فیرست
فیز
فیزار
فیزن
فیڕکە
فیڕۆ
فیسان
فیسەڵ
فیش
فیشاڵ
فیشەفیش
فیعل
فیک
فیکە
فیکەفیک
فێدار
فێر
فێربوو
فێردار
فێرداری
فێرگە
فێسان
فێڵ
فێڵباز
فێڵووفەرەج
فێنک
قردێلە
قرقێنە
قنگ
قەبەیی
قەتران
قەساب
قەسابخانە
قەشەنگ
قەنەفە
قەول
قەیران
قەیرە
قەیناکە
قوپان
قوپاو
قوربانی
قولاپ
قۆپچە
قۆخ
قۆرخ
قۆقز
کابان
کابرا
کابە
کابینە
کاپۆڵ
کات
کاتپێو
کاتەوکات
کاچ
کاخەز
کاخەزدار
کادان
کارا
کاراسک
کاراشنا
کاراشنایی
کاربرا
کاربرایەتی
کاربڕ
کاربەدەستی
کاربین
کارتە
کارخانە
کاردانەوە
کاردیتوو
کارزان
کارزانی
کارژۆلە
کارساز
کارکردە
کارکەر
کارکەنار
کارکەناری
کارگە
کارگەر
کارگوزار
کارگوزاری
کارگێڕ
کارگێڕی
کارنامە
کارنیارنامە
کارھاتوو
کارەبا
کارەز
کارەزاو
کارەزکەن
کارەسات
کارەکەر
کاروانچی
کاروانکەر
کاروانکوژ
کاروانی
کارووبار
کارووس
کاری
کاریگەر
کاژاو
کاژەڵاخ
کاسب
کاسبی
کاسپ
کاستی
کاسی
کاش
کاشانە
کاشە
کاشی
کاف
کاک
کاکڵ
کاکە
کاکەلێ
کاکەیی
کاکۆ
کاکیبەکاکی
کالان
کالە
کالی
کالیار
کاڵا
کاڵات
کاڵەک
کاڵەمستە
کاڵی
کاماخ
کامار
کامپ
کامەتا
کامەرانی
کان
کاناو
کانزا
کانزایی
کانوون
کانیاو
کانیبەردینە
کانیلە
کانیەدرۆزنە
کاھوو
کاو
کاوڕ
کاوش
کاول
کاویر
کاوێژ
کپەنە
کتک
کتکنەوتینە
کتکی
کتووپڕ
کتێبباز
کتێبەڤان
کچانە
کچکۆڵە
کچنی
کچەتیو
کچەزا
کخ
کراس
کراو
کرتناک
کرداری
کرداری تێپەر
کرداری تێنەپەر
کرداری لێکدراو
کردە
کردەکار
کردەگار
کرسپ
کرمدڵ
کرۆت
کرۆسک
کرۆشتن
کرۆک
کریڤ
کرێ
کرێبار
کرێکاری
کز
کزاندنەوە
کزانەوە
کزر
کزۆڵە
کزی
کڕکڕاگە
کڕکەوتوو
کڕە
کڕەک
کڕووزانەوە
کڕووزە
کڕووھوڕ
کڕیار
کڕێشاوی
کڕێنە
کسپ
کسپووکۆ
کسسە
کشان
کشت
کشتکار
کشتگەھ
کشتەک
کشوومات
کشووماتی
کفرباز
کفندڕ
کلت
کلتوور
کلچان
کلچێوک
کلدان
کلدوومان
کلەر
کلیل
کلیلە
کلیم
کڵ
کڵاش
کڵاشچن
کڵاواسن
کڵاوزرێ
کڵاوقژ
کڵاونە
کڵپە
کڵپە لێ ھەڵسان
کڵپووھووڕ
کڵفت
کڵۆ
کڵۆر
کڵۆش
کڵۆڵ
کڵۆڵی
کڵێس
کڵێسمان
کڵێشە
کنگخشکێ
کنگخلیسکێ
کنگدەر
کنگر
کنە
کنەکار
کنیواڵ
کنێر
کەباب
کەبات
کەبار
کەپرۆکە
کەپەنەک
کەت
کەتان
کەتانە
کەتانی
کەتن
کەتە
کەتوو
کەتیرە
کەچە
کەچەڵ
کەچەڵی
کەرانباوکگاو
کەرانە
کەرپەسە
کەرپیاو
کەرت
کەرتکراو
کەرتە
کەرتووپەرت
کەرتی
کەردڕ
کەرسەگ
کەرکە
کەرکوژ
کەرگەز
کەرھەنگ
کەرە
کەرەجی
کەرەدێز
کەرەسە
کەرەکی
کەرەکێوی
کەرەنتوو
کەرەوز
کەرووبار
کەرۆکە
کەرێتی
کەزاخە
کەزی
کەڕ
کەڕەت
کەڕەتی
کەڕەکۆنتێ
کەڕەنسۆ
کەڕەواڵە
کەڕوو
کەڕوو ھێڵھێنان
کەڕووواوی
کەڕی
کەژاوە
کەژماڵ
کەسانە
کەستەک
کەسک
کەسکووسۆر
کەسکوون
کەسکی
کەسنەدار
کەسنەدیو
کەسیرە
کەش
کەشاکەش
کەشتیگەل
کەشتیوان
کەشتیوانی
کەشخە
کەشزان
کەشزانی
کەشک
کەشکە
کەشکەلان
کەشکەلانی فەلەک
کەشمەکەشم
کەشە
کەشەنگ
کەشووفش
کەشیش
کەشیە
کەف
کەفارەت
کەفالەت
کەفاو
کەفووکۆڵ
کەفیل
کەلا
کەلار
کەلارە
کەلتوور
کەلخانە
کەلە
کەلەپەر
کەلەپوور
کەلەپووری
کەلەتەزێن
کەلەشەق
کەلەکوچ
کەلەلا
کەلەم
کەلواز
کەلووپەل
کەلووکۆم
کەلێن
کەڵام
کەڵان
کەڵب
کەڵەس
کەڵەک
کەڵەکباز
کەڵەکچی
کەڵەگەت
کەڵەوێ
کەڵووڕی
کەڵۆس
کەم کەمە
کەماڵ
کەمان
کەمانچەژەن
کەمایەتی
کەمایەسی
کەمبیر
کەمتەرخەمی
کەمتیار
کەمتین
کەمچیکڵدانە
کەمدەست
کەمدوو
کەمڕوو
کەمساڵ
کەمشیر
کەمناو
کەمە
کەمەبەند
کەمەر
کەمەربەستی
کەمەرچین
کەمەردار
کەمەرەیی
کەمەری زەوی
کەمەکێک
کەمەیی
کەمووکووڕی
کەمۆ
کەمۆکار
کەمۆکاری
کەمۆیار
کەمۆیاری
کەمی
کەنار
کەناراو
کەنارگر
کەنارگری
کەنارەیی
کەنتۆر
کەند
کەند و کۆسپ
کەنداڵ
کەنداو
کەندەک
کەندەکار
کەندەڵان
کەنزەک
کەنەفت
کەنەفتی
کەنیچە
کەنیلێ
کەھلان
کەو ئڤ
کەوا
کەوالە
کەوان
کەوانکۆشە
کەوانە
کەوباز
کەوبازی
کەوباڕ
کەوبەدار
کەوتوو
کەوچک
کەوداو
کەودەن
کەورک
کەوژ
کەوژین
کەوشەک
کەوشەکەن
کەوشەکۆن
کەوگیر
کەولۆس
کەومار
کەوە
کەوەر
کەوۆت
کەوێڵ
کەی
کەیبانوو
کەیس
کەیل
کەیلان
کەینووبەین
کەیوان
کوارەنگ
کوتان
کوتووپڕ
کوتوومت
کوچوولە
کودەڵە
کورتان
کورتاندروو
کورتبڕ
کورتبڕی
کورتبین
کورتبینی
کورتم
کورتە
کورتەباڵا
کورتەبنە
کورتەک
کورتی
کورتیلە
کوردانە
کوردایەتی
کوردپەروەر
کوردستانی
کوردشناس
کوردکوژە
کوردناسی
کوردھەز
کوردەواری
کوردیاخێو
کوردیزانی
کوردیزمان
کورکاندن
کورەک
کوزان
کوڕ
کوڕانە
کوڕکوڕە
کوڕگەل
کوڕنووش
کوڕە
کوڕەزا
کوڕەزازا
کوڕێتی
کوژاندنەوە
کوژران
کوژراو
کوشتار
کوشتبەندان
کوشتن
کوشتەرا
کوشندە
کوفار
کولاف
کولاندنەوە
کولانەوە
کولپ
کولخان
کولەپاچ
کولەمەرگی
کولیچە
کوڵاو
کوڵک
کوڵکوڵە
کوڵەبنە
کوڵەبەس
کوڵەپێچ
کوڵەنانی
کوڵەنجە
کوڵەھەسار
کوڵۆت
کوڵۆک
کونار
کوناودەر
کونبڕ
کونتیلە
کونجرە
کونجی
کونجێن
کونچک
کونزەین
کونکراو
کونکەرە
کونەباجە
کونەبەبوو
کونیلە
کونیلەدار
کوو
کووپ
کووپە
کووپەڵە
کووچە
کوور
کوورە
کووز
کووکەلە
کووکوو
کووکووکەرە
کوونی
کوێخا
کوێخایەتی
کوێرانە
کوێراو
کوێردەرە
کوێرەدێ
کوێرەڕێ
کوێرەشەقام
کوێرەکانی
کوێرەمار
کوێرەمووشە
کوێرەوەری
کوێری
کوێڕا
کوێستانی
کوێلە
کوێلەدار
کوێلەداری
کوێلەیی
کوێندەری
کوێوە
کۆ
کۆبەند
کۆبوونەوە
کۆپارە
کۆت
کۆتان
کۆتایی
کۆتایی ١یی پێ
کۆتەرە
کۆجەڵە
کۆچ
کۆچاوکۆچ
کۆچکەر
کۆچەری
کۆچەرێتی
کۆچەک
کۆچەکە
کۆچی
کۆچی دوایی
کۆخ
کۆخوازی
کۆد
کۆرپەلە
کۆز
کۆزانین
کۆزمان
کۆزە
کۆزەرە
کۆڕگە
کۆژە
کۆژۆ
کۆسپ
کۆسپایی
کۆستە
کۆستەوەوی
کۆسە
کۆشان
کۆشش
کۆشیار
کۆفرۆش
کۆفرۆشی
کۆڤان
کۆکردنەوە
کۆکەکۆک
کۆکین
کۆکێتی
کۆلک
کۆلیسک
کۆڵ
کۆڵارە
کۆڵان
کۆڵاندۆز
کۆڵانکوت
کۆڵراو
کۆڵکێش
کۆڵگێڕ
کۆڵنج
کۆڵنجان
کۆڵنگە
کۆڵنەدەر
کۆڵھەڵگر
کۆڵە
کۆڵەر
کۆڵەوار
کۆڵوو
کۆڵیت
کۆڵین
کۆڵینەوە
کۆم
کۆما
کۆماری
کۆماوە
کۆمفرۆش
کۆمفرۆشی
کۆمەک
کۆمەکی
کۆمەڵ
کۆمەڵایەتی
کۆمەڵزان
کۆمەڵزانی
کۆمەڵە
کۆمی
کۆنە
کۆنەباو
کۆنەپەرست
کۆنەپەرستی
کۆنەپۆش
کۆنەساڵ
کۆنەفرۆش
کۆنی
کۆنینە
کیتەڵە
کیسەڵ
کیشوەر
کیشوەربڕ
کیشوەری
کیوار
کێ
کێچ
کێچاوی
کێرزل
کێرزلی
کێڕ
کێش
کێشان
کێشانەوە
کێشدار
کێشران
کێشراو
کێشمان
کێشمەکێش
کێشە
کێل
کێڵراو
کێوی ئاگرپرژێن
کێویلە
گابۆڕ
گاراندن
گارەگار
گازر
گازندە
گازندۆک
گازەرا
گاڕس
گاسن
گاف
گاکێوی
گاگەل
گاگۆڵکێ
گاگێرە
گالیسکە
گاڵ
گاڵتە
گاڵتەبێژ
گاڵتەجاڕ
گاڵتەچی
گاڵتەگێ
گاڵە
گاڵەکوت
گاڵۆک
گامەڵاس
گامێش
گان
گاناوی
گانەک
گاوارە
گاووس
گاووگۆتاڵ
گایلکە
گایی
گرتنەوە
گرتەک
گرتوو
گرتووخانە
گردە
گردەبا
گردەپیاو
گردەڵە
گردۆکۆ
گردۆڵک
گرژی
گرس
گرفت
گرفتە
گرمەژنە
گرمۆڵە
گرمۆڵەیی
گرنگی
گرەو
گروون
گرۆ
گریشمە
گرین
گرینۆک
گرێدراو
گرێکوێرە
گزیر
گڕاندن
گڕگر
گڕگرتوو
گڕووگاڵ
گڕوێ
گڕوێیی
گڕۆز
گژەبا
گشتگر
گشتی
گفتووگۆ
گڤی
گلار
گلارە
گلاو
گلەبان
گلەخان
گلەسپی
گلەیی
گلۆفتن
گلین
گلێجە
گلێر
گڵۆپ
گڵۆڵە
گندۆر
گەپەگەپ
گەچ
گەدا
گەدایی
گەدە
گەر
گەردان
گەردانە
گەرداو
گەردنکەچ
گەردنکەش
گەردنکێل
گەردەش
گەردووخول
گەردووگەڵا
گەردوون
گەرم
گەرما
گەرماپێو
گەرماجمان
گەرماو
گەرماوگەرم
گەرمایی
گەرمبردوو
گەرمەگلێ
گەرمی
گەرمیان
گەرمیانی
گەرمیپێو
گەرمێتی
گەرەک
گەرەکی
گەروانکە
گەرووێش
گەزاف
گەزگەزان
گەزندە
گەزنە
گەزەن
گەزین
گەڕان
گەڕاندن
گەڕاندنەوە
گەڕانەوە
گەڕەلاوژە
گەڕۆک
گەڕۆڵ
گەڕۆڵە!
گەڕی
گەستن
گەسکە
گەش
گەشایشت
گەشبین
گەشبینی
گەشتنامە
گەشتوەر
گەشتووگوزار
گەشتیار
گەشکە
گەشکەدار
گەشەکردوو
گەشی
گەف
گەفووگوڕ
گەفین
گەل
گەلال
گەلاوێژ
گەلھۆ
گەلەخان
گەلەراوێژی
گەلۆر
گەڵادار
گەڵارێزان
گەڵاڕن
گەڵاکوتک
گەڵاڵە
گەڵاوگەڵ
گەڵاوەر
گەمارۆ
گەماڵ
گەموورە
گەناندن
گەندەڵ
گەندووگوو
گەنمگردی
گەنمە
گەنیو
گەواد
گەوار
گەواڵ
گەواھ
گەواھی
گەورەیی
گەوز
گەولاز
گەوھەر
گەوھەربەند
گەوھەردار
گەوھەرکار
گەوە
گەوەری
گەوەکار
گەوون
گەی
گەیاندن
گەیشتگە
گەیشتوو
گەیگر
گەیین
گودلە
گوربز
گوربە
گورج
گورد
گورزە
گورزەتیشک
گورزەھۆن
گورگانگاز
گوزارە
گوزارەدار
گوزارەیی
گوزەریو
گوڕ
گوڕە
گوڕەشە
گوڕەشەکار
گوڕەووبڕە
گوژم
گوستاخ
گوستاخی
گوشار
گوشران
گوشراو
گوشراوە
گول
گولاج
گولی
گوڵ
گوڵاڵە
گوڵان
گوڵاو
گوڵاوپژێن
گوڵاوی
گوڵباران
گوڵبانگ
گوڵبەدەم
گوڵدار
گوڵدان
گوڵرەنگ
گوڵڕێزان
گوڵشەن
گوڵگوڵی
گوڵمە
گوڵمێخ
گوڵە
گوڵەباخ
گوڵەباران
گوڵەپرێژ
گوڵەچاوێشە
گوڵەندام
گوڵونکە
گوڵی
گوم
گومانبار
گومانرەش
گومانی
گومرک
گومڕاکەر
گومناو
گومی
گوناھ
گوناھبار
گونجان
گونجاندن
گونجاو
گونداری
گوندۆرە
گووار
گووارە
گووان
گووبۆق
گووپ
گووپن
گووران
گووواوی
گووێ
گووێچکە
گوێ
گوێبەل
گوێدێر
گوێرە
گوێرەکە
گوێزرنگانەوە
گوێزەر
گوێزی فەریک
گوێزی کوێر
گوێڕەپ
گوێسووک
گوێسووکی
گوێقورس
گوێقوڵاخ
گوێکپ
گوێگر
گوێگران
گوێلەمست
گوێنی
گۆتاڵ
گۆترە
گۆتن
گۆج
گۆجی
گۆران
گۆرین
گۆزەر
گۆزەڵە
گۆڕان
گۆڕاندن
گۆڕاندنەوە
گۆڕانکار
گۆڕانکاری
گۆڕستان
گۆڕین
گۆڕینەوە
گۆساڵە
گۆشپارە
گۆشتاو
گۆشتخۆر
گۆشتن
گۆشتی کاڵ
گۆشەدار
گۆشەگیری
گۆشەنیگا
گۆکار
گۆگرد
گۆڵە
گۆم
گۆمەڵتە
گۆنە
گۆنیە
گۆییژ
گیایی
گیرا
گیران
گیراو
گیراوە
گیراوێ
گیرسانەوە
گیرفانبڕ
گیرفانی باخەڵ
گیرکار
گیرووگرفت
گیرۆ
گیرۆبەند
گیرۆدار
گیز
گیزاندن
گیڕەگیڕ
گیشە
گیڤ
گییانسەخت
گێپەڕە
گێتاڵ
گێرە
گێرەووکێشە
گێزەر
گێڕان
گێژاو
گێژوووێژ
گێسوو
گێلاس
گێلۆکە
گێلی
گێوە
لا چوون
لابابەت
لابار
لابراو
لابەرھەم
لاپاڵ
لاپچین
لاپەڕە
لات و لوات
لات و لوار
لاترقەوچ
لاتەڕاف
لاتوخم
لاجانگ
لاجیوەرد
لاچوو
لادێیی
لارەلار
لارەولار
لاڕەو
لاڕێ
لاژگ
لاژگی
لاساری
لاسایی
لاساییانە
لاساییکەر
لاسک
لاسەنگ
لاسەنگی
لاشان
لاشەڕ
لاشەڕی
لاف و گەزاف
لاقردی
لاک
لاکاری
لاکۆڵان
لاکێش
لاکێشە
لاگیر
لاگیری
لالخاوە
لالە
لالەنگی
لاڵ
لاڵانەوە
لاڵە
لاڵەپەتە
لاڵوپاڵ
لاڵی
لامئەلیفلا
لامل
لامی قەڵەو
لانەواز
لانەوازی
لاەنجام
لاواز
لاوازی
لاوانەوە
لاوچاک
لاورگە
لاوژە
لاوک
لاولاو
لاوە
لاوێتی
لای
لایەن
لایەنگر
لایەنگری
لچەستوور
لچوولێو
لرفەلرف
لک
لکاوە
لکێنراو
لمۆز
لمین
لنگەلەرێ
لە
لەباری
لەبز
لەبلەبی
لەبەرچاڤ
لەپ
لەپاشەجێماو
لەپالەپ
لەپماڵ
لەپەوڕوو
لەپی
لەپی دەست
لەتگەر
لەتووپەت
لەچەر
لەچەری
لەخشتەبەر
لەخەم
لەخەمڕەخسیو
لەخواترس
لەخواترسی
لەخوانەترس
لەخوانەترسی
لەران
لەراندن
لەرانەوە
لەرز
لەرزان
لەرزاندن
لەرزۆک
لەز
لەزاندن
لەزپیو
لەزگێڕ
لەزگێڕی
لەزەت
لەزین
لەڕ
لەڕ و لاواز
لەڕوو
لەڕوویی
لەڕی
لەسەرخۆ
لەسەرخۆیی
لەسەرکەرەوە
لەش
لەشسووک
لەشقورس
لەشکر
لەشکرگا
لەشکرگێڕ
لەشکرگێڕی
لەشوولار
لەشی
لەعنەت
لەفاف
لەقان
لەقاندن
لەقە
لەقەب
لەقەکوت
لەقەلەق
لەقوولۆق
لەک
لەکە
لەکەدار
لەکەداری
لەکی
لەگژ
لەگەن
لەل
لەلە
لەلەیی
لەم
لەم جێگایە دا
لەم دیوەوە
لەمئەو بەر
لەمان
لەمانەوە
لەمپا
لەمپەر
لەنجین
لەنگەر
لەنگەرە
لەنگی
لەنگین
لەنگێزە
لەھیم
لەو
لەو پەڕ
لەو سەرەوە
لەوازە
لەواشە
لەوان
لەوچەلەوچ
لەوچەیی
لەوس
لەوساوە
لەوسن
لەوە بە دەر
لەوە بەو لاوە
لەوە پێش
لەوە دوا
لەوەڕ
لەوەڕگا
لەوەن
لەوێ
لەوێچ
لەوێڕا
لەوێوە
لوان
لواندن
لواو
لوڕ
لوڕستان
لوڕی
لووتبەرز
لووتبەرزی
لووتزل
لووتفش
لووتقوڵنگە
لووتە
لووتەلا
لووتەوانە
لوودە
لووزەو
لووس
لووسکە
لووسووپووس
لوول
لوولاق
لوولکراو
لوولە
لوولەیی
لوولێنە
لۆترەوان
لۆترەوانی
لۆتە
لۆتی
لۆتیێتی
لۆخان
لۆر
لۆرت
لۆرە
لۆری
لۆزەندەر
لۆقە
لۆک
لۆککراو
لۆکە
لۆلە
لۆلۆ
لۆمە
لۆنگ
لۆنە
لیان
لیپ
لیتاو
لیچاڵ
لیخن
لیر
لیژنە
لیژنەدار
لیستە
لیک
لیمە
لیمۆ
لیمۆنی
لیمۆیی
لینج
لینج و فینچ
لینجی
لیوا
لێ
لێ بووردن
لێ بێزران
لێ پڕ بوون
لێ تووژینەوە
لێ تێک چوونەوە
لێ چوونەوە
لێ خەفەتان
لێ خوڕین
لێ ڕاوەستان
لێ قەومان
لێ کۆڵینەوە
لێ گۆڕین
لێ نان
لێ نەگرتن
لێ ھاتن
لێ ھەڵبڕین
لێ ھەڵسان
لێ ھەڵکەوتن
لێ وە
لێ وەرگەڕانەوە
لێ وەستانەوە
لێ وەشانەوە
لێبووردن
لێبووردە
لێبووردوو
لێت
لێتان
لێچوو
لێچوونی
لێخوڕ
لێدوو
لێر
لێرە
لێرە بە دواوە
لێرەش
لێرەوار
لێزگ
لێزگە
لێژ
لێژاو
لێژی
لێسە
لێش
لێقەوماو
لێک
لێک بڕان
لێک بەربوونەوە
لێک ڕەوینەوە
لێکۆلینەوە
لێڵاو
لێڵایی
لێڵایی داھاتن
لێڵە
لێڵی
لێم
لێمان
لێھاتوو
لێواولێو
لێوڕێژ
لێوەدار
لێی
لێیان
مامۆژن
مامۆستا
ماوە
متمانە
مژۆک
ململانێ
مەترسی
مەرز
مەرکانە
مەزن
مەڕۆ
مەمک
میراتی
مێباز
ناخۆش
ناخۆشی
نازناو
نامیلکە
نانەواخانە
ناوازە
ناوخۆ
ناوک
ناوەندی
نزیک
نەبەرد
نەخشە
نەریت
نوشتانەوە
نۆش
نیشانە
نێردراو
نێوان
ھا
ھاتنە دی
ھاتنەوە
ھاتنەوە یاد
ھاتووچوو
ھاجی
ھاجیبادام
ھاجیبایەف
ھاجیرەش
ھاجیلەقلەق
ھار
ھار و ھاج
ھاروو
ھارووھوورت
ھاری
ھاریکار
ھاریکاری
ھازر
ھازری
ھاڕاو
ھاڕە
ھاڕین
ھاڕیە
ھاژ
ھاژاندن
ھاشا
ھاشووھووش
ھافز
ھاڤل
ھاکا
ھاکایی
ھاکم
ھاکمانە
ھاکمێتی
ھاکۆ
ھاڵ
ھاڵ و ئەھواڵ
ھاڵاو
ھاڵەت
ھاڵی
ھامار
ھامێز
ھان
ھانابەر
ھاندراو
ھاندەر
ھاوارکەر
ھاواری
ھاواھەنگی
ھاوبەش
ھاوبەند
ھاوبیر
ھاوپا
ھاوپایە
ھاوپرسی
ھاوپشت
ھاوپەیمان
ھاوتا
ھاوتەک
ھاوتەمەن
ھاوجۆت
ھاوجێ
ھاوچاخ
ھاوچاو
ھاوچاوی
ھاوچڕە
ھاوچەق
ھاوچەک
ھاوخاک
ھاوخەف
ھاوخوان
ھاودەرد
ھاودەست
ھاودین
ھاوراز
ھاوزگ
ھاوزمان
ھاوزۆم
ھاوڕێ
ھاوڕێتی
ھاوساز
ھاوساڵ
ھاوسامە
ھاوسنوور
ھاوسەدە
ھاوسەر
ھاوسەنگ
ھاوسەنگی
ھاوسوێند
ھاوسوێندی
ھاوشار
ھاوشان
ھاوشیرە
ھاوشێوە
ھاوکات
ھاوکار
ھاوکاری
ھاوکێش
ھاوکێشە
ھاولا
ھاوماڵ
ھاومل
ھاوناو
ھاونشین
ھاونەبەرد
ھاونۆرە
ھاوەن
ھاووڵات
ھاووڵاتی
ھاویشتن
ھاوینھەوار
ھاوێر
ھتد
ھزب
ھسێب
ھکوومەت
ھل
ھە
ھەب
ھەپروون
ھەپس
ھەپسخانە
ھەپەسان
ھەپەساندن
ھەپەساو
ھەپوو
ھەپین
ھەتا
ھەتا دوایی
ھەتا سەر
ھەتار
ھەتارەک:
ھەتاو
ھەترە
ھەتھەتۆکە
ھەتوان
ھەتیو
ھەتیوبار
ھەتیوخانە
ھەچولوور
ھەد
ھەدیس
ھەراج
ھەراس
ھەراسان
ھەرام
ھەرامخۆر
ھەرامە
ھەرجایی
ھەرد
ھەردەبیر
ھەردەگێڵ
ھەردوو
ھەرزاڵە
ھەرزان
ھەرزانبەھا
ھەرزانی
ھەرزە
ھەرزەبێژ
ھەرزەچەنە
ھەرزەکار
ھەرزەکارانە
ھەرزەکاری
ھەرزەیی
ھەرفی
ھەرگیز
ھەرگیزئاو ھەرگیز
ھەرگینە
ھەرلە
ھەرمێپشکوان
ھەرەس
ھەرەوەز
ھەروا
ھەری
ھەریف
ھەرێز
ھەرێم
ھەرێمی
ھەز
ھەز و ناھەز
ھەزارە
ھەزاریەک
ھەزبێلە
ھەزرەت
ھەزم
ھەڕا
ھەڕە
ھەڕەشە
ھەڕەشە و گوڕەشە
ھەڕەمە
ھەژار
ھەژاری
ھەژان
ھەژاندن
ھەژگ
ھەژەند
ھەژێنەر
ھەسار
ھەسان
ھەساوە
ھەستبەر
ھەستبەری
ھەستری
ھەستە
ھەستەوەر
ھەستەوەری
ھەستیار
ھەستیاری
ھەسیر
ھەسیرمەیان
ھەش
ھەشار
ھەشاردراو
ھەشبەسەر
ھەشتا
ھەشتالوو
ھەشتیەک
ھەشھەش
ھەشەری
ھەفت
ھەفتا
ھەفتانە
ھەفتە
ھەفتەیی
ھەڤاڵ
ھەڤدە
ھەڤکێشی
ھەقانی
ھەقایەت
ھەقدەست
ھەکیم
ھەگبە
ھەل
ھەلات
ھەلانە
ھەلاھەلا
ھەلک
ھەلھەلە
ھەلەقمەلەق
ھەلەکە
ھەلوومەرج
ھەلۆک
ھەڵاتوو
ھەڵاخنین
ھەڵاڵ
ھەڵاڵخۆر
ھەڵامسان
ھەڵامەت
ھەڵامەتی
ھەڵاورد
ھەڵاوردن
ھەڵاوسان
ھەڵاوێز
ھەڵبرواندن
ھەڵبزڕکان
ھەڵبزڕکاو
ھەڵبڕین
ھەڵبژار
ھەڵبژاردن
ھەڵبژاردە
ھەڵبژێر
ھەڵبژێڕاو
ھەڵبەز
ھەڵبەست
ھەڵبەستراو
ھەڵبەستن
ھەڵبەستە
ھەڵپاچراو
ھەڵپاچین
ھەڵپچڕان
ھەڵپچڕاو
ھەڵپچڕین
ھەڵپرووزان
ھەڵپرووزاندن
ھەڵپرووزاو
ھەڵپرووکاو
ھەڵپڕووکان
ھەڵپڕووکاندن
ھەڵپژان
ھەڵپە
ھەڵپەڕاندن
ھەڵپەڕکێ
ھەڵپەڕین
ھەڵپەساردن
ھەڵپەساڕاو
ھەڵپەنمان
ھەڵپێچ
ھەڵپێچان
ھەڵپێچراو
ھەڵترووشکان
ھەڵتڕین
ھەڵتڵیشان
ھەڵتڵیشاندن
ھەڵتڵیشاو
ھەڵتەکان
ھەڵتەکاندن
ھەڵتەکیو
ھەڵتووڕاندن
ھەڵتۆقین
ھەڵتیزاندن
ھەڵچنراو
ھەڵچنین
ھەڵچەقین
ھەڵچوون
ھەڵخران
ھەڵخستن
ھەڵخلیسکان
ھەڵخلیسکاندن
ھەڵخەڵەتان
ھەڵخەڵەتاندن
ھەڵخەڵەتاو
ھەڵخەڵەتێو
ھەڵخوێندن
ھەڵدان
ھەڵدانەوە
ھەڵدرووراو
ھەڵدروون
ھەڵدڕان
ھەڵدڕاو
ھەڵدڕین
ھەڵدێران
ھەڵزڵەپین
ھەڵزڵەپیو
ھەڵڕژان
ھەڵڕژراو
ھەڵڕشتن
ھەڵژمار
ھەڵژماردن
ھەڵژمێڕاو
ھەڵسان
ھەڵسان و کەوتن
ھەڵساندن
ھەڵسانەوە
ھەڵساو
ھەڵسەنگاندن
ھەڵسەنگێنەر
ھەڵسووڕان
ھەڵسووڕاندن
ھەڵسووڕاو
ھەڵسووڕێنەر
ھەڵسووکەوت
ھەڵشاخین
ھەڵشێلان
ھەڵفریواندن
ھەڵفڕاندن
ھەڵفڕین
ھەڵفلیقان
ھەڵفلیقاندن
ھەڵفلیقاو
ھەڵقرچان
ھەڵقورتاندن
ھەڵقوڕاندن
ھەڵکالین
ھەڵکراو
ھەڵکزراندن
ھەڵکڕان
ھەڵکڕاندن
ھەڵکڕاو
ھەڵکشان
ھەڵکشە
ھەڵکەندن
ھەڵکەنران
ھەڵکەنراو
ھەڵکەوت
ھەڵکوڵین
ھەڵکۆ
ھەڵکۆڵراو
ھەڵکێش
ھەڵکێشان
ھەڵکێشراو
ھەڵگرتن
ھەڵگڵۆفتن
ھەڵگەڕان
ھەڵگەڕانەوە
ھەڵگوشین
ھەڵگیران
ھەڵگیرسان
ھەڵگیرساندن
ھەڵلا
ھەڵلووشین
ھەڵم
ھەڵمات
ھەڵماتێن
ھەڵماڵران
ھەڵماڵراو
ھەڵماڵین
ھەڵمان
ھەڵمژین
ھەڵمەت
ھەڵمەتجاڕ
ھەڵمەقۆ
ھەڵمیزان
ھەڵنان
ھەڵنیشتن
ھەڵھاتن
ھەڵھێنان
ھەڵھێنانەوە
ھەڵھێنجان
ھەڵھێنجراو
ھەڵھێنراو
ھەڵھێنگە
ھەڵھێنەر
ھەڵە
ھەڵەت
ھەڵەخەرج
ھەڵەداوان
ھەڵەشە
ھەڵەشەیی
ھەڵەنگووتن
ھەڵەھەڵ
ھەڵەوەڕ
ھەڵواسران
ھەڵواسراو
ھەڵواسین
ھەڵوەران
ھەڵوەراندن
ھەڵوەشان
ھەڵوەشاندن
ھەڵوەشاو
ھەڵوەشێنراو
ھەڵووتن
ھەڵووژە
ھەڵووژەرەشە
ھەڵۆ
ھەڵۆڵ
ھەڵیز
ھەماز
ھەماڵ
ھەمام
ھەمان
ھەمان کات
ھەمایەڵ
ھەمشین
ھەمەلایەنە
ھەموار
ھەموو
ھەمووپرسی
ھەموووانی
ھەموویی
ھەمیشە
ھەمیشەیی
ھەن
ھەنار
ھەناردە
ھەناسەبڕکێ
ھەناسەسارد
ھەناسەسوار
ھەناسەوواری
ھەناو
ھەند
ھەنداز
ھەندە
ھەندەر
ھەندەران
ھەندەرھۆ
ھەنسک
ھەنسک ھەڵدان
ھەنگ
ھەنگامە
ھەنگاو
ھەنگاوھاویشتن
ھەنگدان
ھەنگڵ
ھەنگەشەلێ
ھەنەزا
ھەنووکەیی
ھەنوون
ھەو
ھەوار
ھەوارگە
ھەواری
ھەواڵگوزاری
ھەواڵە
ھەواڵە بە گەواڵە
ھەواندنەوە
ھەوانەوە
ھەوایی
ھەوت
ھەوتە
ھەوتەوانە
ھەوتیر
ھەوجاڕ
ھەوجۆش
ھەودا
ھەوراز
ھەوراز و نشێو
ھەورەباڵا
ھەورەتریشقە
ھەوریس
ھەوز
ھەوزانە
ھەوسار
ھەوسەڵە
ھەوەس
ھەوەڵ
ھەویر
ھەوینج
ھەوێ
ھەوێن
ھەیا
ھەیبەت
ھەیتە
ھەیران
ھەیزەران
ھەیس
ھەیش
ھەیش پێ ھەڵگرتن
ھەیشۆ
ھەیشۆ لێ ھەڵگیران
ھەیف
ھەیوان
ھەیوانات
ھەیوانان
ھوجرە
ھورمز
ھورمەت
ھوزەیران
ھوزوور
ھوڕەو
ھوژە
ھوشتر
ھوکمدار
ھولھولی
ھولە
ھولەسێ
ھومەڵخەزا
ھونەر
ھونەرگا
ھونەرمەند
ھونەرمەندانە
ھونەرە جوانەکان
ھونەروەر
ھوو
ھووت
ھووردە
ھووردەبینی
ھووڕ
ھووشە
ھووشەکار
ھووھا
ھووھووکەرە
ھۆجەنە
ھۆدار
ھۆدە
ھۆرتە
ھۆردوو
ھۆز
ھۆزان
ھۆزانی
ھۆزکی
ھۆڕ
ھۆڕن
ھۆڕە
ھۆشبڕ
ھۆشمەند
ھۆشمەندی
ھۆشیار
ھۆشیارانە
ھۆشیاری
ھۆکار
ھۆکڵ
ھۆگر
ھۆل
ھۆن
ھۆنەر
ھۆو
ھی
ھیچ
ھیچی
ھیدایەت
ھیر
ھیز
ھیزانە
ھیزە
ھیزەڵ
ھیزێتی
ھیساب
ھیکمەت
ھیلاک
ھیلاندن
ھیمەت
ھیوابڕاو
ھیوادار
ھێ
ھێدز
ھێدی
ھێرۆ
ھێز
ھێزا
ھێزم
ھێشتا
ھێشتن
ھێشخان
ھێشوو
ھێل
ھێلانە
ھێلز
ھێلکە
ھێلکەورۆن
ھێلکەیی
ھێلم
ھێلینج
ھێڵ
ھێڵان
ھێڵکاری
ھێڵی ئاسنی
ھێمایی
ھێمن
ھێمنی
ھێنان
ھێنانەوە
ھێواش
ھێواشکار
ھێواشی
ھێور
ھێورانە
ھێوەر
ھێوەرزا
ھێوەرژن
ھێویری
و مەتیو
وتار
وەستاندن
یارمەتی
یاسا
{
"ئەژمێر": "Navdêr",
"ئەسپایی": "Hoker",
"ئەستوون": "Navdêr",
"ئەستۆ": "Navdêr",
"ئەستی": "Navdêr",
"ئەستێرک": "Navdêr",
"ئەستێوڵک": "Navdêr",
"ئەسکری": "Navdêr",
"ئەسکوێ": "Navdêr",
"ئەسڵەن": "Hoker",
"ئەشک": "Navdêr",
"ئەشکەنجە": "Navdêr",
"ئەشیا": "Navdêr",
"ئەفسانە": "Navdêr",
"ئەفسەر": "Navdêr",
"ئەقل": "Navdêr",
"ئەگریجە": "Navdêr",
"ئەلبەت": "Hoker",
"ئەلمۆدە": "Navdêr",
"ئەڵقە": "Navdêr",
"ئەڵماس": "Navdêr",
"ئەڵێ": "Lêker",
"ئەمر": "Navdêr",
"ئەمن": "Cînav",
"ئەموست": "Navdêr",
"ئەمین": "Rengdêr",
"ئەنتیکە": "Rengdêr",
"ئەنجام": "Navdêr",
"ئەنجن": "Navdêr",
"ئەنجومەن": "Navdêr",
"ئەندازیار": "Navdêr",
"ئەنگاو": "Navdêr",
"ئەنگوور": "Navdêr",
"ئەنەم": "Navdêr",
"ئەھلی": "Rengdêr",
"ئەوانیش": "Cînav",
"ئەوجا": "Hoker",
"ئەورەنگ": "Navdêr",
"ئەوزار": "Navdêr",
"ئەوسا": "Hoker",
"ئەوە": "Cînav",
"ئەوەش": "Cînav",
"ئەوەندە": "Hoker",
"ئەی": "Baneşan",
"ئەی!": "Baneşan",
"ئەینا؟": "Hoker",
"ئیجا": "Hoker",
"ئیختیار": "Rengdêr",
"ئیرھاب": "Navdêr",
"ئیرھابی": "Rengdêr",
"ئیستیقالە": "Navdêr",
"ئیش": "Navdêr",
"ئیفتادە": "Rengdêr",
"ئیم": "Navdêr",
"ئیمرۆ": "Hoker",
"ئیمسال": "Hoker",
"ئیمشەو": "Hoker",
"ئینجا": "Hoker",
"بابوسکە": "Navdêr",
"بابۆڵە": "Navdêr",
"باپیر": "Navdêr",
"باتەک": "Navdêr",
"باتوو": "Navdêr",
"باتی": "Daçek",
"باچە": "Navdêr",
"باخەڵ": "Navdêr",
"بادیھەوا": "Hoker",
"بارام": "Navdêr",
"بارست": "Navdêr",
"بارشت": "Navdêr",
"بارمتە": "Navdêr",
"بارە": "Navdêr",
"بازد": "Navdêr",
"بازوو": "Navdêr",
"بازۆر": "Navdêr",
"باڕ": "Navdêr",
"باستانناسی": "Navdêr",
"باستورمە": "Navdêr",
"بافت": "Navdêr",
"باڵابستە": "Rengdêr",
"باڵباز": "Navdêr",
"باڵۆڵە": "Navdêr",
"باڵۆن": "Navdêr",
"باڵێ": "Baneşan",
"باڵێف": "Navdêr",
"بانگردێن": "Navdêr",
"بانوو": "Navdêr",
"باھێر": "Navdêr",
"باوک": "Navdêr",
"باوەڕ": "Navdêr",
"باوەقۆت": "Navdêr",
"باوی": "Rengdêr",
"بایست": "Navdêr",
"باینجان": "Navdêr",
"باینجانی ڕەش": "Navdêr",
"باینجانی سوور": "Navdêr",
"بایەخ": "Navdêr",
"بایی": "Navdêr",
"بچەژ": "Lêker",
"بدوو": "Lêker",
"برادەر": "Navdêr",
"براژن": "Navdêr",
"برای ھاوپشت": "Navdêr",
"بردەمەنی": "Navdêr",
"برژانگ": "Navdêr",
"برژاو": "Rengdêr",
"برسێتی": "Navdêr",
"برغوو": "Navdêr",
"برنگ": "Navdêr",
"برووسکە": "Navdêr",
"بریتی": "Rengdêr",
"بزاڤ": "Navdêr",
"بزان": "Lêker",
"بزاوتن": "Lêker",
"بزگور": "Navdêr",
"بزووتنەوە": "Navdêr",
"بڕاو": "Rengdêr",
"بڕمێن": "Navdêr",
"بڕوانامە": "Navdêr",
"بڕۆ": "Lêker",
"بڕیار": "Navdêr",
"بڕێک": "Rengdêr",
"بژاردن": "Lêker",
"بژاردە": "Navdêr",
"بژوولک": "Navdêr",
"بسکە": "Navdêr",
"بشێوە": "Rengdêr",
"بلیمەت": "Rengdêr",
"بڵح": "Rengdêr",
"بڵند": "Rengdêr",
"بناغە": "Navdêr",
"بنچە": "Navdêr",
"بنچینەیی": "Rengdêr",
"بنکە": "Navdêr",
"بنەما": "Navdêr",
"بنەوش": "Navdêr",
"بەتڵانە": "Navdêr",
"بەحر": "Navdêr",
"بەخت": "Navdêr",
"بەخترەش": "Rengdêr",
"بەختەوەر": "Rengdêr",
"بەختیار": "Rengdêr",
"بەخش": "Navdêr",
"بەخشەندە": "Rengdêr",
"بەخشەندەیی": "Navdêr",
"بەد": "Rengdêr",
"بەدبەخت": "Rengdêr",
"بەدرەقە": "Navdêr",
"بەر سەر کەسێکەوە لەوەڕان": "Lêker",
"بەرایی": "Navdêr",
"بەردەوک": "Navdêr",
"بەرز": "Rengdêr",
"بەرزە": "Rengdêr",
"بەرژەوەند": "Navdêr",
"بەرژەوەندی": "Navdêr",
"بەرف": "Navdêr",
"بەرگ": "Navdêr",
"بەرگری": "Navdêr",
"بەرگە": "Navdêr",
"بەرگەشتە": "Rengdêr",
"بەرە": "Daçek",
"بەرەزە": "Navdêr",
"بەرەو": "Daçek",
"بەرەوژۆرکە": "Hoker",
"بەرەوژێرکە": "Hoker",
"بەروار": "Navdêr",
"بەروودوا": "Hoker",
"بەزم": "Navdêr",
"بەژ": "Navdêr",
"بەستن": "Lêker",
"بەستە": "Navdêr",
"بەسر": "Navdêr",
"بەش": "Navdêr",
"بەشدار": "Rengdêr",
"بەفر": "Navdêr",
"بەق": "Navdêr",
"بەقال": "Navdêr",
"بەقلیسۆک": "Navdêr",
"بەل": "Navdêr",
"بەلاش": "Hoker",
"بەلایەن": "Navdêr",
"بەلایەنی": "Hoker",
"بەلەز": "Hoker",
"بەلەم": "Navdêr",
"بەڵا": "Navdêr",
"بەڵام": "Girêdek",
"بەڵگە": "Navdêr",
"بەڵەد": "Rengdêr",
"بەڵەک": "Rengdêr",
"بەڵەیاندن": "Lêker",
"بەناوبانگ": "Rengdêr",
"بەند": "Navdêr",
"بەندە": "Navdêr",
"بەندەگی": "Navdêr",
"بەنگ": "Navdêr",
"بەنگکێش": "Navdêr",
"بەھا": "Navdêr",
"بەھارات": "Navdêr",
"بەھانە": "Navdêr",
"بەھر": "Navdêr",
"بەھرە": "Navdêr",
"بەھەشت": "Navdêr",
"بەو": "Cînav",
"بەوان": "Cînav",
"بەیار": "Navdêr",
"بەیارمەتیت": "Baneşan",
"بەیاز": "Navdêr",
"بەیاننامە": "Navdêr",
"بەیانی": "Navdêr",
"بەیچەڵ": "Navdêr",
"بەیدەست": "Rengdêr",
"بەینەت": "Navdêr",
"بەینەتدار": "Rengdêr",
"بوختان": "Navdêr",
"بوخچە": "Navdêr",
"بوودینە": "Navdêr",
"بووردن": "Lêker",
"بووژاندن": "Lêker",
"بووسە": "Navdêr",
"بووم": "Navdêr",
"بووواردن": "Lêker",
"بووێژ": "Navdêr",
"بوێر": "Rengdêr",
"بۆچوون": "Navdêr",
"بۆران": "Navdêr",
"بۆرچین": "Navdêr",
"بۆردن": "Lêker",
"بۆق": "Navdêr",
"بۆقەتە": "Navdêr",
"بۆنە": "Navdêr",
"بۆینباخ": "Navdêr",
"بیانوو": "Navdêr",
"بیانی": "Rengdêr",
"بیبن": "Navdêr",
"بیبی": "Navdêr",
"بیجامە": "Navdêr",
"بیچم": "Navdêr",
"بیراز": "Navdêr",
"بیرتەسک": "Rengdêr",
"بیرە": "Navdêr",
"بیروورِا": "Navdêr",
"بیستا": "Navdêr",
"بیستراو": "Rengdêr",
"بیستن": "Lêker",
"بیستەر": "Navdêr",
"بیستۆک": "Navdêr",
"بیڤر": "Navdêr",
"بێتار": "Navdêr",
"بێجگە": "Daçek",
"بێخ": "Navdêr",
"بێخبڕ": "Rengdêr",
"بێزار": "Rengdêr",
"بێژار": "Navdêr",
"بێسەرووشوێن": "Rengdêr",
"بێشەڵان": "Navdêr",
"بێگانە": "Rengdêr",
"بێگومان": "Hoker",
"بێلایەن": "Rengdêr",
"بێلایەنی": "Navdêr",
"بێنەوبەرە": "Navdêr",
"بێھیوا": "Rengdêr",
"بێوەژن": "Navdêr",
"پابەند": "Rengdêr",
"پاتری": "Navdêr",
"پاچ": "Navdêr",
"پاداشت": "Navdêr",
"پارێزگار": "Navdêr",
"پاساو": "Navdêr",
"پاسەوان": "Navdêr",
"پانایی": "Navdêr",
"پاندان": "Navdêr"
}
fjkbmo44y9ap52lrtwkajfenxcmmutw
6342563
6342455
2026-08-25T11:14:46Z
Şêr
1103
6342563
wikitext
text/x-wiki
[[:Kategorî:Gotarên bê kategoriya rêzimanî bi soranî]]
باوک
باوەڕ
باوەقۆت
باوی
بایست
باینجان
باینجانی ڕەش
باینجانی سوور
بایەخ
بایی
بچەژ
بدوو
برادەر
براژن
برای ھاوپشت
بردەمەنی
برژانگ
برژاو
برسێتی
برغوو
برنگ
برووسکە
بریتی
بزاڤ
بزان
بزاوتن
بزگور
بزووتنەوە
بڕاو
بڕمێن
بڕوانامە
بڕۆ
بڕیار
بڕێک
بژاردن
بژاردە
بژوولک
بسکە
بشێوە
بلیمەت
بڵح
بڵند
بناغە
بنچە
بنچینەیی
بنکە
بنەما
بنەوش
بەتڵانە
بەحر
بەخت
بەخترەش
بەختەوەر
بەختیار
بەخش
بەخشەندە
بەخشەندەیی
بەد
بەدبەخت
بەدرەقە
بەر سەر کەسێکەوە لەوەڕان
بەرایی
بەردەوک
بەرز
بەرزە
بەرژەوەند
بەرژەوەندی
بەرف
بەرگ
بەرگری
بەرگە
بەرگەشتە
بەرە
بەرەزە
بەرەو
بەرەوژۆرکە
بەرەوژێرکە
بەروار
بەروودوا
بەزم
بەژ
بەستن
بەستە
بەسر
بەش
بەشدار
بەفر
بەق
بەقال
بەقلیسۆک
بەل
بەلاش
بەلایەن
بەلایەنی
بەلەز
بەلەم
بەڵا
بەڵام
بەڵگە
بەڵەد
بەڵەک
بەڵەیاندن
بەناوبانگ
بەند
بەندە
بەندەگی
بەنگ
بەنگکێش
بەھا
بەھارات
بەھانە
بەھر
بەھرە
بەھەشت
بەو
بەوان
بەیار
بەیارمەتیت
بەیاز
بەیاننامە
بەیانی
بەیچەڵ
بەیدەست
بەینەت
بەینەتدار
بوختان
بوخچە
بوودینە
بووردن
بووژاندن
بووسە
بووم
بووواردن
بووێژ
بوێر
بۆچوون
بۆران
بۆرچین
بۆردن
بۆق
بۆقەتە
بۆنە
بۆینباخ
بیانوو
بیانی
بیبن
بیبی
بیجامە
بیچم
بیراز
بیرتەسک
بیرە
بیرووڕا
بیستا
بیستراو
بیستن
بیستەر
بیستۆک
بیڤر
بێتار
بێجگە
بێخ
بێخبڕ
بێزار
بێژار
بێسەرووشوێن
بێشەڵان
بێگانە
بێگومان
بێلایەن
بێلایەنی
بێنەوبەرە
بێھیوا
بێوەژن
پابەند
پاتری
پاچ
پاداشت
پارێزگار
پاساو
پاسەوان
پانایی
پاندان
پایتەخت
پرد
پشکنین
پەتی
پەرواز
پەشیمان
پەلەمە
پەیامبەر
پەیامنێر
پۆتین
پۆل
پیشە
پیشەسازی
پێشکەوتن
پێو
تاقم
تكايه
تەپەدۆر
تەڤۆڵ
تەمەڵ
تەواو
توون
تۆپ
جەنگاڤەر
چابووک
چاپاڵێو
چاپخانە
چاپکراو
چاپەز
چاتۆڵە
چاچی
چادرگا
چارشێو
چارە
چارەک
چارەنووس
چارەنووسساز
چارەوا
چاسر
چاش
چاشتێنگا
چاشنی
چاکەت
چاڵ
چاڵاو
چاڵەچەقیلە
چاندەمەنی
چاندەنی
چاوباشقاڵ
چاوەڕوانکراو
چاوێشە
چایەر
چپک
چرادان
چراکەوان
چراورک
چرچ
چرکان
چرکاندن
چرکە
چرووسان
چرووساندن
چرووساو
چرووک
چزاندن
چڕان
چڕنووک
چڕووچاو
چش
چقڵ
چکان
چکاندن
چکۆک
چکۆڵە
چلە
چلۆکۆک
چلۆنھا
چلێس
چلێسی
چڵپاو
چڵک
چڵکاو
چڵم
چمک
چنگاڵ
چنۆک
چەپاڵ
چەپاڵە
چەپاو
چەپخوون
چەپڕۆ
چەپڕۆیی
چەپکەن
چەپلەر
چەپە
چەپەجاخ
چەپەر
چەپەڵۆک
چەپووچێڕ
چەپۆک
چەتاڵ
چەتڵەمەز
چەتە
چەتیانە
چەخماق
چەرخاو
چەرخەمە
چەرداخ
چەرداوەروو
چەردە
چەرس
چەرم
چەرمەسەرێ
چەرە
چەڕندە
چەڕین
چەسپ
چەش
چەشتن
چەشکە
چەشمە
چەشن
چەشنی
چەقاڵ
چەقان
چەقاندن
چەقەڵ
چەقۆساز
چەقۆکێش
چەکووش
چەلاک
چەلان
چەلاو
چەلیپا
چەڵەمە
چەمچە
چەمەر
چەمەری
چەمووچەم
چەمۆڵە
چەندایەتی
چەندەمین
چەندێتی
چەنە
چەنەباز
چەنەبازی
چەنەچەن
چەنەھەراش
چەو
چەواشە
چەوتانەوە
چەوتی
چەودار
چوارچێوە
چواردەور
چوارگۆشە
چوارلا
چوارەک
چوالە
چوختی
چوڕ
چوست
چۆپین
چۆدار
چۆڕان
چۆڕاندن
چۆش!
چۆق
چۆلاغ
چۆلک
چۆڵ
چۆنھا
چۆنیەک
چیتۆکە
چیل
چیلەچەپ
چیلەک
چیم
چێر
چێژ
چێژان
چێژیلە
چێش
چێشتخانە
چێشتکەر
چێشتن
چێو
چێوە
چێوین
خوێندن
خۆشەویست
خۆم
خۆمان
رۆژانە
ژار
ژاراو
ژاراوی
ژاربەر
ژارقەندە
ژارک
ژارووژەنگ
ژاژ
ژاژک
ژاڵە
ژاندار
ژانەسک
ژانەسەر
ژاوەژاو
ژلێواندن
ژلێوە
ژمار
ژماردن
ژمارکار
ژمارکۆ
ژمارەگر
ژمارەگری
ژمارەیی
ژمێرە
ژنانە
ژنانی
ژنەشا
ژنێتی
ژەقنەبووت
ژەک
ژەمک
ژەندن
ژەنگاڵی
ژەنگاوی
ژەھری ھەڵاخنین
ژووان
ژووانگا
ژووران
ژوورەوە
ژوورۆچکە
ژیار
ژیاری
ژیانەوە
ژیانی
ژیرانە
ژیربێژ
ژیربێژانە
ژیرکەلە
ژیری
ژینامە
ژینداری
ژیھاتن
ژیوار
ژێر
ژێربەران
ژێرپیاڵە
ژێرپێ
ژێرتیپ
ژێرچەپۆکە
ژێردەست
ژێردەستی
ژێرزەمین
ژێرزەمینی
ژێرسەر
ژێرکەنارە
ژێرەوە
ژێرەوەنان
ژێروو
ژێرووزەبەر
سەنگەر
سەنیا
سوپا
شتن
فافۆن
فاقە
فاک
فاڵ
فاڵ گرتنەوە
فاما
فامیدە
فامین
فانۆس
فایل
فترە
فتوا
فتیلە
فراژان
فراژاندن
فراژی
فراژیوەر
فراوانی
فرتەنە
فرزەند
فرزەند ھێنانەوە
فرستادە
فرشتەنگ
فرە
فرەایینی
فرەبێژ
فرەز
فرەنەتەوەیی
فرەھزبایی
فرەھزبی
فرەیی
فرۆشتنەوە
فرۆشراو
فریز
فریو
فریواندن
فریوباز
فریوخۆر
فزە
فڕفڕە
فڕفڕۆکە
فڕفینگ
فڕکان
فڕگە
فڕن
فڕندە
فڕنک
فڕووج
فڕووفێڵ
فڕوون
فڕۆکەنەھێڵ
فڕۆکەوان
فڕیشتە
فڕین
فڕێ
فڕێدراو
فس
فسکە
فسکەفسک
فشقیات
فشەکەر
فشەگاڵتە
فلیقاندن
فلیقاو
فڵان
فڵت
فڵتاندن
فڵتەدەمە
فڵیتە
فم
فنددان
فەتار
فەتار فەتار
فەتارەت
فەتان
فەخفووری
فەرامۆش
فەرامۆشی
فەرتووت
فەرخی
فەردە
فەرز
فەرزین
فەرق
فەرکار
فەرکاندن
فەرکانە
فەرمان
فەرمانبەر
فەرمانڕەوا
فەرمانڕەوایی
فەرمانگێڕی
فەرمانی
فەرمایشت
فەرموو
فەرموون
فەرەھ
فەروار
فەروو
فەریک
فەڕاش
فەڕاقە
فەڕدار
فەسڵ
فەقیر
فەقێ
فەکڵە
فەلسەفە
فەلە
فەلەسووف
فەن
فەنا
فەوتان
فەوتاندن
فەوتاو
فوو
فوودراو
فوورھە
فیتەفیت
فیچقە
فیدا
فیدایی
فیرست
فیز
فیزار
فیزن
فیڕکە
فیڕۆ
فیسان
فیسەڵ
فیش
فیشاڵ
فیشەفیش
فیعل
فیک
فیکە
فیکەفیک
فێدار
فێر
فێربوو
فێردار
فێرداری
فێرگە
فێسان
فێڵ
فێڵباز
فێڵووفەرەج
فێنک
قردێلە
قرقێنە
قنگ
قەبەیی
قەتران
قەساب
قەسابخانە
قەشەنگ
قەنەفە
قەول
قەیران
قەیرە
قەیناکە
قوپان
قوپاو
قوربانی
قولاپ
قۆپچە
قۆخ
قۆرخ
قۆقز
کابان
کابرا
کابە
کابینە
کاپۆڵ
کات
کاتپێو
کاتەوکات
کاچ
کاخەز
کاخەزدار
کادان
کارا
کاراسک
کاراشنا
کاراشنایی
کاربرا
کاربرایەتی
کاربڕ
کاربەدەستی
کاربین
کارتە
کارخانە
کاردانەوە
کاردیتوو
کارزان
کارزانی
کارژۆلە
کارساز
کارکردە
کارکەر
کارکەنار
کارکەناری
کارگە
کارگەر
کارگوزار
کارگوزاری
کارگێڕ
کارگێڕی
کارنامە
کارنیارنامە
کارھاتوو
کارەبا
کارەز
کارەزاو
کارەزکەن
کارەسات
کارەکەر
کاروانچی
کاروانکەر
کاروانکوژ
کاروانی
کارووبار
کارووس
کاری
کاریگەر
کاژاو
کاژەڵاخ
کاسب
کاسبی
کاسپ
کاستی
کاسی
کاش
کاشانە
کاشە
کاشی
کاف
کاک
کاکڵ
کاکە
کاکەلێ
کاکەیی
کاکۆ
کاکیبەکاکی
کالان
کالە
کالی
کالیار
کاڵا
کاڵات
کاڵەک
کاڵەمستە
کاڵی
کاماخ
کامار
کامپ
کامەتا
کامەرانی
کان
کاناو
کانزا
کانزایی
کانوون
کانیاو
کانیبەردینە
کانیلە
کانیەدرۆزنە
کاھوو
کاو
کاوڕ
کاوش
کاول
کاویر
کاوێژ
کپەنە
کتک
کتکنەوتینە
کتکی
کتووپڕ
کتێبباز
کتێبەڤان
کچانە
کچکۆڵە
کچنی
کچەتیو
کچەزا
کخ
کراس
کراو
کرتناک
کرداری
کرداری تێپەر
کرداری تێنەپەر
کرداری لێکدراو
کردە
کردەکار
کردەگار
کرسپ
کرمدڵ
کرۆت
کرۆسک
کرۆشتن
کرۆک
کریڤ
کرێ
کرێبار
کرێکاری
کز
کزاندنەوە
کزانەوە
کزر
کزۆڵە
کزی
کڕکڕاگە
کڕکەوتوو
کڕە
کڕەک
کڕووزانەوە
کڕووزە
کڕووھوڕ
کڕیار
کڕێشاوی
کڕێنە
کسپ
کسپووکۆ
کسسە
کشان
کشت
کشتکار
کشتگەھ
کشتەک
کشوومات
کشووماتی
کفرباز
کفندڕ
کلت
کلتوور
کلچان
کلچێوک
کلدان
کلدوومان
کلەر
کلیل
کلیلە
کلیم
کڵ
کڵاش
کڵاشچن
کڵاواسن
کڵاوزرێ
کڵاوقژ
کڵاونە
کڵپە
کڵپە لێ ھەڵسان
کڵپووھووڕ
کڵفت
کڵۆ
کڵۆر
کڵۆش
کڵۆڵ
کڵۆڵی
کڵێس
کڵێسمان
کڵێشە
کنگخشکێ
کنگخلیسکێ
کنگدەر
کنگر
کنە
کنەکار
کنیواڵ
کنێر
کەباب
کەبات
کەبار
کەپرۆکە
کەپەنەک
کەت
کەتان
کەتانە
کەتانی
کەتن
کەتە
کەتوو
کەتیرە
کەچە
کەچەڵ
کەچەڵی
کەرانباوکگاو
کەرانە
کەرپەسە
کەرپیاو
کەرت
کەرتکراو
کەرتە
کەرتووپەرت
کەرتی
کەردڕ
کەرسەگ
کەرکە
کەرکوژ
کەرگەز
کەرھەنگ
کەرە
کەرەجی
کەرەدێز
کەرەسە
کەرەکی
کەرەکێوی
کەرەنتوو
کەرەوز
کەرووبار
کەرۆکە
کەرێتی
کەزاخە
کەزی
کەڕ
کەڕەت
کەڕەتی
کەڕەکۆنتێ
کەڕەنسۆ
کەڕەواڵە
کەڕوو
کەڕوو ھێڵھێنان
کەڕووواوی
کەڕی
کەژاوە
کەژماڵ
کەسانە
کەستەک
کەسک
کەسکووسۆر
کەسکوون
کەسکی
کەسنەدار
کەسنەدیو
کەسیرە
کەش
کەشاکەش
کەشتیگەل
کەشتیوان
کەشتیوانی
کەشخە
کەشزان
کەشزانی
کەشک
کەشکە
کەشکەلان
کەشکەلانی فەلەک
کەشمەکەشم
کەشە
کەشەنگ
کەشووفش
کەشیش
کەشیە
کەف
کەفارەت
کەفالەت
کەفاو
کەفووکۆڵ
کەفیل
کەلا
کەلار
کەلارە
کەلتوور
کەلخانە
کەلە
کەلەپەر
کەلەپوور
کەلەپووری
کەلەتەزێن
کەلەشەق
کەلەکوچ
کەلەلا
کەلەم
کەلواز
کەلووپەل
کەلووکۆم
کەلێن
کەڵام
کەڵان
کەڵب
کەڵەس
کەڵەک
کەڵەکباز
کەڵەکچی
کەڵەگەت
کەڵەوێ
کەڵووڕی
کەڵۆس
کەم کەمە
کەماڵ
کەمان
کەمانچەژەن
کەمایەتی
کەمایەسی
کەمبیر
کەمتەرخەمی
کەمتیار
کەمتین
کەمچیکڵدانە
کەمدەست
کەمدوو
کەمڕوو
کەمساڵ
کەمشیر
کەمناو
کەمە
کەمەبەند
کەمەر
کەمەربەستی
کەمەرچین
کەمەردار
کەمەرەیی
کەمەری زەوی
کەمەکێک
کەمەیی
کەمووکووڕی
کەمۆ
کەمۆکار
کەمۆکاری
کەمۆیار
کەمۆیاری
کەمی
کەنار
کەناراو
کەنارگر
کەنارگری
کەنارەیی
کەنتۆر
کەند
کەند و کۆسپ
کەنداڵ
کەنداو
کەندەک
کەندەکار
کەندەڵان
کەنزەک
کەنەفت
کەنەفتی
کەنیچە
کەنیلێ
کەھلان
کەو ئڤ
کەوا
کەوالە
کەوان
کەوانکۆشە
کەوانە
کەوباز
کەوبازی
کەوباڕ
کەوبەدار
کەوتوو
کەوچک
کەوداو
کەودەن
کەورک
کەوژ
کەوژین
کەوشەک
کەوشەکەن
کەوشەکۆن
کەوگیر
کەولۆس
کەومار
کەوە
کەوەر
کەوۆت
کەوێڵ
کەی
کەیبانوو
کەیس
کەیل
کەیلان
کەینووبەین
کەیوان
کوارەنگ
کوتان
کوتووپڕ
کوتوومت
کوچوولە
کودەڵە
کورتان
کورتاندروو
کورتبڕ
کورتبڕی
کورتبین
کورتبینی
کورتم
کورتە
کورتەباڵا
کورتەبنە
کورتەک
کورتی
کورتیلە
کوردانە
کوردایەتی
کوردپەروەر
کوردستانی
کوردشناس
کوردکوژە
کوردناسی
کوردھەز
کوردەواری
کوردیاخێو
کوردیزانی
کوردیزمان
کورکاندن
کورەک
کوزان
کوڕ
کوڕانە
کوڕکوڕە
کوڕگەل
کوڕنووش
کوڕە
کوڕەزا
کوڕەزازا
کوڕێتی
کوژاندنەوە
کوژران
کوژراو
کوشتار
کوشتبەندان
کوشتن
کوشتەرا
کوشندە
کوفار
کولاف
کولاندنەوە
کولانەوە
کولپ
کولخان
کولەپاچ
کولەمەرگی
کولیچە
کوڵاو
کوڵک
کوڵکوڵە
کوڵەبنە
کوڵەبەس
کوڵەپێچ
کوڵەنانی
کوڵەنجە
کوڵەھەسار
کوڵۆت
کوڵۆک
کونار
کوناودەر
کونبڕ
کونتیلە
کونجرە
کونجی
کونجێن
کونچک
کونزەین
کونکراو
کونکەرە
کونەباجە
کونەبەبوو
کونیلە
کونیلەدار
کوو
کووپ
کووپە
کووپەڵە
کووچە
کوور
کوورە
کووز
کووکەلە
کووکوو
کووکووکەرە
کوونی
کوێخا
کوێخایەتی
کوێرانە
کوێراو
کوێردەرە
کوێرەدێ
کوێرەڕێ
کوێرەشەقام
کوێرەکانی
کوێرەمار
کوێرەمووشە
کوێرەوەری
کوێری
کوێڕا
کوێستانی
کوێلە
کوێلەدار
کوێلەداری
کوێلەیی
کوێندەری
کوێوە
کۆ
کۆبەند
کۆبوونەوە
کۆپارە
کۆت
کۆتان
کۆتایی
کۆتایی ١یی پێ
کۆتەرە
کۆجەڵە
کۆچ
کۆچاوکۆچ
کۆچکەر
کۆچەری
کۆچەرێتی
کۆچەک
کۆچەکە
کۆچی
کۆچی دوایی
کۆخ
کۆخوازی
کۆد
کۆرپەلە
کۆز
کۆزانین
کۆزمان
کۆزە
کۆزەرە
کۆڕگە
کۆژە
کۆژۆ
کۆسپ
کۆسپایی
کۆستە
کۆستەوەوی
کۆسە
کۆشان
کۆشش
کۆشیار
کۆفرۆش
کۆفرۆشی
کۆڤان
کۆکردنەوە
کۆکەکۆک
کۆکین
کۆکێتی
کۆلک
کۆلیسک
کۆڵ
کۆڵارە
کۆڵان
کۆڵاندۆز
کۆڵانکوت
کۆڵراو
کۆڵکێش
کۆڵگێڕ
کۆڵنج
کۆڵنجان
کۆڵنگە
کۆڵنەدەر
کۆڵھەڵگر
کۆڵە
کۆڵەر
کۆڵەوار
کۆڵوو
کۆڵیت
کۆڵین
کۆڵینەوە
کۆم
کۆما
کۆماری
کۆماوە
کۆمفرۆش
کۆمفرۆشی
کۆمەک
کۆمەکی
کۆمەڵ
کۆمەڵایەتی
کۆمەڵزان
کۆمەڵزانی
کۆمەڵە
کۆمی
کۆنە
کۆنەباو
کۆنەپەرست
کۆنەپەرستی
کۆنەپۆش
کۆنەساڵ
کۆنەفرۆش
کۆنی
کۆنینە
کیتەڵە
کیسەڵ
کیشوەر
کیشوەربڕ
کیشوەری
کیوار
کێ
کێچ
کێچاوی
کێرزل
کێرزلی
کێڕ
کێش
کێشان
کێشانەوە
کێشدار
کێشران
کێشراو
کێشمان
کێشمەکێش
کێشە
کێل
کێڵراو
کێوی ئاگرپرژێن
کێویلە
گابۆڕ
گاراندن
گارەگار
گازر
گازندە
گازندۆک
گازەرا
گاڕس
گاسن
گاف
گاکێوی
گاگەل
گاگۆڵکێ
گاگێرە
گالیسکە
گاڵ
گاڵتە
گاڵتەبێژ
گاڵتەجاڕ
گاڵتەچی
گاڵتەگێ
گاڵە
گاڵەکوت
گاڵۆک
گامەڵاس
گامێش
گان
گاناوی
گانەک
گاوارە
گاووس
گاووگۆتاڵ
گایلکە
گایی
گرتنەوە
گرتەک
گرتوو
گرتووخانە
گردە
گردەبا
گردەپیاو
گردەڵە
گردۆکۆ
گردۆڵک
گرژی
گرس
گرفت
گرفتە
گرمەژنە
گرمۆڵە
گرمۆڵەیی
گرنگی
گرەو
گروون
گرۆ
گریشمە
گرین
گرینۆک
گرێدراو
گرێکوێرە
گزیر
گڕاندن
گڕگر
گڕگرتوو
گڕووگاڵ
گڕوێ
گڕوێیی
گڕۆز
گژەبا
گشتگر
گشتی
گفتووگۆ
گڤی
گلار
گلارە
گلاو
گلەبان
گلەخان
گلەسپی
گلەیی
گلۆفتن
گلین
گلێجە
گلێر
گڵۆپ
گڵۆڵە
گندۆر
گەپەگەپ
گەچ
گەدا
گەدایی
گەدە
گەر
گەردان
گەردانە
گەرداو
گەردنکەچ
گەردنکەش
گەردنکێل
گەردەش
گەردووخول
گەردووگەڵا
گەردوون
گەرم
گەرما
گەرماپێو
گەرماجمان
گەرماو
گەرماوگەرم
گەرمایی
گەرمبردوو
گەرمەگلێ
گەرمی
گەرمیان
گەرمیانی
گەرمیپێو
گەرمێتی
گەرەک
گەرەکی
گەروانکە
گەرووێش
گەزاف
گەزگەزان
گەزندە
گەزنە
گەزەن
گەزین
گەڕان
گەڕاندن
گەڕاندنەوە
گەڕانەوە
گەڕەلاوژە
گەڕۆک
گەڕۆڵ
گەڕۆڵە!
گەڕی
گەستن
گەسکە
گەش
گەشایشت
گەشبین
گەشبینی
گەشتنامە
گەشتوەر
گەشتووگوزار
گەشتیار
گەشکە
گەشکەدار
گەشەکردوو
گەشی
گەف
گەفووگوڕ
گەفین
گەل
گەلال
گەلاوێژ
گەلھۆ
گەلەخان
گەلەراوێژی
گەلۆر
گەڵادار
گەڵارێزان
گەڵاڕن
گەڵاکوتک
گەڵاڵە
گەڵاوگەڵ
گەڵاوەر
گەمارۆ
گەماڵ
گەموورە
گەناندن
گەندەڵ
گەندووگوو
گەنمگردی
گەنمە
گەنیو
گەواد
گەوار
گەواڵ
گەواھ
گەواھی
گەورەیی
گەوز
گەولاز
گەوھەر
گەوھەربەند
گەوھەردار
گەوھەرکار
گەوە
گەوەری
گەوەکار
گەوون
گەی
گەیاندن
گەیشتگە
گەیشتوو
گەیگر
گەیین
گودلە
گوربز
گوربە
گورج
گورد
گورزە
گورزەتیشک
گورزەھۆن
گورگانگاز
گوزارە
گوزارەدار
گوزارەیی
گوزەریو
گوڕ
گوڕە
گوڕەشە
گوڕەشەکار
گوڕەووبڕە
گوژم
گوستاخ
گوستاخی
گوشار
گوشران
گوشراو
گوشراوە
گول
گولاج
گولی
گوڵ
گوڵاڵە
گوڵان
گوڵاو
گوڵاوپژێن
گوڵاوی
گوڵباران
گوڵبانگ
گوڵبەدەم
گوڵدار
گوڵدان
گوڵرەنگ
گوڵڕێزان
گوڵشەن
گوڵگوڵی
گوڵمە
گوڵمێخ
گوڵە
گوڵەباخ
گوڵەباران
گوڵەپرێژ
گوڵەچاوێشە
گوڵەندام
گوڵونکە
گوڵی
گوم
گومانبار
گومانرەش
گومانی
گومرک
گومڕاکەر
گومناو
گومی
گوناھ
گوناھبار
گونجان
گونجاندن
گونجاو
گونداری
گوندۆرە
گووار
گووارە
گووان
گووبۆق
گووپ
گووپن
گووران
گووواوی
گووێ
گووێچکە
گوێ
گوێبەل
گوێدێر
گوێرە
گوێرەکە
گوێزرنگانەوە
گوێزەر
گوێزی فەریک
گوێزی کوێر
گوێڕەپ
گوێسووک
گوێسووکی
گوێقورس
گوێقوڵاخ
گوێکپ
گوێگر
گوێگران
گوێلەمست
گوێنی
گۆتاڵ
گۆترە
گۆتن
گۆج
گۆجی
گۆران
گۆرین
گۆزەر
گۆزەڵە
گۆڕان
گۆڕاندن
گۆڕاندنەوە
گۆڕانکار
گۆڕانکاری
گۆڕستان
گۆڕین
گۆڕینەوە
گۆساڵە
گۆشپارە
گۆشتاو
گۆشتخۆر
گۆشتن
گۆشتی کاڵ
گۆشەدار
گۆشەگیری
گۆشەنیگا
گۆکار
گۆگرد
گۆڵە
گۆم
گۆمەڵتە
گۆنە
گۆنیە
گۆییژ
گیایی
گیرا
گیران
گیراو
گیراوە
گیراوێ
گیرسانەوە
گیرفانبڕ
گیرفانی باخەڵ
گیرکار
گیرووگرفت
گیرۆ
گیرۆبەند
گیرۆدار
گیز
گیزاندن
گیڕەگیڕ
گیشە
گیڤ
گییانسەخت
گێپەڕە
گێتاڵ
گێرە
گێرەووکێشە
گێزەر
گێڕان
گێژاو
گێژوووێژ
گێسوو
گێلاس
گێلۆکە
گێلی
گێوە
لا چوون
لابابەت
لابار
لابراو
لابەرھەم
لاپاڵ
لاپچین
لاپەڕە
لات و لوات
لات و لوار
لاترقەوچ
لاتەڕاف
لاتوخم
لاجانگ
لاجیوەرد
لاچوو
لادێیی
لارەلار
لارەولار
لاڕەو
لاڕێ
لاژگ
لاژگی
لاساری
لاسایی
لاساییانە
لاساییکەر
لاسک
لاسەنگ
لاسەنگی
لاشان
لاشەڕ
لاشەڕی
لاف و گەزاف
لاقردی
لاک
لاکاری
لاکۆڵان
لاکێش
لاکێشە
لاگیر
لاگیری
لالخاوە
لالە
لالەنگی
لاڵ
لاڵانەوە
لاڵە
لاڵەپەتە
لاڵوپاڵ
لاڵی
لامئەلیفلا
لامل
لامی قەڵەو
لانەواز
لانەوازی
لاەنجام
لاواز
لاوازی
لاوانەوە
لاوچاک
لاورگە
لاوژە
لاوک
لاولاو
لاوە
لاوێتی
لای
لایەن
لایەنگر
لایەنگری
لچەستوور
لچوولێو
لرفەلرف
لک
لکاوە
لکێنراو
لمۆز
لمین
لنگەلەرێ
لە
لەباری
لەبز
لەبلەبی
لەبەرچاڤ
لەپ
لەپاشەجێماو
لەپالەپ
لەپماڵ
لەپەوڕوو
لەپی
لەپی دەست
لەتگەر
لەتووپەت
لەچەر
لەچەری
لەخشتەبەر
لەخەم
لەخەمڕەخسیو
لەخواترس
لەخواترسی
لەخوانەترس
لەخوانەترسی
لەران
لەراندن
لەرانەوە
لەرز
لەرزان
لەرزاندن
لەرزۆک
لەز
لەزاندن
لەزپیو
لەزگێڕ
لەزگێڕی
لەزەت
لەزین
لەڕ
لەڕ و لاواز
لەڕوو
لەڕوویی
لەڕی
لەسەرخۆ
لەسەرخۆیی
لەسەرکەرەوە
لەش
لەشسووک
لەشقورس
لەشکر
لەشکرگا
لەشکرگێڕ
لەشکرگێڕی
لەشوولار
لەشی
لەعنەت
لەفاف
لەقان
لەقاندن
لەقە
لەقەب
لەقەکوت
لەقەلەق
لەقوولۆق
لەک
لەکە
لەکەدار
لەکەداری
لەکی
لەگژ
لەگەن
لەل
لەلە
لەلەیی
لەم
لەم جێگایە دا
لەم دیوەوە
لەمئەو بەر
لەمان
لەمانەوە
لەمپا
لەمپەر
لەنجین
لەنگەر
لەنگەرە
لەنگی
لەنگین
لەنگێزە
لەھیم
لەو
لەو پەڕ
لەو سەرەوە
لەوازە
لەواشە
لەوان
لەوچەلەوچ
لەوچەیی
لەوس
لەوساوە
لەوسن
لەوە بە دەر
لەوە بەو لاوە
لەوە پێش
لەوە دوا
لەوەڕ
لەوەڕگا
لەوەن
لەوێ
لەوێچ
لەوێڕا
لەوێوە
لوان
لواندن
لواو
لوڕ
لوڕستان
لوڕی
لووتبەرز
لووتبەرزی
لووتزل
لووتفش
لووتقوڵنگە
لووتە
لووتەلا
لووتەوانە
لوودە
لووزەو
لووس
لووسکە
لووسووپووس
لوول
لوولاق
لوولکراو
لوولە
لوولەیی
لوولێنە
لۆترەوان
لۆترەوانی
لۆتە
لۆتی
لۆتیێتی
لۆخان
لۆر
لۆرت
لۆرە
لۆری
لۆزەندەر
لۆقە
لۆک
لۆککراو
لۆکە
لۆلە
لۆلۆ
لۆمە
لۆنگ
لۆنە
لیان
لیپ
لیتاو
لیچاڵ
لیخن
لیر
لیژنە
لیژنەدار
لیستە
لیک
لیمە
لیمۆ
لیمۆنی
لیمۆیی
لینج
لینج و فینچ
لینجی
لیوا
لێ
لێ بووردن
لێ بێزران
لێ پڕ بوون
لێ تووژینەوە
لێ تێک چوونەوە
لێ چوونەوە
لێ خەفەتان
لێ خوڕین
لێ ڕاوەستان
لێ قەومان
لێ کۆڵینەوە
لێ گۆڕین
لێ نان
لێ نەگرتن
لێ ھاتن
لێ ھەڵبڕین
لێ ھەڵسان
لێ ھەڵکەوتن
لێ وە
لێ وەرگەڕانەوە
لێ وەستانەوە
لێ وەشانەوە
لێبووردن
لێبووردە
لێبووردوو
لێت
لێتان
لێچوو
لێچوونی
لێخوڕ
لێدوو
لێر
لێرە
لێرە بە دواوە
لێرەش
لێرەوار
لێزگ
لێزگە
لێژ
لێژاو
لێژی
لێسە
لێش
لێقەوماو
لێک
لێک بڕان
لێک بەربوونەوە
لێک ڕەوینەوە
لێکۆلینەوە
لێڵاو
لێڵایی
لێڵایی داھاتن
لێڵە
لێڵی
لێم
لێمان
لێھاتوو
لێواولێو
لێوڕێژ
لێوەدار
لێی
لێیان
مامۆژن
مامۆستا
ماوە
متمانە
مژۆک
ململانێ
مەترسی
مەرز
مەرکانە
مەزن
مەڕۆ
مەمک
میراتی
مێباز
ناخۆش
ناخۆشی
نازناو
نامیلکە
نانەواخانە
ناوازە
ناوخۆ
ناوک
ناوەندی
نزیک
نەبەرد
نەخشە
نەریت
نوشتانەوە
نۆش
نیشانە
نێردراو
نێوان
ھا
ھاتنە دی
ھاتنەوە
ھاتنەوە یاد
ھاتووچوو
ھاجی
ھاجیبادام
ھاجیبایەف
ھاجیرەش
ھاجیلەقلەق
ھار
ھار و ھاج
ھاروو
ھارووھوورت
ھاری
ھاریکار
ھاریکاری
ھازر
ھازری
ھاڕاو
ھاڕە
ھاڕین
ھاڕیە
ھاژ
ھاژاندن
ھاشا
ھاشووھووش
ھافز
ھاڤل
ھاکا
ھاکایی
ھاکم
ھاکمانە
ھاکمێتی
ھاکۆ
ھاڵ
ھاڵ و ئەھواڵ
ھاڵاو
ھاڵەت
ھاڵی
ھامار
ھامێز
ھان
ھانابەر
ھاندراو
ھاندەر
ھاوارکەر
ھاواری
ھاواھەنگی
ھاوبەش
ھاوبەند
ھاوبیر
ھاوپا
ھاوپایە
ھاوپرسی
ھاوپشت
ھاوپەیمان
ھاوتا
ھاوتەک
ھاوتەمەن
ھاوجۆت
ھاوجێ
ھاوچاخ
ھاوچاو
ھاوچاوی
ھاوچڕە
ھاوچەق
ھاوچەک
ھاوخاک
ھاوخەف
ھاوخوان
ھاودەرد
ھاودەست
ھاودین
ھاوراز
ھاوزگ
ھاوزمان
ھاوزۆم
ھاوڕێ
ھاوڕێتی
ھاوساز
ھاوساڵ
ھاوسامە
ھاوسنوور
ھاوسەدە
ھاوسەر
ھاوسەنگ
ھاوسەنگی
ھاوسوێند
ھاوسوێندی
ھاوشار
ھاوشان
ھاوشیرە
ھاوشێوە
ھاوکات
ھاوکار
ھاوکاری
ھاوکێش
ھاوکێشە
ھاولا
ھاوماڵ
ھاومل
ھاوناو
ھاونشین
ھاونەبەرد
ھاونۆرە
ھاوەن
ھاووڵات
ھاووڵاتی
ھاویشتن
ھاوینھەوار
ھاوێر
ھتد
ھزب
ھسێب
ھکوومەت
ھل
ھە
ھەب
ھەپروون
ھەپس
ھەپسخانە
ھەپەسان
ھەپەساندن
ھەپەساو
ھەپوو
ھەپین
ھەتا
ھەتا دوایی
ھەتا سەر
ھەتار
ھەتارەک:
ھەتاو
ھەترە
ھەتھەتۆکە
ھەتوان
ھەتیو
ھەتیوبار
ھەتیوخانە
ھەچولوور
ھەد
ھەدیس
ھەراج
ھەراس
ھەراسان
ھەرام
ھەرامخۆر
ھەرامە
ھەرجایی
ھەرد
ھەردەبیر
ھەردەگێڵ
ھەردوو
ھەرزاڵە
ھەرزان
ھەرزانبەھا
ھەرزانی
ھەرزە
ھەرزەبێژ
ھەرزەچەنە
ھەرزەکار
ھەرزەکارانە
ھەرزەکاری
ھەرزەیی
ھەرفی
ھەرگیز
ھەرگیزئاو ھەرگیز
ھەرگینە
ھەرلە
ھەرمێپشکوان
ھەرەس
ھەرەوەز
ھەروا
ھەری
ھەریف
ھەرێز
ھەرێم
ھەرێمی
ھەز
ھەز و ناھەز
ھەزارە
ھەزاریەک
ھەزبێلە
ھەزرەت
ھەزم
ھەڕا
ھەڕە
ھەڕەشە
ھەڕەشە و گوڕەشە
ھەڕەمە
ھەژار
ھەژاری
ھەژان
ھەژاندن
ھەژگ
ھەژەند
ھەژێنەر
ھەسار
ھەسان
ھەساوە
ھەستبەر
ھەستبەری
ھەستری
ھەستە
ھەستەوەر
ھەستەوەری
ھەستیار
ھەستیاری
ھەسیر
ھەسیرمەیان
ھەش
ھەشار
ھەشاردراو
ھەشبەسەر
ھەشتا
ھەشتالوو
ھەشتیەک
ھەشھەش
ھەشەری
ھەفت
ھەفتا
ھەفتانە
ھەفتە
ھەفتەیی
ھەڤاڵ
ھەڤدە
ھەڤکێشی
ھەقانی
ھەقایەت
ھەقدەست
ھەکیم
ھەگبە
ھەل
ھەلات
ھەلانە
ھەلاھەلا
ھەلک
ھەلھەلە
ھەلەقمەلەق
ھەلەکە
ھەلوومەرج
ھەلۆک
ھەڵاتوو
ھەڵاخنین
ھەڵاڵ
ھەڵاڵخۆر
ھەڵامسان
ھەڵامەت
ھەڵامەتی
ھەڵاورد
ھەڵاوردن
ھەڵاوسان
ھەڵاوێز
ھەڵبرواندن
ھەڵبزڕکان
ھەڵبزڕکاو
ھەڵبڕین
ھەڵبژار
ھەڵبژاردن
ھەڵبژاردە
ھەڵبژێر
ھەڵبژێڕاو
ھەڵبەز
ھەڵبەست
ھەڵبەستراو
ھەڵبەستن
ھەڵبەستە
ھەڵپاچراو
ھەڵپاچین
ھەڵپچڕان
ھەڵپچڕاو
ھەڵپچڕین
ھەڵپرووزان
ھەڵپرووزاندن
ھەڵپرووزاو
ھەڵپرووکاو
ھەڵپڕووکان
ھەڵپڕووکاندن
ھەڵپژان
ھەڵپە
ھەڵپەڕاندن
ھەڵپەڕکێ
ھەڵپەڕین
ھەڵپەساردن
ھەڵپەساڕاو
ھەڵپەنمان
ھەڵپێچ
ھەڵپێچان
ھەڵپێچراو
ھەڵترووشکان
ھەڵتڕین
ھەڵتڵیشان
ھەڵتڵیشاندن
ھەڵتڵیشاو
ھەڵتەکان
ھەڵتەکاندن
ھەڵتەکیو
ھەڵتووڕاندن
ھەڵتۆقین
ھەڵتیزاندن
ھەڵچنراو
ھەڵچنین
ھەڵچەقین
ھەڵچوون
ھەڵخران
ھەڵخستن
ھەڵخلیسکان
ھەڵخلیسکاندن
ھەڵخەڵەتان
ھەڵخەڵەتاندن
ھەڵخەڵەتاو
ھەڵخەڵەتێو
ھەڵخوێندن
ھەڵدان
ھەڵدانەوە
ھەڵدرووراو
ھەڵدروون
ھەڵدڕان
ھەڵدڕاو
ھەڵدڕین
ھەڵدێران
ھەڵزڵەپین
ھەڵزڵەپیو
ھەڵڕژان
ھەڵڕژراو
ھەڵڕشتن
ھەڵژمار
ھەڵژماردن
ھەڵژمێڕاو
ھەڵسان
ھەڵسان و کەوتن
ھەڵساندن
ھەڵسانەوە
ھەڵساو
ھەڵسەنگاندن
ھەڵسەنگێنەر
ھەڵسووڕان
ھەڵسووڕاندن
ھەڵسووڕاو
ھەڵسووڕێنەر
ھەڵسووکەوت
ھەڵشاخین
ھەڵشێلان
ھەڵفریواندن
ھەڵفڕاندن
ھەڵفڕین
ھەڵفلیقان
ھەڵفلیقاندن
ھەڵفلیقاو
ھەڵقرچان
ھەڵقورتاندن
ھەڵقوڕاندن
ھەڵکالین
ھەڵکراو
ھەڵکزراندن
ھەڵکڕان
ھەڵکڕاندن
ھەڵکڕاو
ھەڵکشان
ھەڵکشە
ھەڵکەندن
ھەڵکەنران
ھەڵکەنراو
ھەڵکەوت
ھەڵکوڵین
ھەڵکۆ
ھەڵکۆڵراو
ھەڵکێش
ھەڵکێشان
ھەڵکێشراو
ھەڵگرتن
ھەڵگڵۆفتن
ھەڵگەڕان
ھەڵگەڕانەوە
ھەڵگوشین
ھەڵگیران
ھەڵگیرسان
ھەڵگیرساندن
ھەڵلا
ھەڵلووشین
ھەڵم
ھەڵمات
ھەڵماتێن
ھەڵماڵران
ھەڵماڵراو
ھەڵماڵین
ھەڵمان
ھەڵمژین
ھەڵمەت
ھەڵمەتجاڕ
ھەڵمەقۆ
ھەڵمیزان
ھەڵنان
ھەڵنیشتن
ھەڵھاتن
ھەڵھێنان
ھەڵھێنانەوە
ھەڵھێنجان
ھەڵھێنجراو
ھەڵھێنراو
ھەڵھێنگە
ھەڵھێنەر
ھەڵە
ھەڵەت
ھەڵەخەرج
ھەڵەداوان
ھەڵەشە
ھەڵەشەیی
ھەڵەنگووتن
ھەڵەھەڵ
ھەڵەوەڕ
ھەڵواسران
ھەڵواسراو
ھەڵواسین
ھەڵوەران
ھەڵوەراندن
ھەڵوەشان
ھەڵوەشاندن
ھەڵوەشاو
ھەڵوەشێنراو
ھەڵووتن
ھەڵووژە
ھەڵووژەرەشە
ھەڵۆ
ھەڵۆڵ
ھەڵیز
ھەماز
ھەماڵ
ھەمام
ھەمان
ھەمان کات
ھەمایەڵ
ھەمشین
ھەمەلایەنە
ھەموار
ھەموو
ھەمووپرسی
ھەموووانی
ھەموویی
ھەمیشە
ھەمیشەیی
ھەن
ھەنار
ھەناردە
ھەناسەبڕکێ
ھەناسەسارد
ھەناسەسوار
ھەناسەوواری
ھەناو
ھەند
ھەنداز
ھەندە
ھەندەر
ھەندەران
ھەندەرھۆ
ھەنسک
ھەنسک ھەڵدان
ھەنگ
ھەنگامە
ھەنگاو
ھەنگاوھاویشتن
ھەنگدان
ھەنگڵ
ھەنگەشەلێ
ھەنەزا
ھەنووکەیی
ھەنوون
ھەو
ھەوار
ھەوارگە
ھەواری
ھەواڵگوزاری
ھەواڵە
ھەواڵە بە گەواڵە
ھەواندنەوە
ھەوانەوە
ھەوایی
ھەوت
ھەوتە
ھەوتەوانە
ھەوتیر
ھەوجاڕ
ھەوجۆش
ھەودا
ھەوراز
ھەوراز و نشێو
ھەورەباڵا
ھەورەتریشقە
ھەوریس
ھەوز
ھەوزانە
ھەوسار
ھەوسەڵە
ھەوەس
ھەوەڵ
ھەویر
ھەوینج
ھەوێ
ھەوێن
ھەیا
ھەیبەت
ھەیتە
ھەیران
ھەیزەران
ھەیس
ھەیش
ھەیش پێ ھەڵگرتن
ھەیشۆ
ھەیشۆ لێ ھەڵگیران
ھەیف
ھەیوان
ھەیوانات
ھەیوانان
ھوجرە
ھورمز
ھورمەت
ھوزەیران
ھوزوور
ھوڕەو
ھوژە
ھوشتر
ھوکمدار
ھولھولی
ھولە
ھولەسێ
ھومەڵخەزا
ھونەر
ھونەرگا
ھونەرمەند
ھونەرمەندانە
ھونەرە جوانەکان
ھونەروەر
ھوو
ھووت
ھووردە
ھووردەبینی
ھووڕ
ھووشە
ھووشەکار
ھووھا
ھووھووکەرە
ھۆجەنە
ھۆدار
ھۆدە
ھۆرتە
ھۆردوو
ھۆز
ھۆزان
ھۆزانی
ھۆزکی
ھۆڕ
ھۆڕن
ھۆڕە
ھۆشبڕ
ھۆشمەند
ھۆشمەندی
ھۆشیار
ھۆشیارانە
ھۆشیاری
ھۆکار
ھۆکڵ
ھۆگر
ھۆل
ھۆن
ھۆنەر
ھۆو
ھی
ھیچ
ھیچی
ھیدایەت
ھیر
ھیز
ھیزانە
ھیزە
ھیزەڵ
ھیزێتی
ھیساب
ھیکمەت
ھیلاک
ھیلاندن
ھیمەت
ھیوابڕاو
ھیوادار
ھێ
ھێدز
ھێدی
ھێرۆ
ھێز
ھێزا
ھێزم
ھێشتا
ھێشتن
ھێشخان
ھێشوو
ھێل
ھێلانە
ھێلز
ھێلکە
ھێلکەورۆن
ھێلکەیی
ھێلم
ھێلینج
ھێڵ
ھێڵان
ھێڵکاری
ھێڵی ئاسنی
ھێمایی
ھێمن
ھێمنی
ھێنان
ھێنانەوە
ھێواش
ھێواشکار
ھێواشی
ھێور
ھێورانە
ھێوەر
ھێوەرزا
ھێوەرژن
ھێویری
و مەتیو
وتار
وەستاندن
یارمەتی
یاسا
{
"باوک": "Navdêr",
"باوەڕ": "Navdêr",
"باوەقۆت": "Navdêr",
"باوی": "Rengdêr",
"بایست": "Navdêr",
"باینجان": "Navdêr",
"باینجانی ڕەش": "Navdêr",
"باینجانی سوور": "Navdêr",
"بایەخ": "Navdêr",
"بایی": "Navdêr",
"بچەژ": "Lêker",
"بدوو": "Lêker",
"برادەر": "Navdêr",
"براژن": "Navdêr",
"برای ھاوپشت": "Navdêr",
"بردەمەنی": "Navdêr",
"برژانگ": "Navdêr",
"برژاو": "Rengdêr",
"برسێتی": "Navdêr",
"برغوو": "Navdêr",
"برنگ": "Navdêr",
"برووسکە": "Navdêr",
"بریتی": "Rengdêr",
"بزاڤ": "Navdêr",
"بزان": "Lêker",
"بزاوتن": "Lêker",
"بزگور": "Navdêr",
"بزووتنەوە": "Navdêr",
"بڕاو": "Rengdêr",
"بڕمێن": "Navdêr",
"بڕوانامە": "Navdêr",
"بڕۆ": "Lêker",
"بڕیار": "Navdêr",
"بڕێک": "Rengdêr",
"بژاردن": "Lêker",
"بژاردە": "Navdêr",
"بژوولک": "Navdêr",
"بسکە": "Navdêr",
"بشێوە": "Rengdêr",
"بلیمەت": "Rengdêr",
"بڵح": "Rengdêr",
"بڵند": "Rengdêr",
"بناغە": "Navdêr",
"بنچە": "Navdêr",
"بنچینەیی": "Rengdêr",
"بنکە": "Navdêr",
"بنەما": "Navdêr",
"بنەوش": "Navdêr",
"بەتڵانە": "Navdêr",
"بەحر": "Navdêr",
"بەخت": "Navdêr",
"بەخترەش": "Rengdêr",
"بەختەوەر": "Rengdêr",
"بەختیار": "Rengdêr",
"بەخش": "Navdêr",
"بەخشەندە": "Rengdêr",
"بەخشەندەیی": "Navdêr",
"بەد": "Rengdêr",
"بەدبەخت": "Rengdêr",
"بەدرەقە": "Navdêr",
"بەر سەر کەسێکەوە لەوەڕان": "Lêker",
"بەرایی": "Navdêr",
"بەردەوک": "Navdêr",
"بەرز": "Rengdêr",
"بەرزە": "Rengdêr",
"بەرژەوەند": "Navdêr",
"بەرژەوەندی": "Navdêr",
"بەرف": "Navdêr",
"بەرگ": "Navdêr",
"بەرگری": "Navdêr",
"بەرگە": "Navdêr",
"بەرگەشتە": "Rengdêr",
"بەرە": "Daçek",
"بەرەزە": "Navdêr",
"بەرەو": "Daçek",
"بەرەوژۆرکە": "Hoker",
"بەرەوژێرکە": "Hoker",
"بەروار": "Navdêr",
"بەروودوا": "Hoker",
"بەزم": "Navdêr",
"بەژ": "Navdêr",
"بەستن": "Lêker",
"بەستە": "Navdêr",
"بەسر": "Navdêr",
"بەش": "Navdêr",
"بەشدار": "Rengdêr",
"بەفر": "Navdêr",
"بەق": "Navdêr",
"بەقال": "Navdêr",
"بەقلیسۆک": "Navdêr",
"بەل": "Navdêr",
"بەلاش": "Hoker",
"بەلایەن": "Navdêr",
"بەلایەنی": "Hoker",
"بەلەز": "Hoker",
"بەلەم": "Navdêr",
"بەڵا": "Navdêr",
"بەڵام": "Girêdek",
"بەڵگە": "Navdêr",
"بەڵەد": "Rengdêr",
"بەڵەک": "Rengdêr",
"بەڵەیاندن": "Lêker",
"بەناوبانگ": "Rengdêr",
"بەند": "Navdêr",
"بەندە": "Navdêr",
"بەندەگی": "Navdêr",
"بەنگ": "Navdêr",
"بەنگکێش": "Navdêr",
"بەھا": "Navdêr",
"بەھارات": "Navdêr",
"بەھانە": "Navdêr",
"بەھر": "Navdêr",
"بەھرە": "Navdêr",
"بەھەشت": "Navdêr",
"بەو": "Cînav",
"بەوان": "Cînav",
"بەیار": "Navdêr",
"بەیارمەتیت": "Baneşan",
"بەیاز": "Navdêr",
"بەیاننامە": "Navdêr",
"بەیانی": "Navdêr",
"بەیچەڵ": "Navdêr",
"بەیدەست": "Rengdêr",
"بەینەت": "Navdêr",
"بەینەتدار": "Rengdêr",
"بوختان": "Navdêr",
"بوخچە": "Navdêr",
"بوودینە": "Navdêr",
"بووردن": "Lêker",
"بووژاندن": "Lêker",
"بووسە": "Navdêr",
"بووم": "Navdêr",
"بووواردن": "Lêker",
"بووێژ": "Navdêr",
"بوێر": "Rengdêr",
"بۆچوون": "Navdêr",
"بۆران": "Navdêr",
"بۆرچین": "Navdêr",
"بۆردن": "Lêker",
"بۆق": "Navdêr",
"بۆقەتە": "Navdêr",
"بۆنە": "Navdêr",
"بۆینباخ": "Navdêr",
"بیانوو": "Navdêr",
"بیانی": "Rengdêr",
"بیبن": "Navdêr",
"بیبی": "Navdêr",
"بیجامە": "Navdêr",
"بیچم": "Navdêr",
"بیراز": "Navdêr",
"بیرتەسک": "Rengdêr",
"بیرە": "Navdêr",
"بیروورِا": "Navdêr",
"بیستا": "Navdêr",
"بیستراو": "Rengdêr",
"بیستن": "Lêker",
"بیستەر": "Navdêr",
"بیستۆک": "Navdêr",
"بیڤر": "Navdêr",
"بێتار": "Navdêr",
"بێجگە": "Daçek",
"بێخ": "Navdêr",
"بێخبڕ": "Rengdêr",
"بێزار": "Rengdêr",
"بێژار": "Navdêr",
"بێسەرووشوێن": "Rengdêr",
"بێشەڵان": "Navdêr",
"بێگانە": "Rengdêr",
"بێگومان": "Hoker",
"بێلایەن": "Rengdêr",
"بێلایەنی": "Navdêr",
"بێنەوبەرە": "Navdêr",
"بێھیوا": "Rengdêr",
"بێوەژن": "Navdêr",
"پابەند": "Rengdêr",
"پاتری": "Navdêr",
"پاچ": "Navdêr",
"پاداشت": "Navdêr",
"پارێزگار": "Navdêr",
"پاساو": "Navdêr",
"پاسەوان": "Navdêr",
"پانایی": "Navdêr",
"پاندان": "Navdêr"
}
ekya2jkut68n4rxinrygvkfdhb8ur7f
Şablon:hy-IPA
10
1358818
6342072
2026-08-24T13:02:33Z
Wikihez
7344
[[:en:Template:hy-IPA]] hat kopîkirin ([[Bikarhêner:Wikihez/skrîpt/js/kopi-enWikt.js|kopi-enWikt.js]])
6342072
wikitext
text/x-wiki
<includeonly>{{#invoke:hy-pronunciation|IPA}}</includeonly><noinclude>{{documentation}}</noinclude>
thhbeoxtc6epafowvhznwk4rbcfkax2
Şablon:hy-IPA/belge
10
1358819
6342073
2026-08-24T13:02:33Z
Wikihez
7344
[[:en:Template:hy-IPA/documentation]] hat kopîkirin ([[Bikarhêner:Wikihez/skrîpt/js/kopi-enWikt.js|kopi-enWikt.js]])
6342073
wikitext
text/x-wiki
{{documentation subpage}}
==Usage==
This template generates phonemic Armenian pronunciations both for Eastern Armenian and Western Armenian using [[Module:hy-pronunciation]]. It is used under the ===Pronunciation=== header։
:<code><nowiki>===Pronunciation===</nowiki></code>
:<code><nowiki>{{hy-IPA}}</nowiki></code>
For example, in {{qal|hy|կապիկ}} it will generate the following:
{{hy-IPA|կապիկ}}
'''Do not add it to an entry if you don't know the actual pronunciation''', because manual phonetic respelling is needed as the first parameter for handling irregular pronunciations and the unwritten schwa (գաղտնավանկի ը), e.g. in {{qal|hy|խորհուրդ}} and {{qal|hy|մտնել}}:
:<code><nowiki>===Pronunciation===</nowiki></code>
:<code><nowiki>{{hy-IPA|խորուրթ}}</nowiki></code>
:<code><nowiki>===Pronunciation===</nowiki></code>
:<code><nowiki>{{hy-IPA|մըտնել}}</nowiki></code>
For colloquial pronunciations in addition to the standard ones use the parameter {{para|colle}} for Eastern Armenian and {{para|collw}} for Western Armenian, e.g. in {{qal|hy|սեղմել}}:
:<code><nowiki>===Pronunciation===</nowiki></code>
:<code><nowiki>{{hy-IPA|colle=սեխմել|collw=սեխմել}}</nowiki></code>
Use the parameter {{para|W}} or {{para|E}} to disable the output of either variant. E.g. in {{qal|hy|բարդի}} use:
:<code><nowiki>{{hy-IPA|W=0}}</nowiki></code>
and in {{qal|hy|բարտի}} use:
:<code><nowiki>{{hy-IPA|E=0}}</nowiki></code>
To suppress the automatic addition of accent qualifiers use the parameter {{para|bare}}, e.g.:
:<code><nowiki>{{hy-IPA|ճըղօ՛պուր|bare=on}}</nowiki></code>
==Alternative spellings==
If a word has both a reformed and traditional orthography (like [[ազատություն]] and [[ազատութիւն]]), then we want to minimize duplicating the {{şx|hy-IPA}} entry.
* For Western Armenian, if the reformed spelling has a pronunciation, then don't create a pronunciation for the traditional version. In the future, we may systematically reverse this restriction, and add Western pronunciations for all the traditionally-written words.
* Similarly for Eastern Armenian, we don't think it's practical to duplicate the pronunciation for both traditional and reformed spellings.
<includeonly>
[[Category:Armenian pronunciation templates|pron]]
</includeonly>
qqt377ouxed6opynst2vvigfc6290ep
Modul:hy-pronunciation
828
1358820
6342083
2026-08-24T13:02:54Z
Wikihez
7344
[[:en:Module:hy-pronunciation]] hat kopîkirin ([[Bikarhêner:Wikihez/skrîpt/js/kopi-enWikt.js|kopi-enWikt.js]])
6342083
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local lang = require("Module:languages").getByCode("hy")
local m_IPA = require("Module:IPA")
local yesno_module = "Module:yesno"
local toNFC = mw.ustring.toNFC
local trim = m_str_utils.trim
local ufind = m_str_utils.find
local ugsub = m_str_utils.gsub
local ulower = m_str_utils.lower
local ufind = m_str_utils.find
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local insert = table.insert
local concat = table.concat
local trackfn = require("Module:debug").track
local function track(page)
trackfn("hy-pronunciation/" .. page)
return true
end
-- single characters that map to IPA sounds
local phonemic_chars_map = {
-- Eastern Armenian
east = {
["ա"] = "ɑ",
["բ"] = "b",
["գ"] = "ɡ",
["դ"] = "d",
["ե"] = "e",
["զ"] = "z",
["է"] = "e",
["ը"] = "ə",
["թ"] = "tʰ",
["ժ"] = "ʒ",
["ի"] = "i",
["լ"] = "l",
["խ"] = "χ",
["ծ"] = "t͡s",
["կ"] = "k",
["հ"] = "h",
["ձ"] = "d͡z",
["ղ"] = "ʁ",
["ճ"] = "t͡ʃ",
["մ"] = "m",
["յ"] = "j",
["ն"] = "n",
["շ"] = "ʃ",
["ո"] = "o",
["չ"] = "t͡ʃʰ",
["պ"] = "p",
["ջ"] = "d͡ʒ",
["ռ"] = "r",
["ս"] = "s",
["վ"] = "v",
["տ"] = "t",
["ր"] = "ɾ",
["ց"] = "t͡sʰ",
["ւ"] = "v",
["փ"] = "pʰ",
["ք"] = "kʰ",
["և"] = "ev",
["օ"] = "o",
["ֆ"] = "f",
["-"] = " ",
["’"] = "",
},
-- Western Armenian
west = {
["ա"] = "ɑ",
["բ"] = "p",
["գ"] = "k",
["դ"] = "t",
["ե"] = "e",
["զ"] = "z",
["է"] = "e",
["ը"] = "ə",
["թ"] = "t",
["ժ"] = "ʒ",
["ի"] = "i",
["լ"] = "l",
["խ"] = "χ",
["ծ"] = "d͡z",
["կ"] = "ɡ",
["հ"] = "h",
["ձ"] = "t͡s",
["ղ"] = "ʁ",
["ճ"] = "d͡ʒ",
["մ"] = "m",
["յ"] = "j",
["ն"] = "n",
["շ"] = "ʃ",
["ո"] = "o",
["չ"] = "t͡ʃ",
["պ"] = "b",
["ջ"] = "t͡ʃ",
["ռ"] = "ɾ",
["ս"] = "s",
["վ"] = "v",
["տ"] = "d",
["ր"] = "ɾ",
["ց"] = "t͡s",
["ւ"] = "v",
["փ"] = "p",
["ք"] = "k",
["և"] = "ev",
["օ"] = "o",
["ֆ"] = "f",
["-"] = " ",
["’"] = "",
},
}
-- character sequences of two that map to IPA sounds
local phonemic_2chars_map = {
east = {
{ "ու", "u" },
},
west = {
-- if not in the initial position and if not preceded by [ɑeəoiu]
{
"(.?.?)յու", -- can be overridden by using "."
function(before)
if not (before == "" or ufind(before, "[%s#աեէիոօ]$") or before == "ու") then
return before .. "ʏ"
end
end,
},
{ "ու", "u" },
{ "էօ", "œ" },
-- Western Armenian inserts ə in the causative
{ "ցնել", "t͡sənel" },
},
}
-- single characters that map to IPA sounds
local phonetic_chars_map = {
-- Eastern Armenian
east = {
["ա"] = "ɑ",
["բ"] = "b",
["գ"] = "ɡ",
["դ"] = "d",
["ե"] = "e",
["զ"] = "z",
["է"] = "e",
["ը"] = "ə",
["թ"] = "tʰ",
["ժ"] = "ʒ",
["ի"] = "i",
["լ"] = "l",
["խ"] = "χ",
["ծ"] = "t͡s",
["կ"] = "k",
["հ"] = "h",
["ձ"] = "d͡z",
["ղ"] = "ʁ",
["ճ"] = "t͡ʃ",
["մ"] = "m",
["յ"] = "j",
["ն"] = "n",
["շ"] = "ʃ",
["ո"] = "o",
["չ"] = "t͡ʃʰ",
["պ"] = "p",
["ջ"] = "d͡ʒ",
["ռ"] = "r",
["ս"] = "s",
["վ"] = "v",
["տ"] = "t",
["ր"] = "ɾ",
["ց"] = "t͡sʰ",
["ւ"] = "v",
["փ"] = "pʰ",
["ք"] = "kʰ",
["և"] = "ev",
["օ"] = "o",
["ֆ"] = "f",
["-"] = " ",
["’"] = "",
},
-- note that the default pronunciation of ostensible /ɾ/ is [ɹ]
-- Western Armenian
west = {
["ա"] = "ɑ",
["բ"] = "pʰ",
["գ"] = "kʰ",
["դ"] = "tʰ",
["ե"] = "e",
["զ"] = "z",
["է"] = "e",
["ը"] = "ə",
["թ"] = "tʰ",
["ժ"] = "ʒ",
["ի"] = "i",
["լ"] = "l",
["խ"] = "χ",
["ծ"] = "d͡z",
["կ"] = "ɡ",
["հ"] = "h",
["ձ"] = "t͡sʰ",
["ղ"] = "ʁ",
["ճ"] = "d͡ʒ",
["մ"] = "m",
["յ"] = "j",
["ն"] = "n",
["շ"] = "ʃ",
["ո"] = "o",
["չ"] = "t͡ʃʰ",
["պ"] = "b",
["ջ"] = "t͡ʃʰ",
["ռ"] = "ɾ",
["ս"] = "s",
["վ"] = "v",
["տ"] = "d",
["ր"] = "ɾ",
["ց"] = "t͡sʰ",
["ւ"] = "v",
["փ"] = "pʰ",
["ք"] = "kʰ",
["և"] = "ev",
["օ"] = "o",
["ֆ"] = "f",
["-"] = " ",
["’"] = "",
},
}
-- character sequences of two that map to IPA sounds
local phonetic_2chars_map = {
east = {
{ "ու", "u" },
},
west = {
-- if not in the initial position and if not preceded by [ɑeəoiu]
{
"(.?.?)յու", -- can be overridden by using "."
function(before)
if not (before == "" or ufind(before, "[%s#աեէիոօ]$") or before == "ու") then
return before .. "ʏ"
end
end,
},
{ "ու", "u" },
{ "էօ", "œ" },
-- պ, տ, կ are not voiced after ս and շ
{ "սպ", "sp" },
{ "ստ", "st" },
{ "սկ", "sk" },
{ "շպ", "ʃp" },
{ "շտ", "ʃt" },
{ "շկ", "ʃk" },
-- Western Armenian inserts ə in the causative
{ "ցնել", "t͡sʰənel" },
},
}
function export.phonemic_IPA(phonemic, system)
if not (phonemic_chars_map[system] and phonemic_2chars_map[system]) then
error("Invalid system " .. tostring(system))
end
phonemic = ulower(phonemic)
-- mark word boundaries with #, as in phonetic_IPA, so that word-initial
-- and word-final rules apply to every word of a multiword term
phonemic = ugsub(phonemic, " | ", "# | #")
phonemic = "##" .. ugsub(phonemic, " ", "# #") .. "##"
for _, replacement in ipairs(phonemic_2chars_map[system]) do
phonemic = ugsub(phonemic, unpack(replacement))
end
-- ոու is pronounced ou
phonemic = ugsub(phonemic, "ոːւ", "օու")
-- ե and ո are pronounced as je and vo word-initially.
phonemic = ugsub(phonemic, "#ե", "#յէ")
phonemic = ugsub(phonemic, "#ո", "#վօ")
-- except when followed by another վ.
phonemic = ugsub(phonemic, "#վօվ", "#օվ")
--final ք, from the ancient plural, is extrasyllabic and should be marked.
phonemic = ugsub(phonemic, "([^ɑeiouəœʏ#])ք#", "%1.ք#")
-- ոու is pronounced oov
phonemic = ugsub(phonemic, "ոու", "օու")
-- palatalization in the Eastern Armenian sequence -ությ-, especially in the suffix -ություն [considered non-standard by strict prescriptivists]
if system == "east" then
phonemic = ugsub(phonemic, "ությ", "ուցյ")
phonemic = ugsub(phonemic, "([բդգձջզժց])([փթքցչ])", "%1%2")
end
phonemic = ugsub(phonemic, ".", phonemic_chars_map[system])
--oov is actually ou
phonemic = ugsub(phonemic, "oov", "ou")
if system == "west" then
phonemic = ugsub(phonemic, "b([ptk])", "p%1")
phonemic = ugsub(phonemic, "d([ptk])", "t%1")
phonemic = ugsub(phonemic, "ɡ([ptk])", "k%1")
phonemic = ugsub(phonemic, "d͡z([ptk])", "t͡s%1")
phonemic = ugsub(phonemic, "d͡ʒ([ptk])", "t͡ʃ%1")
phonemic = ugsub(phonemic, "z([ptk])", "s%1")
phonemic = ugsub(phonemic, "ʒ([ptk])", "ʃ%1")
end
phonemic = ugsub(phonemic, "ʁ([ptksʃ])", "χ%1")
phonemic = ugsub(phonemic, "v([ptksʃ])", "f%1")
-- generating the stress
phonemic = ugsub(phonemic, "%S+", function(word)
-- Do not add a stress mark for monosyllabic words. Check to see if the word contains only a single instance of [ɑeəoiuœʏ]+.
local numberOfVowels = select(2, ugsub(word, "[ɑeəoiuœʏ]", "%0"))
-- If polysyllabic, add IPA stress mark using the following rules. The stress is always on the last syllable not
-- formed by schwa [ə]. In some rare cases the stress is not on the last syllable. In such cases the stressed vowel
-- is marked by the Armenian stress character <՛>, e.g. մի՛թե. So:
-- 1) Find the vowel followed by <՛>․ If none, jump to step 2. Else check if it is the first vowel of the word.
-- If true, put the IPA stress at the beginning, else do step 3.
-- 2) Find the last non-schwa vowel, i.e. [ɑeoiuœʏ],
-- 3) If the IPA symbol preceding it is [ɑeəoiuœʏ], i.e. a vowel, put the stress symbol between them,
-- if it is NOT [ɑeoiuəœʏ], i.e. it is a consonant,
-- put the stress before that consonant.
if numberOfVowels > 1 then
local rcount
word, rcount = ugsub(word, "([^#ɑeoiuœʏə]*[ɑeoiuœʏə])՛", "ˈ%1")
if rcount == 0 then
word = ugsub(word, "([^#ɑeoiuœʏə]*[ɑeoiuœʏ][^ɑeoiuœʏə]*)#", "ˈ%1#")
word = ugsub(
word,
"([^#ɑeoiuœʏə]*[ɑeəoiuœʏ]?[ɑeoiuœʏ][^ɑeoiuœʏə]*ə[^ɑeoiuœʏə]*)#",
"ˈ%1#"
)
end
-- Including () in the second and third sets will only work
-- if () never encloses a vowel.
word = ugsub(word, "([ɑeəoiuœʏ])ˈ([^#ɑeoiuœʏə()]+)([^#ɑeoiuœʏəːˈʰ()j])", "%1%2ˈ%3")
word = ugsub(word, "(.)͡ˈ", "ˈ%1͡")
return word
end
end)
-- move stress marker out of opening/closing parentheses
if system == "east" or system == "west" then
phonemic = ugsub(phonemic, "ˈ%)", ")ˈ")
phonemic = ugsub(phonemic, "%(ˈ", "ˈ(")
end
phonemic = ugsub(phonemic, "#", "")
-- "." prevents assimilation and can act as a dummy initial consonant, so must be removed.
phonemic = phonemic:gsub("%.", "")
phonemic = trim(phonemic)
return toNFC(phonemic)
end
function export.phonetic_IPA(phonetic, system)
if not (phonetic_chars_map[system] and phonetic_2chars_map[system]) then
error("Invalid system " .. tostring(system))
end
phonetic = ulower(phonetic)
-- then long consonants that are orthographically geminated.
phonetic = ugsub(phonetic, "(.)%1", "%1ː")
phonetic = ugsub(phonetic, " | ", "# | #")
phonetic = "##" .. ugsub(phonetic, " ", "# #") .. "##"
for _, replacement in ipairs(phonetic_2chars_map[system]) do
phonetic = ugsub(phonetic, unpack(replacement))
end
-- ոու is pronounced ou
phonetic = ugsub(phonetic, "ոːւ", "օու")
-- ե and ո are pronounced as je and vo word-initially.
phonetic = ugsub(phonetic, "#ե", "#յէ")
phonetic = ugsub(phonetic, "#ո", "#վօ")
-- except when followed by another վ.
phonetic = ugsub(phonetic, "#վօվ", "#օվ")
-- ոու is pronounced oov
phonetic = ugsub(phonetic, "ոու", "օու")
phonetic = ugsub(phonetic, ".", phonetic_chars_map[system])
--oov is actually ou
phonetic = ugsub(phonetic, "oov", "ou")
--իա at the end of words is pronounced ja
phonetic = ugsub(phonetic, "iɑ#", "jɑ#")
-- insertion of the optional glide
phonetic = ugsub(phonetic, "iɑ", "i(j)ɑ") -- cases like խավիար, Մարիամ where "iɑ" is "jɑ" should be overriden manually: խավյար, Մարյամ. This is done automatically for final -իա
phonetic = ugsub(phonetic, "ie", "i(j)e")
phonetic = ugsub(phonetic, "io", "i(j)o")
phonetic = ugsub(phonetic, "iu", "i(j)u")
phonetic = ugsub(phonetic, "ɑi", "ɑ(j)i")
phonetic = ugsub(phonetic, "eɑ", "e(j)ɑ") -- cases like հոգեառ, ափեափ where no glide inserted because of boundaries between morphemes need to be handled manually by inserting a dot: հոքե.առ, ափե.ափ
phonetic = ugsub(phonetic, "ei", "e(j)i")
phonetic = ugsub(phonetic, "eu", "e(j)u")
phonetic = ugsub(phonetic, "oe", "o(j)e")
phonetic = ugsub(phonetic, "oi", "o(j)i")
phonetic = ugsub(phonetic, "ui", "u(j)i")
if ufind(phonetic, "(j)", 1, true) then
-- [[Wiktionary:Tracking/hy-pronunciation/optional glide]]
track("optional glide")
end
-- assimilation: ppʰ = pʰː; ttʰ = tʰː; ; kkʰ = kʰː
phonetic = ugsub(phonetic, "ppʰ", "pʰː")
phonetic = ugsub(phonetic, "ttʰ", "tʰː")
phonetic = ugsub(phonetic, "kkʰ ", "kʰː")
-- nasal assimilation
phonetic = ugsub(phonetic, "n([ɡk]+)", "ŋ%1")
-- pseudo-palatalization under the influence of Russian [COLLOQUIAL, NOT STANDARD]
--phonetic = ugsub(phonetic, "tj", "t͡sj")
--phonetic = ugsub(phonetic, "tʰj", "t͡sʰj")
--phonetic = ugsub(phonetic, "dj", "d͡zj")
-- palatalization in the Eastern Armenian sequence -ությ-, especially in the suffix -ություն [considered non-standard by strict prescriptivists]
if system == "east" then
phonetic = ugsub(phonetic, "utʰj", "ut͡sʰj")
end
-- trilling of ɾ in some positions [COLLOQUIAL, NOT STANDARD]
--phonetic = ugsub(phonetic, "ɾt", "rt")
-- devoicing of consonants in some positions
phonetic = ugsub(phonetic, "bpʰ", "pʰː")
phonetic = ugsub(phonetic, "dpʰ", "tʰpʰ")
phonetic = ugsub(phonetic, "ɡpʰ", "kʰpʰ")
phonetic = ugsub(phonetic, "d͡zpʰ", "t͡sʰpʰ")
phonetic = ugsub(phonetic, "d͡ʒpʰ", "t͡ʃʰpʰ")
phonetic = ugsub(phonetic, "vpʰ", "fpʰ")
phonetic = ugsub(phonetic, "ʒpʰ", "ʃpʰ")
phonetic = ugsub(phonetic, "btʰ", "pʰtʰ")
phonetic = ugsub(phonetic, "dtʰ", "tʰː")
phonetic = ugsub(phonetic, "ɡtʰ", "kʰtʰ")
phonetic = ugsub(phonetic, "d͡ztʰ", "t͡sʰtʰ")
phonetic = ugsub(phonetic, "d͡ʒtʰ", "t͡ʃʰtʰ")
phonetic = ugsub(phonetic, "vtʰ", "ftʰ")
phonetic = ugsub(phonetic, "ʒtʰ", "ʃtʰ")
phonetic = ugsub(phonetic, "bkʰ", "pʰkʰ")
phonetic = ugsub(phonetic, "dkʰ", "tkʰ")
phonetic = ugsub(phonetic, "ɡkʰ", "kʰː")
phonetic = ugsub(phonetic, "d͡zkʰ", "t͡sʰkʰ")
phonetic = ugsub(phonetic, "d͡ʒkʰ", "t͡ʃʰkʰ")
phonetic = ugsub(phonetic, "vkʰ", "fkʰ")
phonetic = ugsub(phonetic, "ʒkʰ", "ʃkʰ")
phonetic = ugsub(phonetic, "bt͡ʃʰ", "pʰt͡ʃʰ")
phonetic = ugsub(phonetic, "dt͡ʃʰ", "tʰt͡ʃʰ")
phonetic = ugsub(phonetic, "ɡt͡ʃʰ", "kʰt͡ʃʰ")
phonetic = ugsub(phonetic, "d͡zt͡ʃʰ", "t͡sʰt͡ʃʰ")
phonetic = ugsub(phonetic, "d͡ʒt͡ʃʰ", "t͡ʃʰː")
phonetic = ugsub(phonetic, "vt͡ʃʰ", "ft͡ʃʰ")
phonetic = ugsub(phonetic, "ʒt͡ʃʰ", "ʃt͡ʃʰ")
phonetic = ugsub(phonetic, "bt͡sʰ", "pʰt͡sʰ")
phonetic = ugsub(phonetic, "dt͡sʰ", "tʰt͡sʰ")
phonetic = ugsub(phonetic, "ɡt͡sʰ", "kʰt͡sʰ")
phonetic = ugsub(phonetic, "d͡zt͡sʰ", "t͡sʰː")
phonetic = ugsub(phonetic, "d͡ʒt͡sʰ", "t͡ʃʰt͡sʰ")
phonetic = ugsub(phonetic, "vt͡sʰ", "ft͡sʰ")
phonetic = ugsub(phonetic, "ʒt͡sʰ", "ʃt͡sʰ")
phonetic = ugsub(phonetic, "zpʰ", "spʰ")
phonetic = ugsub(phonetic, "ztʰ", "stʰ")
phonetic = ugsub(phonetic, "zkʰ", "skʰ")
phonetic = ugsub(phonetic, "ʁt͡s", "χt͡s")
phonetic = ugsub(phonetic, "ʁt͡ʃ", "χt͡ʃ")
phonetic = ugsub(phonetic, "ʁp", "χp")
phonetic = ugsub(phonetic, "ʁt", "χt")
phonetic = ugsub(phonetic, "ʁk", "χk")
phonetic = ugsub(phonetic, "ʁs", "χs")
phonetic = ugsub(phonetic, "ʁʃ", "χʃ")
phonetic = ugsub(phonetic, "vt͡s", "ft͡s")
phonetic = ugsub(phonetic, "vt͡ʃ", "ft͡ʃ")
phonetic = ugsub(phonetic, "vp", "fp")
phonetic = ugsub(phonetic, "vt", "ft")
phonetic = ugsub(phonetic, "vk", "fk")
phonetic = ugsub(phonetic, "vs", "fs")
phonetic = ugsub(phonetic, "vʃ", "fʃ")
if system == "west" then
phonetic = ugsub(phonetic, "χd͡z", "χt͡s")
phonetic = ugsub(phonetic, "χd͡ʒ", "χt͡ʃ")
phonetic = ugsub(phonetic, "χb", "χp")
phonetic = ugsub(phonetic, "χd", "χt")
phonetic = ugsub(phonetic, "χɡ", "χk")
end
if system == "west" then
phonetic = ugsub(phonetic, "t͡ʃʰd͡z", "t͡ʃʰt͡s")
phonetic = ugsub(phonetic, "t͡sʰd͡z", "t͡sʰt͡s")
phonetic = ugsub(phonetic, "pʰd͡z", "pʰt͡s")
phonetic = ugsub(phonetic, "tʰd͡z", "tʰt͡s")
phonetic = ugsub(phonetic, "kʰd͡z", "kʰt͡s")
phonetic = ugsub(phonetic, "t͡ʃʰd͡ʒ", "t͡ʃʰt͡ʃ")
phonetic = ugsub(phonetic, "t͡sʰd͡ʒ", "t͡sʰt͡ʃ")
phonetic = ugsub(phonetic, "pʰd͡ʒ", "pʰt͡ʃ")
phonetic = ugsub(phonetic, "tʰd͡ʒ", "tʰt͡ʃ")
phonetic = ugsub(phonetic, "kʰd͡ʒ", "kʰt͡ʃ")
phonetic = ugsub(phonetic, "t͡ʃʰb", "t͡ʃʰp")
phonetic = ugsub(phonetic, "t͡sʰb", "t͡sʰp")
phonetic = ugsub(phonetic, "pʰb", "pʰp")
phonetic = ugsub(phonetic, "tʰb", "tʰp")
phonetic = ugsub(phonetic, "kʰb", "kʰp")
phonetic = ugsub(phonetic, "t͡ʃʰd", "t͡ʃʰt")
phonetic = ugsub(phonetic, "t͡sʰd", "t͡sʰt")
phonetic = ugsub(phonetic, "pʰd", "pʰt")
phonetic = ugsub(phonetic, "tʰd", "tʰt")
phonetic = ugsub(phonetic, "kʰd", "kʰt")
phonetic = ugsub(phonetic, "t͡ʃʰɡ", "t͡ʃʰk")
phonetic = ugsub(phonetic, "t͡sʰɡ", "t͡sʰk")
phonetic = ugsub(phonetic, "pʰɡ", "pʰk")
phonetic = ugsub(phonetic, "tʰɡ", "tʰk")
phonetic = ugsub(phonetic, "kʰɡ", "kʰk")
end
-- prothetic ə before {s/ʃ/z}{p/t/k/b/d/g} in Western Armenian; this rule is not the norm in Eastern Armenian anymore
if system == "west" then
phonetic = ugsub(phonetic, "#([sʃz][ptkbdɡ]+)", "#ə%1")
end
-- generating the stress
phonetic = ugsub(phonetic, "%S+", function(word)
-- Do not add a stress mark for monosyllabic words. Check to see if the word contains only a single instance of [ɑeəoiuœʏ]+.
local numberOfVowels = select(2, ugsub(word, "[ɑeəoiuœʏ]", "%0"))
-- If polysyllabic, add an acute using the following rules. The stress is always on the last syllable not
-- formed by schwa [ə]. In some rare cases the stress is not on the last syllable. In such cases the stressed vowel
-- is marked by the Armenian stress character <՛>, e.g. մի՛թե. So:
-- 1) Find the vowel followed by <՛> and put the acute on it․ If none, go to step 2.
-- 2) Find the last non-schwa vowel, i.e. [ɑeoiuœʏ], and put the acute on it.
if numberOfVowels > 1 then
local rcount
word, rcount = ugsub(word, "([ɑeoiuœʏə])՛", "%1́")
if rcount == 0 then
word = ugsub(word, "([ɑeoiuœʏ])([^ɑeoiuœʏə]*)(ə?[^ɑeoiuœʏə]?#)", "%1́%2%3")
end
return word
end
end)
-- geminated ր is phonetically [ɹː], not [ɾː]
phonetic = ugsub(phonetic, "ɾː", "ɹː")
if system == "east" or system == "west" then
phonetic = ugsub(phonetic, "([td])%1͡([sʃzʒ])(ʰ?)", "%1̚%1͡%2%3")
phonetic = ugsub(phonetic, "([td])͡([sʃzʒ])(ʰ?)ː", "%1̚%1͡%2%3")
end
-- "." prevents assimilation and can act as a dummy initial consonant, so must be removed.
phonetic = phonetic:gsub("%.", "")
phonetic = ugsub(phonetic, "#", "")
phonetic = trim(phonetic)
return toNFC(phonetic)
end
function export.generic_IPA(frame)
local params = {
[1] = {},
["system"] = {},
}
local parent_args = frame:getParent().args
local args = require("Module:parameters").process(parent_args, params, nil, "hy-pronunciation", "IPA")
local pagename = mw.loadData("Module:headword/data").pagename
end
function export.IPA(frame)
local params = {
E = { type = "boolean", default = "true" },
W = { type = "boolean", default = "true" },
[1] = { list = true },
e = { list = true, allow_holes = true },
colle = true,
w = { list = true, allow_holes = true },
collw = true,
bare = true,
pagename = true,
}
local parent_args = frame:getParent().args
local args = require("Module:parameters").process(parent_args, params, nil, "hy-pronunciation", "IPA")
local lines = {}
local function ins(text)
insert(lines, text)
end
local function get_pagename()
return args.pagename or mw.loadData("Module:headword/data").pagename
end
local function generate_pron(pron, system)
return { pron = ("/%s/ [%s]"):format(export.phonemic_IPA(pron, system), export.phonetic_IPA(pron, system)) }
end
if args.bare then
local bare = require(yesno_module)(args.bare, args.bare)
if bare == true then
bare = "east"
end
if bare then
local items = {}
if not args[1][1] then
args[1][1] = get_pagename()
end
for _, pron in ipairs(args[1]) do
insert(items, generate_pron(pron, bare))
end
return m_IPA.format_IPA_full {
lang = lang,
items = items,
}
end
end
local function insert_east_or_west(prons, system, standard_accent, coll_pron, coll_qualifier)
local items = {}
for _, pron in ipairs(prons) do
if pron then
insert(items, generate_pron(pron, system))
end
end
ins("* " .. m_IPA.format_IPA_full({
lang = lang,
items = items,
a = { standard_accent },
}))
if coll_pron then
ins("** " .. m_IPA.format_IPA_full({
lang = lang,
items = { generate_pron(coll_pron, system) },
q = { coll_qualifier, "colloquial" },
}))
end
end
local function is_empty(tbl)
return tbl == nil or next(tbl) == nil
end
local function first_item_is_nil_in_non_empty_table(tbl)
if is_empty(tbl) then return false end
return tbl[1] == nil
end
local function insert_all_from_table(result, source)
for _, value in ipairs(source) do
if value then
insert(result, value)
end
end
end
if #args[1] == 1 and args[1][1] == get_pagename() then
-- [[Wiktionary:Tracking/hy-pronunciation/input equal to pagename]]
track("input equal to pagename")
end
if args.E then
local eastern = {}
if not is_empty(args[1]) then
insert_all_from_table(eastern, args[1])
elseif not is_empty(args.e) then
if first_item_is_nil_in_non_empty_table(args.e) then
args.e[1] = get_pagename()
end
insert_all_from_table(eastern, args.e)
else
insert(eastern, get_pagename())
end
insert_east_or_west(
eastern,
"east",
"hy-E",
args.colle,
"Eastern Armenian"
)
end
if args.W then
local western = {}
if not is_empty(args[1]) then
insert_all_from_table(western, args[1])
elseif not is_empty(args.w) then
if first_item_is_nil_in_non_empty_table(args.w) then
args.w[1] = get_pagename()
end
insert_all_from_table(western, args.w)
else
insert(western, get_pagename())
end
insert_east_or_west(
western,
"west",
"hy-W",
args.collw,
"Western Armenian"
)
end
return concat(lines, "\n")
end
return export
7vvycsf6c71gg35ysq1zn8gvuwv17vi
Modul:hy-pronunciation/belge
828
1358821
6342084
2026-08-24T13:02:55Z
Wikihez
7344
[[:en:Module:hy-pronunciation/documentation]] hat kopîkirin ([[Bikarhêner:Wikihez/skrîpt/js/kopi-enWikt.js|kopi-enWikt.js]])
6342084
wikitext
text/x-wiki
This module implements {{temp|hy-pron}}.
For testcases, see [[Module:hy-pronunciation/testcases]].
4tghuq3xn5nou0hua5a1dv4tl6oqjrk
لێکدانەوە
0
1358823
6342213
2026-08-24T20:17:03Z
Şêr
1103
Rûpel bi "== {{ziman|ckb}} == === Navdêr === {{navdêr|ckb}} # [[şirove]], [[şîrovekirin]], [[tefsîr]] (zelalkirin û ravekirina wateya tiştekî) #* {{mînak|ckb|لێکدانەوەی تۆ بۆ ئەم ڕووداوە چییە؟|tr=Lêkdanewey to bo em rûdawe çîye?|werger=Şiroveya te ji bo vê bûyerê çi ye?}} #* {{mînak|ckb|بۆ ئەم شیعرە چەندین لێکدانەوەی جیاواز هەیە.|tr=Bo em şî're çendîn lêkdanewey ciyawaz heye.|werger=Ji..." hat çêkirin
6342213
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[şirove]], [[şîrovekirin]], [[tefsîr]] (zelalkirin û ravekirina wateya tiştekî)
#* {{mînak|ckb|لێکدانەوەی تۆ بۆ ئەم ڕووداوە چییە؟|tr=Lêkdanewey to bo em rûdawe çîye?|werger=Şiroveya te ji bo vê bûyerê çi ye?}}
#* {{mînak|ckb|بۆ ئەم شیعرە چەندین لێکدانەوەی جیاواز هەیە.|tr=Bo em şî're çendîn lêkdanewey ciyawaz heye.|werger=Ji bo vê helbestê gelek şiroveyên cuda hene.}}
==== Hevwate ====
* {{g|ckb|ڕاڤە}}
* {{g|ckb|تەفسیر}}
* {{g|ckb|شیکردنەوە}}
==== Lêker ====
* {{g|ckb|لێک دانەوە}}
pcw57bd7ppbupq47mau7w49zwvc9opq
6342214
6342213
2026-08-24T20:17:38Z
Şêr
1103
6342214
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[şirove]], [[şîrovekirin]], [[tefsîr]] (zelalkirin û ravekirina wateya tiştekî)
#: {{mînak|ckb|لێکدانەوەی تۆ بۆ ئەم ڕووداوە چییە؟|tr=Lêkdanewey to bo em rûdawe çîye?|werger=Şiroveya te ji bo vê bûyerê çi ye?}}
#: {{mînak|ckb|بۆ ئەم شیعرە چەندین لێکدانەوەی جیاواز هەیە.|tr=Bo em şî're çendîn lêkdanewey ciyawaz heye.|werger=Ji bo vê helbestê gelek şiroveyên cuda hene.}}
==== Hevwate ====
* {{g|ckb|ڕاڤە}}
* {{g|ckb|تەفسیر}}
* {{g|ckb|شیکردنەوە}}
==== Lêker ====
* {{g|ckb|لێک دانەوە}}
l8dpzuuc6e5c7srjh90i9t7lz1jc8zm
6342216
6342214
2026-08-24T20:19:02Z
Şêr
1103
maneya :)
6342216
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[şirove]], [[şîrovekirin]], [[tefsîr]] (zelalkirin û ravekirina maneya tiştekî)
#: {{mînak|ckb|لێکدانەوەی تۆ بۆ ئەم ڕووداوە چییە؟|tr=Lêkdanewey to bo em rûdawe çîye?|werger=Şiroveya te ji bo vê bûyerê çi ye?}}
#: {{mînak|ckb|بۆ ئەم شیعرە چەندین لێکدانەوەی جیاواز هەیە.|tr=Bo em şî're çendîn lêkdanewey ciyawaz heye.|werger=Ji bo vê helbestê gelek şiroveyên cuda hene.}}
==== Hevwate ====
* {{g|ckb|ڕاڤە}}
* {{g|ckb|تەفسیر}}
* {{g|ckb|شیکردنەوە}}
==== Lêker ====
* {{g|ckb|لێک دانەوە}}
d0qt71w5vyx0l3nrnowg9hd8bc7d41u
6342228
6342216
2026-08-24T20:41:09Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342228
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[şirove]], [[şîrovekirin]], [[tefsîr]] (zelalkirin û ravekirina maneya tiştekî)
#: {{mînak|ckb|لێکدانەوەی تۆ بۆ ئەم ڕووداوە چییە؟|tr=Lêkdanewey to bo em rûdawe çîye?|werger=Şiroveya te ji bo vê bûyerê çi ye?}}
#: {{mînak|ckb|بۆ ئەم شیعرە چەندین لێکدانەوەی جیاواز هەیە.|tr=Bo em şî're çendîn lêkdanewey ciyawaz heye.|werger=Ji bo vê helbestê gelek şiroveyên cuda hene.}}
==== Hevmane ====
* {{g|ckb|ڕاڤە}}
* {{g|ckb|تەفسیر}}
* {{g|ckb|شیکردنەوە}}
==== Lêker ====
* {{g|ckb|لێک دانەوە}}
fz4gae9jwz5cysutnbvh77y89n0irlx
kırkkat
0
1358824
6342218
2026-08-24T20:27:59Z
Nenas nepênî
14450
([[Mediawiki:Gadget-start.js|WF:NÛ]] v.2.0) +tr:navdêr:Hezarpizrûk
6342218
wikitext
text/x-wiki
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# {{e|tr|Hezarpizûrk}} [[Hezarpizrûk|Hezarpizrûk]]
#: {{hevmane|tr|Kırkat|Kırkkat}}
#: {{nimûne|tr|Hezarpizrûka pez, hezarpizrûka çêlekê|rêz=1}}
==== Tewandin ====
Kuzu kırkkatı, dana kırkkatı
==== Etîmolojî ====
{{ji?|tr}}
n7fp9br68lwgqevx1dvkjbobz0s6fw2
6342221
6342218
2026-08-24T20:33:53Z
Nenas nepênî
14450
/* Navdêr */
6342221
wikitext
text/x-wiki
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# [[Hezarpizrûk|Hezarpizrûk]]
# Hezarpizûrk
#: {{hevmane|tr|Kırkat|Kırkkat}}
#: {{nimûne|tr|Hezarpizrûka pez, hezarpizrûka çêlekê|rêz=1}}
==== Tewandin ====
Kuzu kırkkatı, dana kırkkatı
==== Etîmolojî ====
{{ji?|tr}}
156uuko4941q0n57yzwecm8j2rq2q09
6342222
6342221
2026-08-24T20:34:41Z
Nenas nepênî
14450
/* Navdêr */
6342222
wikitext
text/x-wiki
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# [[Hezarpizrûk|Hezarpizrûk]]
# Hezarpizrûk
# Hezarpizûrk
#: {{hevmane|tr|Kırkat|Kırkkat}}
#: {{nimûne|tr|Hezarpizrûka pez, hezarpizrûka çêlekê|rêz=1}}
==== Tewandin ====
Kuzu kırkkatı, dana kırkkatı
==== Etîmolojî ====
{{ji?|tr}}
et8aipxyke8rut5pwnxtm0f3diwajaw
6342250
6342222
2026-08-24T22:12:10Z
Balyozbot
7867
Bot: Paqijiyên kozmetîk (Lînk paqij kir, --Valahiyên nehewce.)
6342250
wikitext
text/x-wiki
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# [[Hezarpizrûk]]
# Hezarpizrûk
# Hezarpizûrk
#: {{hevmane|tr|Kırkat|Kırkkat}}
#: {{nimûne|tr|Hezarpizrûka pez, hezarpizrûka çêlekê|rêz=1}}
==== Tewandin ====
Kuzu kırkkatı, dana kırkkatı
==== Etîmolojî ====
{{ji?|tr}}
7wdswhounq5cfue0ep1pxmppu68zyfo
6342331
6342250
2026-08-25T05:25:47Z
Wikihez
7344
/* Tirkî */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342331
wikitext
text/x-wiki
== {{ziman|tr}} ==
=== Navdêr ===
{{navdêr|tr}}
# [[hezarpizrûk]]
#: {{nimûne|tr|Kuzu kırkkatı, dana kırkkatı|Hezarpizrûka pez, hezarpizrûka çêlekê|rêz=1}}
8g2k7eysoos5vvhy6prjzued9arxdyl
نەرمامێر
0
1358825
6342220
2026-08-24T20:33:52Z
Şêr
1103
Rûpel bi "== {{ziman|ckb}} == === Navdêr === {{navdêr|ckb}} # [[nermalav]] (hemû bername û rênimayiyên xebitandina kompûterê; bi almanî: ''Software'') #* {{mînak|ckb|ئەم نەرمامێرە بۆ ژمێریاری بەکاردێت.|tr=Em nermamêre bo jimêryarî bekardêt.|werger=Ev nermalav ji bo hejmardariyê tê bikaranîn.}} #* {{mînak|ckb|کۆمپانیاکە نەرمامێری نوێ بەرهەم دەهێنێت.|tr=Kompanyake nermamêrî nwê berhem dehên..." hat çêkirin
6342220
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[nermalav]] (hemû bername û rênimayiyên xebitandina kompûterê; bi almanî: ''Software'')
#* {{mînak|ckb|ئەم نەرمامێرە بۆ ژمێریاری بەکاردێت.|tr=Em nermamêre bo jimêryarî bekardêt.|werger=Ev nermalav ji bo hejmardariyê tê bikaranîn.}}
#* {{mînak|ckb|کۆمپانیاکە نەرمامێری نوێ بەرهەم دەهێنێت.|tr=Kompanyake nermamêrî nwê berhem dehênêt.|werger=Kompanî nermalavên nû hildiberîne.}}
==== Dijwate ====
* {{g|ckb|ڕەقامێر}}
==== Hevwate ====
* {{g|ckb|نەرمەکاڵا}}
* {{g|ckb|سۆفتوێر}}
==== Têkildar ====
* {{g|ckb|ئامێر}}
* {{g|ckb|بەرنامە}}
* {{g|ckb|کۆمپیوتەر}}
jkfdi10s01wq4686o23i8bn1yem8wbj
6342224
6342220
2026-08-24T20:38:06Z
Şêr
1103
werger li vir ne hewce ne, ev ji ku derket
6342224
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[nermalav]] (hemû bername û rênimayiyên xebitandina kompûterê)
#* {{mînak|ckb|ئەم نەرمامێرە بۆ ژمێریاری بەکاردێت.|tr=Em nermamêre bo jimêryarî bekardêt.|werger=Ev nermalav ji bo hejmardariyê tê bikaranîn.}}
#* {{mînak|ckb|کۆمپانیاکە نەرمامێری نوێ بەرهەم دەهێنێت.|tr=Kompanyake nermamêrî nwê berhem dehênêt.|werger=Kompanî nermalavên nû hildiberîne.}}
==== Dijwate ====
* {{g|ckb|ڕەقامێر}}
==== Hevwate ====
* {{g|ckb|نەرمەکاڵا}}
* {{g|ckb|سۆفتوێر}}
==== Têkildar ====
* {{g|ckb|ئامێر}}
* {{g|ckb|بەرنامە}}
* {{g|ckb|کۆمپیوتەر}}
16uk7y79ilmvzcsahm0jhkl6fxlixai
6342225
6342224
2026-08-24T20:39:17Z
Şêr
1103
ûps, :
6342225
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[nermalav]] (hemû bername û rênimayiyên xebitandina kompûterê)
#: {{mînak|ckb|ئەم نەرمامێرە بۆ ژمێریاری بەکاردێت.|tr=Em nermamêre bo jimêryarî bekardêt.|werger=Ev nermalav ji bo hejmardariyê tê bikaranîn.}}
#: {{mînak|ckb|کۆمپانیاکە نەرمامێری نوێ بەرهەم دەهێنێت.|tr=Kompanyake nermamêrî nwê berhem dehênêt.|werger=Kompanî nermalavên nû hildiberîne.}}
==== Dijwate ====
* {{g|ckb|ڕەقامێر}}
==== Hevwate ====
* {{g|ckb|نەرمەکاڵا}}
* {{g|ckb|سۆفتوێر}}
==== Têkildar ====
* {{g|ckb|ئامێر}}
* {{g|ckb|بەرنامە}}
* {{g|ckb|کۆمپیوتەر}}
7e2aeeuve3vwoe42gn9lw5y6ti5uile
6342227
6342225
2026-08-24T20:41:06Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342227
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[nermalav]] (hemû bername û rênimayiyên xebitandina kompûterê)
#: {{mînak|ckb|ئەم نەرمامێرە بۆ ژمێریاری بەکاردێت.|tr=Em nermamêre bo jimêryarî bekardêt.|werger=Ev nermalav ji bo hejmardariyê tê bikaranîn.}}
#: {{mînak|ckb|کۆمپانیاکە نەرمامێری نوێ بەرهەم دەهێنێت.|tr=Kompanyake nermamêrî nwê berhem dehênêt.|werger=Kompanî nermalavên nû hildiberîne.}}
==== Hevmane ====
* {{g|ckb|نەرمەکاڵا}}
* {{g|ckb|سۆفتوێر}}
==== Dijmane ====
* {{g|ckb|ڕەقامێر}}
==== Têkildar ====
* {{g|ckb|ئامێر}}
* {{g|ckb|بەرنامە}}
* {{g|ckb|کۆمپیوتەر}}
mgs45vy52gcolattjrup08ur2k166yo
6342238
6342227
2026-08-24T21:01:09Z
Şêr
1103
6342238
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[nermalav]] (hemû bername û talîmatên xebitandina kompûterê)
#: {{mînak|ckb|ئەم نەرمامێرە بۆ ژمێریاری بەکاردێت.|tr=Em nermamêre bo jimêryarî bekardêt.|werger=Ev nermalav ji bo mihasebeyê tê bikaranîn.}}
#: {{mînak|ckb|کۆمپانیاکە نەرمامێری نوێ بەرهەم دەهێنێت.|tr=Kompanyake nermamêrî nwê berhem dehênêt.|werger=Kompanî nermalavên nû hildiberîne.}}
==== Hevmane ====
* {{g|ckb|نەرمەکاڵا}}
* {{g|ckb|سۆفتوێر}}
==== Dijmane ====
* {{g|ckb|ڕەقامێر}}
==== Têkildar ====
* {{g|ckb|ئامێر}}
* {{g|ckb|بەرنامە}}
* {{g|ckb|کۆمپیوتەر}}
gvhhbu0cdxga9qdsn6fmcgwgnqovy0u
6342241
6342238
2026-08-24T21:16:29Z
Wikihez
7344
[[Bikarhêner:Wikihez/templateScript2.js|TS]]: +[[Şablon:îzah|îzah]]
6342241
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[nermalav]] {{îzah|hemû bername û talîmatên xebitandina kompûterê}}
#: {{mînak|ckb|ئەم '''نەرمامێرە''' بۆ ژمێریاری بەکاردێت.|tr=Em nermamêre bo jimêryarî bekardêt.|werger=Ev nermalav ji bo mihasebeyê tê bikaranîn.}}
#: {{mînak|ckb|کۆمپانیاکە '''نەرمامێری''' نوێ بەرهەم دەهێنێت.|tr=Kompanyake nermamêrî nwê berhem dehênêt.|werger=Kompanî nermalavên nû hildiberîne.}}
==== Hevmane ====
* {{g|ckb|نەرمەکاڵا}}
* {{g|ckb|سۆفتوێر}}
==== Dijmane ====
* {{g|ckb|ڕەقامێر}}
==== Têkildar ====
* {{g|ckb|ئامێر}}
* {{g|ckb|بەرنامە}}
* {{g|ckb|کۆمپیوتەر}}
4hcmyn7tmofvht1t6s55lhnuyvlbuvf
hezarpizrûk
0
1358826
6342230
2026-08-24T20:42:06Z
Nenas nepênî
14450
([[Mediawiki:Gadget-start.js|WF:NÛ]] v.2.0) +ku:navdêr:
6342230
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|c=m}}
# {{mane?|ku}}
#: {{hevmane|ku|Hezarpizrûk|Hezarpizûrk|Hûrk}}
#: {{nimûne|ku|'''Hezarpizrûka''' pez, hezarpizrûka berxikê,}}
#: {{nimûne|ku|'''hezarpizrûka''' çêlekê gelek mezine}}
==== Tewandin ====
{{ku-tewîn-nav|nêr}}
==== Etîmolojî ====
{{ji?|ku}}
==== Werger ====
{{werger-ser|?|1}}
* {{Z|tr}}: {{W|tr|Kırkkat}}, {{W|tr|Kırkat}}
{{werger-bin}}
ll2tzas22ur8wvodh28tz6fwsjkoylz
6342231
6342230
2026-08-24T20:44:22Z
Nenas nepênî
14450
/* Tewandin */
6342231
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|c=m}}
# {{mane?|ku}}
#: {{hevmane|ku|Hezarpizrûk|Hezarpizûrk|Hûrk}}
#: {{nimûne|ku|'''Hezarpizrûka''' pez, hezarpizrûka berxikê,}}
#: {{nimûne|ku|'''hezarpizrûka''' çêlekê gelek mezine}}
{{ku-tewîn-nav|Mê|Mê}}
==== Etîmolojî ====
{{ji?|ku}}
==== Werger ====
{{werger-ser|?|1}}
* {{Z|tr}}: {{W|tr|Kırkkat}}, {{W|tr|Kırkat}}
{{werger-bin}}
hqdoeszouu7ndna1pmpayggq6wakk9w
6342232
6342231
2026-08-24T20:46:13Z
Şêr
1103
Werger: +almanî : [[Blättermagen]] (bi alîkarî)
6342232
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|c=m}}
# {{mane?|ku}}
#: {{hevmane|ku|Hezarpizrûk|Hezarpizûrk|Hûrk}}
#: {{nimûne|ku|'''Hezarpizrûka''' pez, hezarpizrûka berxikê,}}
#: {{nimûne|ku|'''hezarpizrûka''' çêlekê gelek mezine}}
{{ku-tewîn-nav|Mê|Mê}}
==== Etîmolojî ====
{{ji?|ku}}
==== Werger ====
{{werger-ser|?|1}}
* {{Z|de}}: {{W+|de|Blättermagen|n}}
* {{Z|tr}}: {{W|tr|Kırkkat}}, {{W|tr|Kırkat}}
{{werger-bin}}
8g2t2mcnbk5ww395zu65e2gdzhimgb7
6342233
6342232
2026-08-24T20:53:13Z
Şêr
1103
6342233
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|c=m}}
# Beşa sêyem a [[mîde]]ya heywanên [[kavêj]] (wek [[çêlek]], [[mîh]] û [[bizin]]), a ku di hundirê wê ji gelek qat û perdeyên tenik ên wek rûpelên pirtûkê pêk tê û dikeve navbera [[retîkulum]] û [[şirdan]]ê.
#: {{hevmane|ku|Hezarpizrûk|Hezarpizûrk|Hûrk}}
#: {{nimûne|ku|'''Hezarpizrûka''' pez, hezarpizrûka berxikê,}}
#: {{nimûne|ku|'''hezarpizrûka''' çêlekê gelek mezine}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
{{ji?|ku}}
==== Werger ====
{{werger-ser|?|1}}
* {{Z|de}}: {{W+|de|Blättermagen|n}}
* {{Z|tr}}: {{W|tr|Kırkkat}}, {{W|tr|Kırkat}}
{{werger-bin}}
f8bkws6188mt9gpmcwz1zqylpvdetoy
6342234
6342233
2026-08-24T20:53:45Z
Şêr
1103
Werger: +îngilîzî : [[omasum]] (bi alîkarî)
6342234
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|c=m}}
# Beşa sêyem a [[mîde]]ya heywanên [[kavêj]] (wek [[çêlek]], [[mîh]] û [[bizin]]), a ku di hundirê wê ji gelek qat û perdeyên tenik ên wek rûpelên pirtûkê pêk tê û dikeve navbera [[retîkulum]] û [[şirdan]]ê.
#: {{hevmane|ku|Hezarpizrûk|Hezarpizûrk|Hûrk}}
#: {{nimûne|ku|'''Hezarpizrûka''' pez, hezarpizrûka berxikê,}}
#: {{nimûne|ku|'''hezarpizrûka''' çêlekê gelek mezine}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
{{ji?|ku}}
==== Werger ====
{{werger-ser|?|1}}
* {{Z|de}}: {{W+|de|Blättermagen|n}}
* {{Z|en}}: {{W+|en|omasum}}
* {{Z|tr}}: {{W|tr|Kırkkat}}, {{W|tr|Kırkat}}
{{werger-bin}}
2ppnxt88aqtvqriiwmzt48jsav3rz4b
6342247
6342234
2026-08-24T21:34:16Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v2.0).
6342247
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|c=m}}
# Beşa sêyem a [[mîde]]ya heywanên [[kavêj]] (wek [[çêlek]], [[mîh]] û [[bizin]]), a ku di hundirê wê ji gelek qat û perdeyên tenik ên wek rûpelên pirtûkê pêk tê û dikeve navbera [[retîkulum]] û [[şirdan]]ê.
#: {{hevmane|ku|Hezarpizrûk|Hezarpizûrk|Hûrk}}
#: {{nimûne|ku|'''Hezarpizrûka''' pez, hezarpizrûka berxikê,}}
#: {{nimûne|ku|'''hezarpizrûka''' çêlekê gelek mezine}}
#* {{jêder-kovar|ku|nivîskar=Suut Kılıç|sernav=Ez û Hez|kovar={{w|Nûdem (kovar)|Nûdem}}|hejmar=10|sal=1994|rûpel=77|jêgirtin=Ev bû mehek ku jiyan, bêyî min derbas dibe. Dilê min dixewire, hildibe, lê dike nake firseta herikandinê nabîne. Ev mehek e ku min xwe ji bîr kiriye. Li aliyekî Ezê min, berê xwe dide cihekî û li aliyê din Hezê min, ji qehra, xwe dixe nav '''hezarpizrûkên''' xwe. Ji hev belavbûn, qey wiha ye.}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
{{ji?|ku}}
==== Werger ====
{{werger-ser|?|1}}
* {{Z|de}}: {{W+|de|Blättermagen|n}}
* {{Z|en}}: {{W+|en|omasum}}
* {{Z|tr}}: {{W|tr|Kırkkat}}, {{W|tr|Kırkat}}
{{werger-bin}}
acw6ls2dhzw07nqalvcw8q4js7u4a7b
6342305
6342247
2026-08-24T23:28:36Z
Wikihez
7344
/* Navdêr */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342305
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|c=m}}
# Beşa sêyem a [[mîde]]ya heywanên [[kavêj]] (wek [[çêlek]], [[mîh]] û [[bizin]]), a ku di hundirê wê ji gelek qat û perdeyên tenik ên wek rûpelên pirtûkê pêk tê û dikeve navbera [[retîkulum]] û [[şirdan]]ê.
#: {{alt-r|ku|hezarpizûrk}}
#: {{hevmane|ku|hûrk}}
#: {{nimûne|ku|'''Hezarpizrûka''' pez, hezarpizrûka berxikê,}}
#: {{nimûne|ku|'''hezarpizrûka''' çêlekê gelek mezine}}
#* {{jêder-kovar|ku|nivîskar=Suut Kılıç|sernav=Ez û Hez|kovar={{w|Nûdem (kovar)|Nûdem}}|hejmar=10|sal=1994|rûpel=77|jêgirtin=Ev bû mehek ku jiyan, bêyî min derbas dibe. Dilê min dixewire, hildibe, lê dike nake firseta herikandinê nabîne. Ev mehek e ku min xwe ji bîr kiriye. Li aliyekî Ezê min, berê xwe dide cihekî û li aliyê din Hezê min, ji qehra, xwe dixe nav '''hezarpizrûkên''' xwe. Ji hev belavbûn, qey wiha ye.}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
{{ji?|ku}}
==== Werger ====
{{werger-ser|?|1}}
* {{Z|de}}: {{W+|de|Blättermagen|n}}
* {{Z|en}}: {{W+|en|omasum}}
* {{Z|tr}}: {{W|tr|Kırkkat}}, {{W|tr|Kırkat}}
{{werger-bin}}
6ui9gyv2leea3yjznabx4nqg8e9v6zl
6342306
6342305
2026-08-24T23:28:52Z
Wikihez
7344
/* Werger */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342306
wikitext
text/x-wiki
== {{ziman|ku}} ==
=== Navdêr ===
{{navdêr|ku|c=m}}
# Beşa sêyem a [[mîde]]ya heywanên [[kavêj]] (wek [[çêlek]], [[mîh]] û [[bizin]]), a ku di hundirê wê ji gelek qat û perdeyên tenik ên wek rûpelên pirtûkê pêk tê û dikeve navbera [[retîkulum]] û [[şirdan]]ê.
#: {{alt-r|ku|hezarpizûrk}}
#: {{hevmane|ku|hûrk}}
#: {{nimûne|ku|'''Hezarpizrûka''' pez, hezarpizrûka berxikê,}}
#: {{nimûne|ku|'''hezarpizrûka''' çêlekê gelek mezine}}
#* {{jêder-kovar|ku|nivîskar=Suut Kılıç|sernav=Ez û Hez|kovar={{w|Nûdem (kovar)|Nûdem}}|hejmar=10|sal=1994|rûpel=77|jêgirtin=Ev bû mehek ku jiyan, bêyî min derbas dibe. Dilê min dixewire, hildibe, lê dike nake firseta herikandinê nabîne. Ev mehek e ku min xwe ji bîr kiriye. Li aliyekî Ezê min, berê xwe dide cihekî û li aliyê din Hezê min, ji qehra, xwe dixe nav '''hezarpizrûkên''' xwe. Ji hev belavbûn, qey wiha ye.}}
==== Tewandin ====
{{ku-tewîn-nav|mê}}
==== Etîmolojî ====
{{ji?|ku}}
==== Werger ====
{{werger-ser}}
* {{Z|de}}: {{W+|de|Blättermagen|n}}
* {{Z|en}}: {{W+|en|omasum}}
* {{Z|tr}}: {{W|tr|Kırkkat}}, {{W|tr|Kırkat}}
{{werger-bin}}
g268mkdlgjtp1iq0l42jbrf5qkga3kh
میوان
0
1358827
6342277
2026-08-24T22:41:24Z
Şêr
1103
Rûpel bi "== {{ziman|ckb}} == === Navdêr === {{navdêr|ckb}} # [[mêvan]], [[hêwir]] (kesê ku diçe serdana malekê an cihekî din) #* {{mînak|ckb|ئەمڕۆ میوانمان دێت.|tr=Emro mîwanman dêt.|werger=Îro mêvanê me tê.}} ==== Formên alternatîv ==== * {{g|ckb|مێوان}} ==== Têkildar ==== * {{g|ckb|میوانداری}} * {{g|ckb|میوانخانە}} * {{g|ckb|میواندار}} * {{g|ckb|ماڵ}}" hat çêkirin
6342277
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mêvan]], [[hêwir]] (kesê ku diçe serdana malekê an cihekî din)
#* {{mînak|ckb|ئەمڕۆ میوانمان دێت.|tr=Emro mîwanman dêt.|werger=Îro mêvanê me tê.}}
==== Formên alternatîv ====
* {{g|ckb|مێوان}}
==== Têkildar ====
* {{g|ckb|میوانداری}}
* {{g|ckb|میوانخانە}}
* {{g|ckb|میواندار}}
* {{g|ckb|ماڵ}}
001mz4onq1vr0yfu03utx5tc43fqib7
6342278
6342277
2026-08-24T22:42:30Z
Şêr
1103
6342278
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
#: [[mêvan]], [[hêwir]] (kesê ku diçe serdana malekê an cihekî din)
#: {{mînak|ckb|ئەمڕۆ میوانمان دێت.|tr=Emro mîwanman dêt.|werger=Îro mêvanê me tê.}}
==== Formên alternatîv ====
* {{g|ckb|مێوان}}
==== Têkildar ====
* {{g|ckb|میوانداری}}
* {{g|ckb|میوانخانە}}
* {{g|ckb|میواندار}}
* {{g|ckb|ماڵ}}
7u2543jrne9avvfcwpnjwvyu78sgkxp
6342287
6342278
2026-08-24T22:55:41Z
Wikihez
7344
([[m:Special:MyLanguage/User:Jon Harald Søby/diffedit|diffedit]])
6342287
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mêvan]], [[hêwir]] {{îzah|kesê ku diçe [[serdan]]a malekê an cihekî din}}
#: {{mînak|ckb|ئەمڕۆ میوانمان دێت.|tr=Emro mîwanman dêt.|werger=Îro mêvanê me tê.}}
==== Formên alternatîv ====
* {{g|ckb|مێوان}}
==== Têkildar ====
* {{g|ckb|میوانداری}}
* {{g|ckb|میوانخانە}}
* {{g|ckb|میواندار}}
* {{g|ckb|ماڵ}}
fhuwo3w4ocqdgzbn36lefou8rfm0tak
6342288
6342287
2026-08-24T22:56:39Z
Şêr
1103
6342288
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mêvan]] {{îzah|kesê ku diçe [[serdan]]a malekê an cihekî din}}
#: {{mînak|ckb|ئەمڕۆ میوانمان دێت.|tr=Emro mîwanman dêt.|werger=Îro mêvanê me tê.}}
==== Formên alternatîv ====
* {{g|ckb|مێوان}}
==== Têkildar ====
* {{g|ckb|میوانداری}}
* {{g|ckb|میوانخانە}}
* {{g|ckb|میواندار}}
* {{g|ckb|ماڵ}}
93i7xav0jiskznjf7w11ij4wzlgog6q
6342293
6342288
2026-08-24T23:15:37Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v2.0).
6342293
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mêvan]] {{îzah|kesê ku diçe [[serdan]]a malekê an cihekî din}}
#: {{mînak|ckb|ئەمڕۆ میوانمان دێت.|tr=Emro mîwanman dêt.|werger=Îro mêvanê me tê.}}
#* {{jêder-websîte|ckb|nivîskar=شێرکۆ بێکەس|sernav=بۆ دوو میوان|websîte=zaniary.com|url=https://zaniary.com/blog/627d758973d8c|tarîx=2026-08-24|jêgirtin=بارانیش جۆگە شیعرێکی ئەنووسیەوە. <br>لە جۆلانەی شەپۆلیشدا<br>شیعریش بەدەم سەمای وشە و درەختەوە<br>بۆ دوو دڵداری '''میوانی<br>دیوانی''' باران و کەژ و}}
==== Formên alternatîv ====
* {{g|ckb|مێوان}}
==== Têkildar ====
* {{g|ckb|میوانداری}}
* {{g|ckb|میوانخانە}}
* {{g|ckb|میواندار}}
* {{g|ckb|ماڵ}}
l2wfrbo7pm21ske3b2jqo5w7jkz53hn
6342295
6342293
2026-08-24T23:16:29Z
Wikihez
7344
/* Navdêr */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342295
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mêvan]] {{îzah|kesê ku diçe [[serdan]]a malekê an cihekî din}}
#: {{mînak|ckb|ئەمڕۆ میوانمان دێت.|tr=Emro mîwanman dêt.|werger=Îro mêvanê me tê.}}
#* {{jêder-websîte|ckb|nivîskar=ckb:شێرکۆ بێکەس|sernav=ckb:بۆ دوو میوان|websîte=zaniary.com|url=https://zaniary.com/blog/627d758973d8c|tarîx=2026-08-24|jêgirtin=بارانیش جۆگە شیعرێکی ئەنووسیەوە. <br>لە جۆلانەی شەپۆلیشدا<br>شیعریش بەدەم سەمای وشە و درەختەوە<br>بۆ دوو دڵداری '''میوانی<br>دیوانی''' باران و کەژ و}}
==== Formên alternatîv ====
* {{g|ckb|مێوان}}
==== Têkildar ====
* {{g|ckb|میوانداری}}
* {{g|ckb|میوانخانە}}
* {{g|ckb|میواندار}}
* {{g|ckb|ماڵ}}
n7zuzf4k614uiiawsa2bwq7wpay9zbb
6342296
6342295
2026-08-24T23:17:14Z
Wikihez
7344
/* Navdêr */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342296
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mêvan]] {{îzah|kesê ku diçe [[serdan]]a malekê an cihekî din}}
#: {{mînak|ckb|ئەمڕۆ میوانمان دێت.|tr=Emro mîwanman dêt.|werger=Îro mêvanê me tê.}}
#* {{jêder-websîte|ckb|nivîskar=ckb:شێرکۆ بێکەس|sernav=ckb:بۆ دوو میوان|websîte=zaniary.com|url=https://zaniary.com/blog/627d758973d8c|tarîx=2022-05-12|jêgirtin=بارانیش جۆگە شیعرێکی ئەنووسیەوە. <br>لە جۆلانەی شەپۆلیشدا<br>شیعریش بەدەم سەمای وشە و درەختەوە<br>بۆ دوو دڵداری '''میوانی<br>دیوانی''' باران و کەژ و}}
==== Formên alternatîv ====
* {{g|ckb|مێوان}}
==== Têkildar ====
* {{g|ckb|میوانداری}}
* {{g|ckb|میوانخانە}}
* {{g|ckb|میواندار}}
* {{g|ckb|ماڵ}}
34vfx4ndpznrd49tk8icefi21zjiann
6342298
6342296
2026-08-24T23:17:48Z
Wikihez
7344
/* Têkildar */ (bi [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]ê re)
6342298
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mêvan]] {{îzah|kesê ku diçe [[serdan]]a malekê an cihekî din}}
#: {{mînak|ckb|ئەمڕۆ میوانمان دێت.|tr=Emro mîwanman dêt.|werger=Îro mêvanê me tê.}}
#* {{jêder-websîte|ckb|nivîskar=ckb:شێرکۆ بێکەس|sernav=ckb:بۆ دوو میوان|websîte=zaniary.com|url=https://zaniary.com/blog/627d758973d8c|tarîx=2022-05-12|jêgirtin=بارانیش جۆگە شیعرێکی ئەنووسیەوە. <br>لە جۆلانەی شەپۆلیشدا<br>شیعریش بەدەم سەمای وشە و درەختەوە<br>بۆ دوو دڵداری '''میوانی<br>دیوانی''' باران و کەژ و}}
==== Formên alternatîv ====
* {{g|ckb|مێوان}}
==== Têkildar ====
* {{g|ckb|میوانداری}}
* {{g|ckb|میوانخانە}}
* {{g|ckb|میواندار}}
==== Herwiha binêre ====
* {{g|ckb|ماڵ}}
h0w6wjuu1tnhv00k94wv0jxm897x7x8
6342300
6342298
2026-08-24T23:19:06Z
Wikihez
7344
6342300
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mêvan]] {{îzah|kesê ku diçe [[serdan]]a malekê an cihekî din}}
#: {{mînak|ckb|ئەمڕۆ میوانمان دێت.|tr=Emro mîwanman dêt.|werger=Îro mêvanê me tê.}}
#* {{jêder-websîte|ckb|nivîskar=ckb:شێرکۆ بێکەس|sernav=ckb:بۆ دوو میوان|websîte=zaniary.com|url=https://zaniary.com/blog/627d758973d8c|tarîx=2022-05-12|jêgirtin=بارانیش جۆگە شیعرێکی ئەنووسیەوە. <br>لە جۆلانەی شەپۆلیشدا<br>شیعریش بەدەم سەمای وشە و درەختەوە<br>'''بۆ دوو دڵداری '''میوانی<br>دیوانی باران و کەژ و}}
==== Formên alternatîv ====
* {{g|ckb|مێوان}}
==== Têkildar ====
* {{g|ckb|میوانداری}}
* {{g|ckb|میوانخانە}}
* {{g|ckb|میواندار}}
==== Herwiha binêre ====
* {{g|ckb|ماڵ}}
rhv4gs5vkeh3l72lsms1zvggks5ziwn
خۆشەویستی
0
1358828
6342290
2026-08-24T22:59:20Z
Şêr
1103
Rûpel bi "== {{ziman|ckb}} == === Navdêr === {{navdêr|ckb}} # [[evîn]], [[hezkirin]], [[dildarî]] (hesteke kûr û germ a dilpêvebûn û girêdanê) #: {{mînak|ckb|خۆشەویستی بەهێزترین هەستی مرۆڤە.|tr=Xoşewîstî behêztrîn hestî mirove.|werger=Evîn hesta herî bihêz a mirov e.}} #: {{mînak|ckb|ئەو بە خۆشەویستییەوە کارەکەی ئەنجام دەدات.|tr=Ew be xoşewîstîyewe karekey encam dedat.|werger=Ew bi hezk..." hat çêkirin
6342290
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[evîn]], [[hezkirin]], [[dildarî]] (hesteke kûr û germ a dilpêvebûn û girêdanê)
#: {{mînak|ckb|خۆشەویستی بەهێزترین هەستی مرۆڤە.|tr=Xoşewîstî behêztrîn hestî mirove.|werger=Evîn hesta herî bihêz a mirov e.}}
#: {{mînak|ckb|ئەو بە خۆشەویستییەوە کارەکەی ئەنجام دەدات.|tr=Ew be xoşewîstîyewe karekey encam dedat.|werger=Ew bi hezkirinê ve karê xwe dike.}}
==== Dijmane ====
* {{g|ckb|ڕق}}
* {{g|ckb|قین}}
* {{g|ckb|بێزاری}}
==== Hevmane ====
* {{g|ckb|ئەوین}}
* {{g|ckb|دڵداری}}
* {{g|ckb|ئەڤین}}
==== Têkildar ====
* {{g|ckb|خۆشەویست}}
* {{g|ckb|دڵ}}
* {{g|ckb|ئاشق}}
3hsy291tlq6jhppj8g10624jx3kvd9l
6342291
6342290
2026-08-24T23:09:16Z
Wikihez
7344
+nimûneya bikaranînê bi amûra « [[Mediawiki:Gadget-wikt.add-examples|Nimûne zêde bike]] » (v2.0).
6342291
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[evîn]], [[hezkirin]], [[dildarî]] (hesteke kûr û germ a dilpêvebûn û girêdanê)
#: {{mînak|ckb|خۆشەویستی بەهێزترین هەستی مرۆڤە.|tr=Xoşewîstî behêztrîn hestî mirove.|werger=Evîn hesta herî bihêz a mirov e.}}
#: {{mînak|ckb|ئەو بە خۆشەویستییەوە کارەکەی ئەنجام دەدات.|tr=Ew be xoşewîstîyewe karekey encam dedat.|werger=Ew bi hezkirinê ve karê xwe dike.}}
#* {{jêder-websîte|ckb|nivîskar=حەمە سەعید حەسەن|sernav=خۆشەویستی|websîte=Zed Press|url=https://zedpress.krd/culture/11925/|tarîx=2024-06-04|jêgirtin=ئایا '''خۆشەویستی''' ئەو داوەیە، دەنکەکانی ملوانکەی دونیا، پێکەوە کۆ دەکاتەوە؟ یان ئەو کلیلەیە، دەرگاکانی بەهەشت بە ڕووماندا دەخاتە سەر پشت؟}}
==== Dijmane ====
* {{g|ckb|ڕق}}
* {{g|ckb|قین}}
* {{g|ckb|بێزاری}}
==== Hevmane ====
* {{g|ckb|ئەوین}}
* {{g|ckb|دڵداری}}
* {{g|ckb|ئەڤین}}
==== Têkildar ====
* {{g|ckb|خۆشەویست}}
* {{g|ckb|دڵ}}
* {{g|ckb|ئاشق}}
3gsmsd0xo3eeve9p1f2xoua39dhaofy
6342292
6342291
2026-08-24T23:11:49Z
Wikihez
7344
[[Bikarhêner:Wikihez/templateScript2.js|TS]]: +[[Şablon:îzah|îzah]]
6342292
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[evîn]], [[hezkirin]], [[dildarî]] {{îzah|[[hest|hesteke]] [[kûr|kûr]] û [[germ|germ]] a [[dilpêvebûn|dilpêvebûn]] û [[girêdan|girêdanê]]}}
#: {{mînak|ckb|خۆشەویستی بەهێزترین هەستی مرۆڤە.|tr=Xoşewîstî behêztrîn hestî mirove.|werger=Evîn hesta herî bihêz a mirov e.}}
#: {{mînak|ckb|ئەو بە خۆشەویستییەوە کارەکەی ئەنجام دەدات.|tr=Ew be xoşewîstîyewe karekey encam dedat.|werger=Ew bi hezkirinê ve karê xwe dike.}}
#* {{jêder-websîte|ckb|nivîskar=حەمە سەعید حەسەن|sernav=خۆشەویستی|websîte=Zed Press|url=https://zedpress.krd/culture/11925/|tarîx=2024-06-04|jêgirtin=ئایا '''خۆشەویستی''' ئەو داوەیە، دەنکەکانی ملوانکەی دونیا، پێکەوە کۆ دەکاتەوە؟ یان ئەو کلیلەیە، دەرگاکانی بەهەشت بە ڕووماندا دەخاتە سەر پشت؟}}
==== Dijmane ====
* {{g|ckb|ڕق}}
* {{g|ckb|قین}}
* {{g|ckb|بێزاری}}
==== Hevmane ====
* {{g|ckb|ئەوین}}
* {{g|ckb|دڵداری}}
* {{g|ckb|ئەڤین}}
==== Têkildar ====
* {{g|ckb|خۆشەویست}}
==== Herwiha binêre ====
* {{g|ckb|دڵ}}
* {{g|ckb|ئاشق}}
dttiht7t0n13picootzprmxil0a0geu
6342315
6342292
2026-08-24T23:41:22Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342315
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[evîn]], [[hezkirin]], [[dildarî]] {{îzah|[[hest|hesteke]] [[kûr|kûr]] û [[germ|germ]] a [[dilpêvebûn|dilpêvebûn]] û [[girêdan|girêdanê]]}}
#: {{mînak|ckb|خۆشەویستی بەهێزترین هەستی مرۆڤە.|tr=Xoşewîstî behêztrîn hestî mirove.|werger=Evîn hesta herî bihêz a mirov e.}}
#: {{mînak|ckb|ئەو بە خۆشەویستییەوە کارەکەی ئەنجام دەدات.|tr=Ew be xoşewîstîyewe karekey encam dedat.|werger=Ew bi hezkirinê ve karê xwe dike.}}
#* {{jêder-websîte|ckb|nivîskar=حەمە سەعید حەسەن|sernav=خۆشەویستی|websîte=Zed Press|url=https://zedpress.krd/culture/11925/|tarîx=2024-06-04|jêgirtin=ئایا '''خۆشەویستی''' ئەو داوەیە، دەنکەکانی ملوانکەی دونیا، پێکەوە کۆ دەکاتەوە؟ یان ئەو کلیلەیە، دەرگاکانی بەهەشت بە ڕووماندا دەخاتە سەر پشت؟}}
==== Hevmane ====
* {{g|ckb|ئەوین}}
* {{g|ckb|دڵداری}}
* {{g|ckb|ئەڤین}}
==== Dijmane ====
* {{g|ckb|ڕق}}
* {{g|ckb|قین}}
* {{g|ckb|بێزاری}}
==== Têkildar ====
* {{g|ckb|خۆشەویست}}
==== Herwiha binêre ====
* {{g|ckb|دڵ}}
* {{g|ckb|ئاشق}}
4qlxrwag2z2rssuhfc08dd9sd5rxg1w
6342319
6342315
2026-08-25T00:12:05Z
Balyozbot
7867
Bot: Paqijiyên kozmetîk (Lînk paqij kir.)
6342319
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[evîn]], [[hezkirin]], [[dildarî]] {{îzah|[[hest]]eke [[kûr]] û [[germ]] a [[dilpêvebûn]] û [[girêdan]]ê}}
#: {{mînak|ckb|خۆشەویستی بەهێزترین هەستی مرۆڤە.|tr=Xoşewîstî behêztrîn hestî mirove.|werger=Evîn hesta herî bihêz a mirov e.}}
#: {{mînak|ckb|ئەو بە خۆشەویستییەوە کارەکەی ئەنجام دەدات.|tr=Ew be xoşewîstîyewe karekey encam dedat.|werger=Ew bi hezkirinê ve karê xwe dike.}}
#* {{jêder-websîte|ckb|nivîskar=حەمە سەعید حەسەن|sernav=خۆشەویستی|websîte=Zed Press|url=https://zedpress.krd/culture/11925/|tarîx=2024-06-04|jêgirtin=ئایا '''خۆشەویستی''' ئەو داوەیە، دەنکەکانی ملوانکەی دونیا، پێکەوە کۆ دەکاتەوە؟ یان ئەو کلیلەیە، دەرگاکانی بەهەشت بە ڕووماندا دەخاتە سەر پشت؟}}
==== Hevmane ====
* {{g|ckb|ئەوین}}
* {{g|ckb|دڵداری}}
* {{g|ckb|ئەڤین}}
==== Dijmane ====
* {{g|ckb|ڕق}}
* {{g|ckb|قین}}
* {{g|ckb|بێزاری}}
==== Têkildar ====
* {{g|ckb|خۆشەویست}}
==== Herwiha binêre ====
* {{g|ckb|دڵ}}
* {{g|ckb|ئاشق}}
13xa2igfksj8s6ite2f6ihu5o8aj8r0
هەرگیز
0
1358829
6342294
2026-08-24T23:15:48Z
Şêr
1103
Rûpel bi "== {{ziman|ckb}} == === Hoker === {{hoker|ckb}} # [[qet]], [[tu caran]], [[hîç]] (di ti demê de, bi ti awayî) #: {{mînak|ckb|هەرگیز ئەو ڕۆژە لەبیر ناکەم.|tr=Hergîz ew roje le bîr nakem.|werger=Ez tu caran wê rojê ji bîr nakim.}} ==== Dijmane ==== * {{g|ckb|هەمیشە}} * {{g|ckb|هەردەم}} * {{g|ckb|بەردەوام}} ==== Hevmane ==== * {{g|ckb|قەت}} * {{g|ckb|هیچ کات}} * {{g|ckb|هیچ دەم}} ==== Têkildar ==..." hat çêkirin
6342294
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Hoker ===
{{hoker|ckb}}
# [[qet]], [[tu caran]], [[hîç]] (di ti demê de, bi ti awayî)
#: {{mînak|ckb|هەرگیز ئەو ڕۆژە لەبیر ناکەم.|tr=Hergîz ew roje le bîr nakem.|werger=Ez tu caran wê rojê ji bîr nakim.}}
==== Dijmane ====
* {{g|ckb|هەمیشە}}
* {{g|ckb|هەردەم}}
* {{g|ckb|بەردەوام}}
==== Hevmane ====
* {{g|ckb|قەت}}
* {{g|ckb|هیچ کات}}
* {{g|ckb|هیچ دەم}}
==== Têkildar ====
* {{g|ckb|کات}}
* {{g|ckb|دەم}}
t8pjpcwgzrd3l46vaszwpsu1hy3taxn
6342299
6342294
2026-08-24T23:18:04Z
Şêr
1103
6342299
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Hoker ===
{{hoker|ckb}}
# [[qet]], [[tu carî]], [[hîç]] (di ti demê de, bi ti awayî)
#: {{mînak|ckb|هەرگیز ئەو ڕۆژە لەبیر ناکەم.|tr=Hergîz ew roje le bîr nakem.|werger=Ez tu carî wê rojê ji bîr nakim.}}
==== Dijmane ====
* {{g|ckb|هەمیشە}}
* {{g|ckb|هەردەم}}
* {{g|ckb|بەردەوام}}
==== Hevmane ====
* {{g|ckb|قەت}}
* {{g|ckb|هیچ کات}}
* {{g|ckb|هیچ دەم}}
==== Têkildar ====
* {{g|ckb|کات}}
* {{g|ckb|دەم}}
e0gbsqjse90if5vxcev1i552xf82i90
6342313
6342299
2026-08-24T23:41:16Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342313
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Hoker ===
{{hoker|ckb}}
# [[qet]], [[tu carî]], [[hîç]] (di ti demê de, bi ti awayî)
#: {{mînak|ckb|هەرگیز ئەو ڕۆژە لەبیر ناکەم.|tr=Hergîz ew roje le bîr nakem.|werger=Ez tu carî wê rojê ji bîr nakim.}}
==== Hevmane ====
* {{g|ckb|قەت}}
* {{g|ckb|هیچ کات}}
* {{g|ckb|هیچ دەم}}
==== Dijmane ====
* {{g|ckb|هەمیشە}}
* {{g|ckb|هەردەم}}
* {{g|ckb|بەردەوام}}
==== Têkildar ====
* {{g|ckb|کات}}
* {{g|ckb|دەم}}
rc9xsx2lsgsuqxbgl555hbdnt7gvmyu
هاوڕێ
0
1358830
6342301
2026-08-24T23:23:08Z
Şêr
1103
Rûpel bi "== {{ziman|ckb}} == === Navdêr === {{navdêr|ckb}} # [[heval]], [[hogir]], [[dost]] (kesê ku pêwendiyeke nêzîk û dilsozane pê re heye) #: {{mînak|ckb|کتێب باشترین هاوڕێی مرۆڤە.|tr=Ktêb baştrîn hawrêy mirove.|werger=Kitêb hevalê herî baş ê mirov e.}} #: {{mînak|ckb|من و هاوڕێکەم بەیەکەوە دەچین بۆ زانکۆ.|tr=Min u hawrêkem beyekewe deçîn bo zanko.|werger=Ez û hevalê xwe bi hev re diçin zanî..." hat çêkirin
6342301
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[heval]], [[hogir]], [[dost]] (kesê ku pêwendiyeke nêzîk û dilsozane pê re heye)
#: {{mînak|ckb|کتێب باشترین هاوڕێی مرۆڤە.|tr=Ktêb baştrîn hawrêy mirove.|werger=Kitêb hevalê herî baş ê mirov e.}}
#: {{mînak|ckb|من و هاوڕێکەم بەیەکەوە دەچین بۆ زانکۆ.|tr=Min u hawrêkem beyekewe deçîn bo zanko.|werger=Ez û hevalê xwe bi hev re diçin zanîngehê.}}
==== Dijmane ====
* {{g|ckb|دوژمن}}
* {{g|ckb|نەیار}}
==== Hevmane ====
* {{g|ckb|برادەر}}
* {{g|ckb|دۆست}}
* {{g|ckb|هەڤاڵ}}
==== Têkildar ====
* {{g|ckb|هاوڕێیەتی}}
* {{g|ckb|دۆستایەتی}}
oi0xq1c2yvcsjz680ghrc2wlwl8r0gg
6342303
6342301
2026-08-24T23:24:29Z
Şêr
1103
6342303
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[heval]], [[hogir]], [[dost]] (kesê ku pêwendiyeke nêzîk û dilsozane pê re heye)
#: {{mînak|ckb|کتێب باشترین هاوڕێی مرۆڤە.|tr=Kitêb baştrîn hawrêy mirove.|werger=Kitêb hevalê herî baş ê mirov e.}}
#: {{mînak|ckb|من و هاوڕێکەم بەیەکەوە دەچین بۆ زانکۆ.|tr=Min u hawrêkem beyekewe deçîn bo zanko.|werger=Ez û hevalê xwe bi hev re diçin zanîngehê.}}
==== Dijmane ====
* {{g|ckb|دوژمن}}
* {{g|ckb|نەیار}}
==== Hevmane ====
* {{g|ckb|برادەر}}
* {{g|ckb|دۆست}}
* {{g|ckb|هەڤاڵ}}
==== Têkildar ====
* {{g|ckb|هاوڕێیەتی}}
* {{g|ckb|دۆستایەتی}}
bgejfaca0q00sqs7g4eb8litsjzxrog
6342304
6342303
2026-08-24T23:25:07Z
Şêr
1103
6342304
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[heval]], [[hogir]], [[dost]] (kesê/a ku pêwendiyeke nêzîk û dilsozane pê re heye)
#: {{mînak|ckb|کتێب باشترین هاوڕێی مرۆڤە.|tr=Kitêb baştrîn hawrêy mirove.|werger=Kitêb hevalê herî baş ê mirov e.}}
#: {{mînak|ckb|من و هاوڕێکەم بەیەکەوە دەچین بۆ زانکۆ.|tr=Min u hawrêkem beyekewe deçîn bo zanko.|werger=Ez û hevalê xwe bi hev re diçin zanîngehê.}}
==== Dijmane ====
* {{g|ckb|دوژمن}}
* {{g|ckb|نەیار}}
==== Hevmane ====
* {{g|ckb|برادەر}}
* {{g|ckb|دۆست}}
* {{g|ckb|هەڤاڵ}}
==== Têkildar ====
* {{g|ckb|هاوڕێیەتی}}
* {{g|ckb|دۆستایەتی}}
3kjsmkqfn7cyr3l15fvgcmsgrb8z3gj
6342312
6342304
2026-08-24T23:41:13Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342312
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[heval]], [[hogir]], [[dost]] (kesê/a ku pêwendiyeke nêzîk û dilsozane pê re heye)
#: {{mînak|ckb|کتێب باشترین هاوڕێی مرۆڤە.|tr=Kitêb baştrîn hawrêy mirove.|werger=Kitêb hevalê herî baş ê mirov e.}}
#: {{mînak|ckb|من و هاوڕێکەم بەیەکەوە دەچین بۆ زانکۆ.|tr=Min u hawrêkem beyekewe deçîn bo zanko.|werger=Ez û hevalê xwe bi hev re diçin zanîngehê.}}
==== Hevmane ====
* {{g|ckb|برادەر}}
* {{g|ckb|دۆست}}
* {{g|ckb|هەڤاڵ}}
==== Dijmane ====
* {{g|ckb|دوژمن}}
* {{g|ckb|نەیار}}
==== Têkildar ====
* {{g|ckb|هاوڕێیەتی}}
* {{g|ckb|دۆستایەتی}}
rxi0i6a6c4b728rin35n5dtdtq40egm
ورە
0
1358831
6342308
2026-08-24T23:37:30Z
Şêr
1103
Rûpel bi "== {{ziman|ckb}} == === Navdêr === {{navdêr|ckb}} # [[moral]], [[hêza derûnî]], [[cesaret]] (hêz û pêbaweriya hundirîn a mirov li hember dijwarî û astengan) #: {{mînak|ckb|ئەوان بە ورەیەکی بەرزەوە ڕووبەڕووی کێشەکان بوونەوە.|tr=Ewan be wireyekî berzewe rûberrûyî kêşekan bûnewe.|werger=Ew bi moralekî bilind ve rûbirûyî pirsgirêkan bûn.}} #: {{mînak|ckb|شکست نابێت ورەی تۆ داببە..." hat çêkirin
6342308
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[moral]], [[hêza derûnî]], [[cesaret]] (hêz û pêbaweriya hundirîn a mirov li hember dijwarî û astengan)
#: {{mînak|ckb|ئەوان بە ورەیەکی بەرزەوە ڕووبەڕووی کێشەکان بوونەوە.|tr=Ewan be wireyekî berzewe rûberrûyî kêşekan bûnewe.|werger=Ew bi moralekî bilind ve rûbirûyî pirsgirêkan bûn.}}
#: {{mînak|ckb|شکست نابێت ورەی تۆ داببەزێنێت.|tr=Şikist nabêt wirey to dabbezênêt.|werger=Têkçûn nabe ku morala te daxe.}}
==== Dijmane ====
* {{g|ckb|بێورەیی}}
* {{g|ckb|ورەبەردان}}
==== Hevmane ====
* {{g|ckb|ئیرادە}}
* {{g|ckb|چاونەترسی}}
* {{g|ckb|ورەی بەرز}}
==== Têkildar ====
* {{g|ckb|بەورە}}
* {{g|ckb|بێورە}}
* {{g|ckb|ئازایەتی}}
chhg3d4ql14uruahk4yl8secw4zw3p1
6342309
6342308
2026-08-24T23:38:29Z
Şêr
1103
6342309
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[moral]], [[hêza derûnî]], [[cesaret]] (hêz û pêbaweriya hundirîn a mirov li hember dijwarî û astengan)
#: {{mînak|ckb|ئەوان بە ورەیەکی بەرزەوە ڕووبەڕووی کێشەکان بوونەوە.|tr=Ewan be wireyekî berzewe rûberrûyî kêşekan bûnewe.|werger=Ew bi moralekî bilind ve rûbirûyî pirsgirêkan bûn.}}
#: {{mînak|ckb|شکست نابێت ورەی تۆ داببەزێنێت.|tr=Şikist nabêt wireyî to dabbezênêt.|werger=Têkçûn nabe ku moralê te daxe.}}
==== Dijmane ====
* {{g|ckb|بێورەیی}}
* {{g|ckb|ورەبەردان}}
==== Hevmane ====
* {{g|ckb|ئیرادە}}
* {{g|ckb|چاونەترسی}}
* {{g|ckb|ورەی بەرز}}
==== Têkildar ====
* {{g|ckb|بەورە}}
* {{g|ckb|بێورە}}
* {{g|ckb|ئازایەتی}}
5xmy566lz0hkm81yhqizsm107o70ag4
6342310
6342309
2026-08-24T23:41:07Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342310
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[moral]], [[hêza derûnî]], [[cesaret]] (hêz û pêbaweriya hundirîn a mirov li hember dijwarî û astengan)
#: {{mînak|ckb|ئەوان بە ورەیەکی بەرزەوە ڕووبەڕووی کێشەکان بوونەوە.|tr=Ewan be wireyekî berzewe rûberrûyî kêşekan bûnewe.|werger=Ew bi moralekî bilind ve rûbirûyî pirsgirêkan bûn.}}
#: {{mînak|ckb|شکست نابێت ورەی تۆ داببەزێنێت.|tr=Şikist nabêt wireyî to dabbezênêt.|werger=Têkçûn nabe ku moralê te daxe.}}
==== Hevmane ====
* {{g|ckb|ئیرادە}}
* {{g|ckb|چاونەترسی}}
* {{g|ckb|ورەی بەرز}}
==== Dijmane ====
* {{g|ckb|بێورەیی}}
* {{g|ckb|ورەبەردان}}
==== Têkildar ====
* {{g|ckb|بەورە}}
* {{g|ckb|بێورە}}
* {{g|ckb|ئازایەتی}}
83z12o6etxsjiia2pmrgu7ymp7vb4qy
ماڵ
0
1358832
6342320
2026-08-25T00:19:31Z
Şêr
1103
Rûpel bi "== {{ziman|ckb}} == === Navdêr === {{navdêr|ckb}} # [[mal]], [[xanî]] (cihê hewandin, aramî û jiyana rojane ya mirovan) #: {{mînak|ckb|من دەچمەوە بۆ ماڵەوە.|tr=Min deçimewe bo malewe.|werger=Ez vedigerim malê.}} #: {{mînak|ckb|ماڵەکەی ئێمە لە نزیک قوتابخانەکەیە.|tr=Malekey ême le nêzîk qutabxanekeye.|werger=Mala me nêzîkî dibistanê ye.}} ==== Dijmane ==== * {{g|ckb|دەرەوە}} * {{g|ckb|غەریب..." hat çêkirin
6342320
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mal]], [[xanî]] (cihê hewandin, aramî û jiyana rojane ya mirovan)
#: {{mînak|ckb|من دەچمەوە بۆ ماڵەوە.|tr=Min deçimewe bo malewe.|werger=Ez vedigerim malê.}}
#: {{mînak|ckb|ماڵەکەی ئێمە لە نزیک قوتابخانەکەیە.|tr=Malekey ême le nêzîk qutabxanekeye.|werger=Mala me nêzîkî dibistanê ye.}}
==== Dijmane ====
* {{g|ckb|دەرەوە}}
* {{g|ckb|غەریبی}}
==== Hevmane ====
* {{g|ckb|خانوو}}
* {{g|ckb|هێلانە}}
==== Têkildar ====
* {{g|ckb|ماڵەوە}}
* {{g|ckb|ژوور}}
* {{g|ckb|خێزان}}
* {{g|ckb|کۆڵان}}
5pr5weueh50w32e2cbgbb1gvjnyzgyo
6342321
6342320
2026-08-25T00:41:06Z
Balyozbot
7867
[[Special:PermanentLink/6298023|Bot]]: rêzkirina beşan
6342321
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Navdêr ===
{{navdêr|ckb}}
# [[mal]], [[xanî]] (cihê hewandin, aramî û jiyana rojane ya mirovan)
#: {{mînak|ckb|من دەچمەوە بۆ ماڵەوە.|tr=Min deçimewe bo malewe.|werger=Ez vedigerim malê.}}
#: {{mînak|ckb|ماڵەکەی ئێمە لە نزیک قوتابخانەکەیە.|tr=Malekey ême le nêzîk qutabxanekeye.|werger=Mala me nêzîkî dibistanê ye.}}
==== Hevmane ====
* {{g|ckb|خانوو}}
* {{g|ckb|هێلانە}}
==== Dijmane ====
* {{g|ckb|دەرەوە}}
* {{g|ckb|غەریبی}}
==== Têkildar ====
* {{g|ckb|ماڵەوە}}
* {{g|ckb|ژوور}}
* {{g|ckb|خێزان}}
* {{g|ckb|کۆڵان}}
mwektk2zwi40fwufmtpoudpc3rb3xsv
توالد داخلي
0
1358834
6342337
2026-08-25T07:03:33Z
Kurdistanov
15290
([[Mediawiki:Gadget-start.js|WF:NÛ]] v.2.0) +ar:navdêr:xizm hênan
6342337
wikitext
text/x-wiki
== {{ziman|ar}} ==
=== Navdêr ===
{{navdêr|ar|c=m}}
# [[xizm|xizm]] hênan
#* {{nimûne?|ar}}
czpa8j76frkh2s10w0c3mu0nqwz1u0m
6342344
6342337
2026-08-25T08:12:06Z
Balyozbot
7867
Bot: Paqijiyên kozmetîk (Lînk paqij kir.)
6342344
wikitext
text/x-wiki
== {{ziman|ar}} ==
=== Navdêr ===
{{navdêr|ar|c=m}}
# [[xizm]] hênan
#* {{nimûne?|ar}}
n3ihulzx53h7mxibklstuoq4fx8eczy
inbreeding
0
1358835
6342338
2026-08-25T07:07:28Z
Kurdistanov
15290
([[Mediawiki:Gadget-start.js|WF:NÛ]] v.2.0) +en:navdêr:xizm hênan
6342338
wikitext
text/x-wiki
== {{ziman|en}} ==
=== Navdêr ===
{{navdêr|en}}
# [[xizm|xizm]] hênan
#* {{nimûne?|en}}
==== Etîmolojî ====
{{ji?|en}}
36srge7nqob9pi1rjooh3hisfbdhc3s
6342339
6342338
2026-08-25T07:37:24Z
Kurdistanov
15290
/* Navdêr */
6342339
wikitext
text/x-wiki
== {{ziman|en}} ==
=== Navdêr ===
{{navdêr|en}}
# [[xizm|xizm]] anîn
#* {{nimûne?|en}}
==== Etîmolojî ====
{{ji?|en}}
jhdbvo6bgoqq55ewhx7v6q18w3z26x4
6342340
6342339
2026-08-25T07:38:00Z
Kurdistanov
15290
6342340
wikitext
text/x-wiki
== {{ziman|en}} ==
=== Navdêr ===
{{navdêr|en}}
# [[xizm anîn]]
#* {{nimûne?|en}}
==== Etîmolojî ====
{{ji?|en}}
5ut6t5z1r5sazp549k3nhp43kje3w5u
ADH
0
1358836
6342341
2026-08-25T07:47:00Z
Kurdistanov
15290
([[Mediawiki:Gadget-start.js|WF:NÛ]] v.2.0) +en:navdêr:Hormona dijî mîzkirinê
6342341
wikitext
text/x-wiki
== {{ziman|en}} ==
=== Navdêr ===
{{navdêr|en}}
# [[hormon|Hormona]] [[dijî]] [[mîz kirin|mîzkirinê]]
#* {{nimûne?|en}}
==== Etîmolojî ====
{{ji?|en}}
ai77kgdgdj5zapvtxabr383jhj4wnk1
ئاقلتر
0
1358837
6342422
2026-08-25T09:00:40Z
Şêr
1103
Çêkirina formên [[ئاقل]] ([[WF:BILEZ|Bi lez]])
6342422
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Formeke rengdêrê ===
{{rengdêr|ckb|form=erê}}
# {{komparatîv|ckb|ئاقل}}
mevk1tw1494dlc1rbneusix83b3n9jj
6342423
6342422
2026-08-25T09:00:58Z
Şêr
1103
6342423
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Formeke rengdêrê ===
{{rengdêr|ckb|form=erê|tr=aqiltir}}
# {{komparatîv|ckb|ئاقل}}
svzuow53zdtlg2k3j5azhvnu0reikft
باوەقۆتتر
0
1358838
6342587
2026-08-25T11:54:55Z
Şêr
1103
Çêkirina formên [[باوەقۆت]] ([[WF:BILEZ|Bi lez]])
6342587
wikitext
text/x-wiki
== {{ziman|ckb}} ==
=== Formeke rengdêrê ===
{{rengdêr|ckb|form=erê}}
# {{komparatîv|ckb|باوەقۆت}}
eevf3intr4xrenvlqrlaaokmoqc38tw