Wiksiyonaryo
tlwiktionary
https://tl.wiktionary.org/wiki/Wiksiyonaryo:Unang_Pahina
MediaWiki 1.47.0-wmf.20
case-sensitive
Midya
Natatangi
Usapan
Tagagamit
Usapang tagagamit
Wiksiyonaryo
Usapang Wiksiyonaryo
Talaksan
Usapang talaksan
MediaWiki
Usapang MediaWiki
Padron
Usapang padron
Tulong
Usapang tulong
Kategorya
Usapang kategorya
TimedText
TimedText talk
Module
Module talk
Event
Event talk
Wiksiyonaryo:Kapihan
4
1934
178009
177762
2026-09-21T02:17:23Z
Yivan000
4078
/* Hiling para sa renewal ng aking pagka-admin (2) */ bagong seksyon
178009
wikitext
text/x-wiki
{{Pambungad ng Kapihan}}
{{Wiktionary:Puntahan ng Pamayanan}}
{{Wiktionary:Kapihan/Sinupan}}
----
== Sa mga pangalan ng wika, pamilya, atbp. ==
Nang ginawa ang mga karamihan ng entrada dito, hindi pa masyadong napapalaganap ang modernong Ortograpiyang Pambansa. Ngayon na minomordernisa natin ang Wiksiyonaryong Tagalog, sinimulan kong sundin ang mga alituntuning ito lalo na pagdating sa mga pangalan ng wika.
Makikita sa [[Wiksiyonaryo:Listahan ng mga wika]] (at ang mga iba pang kawing doon) ang aking progress at ang aking mga samu't saring desisyon patungkol sa saling Tagalog ng mga pangalan ng wika <small>(na maaari na rin sigurong gamitin sa mga iba pang mga pangalan)</small>. Maigting na isusunod ang mga alituntunin ng Ortograpiyang Pambansa. Nais kong ipaliwanag dito ang ilan:
<ol>
<li>
Lalo na sa mga wika ng Pilipinas, umiiral ang opisyal na pangalan mula sa KWF.
* Ang ◌́ at ◌̀ ay itinanggal, ang ◌̂ ay itinanggal kapag nasa hulihang titik lamang, at ang ◌̈ ay naiiwan.
* Kapag may pagkakaiba, mas nalalamang ang mas recent na nailimbag at/o ang mas klarong may consensus sa mga katutubong nagsasalita nito.
{| class=wikitable
! Kowd !! Ingles || KWF !! Wiksiyonaryo (Bago)
|-
| {{code|tsg}} || Tausug || Bahása Sug || Bahasa Sug
|-
| {{code|agt}} || Central Cagayan Agta || Pánnon || Pannon
|-
| {{code|kne}} || Kankanaey || Kankanáëy || Kankanaëy
|-
| {{code|snl}} || Sangil || Sangirë̂ || Sangirë
|-
| {{code|ubl}} || Buhi'non Bikol || Boînën || Boînën
|-
| {{code|sfe}} || Eastern Subanun || Subánën Ginselugnén<ref>https://kwfwikaatkultura.ph/subanen-2/</ref> || G̓insëlug̓ën Sub̓anën<ref>https://www.facebook.com/share/p/17hXPKnTmP/</ref>
|-
| {{code|iwk}} || I-Wak || Îguwák || Îguwak
|-
| {{code|psp}} || Philippine Sign Language || Filipíno Sign Language || Filipino Sign Language
|-
| {{code|map}} || Austronesian || <s>Austronesian<ref>https://kwfwikaatkultura.ph/mga-wika-ng-pilipinas/</ref></s> EDIT 2026-09-04: Awstronesyo<ref>https://www.facebook.com/share/p/1BVD5EcS79/</ref> || <s>Austronesian</s> Awstronesyo
|}
</li>
<li>
Gamitin ang umiiral na Espanyol na pangalan.
* Tanggalin ang ◌́ at ang unahang H dahil hindi ito binibigkas.
* Ireispel ang J → H dahil para sa /d͡ʒ/ lamang ang J; ang J sa Espanyol ay katunog ng H.
* Panatilihin ang F, V, Ñ, at Z.
* Ireispel ang C → K o S; QU → K
* Sundin ang mga panuto patungkol sa kambal-patinig.
* Ireispel ang CH → TS.
* Tignang mabuti kung kailangang ireispel ang NG sa NGG.
{| class=wikitable
! Kowd !! Ingles !! Espanyol !! Wiksiyonaryo (Luma) !! Wiksiyonaryo (Bago)
|-
| {{code|fr}} || French || Francés || Pranses || Franses
|-
| {{code|mg}} || Malagasy || Malgache || Malagasi || Malgatse
|-
| {{code|fi}} || Finnish || Finés<ref>https://www.fundeu.es/recomendacion/fines-finlandes/ (''Finés'' sa wika, ''Finlandés'' sa bansa)</ref> || Pinlandes || Fines
|-
| {{code|vi}} || Vietnamese || Vietnamita<ref>https://dle.rae.es/vietnamita</ref> || Biyetnames || Viyetnamita
|-
| {{code|nl}} || Dutch || Neerlandés<ref>https://www.linguno.com/wordComparison/esp/neerlandes-holandes/ (''Holandés'' ay isang [[:Kategorya:Olandes na Nerlandes|varayti]] ng ''Neerlandés'')</ref> || Olandes || Nerlandes
|-
| {{code|alv}} || Atlantic-Congo || Atlántico-Congoleñas || - || Atlantiko-Konggoleñas
|}
</li>
<li>
(''General guideline lamang'') Ang unang salita ay ang pinakapangunahin, tapos ang mga sumusunod na salita ay mas espesipiko. Ito ang karaniwang pattern na ginagawa ng KWF.
{| class=wikitable
! Kowd !! Ingles !! KWF !! Espanyol !! Wiksiyonaryo (Bago)
|-
| {{code|abc}} || Ambala Ayta || Áyta Ambalá || - || Ayta Ambala
|-
| {{code|sgb}} || Mag-Anchi Ayta || Áyta Mag-ántsí || - || Ayta Mag-antsi
|-
| {{code|due}} || Umiray Dumaget Agta || Agtâ Dumágat Umíray || - || Agta Dumagat Umiray
|-
| {{code|plw}} || Brooke's Point Palawano || Paláw-an Brooke's Point || - || Palaw-an Brooke's Point
|-
| {{code|nb}} || Norwegian Bokmål || - || Noruego bokmål || Norwego Bokmål
|-
| {{code|acy}} || Cypriot Arabic || - || Árabe chipriota || Arabe Tsipriyota
|}
</li>
<li>
Kapag may parte sa pangalan na maaaring isalin gamit Tagalog, isalin ito.
* Batay sa pattern ng KWF, "South" → "Timog", "Southern" → "Katimugan", atbp.
{|class=wikitable
! Kowd !! Ingles !! KWF !! Espanyol !! Wiksiyonaryo (Bago)
|-
| {{code|ksc}} || Southern Kalinga || Katimúgang Kalíngga || - || Katimugang Kalingga
|-
| {{code|plv}} || Southwest Palawano || Paláw-an Tímog Kanlúran || - || Palaw-an Timog Kanluran
|-
| {{code|ajp}} || South Levantine Arabic || - || Árabe levantino del sur || Arabe Timog Levantino
|-
| {{code|fy}} || West Frisian || - || Frisón occidental || Kanlurang Frison
|-
| {{code|ltc}} || Middle Chinese || - || Chino medio || Gitnang Tsino
|-
| {{code|nr}} || Southern Ndebele || - || - || Katimugang Ndebele
|-
|}
</li>
</ol>
'''Notes''':
<references/>
Bukás naman ako upang amyendahan ang mga alituntuning ito. Maaari niyo ring sabihin/i-edit kapag may napansin kayong mali sa [[Wiksiyonaryo:Listahan ng mga wika]]. Nais ko lamang na magsimula tayo nang mas moderno na.
{{workgroup ping|tl|u1=ysrael214|u2=Sky Harbor|u3=JWilz12345}} <small>at ng lahat ng mga interesado dito</small>.
— <span style="font-size:25px">🍕</span> <span style="font-family:'Comic Sans MS';"><span style="color:#FFC83D">Yivan</span><span style="color:#F7894A">000</span> <small><sup>[[User:Yivan000|view]]</sup><sub>[[User_talk:Yivan000|talk]]</sub></small></span> 15:46, 22 Disyembre 2025 (UTC)
:[[Tagagamit:Yivan000|Yivan000]], may ilan akong duda tungkol sa mungkahing ito, ngunit may saysay naman ito at maaari pa naman itong pagbutihin. Halimbawa, hindi ako naniniwala na dapat nating gamitin ang titik 'v' sa halip na 'b' sa mga salitang nagmula sa Espanyol o Ingles. Mas mainam (at lalo na't mas katanggap-tanggap) ang paggamit ng "Biyetnamita" sa halip na "Viyetnamita", at kung iyan ang gagawin natin hindi ba mas mabuti na lang na hiramin nang buo at walang pagbabago ang mga salitang nagmula sa Espanyol ("Vietnamita")? May ilan din dito na katanggap-tanggap din sa Espanyol tulad ng "Olandes" (holandés), na mas karaniwan sa karaniwang salita, sa halip na "Neerlandes" (neerlandés) na itinaguriang mas pormal.
:Kung pinag-uusapan namin natin ang bansa palpak po rin dito ang KWF: nang ipinalabas nila ang kanilang tinaguriang "atlas sa wikang Filipino" noong mga 2013-2014 inilagay lamang nila ang mga pangalan ng bansa sa Ingles at Espanyol nang walang pangalang isina-Tagalog/Filipino na tulad ng "Hapon", "Tsina" o kahit "Pilipinas", kahit kung umiiral na sila sa mismong wika.
:Gayundin, bakit hindi natin isinalin ang FSL (sa Wikipedia, nakatungo ito sa [[:w:Wikang pasenyas ng mga Pilipino|Wikang pasenyas ng mga Pilipino]]) at ang Austronesian (na nakatungo rin sa [[:w:mga wikang Austronesyo|Mga wikang Austronesyo]])? Alam kong opisyal na regulador ng wikang Filipino ang KWF pero naniniwala ako na may kakayahan ang mga proyektong Wikimedia na impluwensiyahan ang direksiyon ng pag-usbong ng wika sa isang lugar na mas mabuti pa sa kung saan itinutungo tayo ng pamahalaan, at dapat natin itong gawin, pero nang may paggalang sa umiiral na leksikon tulad ng inihihiling ng unang tuntunin sa paghiram ng salita ayon sa ortograpiyang Filipino na siyang ipinapatupad ng KWF. --[[Tagagamit:Sky Harbor|<b style="color: #0066ff">Sky Harbor</b>]] <sup>([[Usapang tagagamit:Sky Harbor|<b style="color:#0066ff">usapan</b>]])</sup> 05:09, 6 Enero 2026 (UTC)
::@[[Tagagamit:Sky Harbor|Sky Harbor]] <small>(pati na rin sina @[[Tagagamit:ysrael214|Ysrael214]], @[[User:Mar vin kaiser|Mar vin kaiser]] @[[User:Mlgc1998|Mlgc1998]] @[[User:TagaSanPedroAko|TagaSanPedroAko]] upang makita nyo to)</small><br/> Nagpadala ako ng email sa Komisyon ng Wikang Filipino mismo upang matugunan sa kung papaano ang nararapat sa pagsasalin ng mga pangalan ng wika. '''[https://imgur.com/a/TW42hxS Basahin ninyo dito ang tugon nila]'''.
::Base sa tugon nila (at ayon sa aking interpretasyon), may tama naman ang paggagawa ko ng mga saling Filipino na ibase at ireispel mula sa Espanyol. May tama rin naman si Sky Harbor na maaari ring gamitin nang puro mula Espanyol. Ngunit para sa akin, nais ko ring ipatupad ang nakasaad sa OP/MMP sa kung paano mag-adapt ng mga salin sa Filipino. <small>(Dahil dito, bukas ako sa pagpalit ng salin ng ''Austronesian'' at FSL.)</small>
::Nais ko rin sana malaman kung ano ang interpretasyon ninyo sa tugon ng KWF.— <span style="font-size:25px">🍕</span> <span style="font-family:'Comic Sans MS';"><span style="color:#FFC83D">Yivan</span><span style="color:#F7894A">000</span> <small><sup>[[User:Yivan000|view]]</sup><sub>[[User_talk:Yivan000|talk]]</sub></small></span> 12:46, 17 Pebrero 2026 (UTC)
::@[[Tagagamit:Yivan000|Yivan000]] Sa tingin ko ang sabi ng KWF, "tldr: bahala kayo." Pero ngayon ko lang nalaman na may Atlas ang KWF, mukhang ito iyon https://www.scribd.com/document/399878486/Atlas-Ng-Mga-Bansa-Sa-Mundo-2
== Hiling para sa renewal ng aking pagka-admin ==
Magandang araw sa inyong lahat. Narito ang ilan sa mga nagawa ko rito bilang isang tagapangasiwa dito sa Wiksiyonaryong Tagalog:
* Paglilinis ng mga kategorya (paglilipat at pagmomodernisa)
* Pagbura ng mga di angkop na pahina (bandalismo, mga di ginagamit na padron, etc.)
* Pagdadagdag ng mga gadget na mas nakakatulong sa pag-browse ng website na ito (gaya ng pop-up pag nag-hohover)
* Pagmomodernisa ng global CSS at JS ayon sa kasalukuyang ginagamit ng Wiksiyonaryong Ingles
* Pagpalit ng mga ibang MediaWiki interface localization strings upang mas akma dito
Nais ko pang ipagpatuloy ang aking nasimulan na. — <span style="font-size:25px">🍕</span> <span style="font-family:'Comic Sans MS';"><span style="color:#FFC83D">Yivan</span><span style="color:#F7894A">000</span> <small><sup>[[User:Yivan000|view]]</sup><sub>[[User_talk:Yivan000|talk]]</sub></small></span> 10:55, 19 Marso 2026 (UTC)
:@[[Tagagamit:Yivan000|Yivan000]] {{sang-ayon}} <span style="color:#330005; font-size:1.65em; vertical-align:middle">𝄽</span> [[Tagagamit:Ysrael214|ysrael214]] ([[Usapang tagagamit:Ysrael214|{{MediaWiki:Talkpagelinktext}}]]) 13:59, 19 Marso 2026 (UTC)
== Hiling para sa renewal ng aking pagka-admin (2) ==
Magandang araw sa inyong lahat. Naipagpapatuloy ko ang mga naigawa ko sa itaas bilang tagapangasiwa. Nais ko pang ipagpatuloy ito. — <span style="font-size:25px">🍕</span> <span style="font-family:'Comic Sans MS';"><span style="color:#FFC83D">Yivan</span><span style="color:#F7894A">000</span> <small><sup>[[User:Yivan000|view]]</sup><sub>[[User_talk:Yivan000|talk]]</sub></small></span> 02:17, 21 Setyembre 2026 (UTC)
8jrux2x8fqyb49zqs5559y9mj3r5y7d
178011
178009
2026-09-21T03:46:21Z
Ysrael214
4615
/* Hiling para sa renewal ng aking pagka-admin (2) */ Tugon
178011
wikitext
text/x-wiki
{{Pambungad ng Kapihan}}
{{Wiktionary:Puntahan ng Pamayanan}}
{{Wiktionary:Kapihan/Sinupan}}
----
== Sa mga pangalan ng wika, pamilya, atbp. ==
Nang ginawa ang mga karamihan ng entrada dito, hindi pa masyadong napapalaganap ang modernong Ortograpiyang Pambansa. Ngayon na minomordernisa natin ang Wiksiyonaryong Tagalog, sinimulan kong sundin ang mga alituntuning ito lalo na pagdating sa mga pangalan ng wika.
Makikita sa [[Wiksiyonaryo:Listahan ng mga wika]] (at ang mga iba pang kawing doon) ang aking progress at ang aking mga samu't saring desisyon patungkol sa saling Tagalog ng mga pangalan ng wika <small>(na maaari na rin sigurong gamitin sa mga iba pang mga pangalan)</small>. Maigting na isusunod ang mga alituntunin ng Ortograpiyang Pambansa. Nais kong ipaliwanag dito ang ilan:
<ol>
<li>
Lalo na sa mga wika ng Pilipinas, umiiral ang opisyal na pangalan mula sa KWF.
* Ang ◌́ at ◌̀ ay itinanggal, ang ◌̂ ay itinanggal kapag nasa hulihang titik lamang, at ang ◌̈ ay naiiwan.
* Kapag may pagkakaiba, mas nalalamang ang mas recent na nailimbag at/o ang mas klarong may consensus sa mga katutubong nagsasalita nito.
{| class=wikitable
! Kowd !! Ingles || KWF !! Wiksiyonaryo (Bago)
|-
| {{code|tsg}} || Tausug || Bahása Sug || Bahasa Sug
|-
| {{code|agt}} || Central Cagayan Agta || Pánnon || Pannon
|-
| {{code|kne}} || Kankanaey || Kankanáëy || Kankanaëy
|-
| {{code|snl}} || Sangil || Sangirë̂ || Sangirë
|-
| {{code|ubl}} || Buhi'non Bikol || Boînën || Boînën
|-
| {{code|sfe}} || Eastern Subanun || Subánën Ginselugnén<ref>https://kwfwikaatkultura.ph/subanen-2/</ref> || G̓insëlug̓ën Sub̓anën<ref>https://www.facebook.com/share/p/17hXPKnTmP/</ref>
|-
| {{code|iwk}} || I-Wak || Îguwák || Îguwak
|-
| {{code|psp}} || Philippine Sign Language || Filipíno Sign Language || Filipino Sign Language
|-
| {{code|map}} || Austronesian || <s>Austronesian<ref>https://kwfwikaatkultura.ph/mga-wika-ng-pilipinas/</ref></s> EDIT 2026-09-04: Awstronesyo<ref>https://www.facebook.com/share/p/1BVD5EcS79/</ref> || <s>Austronesian</s> Awstronesyo
|}
</li>
<li>
Gamitin ang umiiral na Espanyol na pangalan.
* Tanggalin ang ◌́ at ang unahang H dahil hindi ito binibigkas.
* Ireispel ang J → H dahil para sa /d͡ʒ/ lamang ang J; ang J sa Espanyol ay katunog ng H.
* Panatilihin ang F, V, Ñ, at Z.
* Ireispel ang C → K o S; QU → K
* Sundin ang mga panuto patungkol sa kambal-patinig.
* Ireispel ang CH → TS.
* Tignang mabuti kung kailangang ireispel ang NG sa NGG.
{| class=wikitable
! Kowd !! Ingles !! Espanyol !! Wiksiyonaryo (Luma) !! Wiksiyonaryo (Bago)
|-
| {{code|fr}} || French || Francés || Pranses || Franses
|-
| {{code|mg}} || Malagasy || Malgache || Malagasi || Malgatse
|-
| {{code|fi}} || Finnish || Finés<ref>https://www.fundeu.es/recomendacion/fines-finlandes/ (''Finés'' sa wika, ''Finlandés'' sa bansa)</ref> || Pinlandes || Fines
|-
| {{code|vi}} || Vietnamese || Vietnamita<ref>https://dle.rae.es/vietnamita</ref> || Biyetnames || Viyetnamita
|-
| {{code|nl}} || Dutch || Neerlandés<ref>https://www.linguno.com/wordComparison/esp/neerlandes-holandes/ (''Holandés'' ay isang [[:Kategorya:Olandes na Nerlandes|varayti]] ng ''Neerlandés'')</ref> || Olandes || Nerlandes
|-
| {{code|alv}} || Atlantic-Congo || Atlántico-Congoleñas || - || Atlantiko-Konggoleñas
|}
</li>
<li>
(''General guideline lamang'') Ang unang salita ay ang pinakapangunahin, tapos ang mga sumusunod na salita ay mas espesipiko. Ito ang karaniwang pattern na ginagawa ng KWF.
{| class=wikitable
! Kowd !! Ingles !! KWF !! Espanyol !! Wiksiyonaryo (Bago)
|-
| {{code|abc}} || Ambala Ayta || Áyta Ambalá || - || Ayta Ambala
|-
| {{code|sgb}} || Mag-Anchi Ayta || Áyta Mag-ántsí || - || Ayta Mag-antsi
|-
| {{code|due}} || Umiray Dumaget Agta || Agtâ Dumágat Umíray || - || Agta Dumagat Umiray
|-
| {{code|plw}} || Brooke's Point Palawano || Paláw-an Brooke's Point || - || Palaw-an Brooke's Point
|-
| {{code|nb}} || Norwegian Bokmål || - || Noruego bokmål || Norwego Bokmål
|-
| {{code|acy}} || Cypriot Arabic || - || Árabe chipriota || Arabe Tsipriyota
|}
</li>
<li>
Kapag may parte sa pangalan na maaaring isalin gamit Tagalog, isalin ito.
* Batay sa pattern ng KWF, "South" → "Timog", "Southern" → "Katimugan", atbp.
{|class=wikitable
! Kowd !! Ingles !! KWF !! Espanyol !! Wiksiyonaryo (Bago)
|-
| {{code|ksc}} || Southern Kalinga || Katimúgang Kalíngga || - || Katimugang Kalingga
|-
| {{code|plv}} || Southwest Palawano || Paláw-an Tímog Kanlúran || - || Palaw-an Timog Kanluran
|-
| {{code|ajp}} || South Levantine Arabic || - || Árabe levantino del sur || Arabe Timog Levantino
|-
| {{code|fy}} || West Frisian || - || Frisón occidental || Kanlurang Frison
|-
| {{code|ltc}} || Middle Chinese || - || Chino medio || Gitnang Tsino
|-
| {{code|nr}} || Southern Ndebele || - || - || Katimugang Ndebele
|-
|}
</li>
</ol>
'''Notes''':
<references/>
Bukás naman ako upang amyendahan ang mga alituntuning ito. Maaari niyo ring sabihin/i-edit kapag may napansin kayong mali sa [[Wiksiyonaryo:Listahan ng mga wika]]. Nais ko lamang na magsimula tayo nang mas moderno na.
{{workgroup ping|tl|u1=ysrael214|u2=Sky Harbor|u3=JWilz12345}} <small>at ng lahat ng mga interesado dito</small>.
— <span style="font-size:25px">🍕</span> <span style="font-family:'Comic Sans MS';"><span style="color:#FFC83D">Yivan</span><span style="color:#F7894A">000</span> <small><sup>[[User:Yivan000|view]]</sup><sub>[[User_talk:Yivan000|talk]]</sub></small></span> 15:46, 22 Disyembre 2025 (UTC)
:[[Tagagamit:Yivan000|Yivan000]], may ilan akong duda tungkol sa mungkahing ito, ngunit may saysay naman ito at maaari pa naman itong pagbutihin. Halimbawa, hindi ako naniniwala na dapat nating gamitin ang titik 'v' sa halip na 'b' sa mga salitang nagmula sa Espanyol o Ingles. Mas mainam (at lalo na't mas katanggap-tanggap) ang paggamit ng "Biyetnamita" sa halip na "Viyetnamita", at kung iyan ang gagawin natin hindi ba mas mabuti na lang na hiramin nang buo at walang pagbabago ang mga salitang nagmula sa Espanyol ("Vietnamita")? May ilan din dito na katanggap-tanggap din sa Espanyol tulad ng "Olandes" (holandés), na mas karaniwan sa karaniwang salita, sa halip na "Neerlandes" (neerlandés) na itinaguriang mas pormal.
:Kung pinag-uusapan namin natin ang bansa palpak po rin dito ang KWF: nang ipinalabas nila ang kanilang tinaguriang "atlas sa wikang Filipino" noong mga 2013-2014 inilagay lamang nila ang mga pangalan ng bansa sa Ingles at Espanyol nang walang pangalang isina-Tagalog/Filipino na tulad ng "Hapon", "Tsina" o kahit "Pilipinas", kahit kung umiiral na sila sa mismong wika.
:Gayundin, bakit hindi natin isinalin ang FSL (sa Wikipedia, nakatungo ito sa [[:w:Wikang pasenyas ng mga Pilipino|Wikang pasenyas ng mga Pilipino]]) at ang Austronesian (na nakatungo rin sa [[:w:mga wikang Austronesyo|Mga wikang Austronesyo]])? Alam kong opisyal na regulador ng wikang Filipino ang KWF pero naniniwala ako na may kakayahan ang mga proyektong Wikimedia na impluwensiyahan ang direksiyon ng pag-usbong ng wika sa isang lugar na mas mabuti pa sa kung saan itinutungo tayo ng pamahalaan, at dapat natin itong gawin, pero nang may paggalang sa umiiral na leksikon tulad ng inihihiling ng unang tuntunin sa paghiram ng salita ayon sa ortograpiyang Filipino na siyang ipinapatupad ng KWF. --[[Tagagamit:Sky Harbor|<b style="color: #0066ff">Sky Harbor</b>]] <sup>([[Usapang tagagamit:Sky Harbor|<b style="color:#0066ff">usapan</b>]])</sup> 05:09, 6 Enero 2026 (UTC)
::@[[Tagagamit:Sky Harbor|Sky Harbor]] <small>(pati na rin sina @[[Tagagamit:ysrael214|Ysrael214]], @[[User:Mar vin kaiser|Mar vin kaiser]] @[[User:Mlgc1998|Mlgc1998]] @[[User:TagaSanPedroAko|TagaSanPedroAko]] upang makita nyo to)</small><br/> Nagpadala ako ng email sa Komisyon ng Wikang Filipino mismo upang matugunan sa kung papaano ang nararapat sa pagsasalin ng mga pangalan ng wika. '''[https://imgur.com/a/TW42hxS Basahin ninyo dito ang tugon nila]'''.
::Base sa tugon nila (at ayon sa aking interpretasyon), may tama naman ang paggagawa ko ng mga saling Filipino na ibase at ireispel mula sa Espanyol. May tama rin naman si Sky Harbor na maaari ring gamitin nang puro mula Espanyol. Ngunit para sa akin, nais ko ring ipatupad ang nakasaad sa OP/MMP sa kung paano mag-adapt ng mga salin sa Filipino. <small>(Dahil dito, bukas ako sa pagpalit ng salin ng ''Austronesian'' at FSL.)</small>
::Nais ko rin sana malaman kung ano ang interpretasyon ninyo sa tugon ng KWF.— <span style="font-size:25px">🍕</span> <span style="font-family:'Comic Sans MS';"><span style="color:#FFC83D">Yivan</span><span style="color:#F7894A">000</span> <small><sup>[[User:Yivan000|view]]</sup><sub>[[User_talk:Yivan000|talk]]</sub></small></span> 12:46, 17 Pebrero 2026 (UTC)
::@[[Tagagamit:Yivan000|Yivan000]] Sa tingin ko ang sabi ng KWF, "tldr: bahala kayo." Pero ngayon ko lang nalaman na may Atlas ang KWF, mukhang ito iyon https://www.scribd.com/document/399878486/Atlas-Ng-Mga-Bansa-Sa-Mundo-2
== Hiling para sa renewal ng aking pagka-admin ==
Magandang araw sa inyong lahat. Narito ang ilan sa mga nagawa ko rito bilang isang tagapangasiwa dito sa Wiksiyonaryong Tagalog:
* Paglilinis ng mga kategorya (paglilipat at pagmomodernisa)
* Pagbura ng mga di angkop na pahina (bandalismo, mga di ginagamit na padron, etc.)
* Pagdadagdag ng mga gadget na mas nakakatulong sa pag-browse ng website na ito (gaya ng pop-up pag nag-hohover)
* Pagmomodernisa ng global CSS at JS ayon sa kasalukuyang ginagamit ng Wiksiyonaryong Ingles
* Pagpalit ng mga ibang MediaWiki interface localization strings upang mas akma dito
Nais ko pang ipagpatuloy ang aking nasimulan na. — <span style="font-size:25px">🍕</span> <span style="font-family:'Comic Sans MS';"><span style="color:#FFC83D">Yivan</span><span style="color:#F7894A">000</span> <small><sup>[[User:Yivan000|view]]</sup><sub>[[User_talk:Yivan000|talk]]</sub></small></span> 10:55, 19 Marso 2026 (UTC)
:@[[Tagagamit:Yivan000|Yivan000]] {{sang-ayon}} <span style="color:#330005; font-size:1.65em; vertical-align:middle">𝄽</span> [[Tagagamit:Ysrael214|ysrael214]] ([[Usapang tagagamit:Ysrael214|{{MediaWiki:Talkpagelinktext}}]]) 13:59, 19 Marso 2026 (UTC)
== Hiling para sa renewal ng aking pagka-admin (2) ==
Magandang araw sa inyong lahat. Naipagpapatuloy ko ang mga naigawa ko sa itaas bilang tagapangasiwa. Nais ko pang ipagpatuloy ito. — <span style="font-size:25px">🍕</span> <span style="font-family:'Comic Sans MS';"><span style="color:#FFC83D">Yivan</span><span style="color:#F7894A">000</span> <small><sup>[[User:Yivan000|view]]</sup><sub>[[User_talk:Yivan000|talk]]</sub></small></span> 02:17, 21 Setyembre 2026 (UTC)
:@[[Tagagamit:Yivan000|Yivan000]] {{sang-ayon}} <span style="color:#330005; font-size:1.65em; vertical-align:middle">𝄽</span> [[Tagagamit:Ysrael214|ysrael214]] ([[Usapang tagagamit:Ysrael214|{{MediaWiki:Talkpagelinktext}}]]) 03:46, 21 Setyembre 2026 (UTC)
6lbolmkc681hrr0ccj2s03yn52l57u3
irregolarità
0
21235
178012
120569
2026-09-21T04:57:30Z
Yivan000
4078
178012
wikitext
text/x-wiki
=={{=it=}}==
===Etimolohiya===
{{ety|it|:af|irregolare|-ità}}
Mula {{af|it|irregolare|-ità}}.
===Pagbigkas===
{{it-pr}}
===Pangngalan===
{{it-noun|f|#}}
# [[iregularidad]]
#: {{ant|it|regolarità}}
===Basahin pa===
* {{R:it:Treccani}}
=={{=mt=}}==
===Etimolohiya===
{{ety|mt|:bor|it:irregolarità|text=+|tree=1}}
===Pagbigkas===
* {{IPA|mt|/ɪr.rɛ.ɡɔ.la.rɪˈtaː/}}
* {{rhymes|mt|aː|s=6}}
===Pangngalan===
{{mt-head|noun|g=f|p=irregolaritajiet}}
# [[iregularidad]]
#: {{ant|mt|regolarità}}
====Katawagang kaugnay====
{{col|mt|regola|regolari|irregolari|regolarment|regolarità|regolabbli|regolament|irregolabbli|regolatur|rregola|rregolarizza}}
bga8esv6507uqzoo0brhway5t9ck02t
Usapang tagagamit:Yivan000
3
31755
178007
177425
2026-09-20T19:43:07Z
Leaderbot
5288
/* Notice of expiration of your interface-admin right */ bagong seksyon
178007
wikitext
text/x-wiki
<blockquote style="text-align:center">
''Usapan. Usapang pahina.''
''Sinabing kailangang magsulat ako ng usapang pahina. At heto ako nagsusulat ng usapang pahina.''
''Walang nagsabi niyan. Hindi sila nag-usap.''
''Binabasa mo 'to, hindi inuusap.''
''- Yivan''
</blockquote>
== [[Padron:af-adj-table-2]] ==
To make table inflection in this template display properly, you should need update/create page [[MediaWiki:Common.css]], [[MediaWiki:Gadget-Site.css]] and [[MediaWiki:Gadget-LanguagesAndScripts.css]]. [[User:Hiyuune|<b style="font-family:Segoe UI Light;color:#FFB3AE;letter-spacing:">Hiyuune</b>]] [[User talk: Hiyuune|<b style="font-family:Segoe UI Light;color:#FFF7AD;letter-spacing:">(angustifolia)</b>]] 17:19, 24 Disyembre 2025 (UTC)
== Notice of expiration of your interface-admin right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "interface-admin" (Interface administrators) will expire on 2026-03-21 10:16:18. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[Tagagamit:Leaderbot|Leaderbot]] ([[Usapang tagagamit:Leaderbot|kausapin]]) 19:42, 14 Marso 2026 (UTC)</div>
== Notice of expiration of your sysop right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "sysop" (Mga admin) will expire on 2026-03-21 10:16:18. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[Tagagamit:Leaderbot|Leaderbot]] ([[Usapang tagagamit:Leaderbot|kausapin]]) 19:42, 14 Marso 2026 (UTC)</div>
== [[Natatangi:Talaan ng pansala/4]] ==
Hi. This filter cause error when I mark speedy deletion this page [[fsvtifsvty]]. Can you resolve it? [[User:Hiyuune|<span style="font-family: Segoe UI Light;color:#FF69B4;letter-spacing:">Linh Huynh</span>]] ([[User talk:Hiyuune|<span style="color:#008080;">talk</span>]]) 13:43, 25 Agosto 2026 (UTC)
:Thank you for letting me know; it should hopefully be fixed. — <span style="font-size:25px">🍕</span> <span style="font-family:'Comic Sans MS';"><span style="color:#FFC83D">Yivan</span><span style="color:#F7894A">000</span> <small><sup>[[User:Yivan000|view]]</sup><sub>[[User_talk:Yivan000|talk]]</sub></small></span> 14:37, 25 Agosto 2026 (UTC)
== Notice of expiration of your interface-admin right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "interface-admin" (Interface administrators) will expire on 2026-09-27 15:35:47. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[Tagagamit:Leaderbot|Leaderbot]] ([[Usapang tagagamit:Leaderbot|kausapin]]) 19:43, 20 Setyembre 2026 (UTC)</div>
pqsqo25wm2u4q5k35c0d1diezokfiaz
178008
178007
2026-09-20T19:43:11Z
Leaderbot
5288
/* Notice of expiration of your sysop right */ bagong seksyon
178008
wikitext
text/x-wiki
<blockquote style="text-align:center">
''Usapan. Usapang pahina.''
''Sinabing kailangang magsulat ako ng usapang pahina. At heto ako nagsusulat ng usapang pahina.''
''Walang nagsabi niyan. Hindi sila nag-usap.''
''Binabasa mo 'to, hindi inuusap.''
''- Yivan''
</blockquote>
== [[Padron:af-adj-table-2]] ==
To make table inflection in this template display properly, you should need update/create page [[MediaWiki:Common.css]], [[MediaWiki:Gadget-Site.css]] and [[MediaWiki:Gadget-LanguagesAndScripts.css]]. [[User:Hiyuune|<b style="font-family:Segoe UI Light;color:#FFB3AE;letter-spacing:">Hiyuune</b>]] [[User talk: Hiyuune|<b style="font-family:Segoe UI Light;color:#FFF7AD;letter-spacing:">(angustifolia)</b>]] 17:19, 24 Disyembre 2025 (UTC)
== Notice of expiration of your interface-admin right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "interface-admin" (Interface administrators) will expire on 2026-03-21 10:16:18. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[Tagagamit:Leaderbot|Leaderbot]] ([[Usapang tagagamit:Leaderbot|kausapin]]) 19:42, 14 Marso 2026 (UTC)</div>
== Notice of expiration of your sysop right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "sysop" (Mga admin) will expire on 2026-03-21 10:16:18. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[Tagagamit:Leaderbot|Leaderbot]] ([[Usapang tagagamit:Leaderbot|kausapin]]) 19:42, 14 Marso 2026 (UTC)</div>
== [[Natatangi:Talaan ng pansala/4]] ==
Hi. This filter cause error when I mark speedy deletion this page [[fsvtifsvty]]. Can you resolve it? [[User:Hiyuune|<span style="font-family: Segoe UI Light;color:#FF69B4;letter-spacing:">Linh Huynh</span>]] ([[User talk:Hiyuune|<span style="color:#008080;">talk</span>]]) 13:43, 25 Agosto 2026 (UTC)
:Thank you for letting me know; it should hopefully be fixed. — <span style="font-size:25px">🍕</span> <span style="font-family:'Comic Sans MS';"><span style="color:#FFC83D">Yivan</span><span style="color:#F7894A">000</span> <small><sup>[[User:Yivan000|view]]</sup><sub>[[User_talk:Yivan000|talk]]</sub></small></span> 14:37, 25 Agosto 2026 (UTC)
== Notice of expiration of your interface-admin right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "interface-admin" (Interface administrators) will expire on 2026-09-27 15:35:47. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[Tagagamit:Leaderbot|Leaderbot]] ([[Usapang tagagamit:Leaderbot|kausapin]]) 19:43, 20 Setyembre 2026 (UTC)</div>
== Notice of expiration of your sysop right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "sysop" (Mga tagapangasiwa) will expire on 2026-09-27 15:35:47. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[Tagagamit:Leaderbot|Leaderbot]] ([[Usapang tagagamit:Leaderbot|kausapin]]) 19:43, 20 Setyembre 2026 (UTC)</div>
52u5bknxp2h9zgtqugumov4mpdz7zyq
Kategorya:Neolohismo ayon sa wika
14
38849
178010
2026-09-21T02:41:05Z
Yivan000
4078
Nilikha ang pahina na may '{{auto cat}}'
178010
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Padron:mt-head
10
38850
178013
2026-09-21T04:58:50Z
Yivan000
4078
Nilikha ang pahina na may '{{#invoke:mt-headword|show}}<!-- --><noinclude>{{documentation}}</noinclude>'
178013
wikitext
text/x-wiki
{{#invoke:mt-headword|show}}<!--
--><noinclude>{{documentation}}</noinclude>
p6x5o7iatlnws9iq3wj2s428nbwjnme
Module:mt-headword
828
38851
178014
2026-09-21T04:59:20Z
Yivan000
4078
Nilikha ang pahina na may 'local export = {} local pos_functions = {} local M = require("Module:module loader").init { require = { headword_utilities = "Module:headword utilities", mt_verb_form = "Module:mt-verb form", }, lazy = { lang = function() return require("Module:languages").getByCode("mt") end, }, } local force_cat = false local valid_genders = {"m", "f", "p", "d", "mf", "mfbysense", "?"} local gender_default = { nouns = "?", numerals = "?", ["verbal nouns"] = "?"...'
178014
Scribunto
text/plain
local export = {}
local pos_functions = {}
local M = require("Module:module loader").init {
require = {
headword_utilities = "Module:headword utilities",
mt_verb_form = "Module:mt-verb form",
},
lazy = {
lang = function() return require("Module:languages").getByCode("mt") end,
},
}
local force_cat = false
local valid_genders = {"m", "f", "p", "d", "mf", "mfbysense", "?"}
local gender_default = {
nouns = "?",
numerals = "?",
["verbal nouns"] = "?",
["numeral forms"] = "?",
["collective nouns"] = "m",
["singulative nouns"] = "f",
["adjective feminine forms"] = "f",
["adjective plural forms"] = "p",
["noun dual forms"] = "d",
}
local pos_category_for = {
["collective nouns"] = "nouns",
["singulative nouns"] = "noun forms",
["verbal nouns"] = "nouns",
["past participles"] = "participles",
["active participles"] = "participles",
}
local function validate_genders(data, genders, gender_type)
data:validate_genders(genders, valid_genders, {gender_type = gender_type, no_augment = true})
end
function export.show(frame)
local props = {
lang = M.lang,
frame = frame,
pos_functions = pos_functions,
force_cat = force_cat,
infls = {
{"g", type = "genders",
default = function(data)
return gender_default[data.orig_poscat]
end,
validate = function(data, genders)
validate_genders(data, genders)
end,
},
{cat = function(data)
if data.pagename:find("[Gg]ħ") then
return "terms spelled with Għ"
end
end},
},
augment_params = function(data, params)
local pos = pos_functions[data.orig_poscat]
if pos and pos.augment_params then
pos.augment_params(data, params)
end
end,
augment_headdata = function(data)
data.pos_category = pos_category_for[data.pos_category] or data.pos_category
end,
}
local headword = M.headword_utilities.process_headword(props)
if props.definition then
return headword .. "\n# " .. props.definition
end
return headword
end
pos_functions["head"] = {
infls = function(data)
local pos = pos_functions[data.orig_poscat]
return pos and pos.infls or {}
end,
func = function(data, args)
local pos = pos_functions[data.orig_poscat]
if pos and pos.func then
pos.func(data, args)
end
end,
}
local function gendered_term_infl(param, label)
return {param, label = label, include_mods = {"g"},
process_after_parse = function(data, terms)
for _, termobj in ipairs(terms) do
validate_genders(data, termobj.genders, label)
end
return terms
end,
}
end
pos_functions["nouns"] = {
infls = {
{"cons", label = "construct state"},
{"d", label = "dual"},
{"p", label = "plural"},
{"pauc", label = "paucal"},
{"pcons", label = "plural construct state"},
{"f", label = "female equivalent"},
{"m", label = "male equivalent"},
{"dim", label = "diminutive"},
},
}
pos_functions["proper nouns"] = {
infls = {
{"cons", label = "construct state"},
{"p", label = "plural"},
{"f", label = "female equivalent"},
{"m", label = "male equivalent"},
},
}
pos_functions["numerals"] = {
infls = {
{cat = "cardinal numbers"},
{"cons", label = "construct state"},
{"d", label = "dual"},
{"p", label = "plural"},
{"pauc", label = "paucal"},
{"pcons", label = "plural construct state"},
{"f", label = "feminine"},
{"m", label = "masculine"},
{"dim", label = "diminutive"},
},
}
pos_functions["collective nouns"] = {
infls = {
{fixed_label = "collective", cat = "collective nouns"},
gendered_term_infl("sing", "singulative"),
{"cons", label = "construct state"},
{"d", label = "dual"},
{"p", label = "plural"},
{"pauc", label = "paucal"},
{"dim", label = "diminutive"},
},
}
pos_functions["singulative nouns"] = {
infls = {
{fixed_label = "singulative", cat = "singulative nouns"},
gendered_term_infl("coll", "collective"),
{"cons", label = "construct state"},
{"d", label = "dual"},
{"p", label = "plural"},
{"pauc", label = "paucal"},
{"dim", label = "diminutive"},
},
}
pos_functions["noun forms"] = {
infls = {
{"cons", label = "construct state"},
},
}
pos_functions["verbal nouns"] = {
infls = {
{"inst", label = "instance noun"},
{"p", label = "plural"},
},
}
local function reject_if_invariable(data)
if data.process_props.args[2] then
error("Can't specify feminine or plural forms of an invariable adjective (-)")
end
end
pos_functions["adjectives"] = {
infls = {
{2, validate = {"-"}, fixed_label = "<<invariable>>", cat = "indeclinable adjectives"},
{"f", label = "feminine singular", validate = reject_if_invariable},
{"p", label = "plural", validate = reject_if_invariable},
{"dim", label = "diminutive"},
{"comp", label = "comparative"},
},
}
pos_functions["verbs"] = {
infls = {
{2, label = "imperfect"},
{3, label = "past participle"},
{4, label = "active participle"},
{5, label = "verbal noun"},
},
augment_params = function(data, params)
params.imper = {alias_of = 2}
params.pp = {alias_of = 3}
params.ap = {alias_of = 4}
params.vn = {alias_of = 5}
end,
func = function(data, args)
if args[4] then
data:track("active participle")
end
end,
}
pos_functions["verb forms"] = {
augment_params = function(data, params)
params[2] = {sublist = "comma without whitespace"}
for _, param in ipairs {"slots", "noslots", "conjid", "noconjid", "t", "gloss"} do
params[param] = true
end
end,
func = function(data, args)
if args[2] then
data.process_props.data.definition = M.mt_verb_form.definition_line {
pagename = data.pagename,
lemmas = args[2],
slots = args.slots,
noslots = args.noslots,
conjid = args.conjid,
noconjid = args.noconjid,
gloss = args.t or args.gloss,
}
end
end,
}
local function participles(cat)
return {
infls = {
{cat = cat},
{"f", label = "feminine"},
{"p", label = "plural"},
},
}
end
pos_functions["past participles"] = participles("past participles")
pos_functions["active participles"] = participles("active participles")
pos_functions["determiners"] = {
infls = {
{"m", label = "masculine"},
{"f", label = "feminine"},
{"p", label = "plural"},
},
}
local function affixes_pronouns()
return {
infls = {
{"f", label = "feminine"},
{"d", label = "dual"},
{"p", label = "plural"},
},
}
end
pos_functions["suffixes"] = affixes_pronouns()
pos_functions["prefixes"] = affixes_pronouns()
pos_functions["pronouns"] = affixes_pronouns()
pos_functions["adverbs"] = {
infls = {
{"stem", label = "stem"},
{"emph", label = "emphatic"},
},
}
return export
ljc8z4xfjf0539epsovsccrhefq89nh
Module:module loader
828
38852
178015
2026-09-21T05:00:45Z
Yivan000
4078
Nilikha ang pahina na may '--[==[ intro: This module lets a module declare all of its dependencies at the top, in one place, while still loading each of them only when the code reaches it. A page which never enters a given branch never pays for the modules that branch needs. Call `init` once and keep the table it returns: ``` local M = require("Module:module loader").init{ require = { utilities = "Module:utilities", languages = "Module:languages", }, loadData = { headword_data =...'
178015
Scribunto
text/plain
--[==[ intro:
This module lets a module declare all of its dependencies at the top, in one place, while still loading each of them
only when the code reaches it. A page which never enters a given branch never pays for the modules that branch needs.
Call `init` once and keep the table it returns:
```
local M = require("Module:module loader").init{
require = {
utilities = "Module:utilities",
languages = "Module:languages",
},
loadData = {
headword_data = "Module:headword/data",
},
lazy = {
lang = function()
return require("Module:languages").getByCode("de")
end,
},
}
M.utilities.format_categories(...) -- requires Module:utilities
M.headword_data.page -- mw.loadData on first access
M.lang:makeEntryName(...) -- runs the getter on first access
```
The table `init` returns is a proxy. Reading a name for the first time does the work, and the result is {rawset} onto
the proxy, so every later read is a plain table lookup and no metamethod runs. The same applies one level down: for a
`require` entry, reading `M.<var>name</var>.<var>member</var>` caches that member on the sub-proxy.
What a name reads as depends on the field it was declared in:
* `require` and `requireOptional` give a sub-proxy, not the module table. Key lookups pass through, so the module's own
{__index} still fires, but only keys already read exist on the proxy itself, so {pairs} and {#} see only those.
Metamethods like {__call} apply to the module, not to the proxy that stands in for it.
* `loadData` and `loadDataOptional` give the {mw.loadData} table itself, which behaves like any other table, so
iteration works.
* `lazy` gives whatever the getter returned.
A name which was never declared reads as {nil}, as does an optional module which failed to load. The failure is cached,
so a missing module is looked up once and not on every access. Guard with {if M.foo then} instead of indexing straight
into it. A module declared under `require` which returns a function rather than a table is cached and returned as that
function, with no proxy around it.
The laziness is per-access, not per-call. The proxy defers until a name is read, not until the value that name holds is
called, so binding a name to a local at the top of a module loads it there and then:
```
local shallowCopy = M.table.shallowCopy -- loads Module:table immediately
```
This applies to every field, `lazy` included, since {local x = M.x} is itself the access which runs the getter. Keep the
access at the call site instead, where it costs two table lookups once the first access has cached both levels. Where a
bare local is wanted, use the self-overwriting loader idiom of [[Module:table]] and [[Module:parameters]], which defers
to the first call and costs nothing after it, because the local is replaced by the target function:
```
local function shallowCopy(...)
shallowCopy = require("Module:table").shallowCopy
return shallowCopy(...)
end
```
]==]
local export = {}
local NIL = {} -- sentinel for optional loadData/require that failed (so we don't retry)
-- Validate the declaration: a short name may appear in only one of the five fields, and a
-- module path may not appear twice across require and loadData.
local function validate(modules, data_modules, optional_data_modules, optional_require_modules, lazy_modules)
local seen_names = {}
local seen_paths = {}
-- Check require modules
for name, path in pairs(modules) do
if seen_names[name] then
error("Module loader: duplicate name '" .. name .. "'")
end
seen_names[name] = "require"
if seen_paths[path] then
error("Module loader: module '" .. path .. "' loaded twice (as '" .. seen_paths[path] .. "' and '" .. name .. "')")
end
seen_paths[path] = name
end
-- Check loadData modules
for name, path in pairs(data_modules) do
if seen_names[name] then
error("Module loader: duplicate name '" .. name .. "' (in both require and loadData)")
end
seen_names[name] = "loadData"
if seen_paths[path] then
error("Module loader: module '" .. path .. "' loaded twice (as '" .. seen_paths[path] .. "' and '" .. name .. "')")
end
seen_paths[path] = name
end
-- Check loadDataOptional (names only; its paths are not tracked)
for name, path in pairs(optional_data_modules or {}) do
if seen_names[name] then
error("Module loader: duplicate name '" .. name .. "'")
end
seen_names[name] = "loadDataOptional"
end
-- Check requireOptional (names only)
for name, path in pairs(optional_require_modules or {}) do
if seen_names[name] then
error("Module loader: duplicate name '" .. name .. "'")
end
seen_names[name] = "requireOptional"
end
-- Check lazy (names only)
for name in pairs(lazy_modules or {}) do
if seen_names[name] then
error("Module loader: duplicate name '" .. name .. "'")
end
seen_names[name] = "lazy"
end
end
-- Build a proxy for a lazy object: table of name → function () → value. Each key is evaluated once and cached.
local function make_lazy_object_proxy(getters)
return setmetatable({}, {
__index = function(proxy, key)
local getter = getters[key]
if type(getter) ~= "function" then return nil end
local value = getter()
rawset(proxy, key, value)
return value
end
})
end
--[==[
Given a table of dependency declarations ``opts``, returns the lazy proxy described above. Call it once, at the top of a
module.
``opts`` may contain any of the following fields, all optional:
* `require`: maps a short name to a module path, which is loaded with {require} on first access.
* `loadData`: maps a short name to a data module path, which is loaded with {mw.loadData} on first access. The table is
returned as-is.
* `requireOptional`: as `require`, but the load runs under {pcall}, and a module which is missing or throws an error
reads as {nil}. Such a module must return a table; one returning a function counts as missing.
* `loadDataOptional`: as `loadData`, but the load runs under {pcall}, and a module which is missing or throws an error
reads as {nil}.
* `lazy`: maps a short name to a getter for a value which is not a whole module. Where `require` and `loadData` defer
loading a module, `lazy` defers computing a value, such as an object built from a module, or something borrowed from
elsewhere which you would rather not touch until it is needed. Each entry is either a function returning the value, or
a table of names to such functions, giving a nested object whose keys are each evaluated on their own first access.
For instance:
** {lang = function() return require("Module:languages").getByCode("de") end}, so that [[Module:languages]] is not
loaded on pages which never reach the relevant branch.
** {ustring = function() return mw.ustring end}, a sub-namespace of {mw}.
** {concat = function() return table.concat end}, a plain alias.
** {mw = {getCurrentTitle = ..., getCurrentFrame = ..., getContentLanguage = ...}}, the nested form, with one deferred
key per expensive call.
Throws an error if a short name is declared in more than one field, or if the same module path is declared twice across
`require` and `loadData`. Paths in the optional fields are not tracked, so a module may be declared both as required and
as optional.]==]
function export.init(opts)
local modules = opts.require or {}
local data_modules = opts.loadData or {}
local optional_data_modules = opts.loadDataOptional or {}
local optional_require_modules = opts.requireOptional or {}
local lazy_modules = opts.lazy or {}
validate(modules, data_modules, optional_data_modules, optional_require_modules, lazy_modules)
local loaded_modules = {}
local function get_module(module_name)
local cached = loaded_modules[module_name]
if cached ~= nil then
if cached == NIL then return nil end
return cached
end
if data_modules[module_name] then
loaded_modules[module_name] = mw.loadData(data_modules[module_name])
elseif optional_data_modules[module_name] then
local ok, data = pcall(mw.loadData, optional_data_modules[module_name])
loaded_modules[module_name] = (ok and data) and data or NIL
elseif optional_require_modules[module_name] then
local ok, mod = pcall(require, optional_require_modules[module_name])
loaded_modules[module_name] = (ok and mod and type(mod) == "table") and mod or NIL
elseif modules[module_name] then
loaded_modules[module_name] = require(modules[module_name])
end
local m = loaded_modules[module_name]
if m == NIL then return nil end
return m
end
local proxy_metatable = {
__index = function(proxy, module_name)
-- Lazy: single getter function or table of getters (nested lazy object)
if lazy_modules[module_name] then
local lazy_def = lazy_modules[module_name]
if type(lazy_def) == "function" then
local value = lazy_def()
rawset(proxy, module_name, value)
return value
end
if type(lazy_def) == "table" then
local sub = make_lazy_object_proxy(lazy_def)
rawset(proxy, module_name, sub)
return sub
end
end
local module = get_module(module_name)
if not module then return nil end
-- If the module itself is a function, cache and return it directly
if type(module) == "function" then
rawset(proxy, module_name, module)
return module
end
-- For loadData / loadDataOptional modules, return the table directly (no function proxying)
if data_modules[module_name] or optional_data_modules[module_name] then
rawset(proxy, module_name, module)
return module
end
-- Everything else (require, and requireOptional that loaded) gets a proxy that
-- caches individual members as they are read.
local function_proxy = setmetatable({}, {
__index = function(function_cache, function_name)
local cached_function = module[function_name]
rawset(function_cache, function_name, cached_function)
return cached_function
end
})
rawset(proxy, module_name, function_proxy)
return function_proxy
end
}
return setmetatable({}, proxy_metatable)
end
return export
4yt8l6eou5zun5d9uyqgkh1c1u1w3d4