Wikikamus
mswiktionary
https://ms.wiktionary.org/wiki/Wikikamus:Laman_Utama
MediaWiki 1.47.0-wmf.24
case-sensitive
Media
Khas
Perbincangan
Pengguna
Perbincangan pengguna
Wikikamus
Perbincangan Wikikamus
Fail
Perbincangan fail
MediaWiki
Perbincangan MediaWiki
Templat
Perbincangan templat
Bantuan
Perbincangan bantuan
Kategori
Perbincangan kategori
Lampiran
Perbincangan lampiran
Rima
Perbincangan rima
Tesaurus
Perbincangan tesaurus
Indeks
Perbincangan indeks
Petikan
Perbincangan petikan
Rekonstruksi
Perbincangan rekonstruksi
Padanan isyarat
Perbincangan padanan isyarat
Konkordans
Perbincangan konkordans
TimedText
TimedText talk
Modul
Perbincangan modul
Acara
Perbincangan acara
MediaWiki:Gadgets-definition
8
6526
379424
375336
2026-10-17T22:29:47Z
NguoiDungKhongDinhDanh
5341
Remove deprecated options: requiresES6, targets, top ([[:m:GS|global sysop]] action)
379424
wikitext
text/x-wiki
{{shortcut|WT:GD}}
Lihat [[Khas:Gadgets]] untuk pendokumenan gajet-gajet tersebut, dan [[:en:Wiktionary:Gadgets|Wikikamus:Gajet (dalam bahasa Inggeris)]] untuk maklumat am berkenaan gajet Wikikamus. Lihat juga [[WT:PREFS]] untuk keutamaan lain.
{{gadgets pages}}
== appearance ==
* VectorClassic[skins=vector]|VectorClassic.css
* LanguagesAndScripts[default]|LanguagesAndScripts.css
* HideLogo|HideLogo.css
* MonobookSmallerHeadings[default|skins=monobook]|MonobookSmallerHeadings.css
* JavascriptHeadings[default|dependencies=site]|JavascriptHeadings.js
* vectorTabs[skins=vector]|vectorTabs.js
* WiktCountryFlags|WiktCountryFlags.css
* WiktPreviewRightTOCs|WiktPreviewRightTOCs.css
* LogoTiles|LogoTiles.css
* LatnMentionBold|LatnMentionBold.css
* RoundBullets4Lists|RoundBullets4Lists.css
* SmallRC|SmallRC.css
== interface-gadgets ==
* TargetedTranslations[default|dependencies=site,mediawiki.storage,mediawiki.cookie,ext.gadget.StorageUtils|categories=Entri dengan kotak terjemahan]|TargetedTranslations.js|TargetedTranslations.css
* purgetab[dependencies=mediawiki.api,mediawiki.util]|purgetab.js
* Navigation_popups|popups.js
* CommentsInLocalTime|CommentsInLocalTime.js
* UTCLiveClock|UTCLiveClock.js
* WiktAddProminentInterwiki|langcode2name.js|WiktAddProminentInterwiki.js
* WiktSidebarTranslation|langcode2name.js|WiktSidebarTranslation.js
* searchFocus|searchFocus.js
* disableTargetedTranslations|disableTargetedTranslations.js
* TabbedLanguages[dependencies=mediawiki.cookie,mediawiki.util]|TabbedLanguages.js|TabbedLanguages.css
* BlockInfo[default|dependencies=site,mediawiki.api,mediawiki.language.months,mediawiki.util]|BlockInfo.js
* RevdelInfo[default|dependencies=site,mediawiki.api,mediawiki.Uri,mediawiki.language.months,mediawiki.util]|RevdelInfo.js
* FastRollback[rights=rollback|dependencies=mediawiki.api,mediawiki.Uri]|FastRollback.js
* OrangeLinks[dependencies=site,mediawiki.api,mediawiki.Uri,mediawiki.Title,mediawiki.util]|OrangeLinks.js
* CodeLinks[default|dependencies=site,mediawiki.util]|CodeLinks.js
* VisibilityToggles[dependencies=user,mediawiki.cookie]|VisibilityToggles.js
* defaultVisibilityToggles[default|dependencies=ext.gadget.VisibilityToggles]|defaultVisibilityToggles.js
* PagePreviews[default|dependencies=site,mediawiki.api,mediawiki.util,mediawiki.Title|skins=vector,vector-2022,monobook,timeless,modern,cologneblue]|PagePreviews.js
== editing-gadgets ==
* TranslationAdder[default|dependencies=site,ext.gadget.Editor,mediawiki.cookie,ext.gadget.LanguageUtils,mediawiki.util,ext.gadget.TranslationAdder-Data|categories=Perkataan dengan kotak terjemahan]|TranslationAdder.js
* RhymesAdder[default|dependencies=site,ext.gadget.Editor,mediawiki.util,ext.gadget.LanguageUtils|namespaces=102]|RhymesAdder.js
* HotCat|HotCat.js
* PatrollingEnhancements[rights=patrol|default]|PatrollingEnhancements.js
* DefSideBoxes[dependencies=mediawiki.cookie,mediawiki.util]|DefSideBoxes.js|DefSideBoxes.css
== misc-gadgets ==
* aWa[rights=autopatrol|dependencies=mediawiki.util,mediawiki.api,mediawiki.user,user.options,mediawiki.Uri,mediawiki.Title]|aWa.js|aWa.css
== Gajet dan utiliti tersembunyi ==
* AGprefs[hidden|dependencies=mediawiki.util,oojs-ui-core]|AGprefs.js
* DocTabs[hidden|default|dependencies=mediawiki.api,mediawiki.util|namespaces=0,1,10,11,108,828,829]|DocTabs.js|DocTabs.css
* Site[hidden|default]|Site.css
* SiteJS[hidden|default]|Site.js
* Editor[hidden|dependencies=mediawiki.util,mediawiki.api]|Editor.js
* StorageUtils[hidden|dependencies=mediawiki.cookie,mediawiki.storage]|StorageUtils.js
* LanguageUtils[hidden|dependencies=mediawiki.api,ext.gadget.StorageUtils]|LanguageUtils.js
* DefinitionsAdder[hidden|dependencies=mediawiki.api,mediawiki.util,ext.gadget.Editor]|DefinitionsAdder.js
* TranslationAdder-Data[hidden|dependencies=mediawiki.api,ext.gadget.LanguageUtils|categories=Perkataan dengan kotak terjemahan]|TranslationAdder-Data.js
* Palette[hidden|default]|Palette.css
* Edittools[hidden|default|dependencies=mediawiki.cookie,jquery.textSelection]|Edittools.js|Edittools.css
* WiktGadgetPrefs[hidden|default|dependencies=mediawiki.user,user.options]|WiktGadgetPrefs.js
kw73asem0mk1wbszf1pupxlko0h6awr
segir
0
35583
379334
319242
2026-10-17T14:54:51Z
Mirlim
8057
/* Bahasa Bajau Sama */
379334
wikitext
text/x-wiki
==Bahasa Bajau Sama ==
===Kata kerja===
{{inti|bdr|kata kerja}}
# sentuh
===Bacaan lanjut===
* {{R:PRPM|bsv1}}
si8ppbg6y2j3bky7giezithhrkecxma
Wikikamus:en/see
4
72602
379342
321740
2026-10-17T15:06:27Z
Mirlim
8057
Mirlim telah memindahkan laman [[see]] ke [[Wikikamus:en/see]]
321740
wikitext
text/x-wiki
==Bahasa Inggeris==
===Kata kerja===
{{en-kk}}
# [[lihat]]; [[tengok]]
#: {{cp|en|Did you '''see''' this?|Kamu '''tengok''' ini tak?}}
5yrns5y73d58ulgens1ous4t6o4yd8o
Kategori:Bahasa Melayu Perak
14
85338
379425
240827
2026-10-18T01:47:46Z
Uwais Athrun
11607
Sumbangan perkataan Perak
379425
wikitext
text/x-wiki
{{auto cat|lect=1}}
<nowiki>**</nowiki>A** ;
<nowiki>**</nowiki>Ate** - habis itu? / pembuka kata / nanti ; perkataan asal dari Hatta
- "ate Miker koje mane sekarang?" (Habis tu, kau kerja di mana sekarang?)
- "ate deme tak sunyi ke Miker tinggei deme?" (Nanti, diorang tak sunyi ke kau tinggalkan diorang?)
<nowiki>**</nowiki>Aje** - kata gabungan.
- "ajenye benor" (betul ke ya?)
- "ajenye gampang deme ni, padanle dok sedeka
Asei - bila
qcc4mc56q8oetfiu5b98lpkitjb21o2
379426
379425
2026-10-18T01:56:06Z
Uwais Athrun
11607
379426
wikitext
text/x-wiki
{{auto cat|lect=1}}
<nowiki>{{lb |ms | Ngelabun Perak}}</nowiki>
<nowiki>**</nowiki>A** ;
<nowiki>**</nowiki>Ate** - habis itu? / pembuka kata / nanti ; perkataan asal dari Hatta
- "ate Miker koje mane sekarang?" (Habis tu, kau kerja di mana sekarang?)
- "ate deme tak sunyi ke Miker tinggei deme?" (Nanti, diorang tak sunyi ke kau tinggalkan diorang?)
<nowiki>**</nowiki>Aje** - kata gabungan.
- "ajenye benor" (betul ke ya?)
- "ajenye gampang deme ni, padanle dok sedeka
Asei - bila
4vbe35cwy1mziqihhututzsc6qqkdqi
379431
379426
2026-10-18T02:23:08Z
Uwais Athrun
11607
Tambahan perkataan
379431
wikitext
text/x-wiki
{{auto cat|lect=1}}
'''A'''
<nowiki>**</nowiki>'''Ate'''** - habis itu? / pembuka kata / nanti ; perkataan asal dari Hatta
- "'''ate''' Miker koje mane sekarang?" (''Habis tu, kau kerja di mana sekarang?'')
- "'''ate''' deme tak sunyi ke Miker tinggei deme?" (''Nanti, diorang tak sunyi ke kau tinggalkan diorang?'')
•
<nowiki>**</nowiki>'''Ajenye'''** - sungguh / kata gabungan.
- "'''ajenye''' benor" (''sungguhkah benar'')
- "'''ajenye''' gampang deme ni, padanle dak sedekah, gaji pulak tak hulor lebih" (''sungguh'' ''celaka diorang ni, padanlah tak sedekah, gaji pulak tak hulur lebih'')
•
<nowiki>**</nowiki>'''Asei'''** - pabila
- " '''asei''' aok masok aje, semua buat tengin" (''pabila aku masuk saja, semua terus buat bodoh'')
•
<nowiki>**</nowiki>'''Aok'''** - aku
- "'''aok''' ni maleh ni" (''aku ini yang malas ni'')
•
<nowiki>**</nowiki>'''Arbok'''** - babi hutan, khinzir
- "aok punye sedare arwah dah, yop, di sondoi '''arbok'''" (''saudara aku dah meninggal, bang, di langgar babi hutan'')
•
<nowiki>**</nowiki>'''Apah idak'''** - serba rugi
- "aok dah datang koje, yang tokenye dak kabo cuti. Balik tu '''apah idak''', masa leboh, minyak pun leboh" (''aku dah datang kerja, bosnya tidak beritahu cuti. Balik tu serba rugi, masa hilang, minyak pun hilang'')
•
<nowiki>**</nowiki>'''Akei'''** - licik
- "deme ni usah caye le, deme tu banyak '''akei'''. Ate sekelip mate aje deme pusing cerite" (''diorang ni tak payah percaya, diorang tu licik. Nanti sekelip mata saja diorang pusing cerita'')
•
7g39e39hm4kad0jkriwz5nlcs0wsilx
379432
379431
2026-10-18T02:25:23Z
Uwais Athrun
11607
379432
wikitext
text/x-wiki
'''A'''
<nowiki>**</nowiki>'''Ate'''** - habis itu? / pembuka kata / nanti ; perkataan asal dari Hatta
- "'''ate''' Miker koje mane sekarang?" (''Habis tu, kau kerja di mana sekarang?'')
- "'''ate''' deme tak sunyi ke Miker tinggei deme?" (''Nanti, diorang tak sunyi ke kau tinggalkan diorang?'')
•
<nowiki>**</nowiki>'''Ajenye'''** - sungguh / kata gabungan.
- "'''ajenye''' benor" (''sungguhkah benar'')
- "'''ajenye''' gampang deme ni, padanle dak sedekah, gaji pulak tak hulor lebih" (''sungguh'' ''celaka diorang ni, padanlah tak sedekah, gaji pulak tak hulur lebih'')
•
<nowiki>**</nowiki>'''Asei'''** - pabila
- " '''asei''' aok masok aje, semua buat tengin" (''pabila aku masuk saja, semua terus buat bodoh'')
•
<nowiki>**</nowiki>'''Aok'''** - aku
- "'''aok''' ni maleh ni" (''aku ini yang malas ni'')
•
<nowiki>**</nowiki>'''Arbok'''** - babi hutan, khinzir
- "aok punye sedare arwah dah, yop, di sondoi '''arbok'''" (''saudara aku dah meninggal, bang, di langgar babi hutan'')
•
<nowiki>**</nowiki>'''Apah idak'''** - serba rugi
- "aok dah datang koje, yang tokenye dak kabo cuti. Balik tu '''apah idak''', masa leboh, minyak pun leboh" (''aku dah datang kerja, bosnya tidak beritahu cuti. Balik tu serba rugi, masa hilang, minyak pun hilang'')
•
<nowiki>**</nowiki>'''Akei'''** - licik
- "deme ni usah caye le, deme tu banyak '''akei'''. Ate sekelip mate aje deme pusing cerite" (''diorang ni tak payah percaya, diorang tu licik. Nanti sekelip mata saja diorang pusing cerita'')
•
qfodlawj1smsa5wrhouohuvkwpfunlo
379435
379432
2026-10-18T02:35:07Z
Uwais Athrun
11607
379435
wikitext
text/x-wiki
<mapframe latitude="4.669505" longitude="100.794067" zoom="2" width="200" height="100" />{{-Kata nama-|Ngelabun Perak=Dialek Perak}}: '''Ngelabun Perak'''
'''A'''
<nowiki>**</nowiki>'''Ate'''** - habis itu? / pembuka kata / nanti ; perkataan asal dari Hatta
- "'''ate''' Miker koje mane sekarang?" (''Habis tu, kau kerja di mana sekarang?'')
- "'''ate''' deme tak sunyi ke Miker tinggei deme?" (''Nanti, diorang tak sunyi ke kau tinggalkan diorang?'')
•
<nowiki>**</nowiki>'''Ajenye'''** - sungguh / kata gabungan.
- "'''ajenye''' benor" (''sungguhkah benar'')
- "'''ajenye''' gampang deme ni, padanle dak sedekah, gaji pulak tak hulor lebih" (''sungguh'' ''celaka diorang ni, padanlah tak sedekah, gaji pulak tak hulur lebih'')
•
<nowiki>**</nowiki>'''Asei'''** - pabila
- " '''asei''' aok masok aje, semua buat tengin" (''pabila aku masuk saja, semua terus buat bodoh'')
•
<nowiki>**</nowiki>'''Aok'''** - aku
- "'''aok''' ni maleh ni" (''aku ini yang malas ni'')
•
<nowiki>**</nowiki>'''Arbok'''** - babi hutan, khinzir
- "aok punye sedare arwah dah, yop, di sondoi '''arbok'''" (''saudara aku dah meninggal, bang, di langgar babi hutan'')
•
<nowiki>**</nowiki>'''Apah idak'''** - serba rugi
- "aok dah datang koje, yang tokenye dak kabo cuti. Balik tu '''apah idak''', masa leboh, minyak pun leboh" (''aku dah datang kerja, bosnya tidak beritahu cuti. Balik tu serba rugi, masa hilang, minyak pun hilang'')
•
<nowiki>**</nowiki>'''Akei'''** - licik
- "deme ni usah caye le, deme tu banyak '''akei'''. Ate sekelip mate aje deme pusing cerite" (''diorang ni tak payah percaya, diorang tu licik. Nanti sekelip mata saja diorang pusing cerita'')
•
6watpm79b4q1z9jj15zolc5bel01j0h
379448
379435
2026-10-18T03:06:42Z
Uwais Athrun
11607
Section B
379448
wikitext
text/x-wiki
<mapframe latitude="4.669505" longitude="100.794067" zoom="2" width="200" height="100" />{{-Kata nama-|Ngelabun Perak=Dialek Perak}}: '''Ngelabun Perak'''
'''A;'''
<nowiki>**</nowiki>'''Ate'''** - habis itu? / pembuka kata / nanti ; perkataan asal dari Hatta
- "'''ate''' Miker koje mane sekarang?" (''Habis tu, kau kerja di mana sekarang?'')
- "'''ate''' deme tak sunyi ke Miker tinggei deme?" (''Nanti, diorang tak sunyi ke kau tinggalkan diorang?'')
•
<nowiki>**</nowiki>'''Ajenye'''** - sungguh / kata gabungan.
- "'''ajenye''' benor" (''sungguhkah benar'')
- "'''ajenye''' gampang deme ni, padanle dak sedekah, gaji pulak tak hulor lebih" (''sungguh'' ''celaka diorang ni, padanlah tak sedekah, gaji pulak tak hulur lebih'')
•
<nowiki>**</nowiki>'''Asei'''** - pabila
- " '''asei''' aok masok aje, semua buat tengin" (''pabila aku masuk saja, semua terus buat bodoh'')
•
<nowiki>**</nowiki>'''Aok'''** - aku
- "'''aok''' ni maleh ni" (''aku ini yang malas ni'')
•
<nowiki>**</nowiki>'''Arbok'''** - babi hutan, khinzir
- "aok punye sedare arwah dah, yop, di sondoi '''arbok'''" (''saudara aku dah meninggal, bang, di langgar babi hutan'')
•
<nowiki>**</nowiki>'''Apah idak'''** - serba rugi
- "aok dah datang koje, yang tokenye dak kabo cuti. Balik tu '''apah idak''', masa leboh, minyak pun leboh" (''aku dah datang kerja, bosnya tidak beritahu cuti. Balik tu serba rugi, masa hilang, minyak pun hilang'')
•
<nowiki>**</nowiki>'''Akei'''** - licik
- "deme ni usah caye le, deme tu banyak '''akei'''. Ate sekelip mate aje deme pusing cerite" (''diorang ni tak payah percaya, diorang tu licik. Nanti sekelip mata saja diorang pusing cerita'')
•
<nowiki>**</nowiki>'''Ace'''** - macam
- "'''ace''' ne Miker sekarang ni?" (''Macam mana kau sekarang ni?'')
•
<nowiki>**</nowiki>'''Ayor'''** - Air
- "bak maghi '''ayor''' tu. Aok nak teguk" (''bawak Kemari air tu. Aku nak minum'')
•
'''B;'''
'''Boh''' - letak, taruk
- "Miker '''boh''' tepi pintu tu" (''kau letak tepi pintu tu'')
•
'''Bak''' - bawak, berikan
- "'''bak''' sini" (''bawak sini'')
•
'''Bakor''' - bakar
- "arini aok dapat ikan sunga, malam ni kite pekene ikan '''bakor'''" (''Harini aku dapat ikan sungai, malam ini kita makan ikan bakar'')
•
'''Bolen''' - bogel
- "Miker kalo naik moto usahle pakei kain, padanle bawak pun laju, kang udah tak pasei ter'''bolen''' ateh jalan" (''kau ni kalau naik moto tak payahlah pakai kain, padanlah bawak laju, kang dah tak pasal terbogel atas jalan'')
•
'''Bulor''' - kelaparan
- "ape miker dak masak ke ape, aok '''bulor''' ni" (''apakah kau tak masak, aku lapar ni'')
•
'''Bebei''' - Bebal, degil ya amat, berkeras ketika berkerja
- "ha Miker buat bebei tu, usah rosakkan barang pulak, ate jahanam, siap Miker" (''ha kau buat bebal tu, tak payah rosakkan barang, nanti rosak teruk, tunggu kau)''
•
'''Bojot''' - basah kuyup
- "Miker ni duk menyongket mase hujan udah kenape? Kan udah '''bojot'''" (''Kau ni keluar waktu hujan dah kenapa? Kan dan basah'')
•
'''Berda'ah''' - bohong, tipu
- "benor ke deme boleh beli kete mudah rope tu? '''Berda'ah''' je" (''apakah benar diorang boleh beli kereta semudah tu? Bohong lah'')
•
'''Bersemba''' - berhabuk
- "lantei ni tak pernah bersapu ke ape? '''Bersemba''' aje ni" (''lantai ni apa tak pernah disapu? Berhabuk saja ni'')
rctl5cxelh69yumr9wx2t8kquov3oid
379549
379448
2026-10-18T06:09:20Z
Uwais Athrun
11607
379549
wikitext
text/x-wiki
'''Ngelabun Perak''', satu dialek khas terletak di negeri [[w:Perak|Perak]], dan penggunanya menduduki di kawasan [[w:Sungai_Perak|Sungai Perak]], seperti [[w:Bota#/search|Bota]], [[w:Parit,_Perak|parit]] dan [[w:Kuala_Kangsar|Kuala Kangsar]].
'''A;'''
<nowiki>**</nowiki>'''Ate'''** - habis itu? / pembuka kata / nanti ; perkataan asal dari Hatta
- "'''ate''' Miker koje mane sekarang?" (''Habis tu, kau kerja di mana sekarang?'')
- "'''ate''' deme tak sunyi ke Miker tinggei deme?" (''Nanti, diorang tak sunyi ke kau tinggalkan diorang?'')
•
<nowiki>**</nowiki>'''Ajenye'''** - sungguh / kata gabungan.
- "'''ajenye''' benor" (''sungguhkah benar'')
- "'''ajenye''' gampang deme ni, padanle dak sedekah, gaji pulak tak hulor lebih" (''sungguh'' ''celaka diorang ni, padanlah tak sedekah, gaji pulak tak hulur lebih'')
•
<nowiki>**</nowiki>'''Asei'''** - pabila
- " '''asei''' aok masok aje, semua buat tengin" (''pabila aku masuk saja, semua terus buat bodoh'')
•
<nowiki>**</nowiki>'''Aok'''** - aku
- "'''aok''' ni maleh ni" (''aku ini yang malas ni'')
•
<nowiki>**</nowiki>'''Arbok'''** - babi hutan, khinzir
- "aok punye sedare arwah dah, yop, di sondoi '''arbok'''" (''saudara aku dah meninggal, bang, di langgar babi hutan'')
•
<nowiki>**</nowiki>'''Apah idak'''** - serba rugi
- "aok dah datang koje, yang tokenye dak kabo cuti. Balik tu '''apah idak''', masa leboh, minyak pun leboh" (''aku dah datang kerja, bosnya tidak beritahu cuti. Balik tu serba rugi, masa hilang, minyak pun hilang'')
•
<nowiki>**</nowiki>'''Akei'''** - licik
- "deme ni usah caye le, deme tu banyak '''akei'''. Ate sekelip mate aje deme pusing cerite" (''diorang ni tak payah percaya, diorang tu licik. Nanti sekelip mata saja diorang pusing cerita'')
•
<nowiki>**</nowiki>'''Ace'''** - macam
- "'''ace''' ne Miker sekarang ni?" (''Macam mana kau sekarang ni?'')
•
<nowiki>**</nowiki>'''Ayor'''** - Air
- "bak maghi '''ayor''' tu. Aok nak teguk" (''bawak Kemari air tu. Aku nak minum'')
•
'''B;'''
'''Boh''' - letak, taruk
- "Miker '''boh''' tepi pintu tu" (''kau letak tepi pintu tu'')
•
'''Bak''' - bawak, berikan
- "'''bak''' sini" (''bawak sini'')
•
'''Bakor''' - bakar
- "arini aok dapat ikan sunga, malam ni kite pekene ikan '''bakor'''" (''Harini aku dapat ikan sungai, malam ini kita makan ikan bakar'')
•
'''Bolen''' - bogel
- "Miker kalo naik moto usahle pakei kain, padanle bawak pun laju, kang udah tak pasei ter'''bolen''' ateh jalan" (''kau ni kalau naik moto tak payahlah pakai kain, padanlah bawak laju, kang dah tak pasal terbogel atas jalan'')
•
'''Bulor''' - kelaparan
- "ape miker dak masak ke ape, aok '''bulor''' ni" (''apakah kau tak masak, aku lapar ni'')
•
'''Bebei''' - Bebal, degil ya amat, berkeras ketika berkerja
- "ha Miker buat bebei tu, usah rosakkan barang pulak, ate jahanam, siap Miker" (''ha kau buat bebal tu, tak payah rosakkan barang, nanti rosak teruk, tunggu kau)''
•
'''Bojot''' - basah kuyup
- "Miker ni duk menyongket mase hujan udah kenape? Kan udah '''bojot'''" (''Kau ni keluar waktu hujan dah kenapa? Kan dan basah'')
•
'''Berda'ah''' - bohong, tipu
- "benor ke deme boleh beli kete mudah rope tu? '''Berda'ah''' je" (''apakah benar diorang boleh beli kereta semudah tu? Bohong lah'')
•
'''Bersemba''' - berhabuk
- "lantei ni tak pernah bersapu ke ape? '''Bersemba''' aje ni" (''lantai ni apa tak pernah disapu? Berhabuk saja ni'')
•
'''Bebenor''' - sangat
- "pedeh '''bebenor''' kuahnye, tak tahan di perut" (''pedas sangat kuah tu, pedih di perut'')
•
'''Berbirat''' - berparut serata badan
- "aok silap masok lengko aje, dah terkene semak berdughi, itu '''berbirat''' tu" (''aku tersalah masuk laluan saja, dah terkena semak berduri, dan itulah sebabnya berparut'')
•
'''Bengkin''' - garang, langsi
- "ade orang tua tu haritu deme '''bengkin''' Ngan aok, entah ape kene aok dak sio le nak tau" (''Ada orang tua tu dia garang Ngan aku, entah apa kena aku tak mau lah nak tahu'')
•
'''Beransor''' - minta diri untuk bersurai, balik
- "aok nak '''beransor''' dulu, ate hari koje besok" (''aku mahu minta diri dulu, nanti hari kerja esok'')
- "mane tu membe tadi tu? '''Beransor''' dah?" (''Kemana perginya kawan tadi? Balik dah?'')
•
'''Bertolo-tolo''' - berdolak-dalik, masing² mau menunjuk siapa lebih merendah diri
- "ey le deme ni kang, '''bertolo-tolo''' pulak, aku nak lekeh ni" (''aduh lah dia ni, berdolak-dalik pulak, aku nak lekas ni'')
•
'''Besor bapok''' - besar sangat
- "budak sekarang udah tak rope budak, sume '''besar bapok'''" (''anak² sekarang, sudah bukan rupa anak², semua besar sangat'')
•
'''Bajang''' - jembalang, hantu, berkaitan dengan setan
- "kamu ni buat perangei tak pernah dibuat orang, serope '''bajang'''" (''kau ni buat perangai tak pernah di buat manusia, seumpama setan'')
f7uzp23h2fuvvbas62wb8maj7iayx09
379552
379549
2026-10-18T11:02:26Z
Hakimi97
2668
Membalikkan suntingan, salah tempat sunting
379552
wikitext
text/x-wiki
{{auto cat|lect=1}}
ertee7cys9kcm61xm19ibbz6xr74sxz
379553
379552
2026-10-18T11:20:02Z
Hakimi97
2668
Berikan masa untuk pengguna berkenaan buat balik suntingan
379553
wikitext
text/x-wiki
'''Ngelabun Perak''', satu dialek khas terletak di negeri [[w:Perak|Perak]], dan penggunanya menduduki di kawasan [[w:Sungai_Perak|Sungai Perak]], seperti [[w:Bota#/search|Bota]], [[w:Parit,_Perak|parit]] dan [[w:Kuala_Kangsar|Kuala Kangsar]].
'''A;'''
<nowiki>**</nowiki>'''Ate'''** - habis itu? / pembuka kata / nanti ; perkataan asal dari Hatta
- "'''ate''' Miker koje mane sekarang?" (''Habis tu, kau kerja di mana sekarang?'')
- "'''ate''' deme tak sunyi ke Miker tinggei deme?" (''Nanti, diorang tak sunyi ke kau tinggalkan diorang?'')
•
<nowiki>**</nowiki>'''Ajenye'''** - sungguh / kata gabungan.
- "'''ajenye''' benor" (''sungguhkah benar'')
- "'''ajenye''' gampang deme ni, padanle dak sedekah, gaji pulak tak hulor lebih" (''sungguh'' ''celaka diorang ni, padanlah tak sedekah, gaji pulak tak hulur lebih'')
•
<nowiki>**</nowiki>'''Asei'''** - pabila
- " '''asei''' aok masok aje, semua buat tengin" (''pabila aku masuk saja, semua terus buat bodoh'')
•
<nowiki>**</nowiki>'''Aok'''** - aku
- "'''aok''' ni maleh ni" (''aku ini yang malas ni'')
•
<nowiki>**</nowiki>'''Arbok'''** - babi hutan, khinzir
- "aok punye sedare arwah dah, yop, di sondoi '''arbok'''" (''saudara aku dah meninggal, bang, di langgar babi hutan'')
•
<nowiki>**</nowiki>'''Apah idak'''** - serba rugi
- "aok dah datang koje, yang tokenye dak kabo cuti. Balik tu '''apah idak''', masa leboh, minyak pun leboh" (''aku dah datang kerja, bosnya tidak beritahu cuti. Balik tu serba rugi, masa hilang, minyak pun hilang'')
•
<nowiki>**</nowiki>'''Akei'''** - licik
- "deme ni usah caye le, deme tu banyak '''akei'''. Ate sekelip mate aje deme pusing cerite" (''diorang ni tak payah percaya, diorang tu licik. Nanti sekelip mata saja diorang pusing cerita'')
•
<nowiki>**</nowiki>'''Ace'''** - macam
- "'''ace''' ne Miker sekarang ni?" (''Macam mana kau sekarang ni?'')
•
<nowiki>**</nowiki>'''Ayor'''** - Air
- "bak maghi '''ayor''' tu. Aok nak teguk" (''bawak Kemari air tu. Aku nak minum'')
•
'''B;'''
'''Boh''' - letak, taruk
- "Miker '''boh''' tepi pintu tu" (''kau letak tepi pintu tu'')
•
'''Bak''' - bawak, berikan
- "'''bak''' sini" (''bawak sini'')
•
'''Bakor''' - bakar
- "arini aok dapat ikan sunga, malam ni kite pekene ikan '''bakor'''" (''Harini aku dapat ikan sungai, malam ini kita makan ikan bakar'')
•
'''Bolen''' - bogel
- "Miker kalo naik moto usahle pakei kain, padanle bawak pun laju, kang udah tak pasei ter'''bolen''' ateh jalan" (''kau ni kalau naik moto tak payahlah pakai kain, padanlah bawak laju, kang dah tak pasal terbogel atas jalan'')
•
'''Bulor''' - kelaparan
- "ape miker dak masak ke ape, aok '''bulor''' ni" (''apakah kau tak masak, aku lapar ni'')
•
'''Bebei''' - Bebal, degil ya amat, berkeras ketika berkerja
- "ha Miker buat bebei tu, usah rosakkan barang pulak, ate jahanam, siap Miker" (''ha kau buat bebal tu, tak payah rosakkan barang, nanti rosak teruk, tunggu kau)''
•
'''Bojot''' - basah kuyup
- "Miker ni duk menyongket mase hujan udah kenape? Kan udah '''bojot'''" (''Kau ni keluar waktu hujan dah kenapa? Kan dan basah'')
•
'''Berda'ah''' - bohong, tipu
- "benor ke deme boleh beli kete mudah rope tu? '''Berda'ah''' je" (''apakah benar diorang boleh beli kereta semudah tu? Bohong lah'')
•
'''Bersemba''' - berhabuk
- "lantei ni tak pernah bersapu ke ape? '''Bersemba''' aje ni" (''lantai ni apa tak pernah disapu? Berhabuk saja ni'')
•
'''Bebenor''' - sangat
- "pedeh '''bebenor''' kuahnye, tak tahan di perut" (''pedas sangat kuah tu, pedih di perut'')
•
'''Berbirat''' - berparut serata badan
- "aok silap masok lengko aje, dah terkene semak berdughi, itu '''berbirat''' tu" (''aku tersalah masuk laluan saja, dah terkena semak berduri, dan itulah sebabnya berparut'')
•
'''Bengkin''' - garang, langsi
- "ade orang tua tu haritu deme '''bengkin''' Ngan aok, entah ape kene aok dak sio le nak tau" (''Ada orang tua tu dia garang Ngan aku, entah apa kena aku tak mau lah nak tahu'')
•
'''Beransor''' - minta diri untuk bersurai, balik
- "aok nak '''beransor''' dulu, ate hari koje besok" (''aku mahu minta diri dulu, nanti hari kerja esok'')
- "mane tu membe tadi tu? '''Beransor''' dah?" (''Kemana perginya kawan tadi? Balik dah?'')
•
'''Bertolo-tolo''' - berdolak-dalik, masing² mau menunjuk siapa lebih merendah diri
- "ey le deme ni kang, '''bertolo-tolo''' pulak, aku nak lekeh ni" (''aduh lah dia ni, berdolak-dalik pulak, aku nak lekas ni'')
•
'''Besor bapok''' - besar sangat
- "budak sekarang udah tak rope budak, sume '''besar bapok'''" (''anak² sekarang, sudah bukan rupa anak², semua besar sangat'')
•
'''Bajang''' - jembalang, hantu, berkaitan dengan setan
- "kamu ni buat perangei tak pernah dibuat orang, serope '''bajang'''" (''kau ni buat perangai tak pernah di buat manusia, seumpama setan'')
f7uzp23h2fuvvbas62wb8maj7iayx09
Wikikamus:mfa/abae
4
86521
379401
344708
2026-10-17T17:34:43Z
Mirlim
8057
379401
wikitext
text/x-wiki
== Bahasa Melayu Kelantan-Patani ==
===Bentuk alternatif===
* {{alter|mfa|abe|abea|abei|abey}}
===Sebutan===
* {{AFA|mfa|/a.bɛ/}}
* {{rima|mfa|bɛ|ɛ}}
* {{penyempangan|mfa|a|bae}}
===Kata nama===
{{inti|mfa|kata nama}}
# adik-beradik lelaki yang lebih tua, [[abang]]
===Rujukan===
* {{R:KPLK|page=10}}
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=abe}}
q4c4ld0ehcwz1g0ed4h7jkxvuhenn2v
Modul:etymon/data/text allowed
828
118630
379481
375835
2026-10-18T03:41:28Z
Hiyuune
8343
379481
Scribunto
text/plain
--[=[
Languages and families that may use the {{etymon}} `text=` parameter (language-community consensus).
]=]
return {
-- Mode: "off" = disabled, "warn" = warn only, "error" = enforce.
default_mode = "warn",
langs = {
["ak"] = true,
["amf"] = true,
["az"] = true,
["bg"] = true,
["bnt-sab-pro"] = true,
["cs"] = true,
["en"] = true,
["eo"] = true,
["es"] = true,
["ext"] = true,
["fa"] = true,
["gmw-msc"] = true,
["hsb"] = true,
["iir-pro"] = true,
["jbo"] = true,
["jdt"] = true,
["la"] = true,
["mul"] = true,
["ota"] = true,
["pap"] = true,
["ps"] = true,
["ro"] = true,
["sco"] = true,
["sk"] = true,
["sw"] = true,
["tg"] = true,
["tl"] = true,
["tr"] = true,
["uk"] = true,
["uz"] = true,
["sl"] = true,
["rsk"] = true,
["zlw-ocs"] = true,
["zlw-osk"] = true,
["zle-ono"] = true,
["zle-ort"] = true,
["sla-pro"] = true,
["eu"] = true,
-- Austronesian
["map-pro"] = true,
["map-ata-pro"] = true,
["poz-pro"] = true,
["poz-btk-pro"] = true,
["poz-cet-pro"] = true,
["pqe-pro"] = true,
["poz-hce-pro"] = true,
["poz-oce-pro"] = true,
["poz-pol-pro"] = true,
["poz-pnp-pro"] = true,
["poz-pep-pro"] = true,
["poz-mic-pro"] = true,
["poz-lgx-pro"] = true,
["poz-msa-pro"] = true,
["poz-mcm-pro"] = true,
["cmc-pro"] = true,
["poz-mly-pro"] = true,
["poz-swa-pro"] = true,
["btk-pro"] = true,
["phi-pro"] = true,
["phi-kal-pro"] = true,
["poz-ssw-pro"] = true,
["dru-pro"] = true,
["crp-slb"] = true,
},
families = {
["ber"] = true, -- Berber
["dra"] = true, -- Dravidian
["inc"] = true, -- Indo-Aryan
["iir-nur"] = true, -- Nuristani
["mun"] = true, -- Munda
["roa-gap"] = true, -- Galician-Portuguese
["sem-ara"] = true, -- Aramaic
["sem-arb"] = true, -- Arabic
["tup"] = true, -- Tupian
["bnt-sab"] = true, -- Sabaki
["zlw-lch"] = true, -- Lechitic
["phi"] = true, -- Philippine
},
}
75kwrg066g152qxzasemg19613tvuii
Wikikamus:mfa/hè
4
120477
379373
347283
2026-10-17T15:36:37Z
Mirlim
8057
/* Pautan luar */
379373
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Sebutan===
* {{AFA|mfa|[hɛ]}}
* {{rima|mfa|hɛ|ɛ}}
* {{penyempangan|mfa|hè}}
===Partikel===
{{head|mfa|partikel}}
# {{lb|mfa|halus}} {{ng|kata untuk mengatakan benar}}, setuju.
#: {{syn|mfa|hõ|jolo}}
===Rujukan===
* {{R:Glosari Dialek Kelantan|entry=he}}
===Pautan luar===
* {{R:PRPM|gdkel|entri=he|addkeyword=benar+halus}}
gx1jkiueo5wclmj7khudb120boppdbd
Pengguna:Mirlim/senarai perkataan/mfa
2
120692
379551
369082
2026-10-18T07:07:33Z
Mirlim
8057
/* PRPM (GDK) */
379551
wikitext
text/x-wiki
<div style="text-align: center;"><span style="font-family: Old English Text MT;"><span style="font-size:270%;border:none;white-space: nowrap">'''Bahasa Melayu</br>Kelantan-Patani'''</span></span></div>
==Kotak input==
<div class="center">
{|
| style="width:33%;" |
<inputbox>
type=create
break=yes
buttonlabel=lema
bgcolor=
width=22
default=Èèéóãẽõũ
preload=Pengguna:Mirlim/mfa/format-mfa-01
editintro=
hidden=
namespaces=
prefix=
</inputbox>
| style="width:33%;" |
<inputbox>
type=create
break=yes
buttonlabel=lema berawalan
bgcolor=
width=22
default=
preload=Pengguna:Mirlim/mfa/format-mfa-02
editintro=
hidden=
namespaces=
prefix=Wikikamus:mfa/
</inputbox>
| style="width:33%;" |
<inputbox>
type=create
break=yes
buttonlabel=lema alt berawalan
bgcolor=
width=22
default=
preload=Pengguna:Mirlim/mfa/format-mfa-03
editintro=
hidden=
namespaces=
prefix=Wikikamus:mfa/
</inputbox>
|}
</div>
==[https://prpm.dbp.gov.my/Cari1?keyword=ni&d=107200&#LIHATSINI PRPM (GDK)]==
===Kata tunggal===
<div class="toccolours mw-collapsible">
{{l|mfa|kayu}}, {{l|mfa|situ}}, {{l|mfa|satu}}, {{l|mfa|batu}}, {{l|mfa|atu}}, {{l|mfa|guru}}, {{l|mfa|buru}}, {{l|mfa|skru}}, {{l|mfa|saru}}, {{l|mfa|baru}}, {{l|mfa|ganu}}, {{l|mfa|temu}}, {{l|mfa|dulu}}, {{l|mfa|bulu}}, {{l|mfa|palu}}, {{l|mfa|malu}}, {{l|mfa|selalu}}, {{l|mfa|lalu}}, {{l|mfa|kalu}}, {{l|mfa|suku}}, {{l|mfa|duku}}, {{l|mfa|siku}}, {{l|mfa|laku}}, {{l|mfa|aku}}, {{l|mfa|baju}}, {{l|mfa|tahu}}, {{l|mfa|prahu}}, {{l|mfa|tunggu}}, {{l|mfa|lagu}}, {{l|mfa|kudu}}, {{l|mfa|ladu}}, {{l|mfa|lembu}}, {{l|mfa|kambu}}, {{l|mfa|tebu}}, {{l|mfa|lebu}}, {{l|mfa|bau}}, {{l|mfa|sayo}}, {{l|mfa|gayo}}, {{l|mfa|tuwo}}, {{l|mfa|mewo}}, {{l|mfa|rawo}}, {{l|mfa|tuo}}, {{l|mfa|duo}}, {{l|mfa|moto}}, {{l|mfa|kreto}}, {{l|mfa|mato}}, {{l|mfa|poso}}, {{l|mfa|gaso}}, {{l|mfa|baso}}, {{l|mfa|kuro}}, {{l|mfa|soro}}, {{l|mfa|kiro}}, {{l|mfa|caro}}, {{l|mfa|srupo}}, {{l|mfa|rupo}}, {{l|mfa|kapo}}, {{l|mfa|dapo}}, {{l|mfa|guno}}, {{l|mfa|tino}}, {{l|mfa|guwano}}, {{l|mfa|guano}}, {{l|mfa|mano}}, {{l|mfa|romo}}, {{l|mfa|sokmo}}, {{l|mfa|kekmo}}, {{l|mfa|limo}}, {{l|mfa|lamo}}, {{l|mfa|gulo}}, {{l|mfa|molo}}, {{l|mfa|lolo}}, {{l|mfa|jolo}}, {{l|mfa|olo}}, {{l|mfa|bilo}}, {{l|mfa|telo}}, {{l|mfa|kelo}}, {{l|mfa|palo}}, {{l|mfa|malo}}, {{l|mfa|lo}}, {{l|mfa|suko}}, {{l|mfa|tiko}}, {{l|mfa|siko}}, {{l|mfa|seko}}, {{l|mfa|jajo}}, {{l|mfa|doho}}, {{l|mfa|ho}}, {{l|mfa|bungo}}, {{l|mfa|tigo}}, {{l|mfa|jago}}, {{l|mfa|tido}}, {{l|mfa|lado}}, {{l|mfa|dado}}, {{l|mfa|ado}}, {{l|mfa|kabo}}, {{l|mfa|bo}}, {{l|mfa|ketuk}}, {{l|mfa|susuk}}, {{l|mfa|gusuk}}, {{l|mfa|busuk}}, {{l|mfa|masuk}}, {{l|mfa|suk}}, {{l|mfa|ceruk}}, {{l|mfa|repuk}}, {{l|mfa|tuluk}}, {{l|mfa|seluk}}, {{l|mfa|sekuk}}, {{l|mfa|jujuk}}, {{l|mfa|tiuk}}, {{l|mfa|pucuk}}, {{l|mfa|cuk}}, {{l|mfa|abuk}}, {{l|mfa|tok}}, {{l|mfa|gosok}}, {{l|mfa|esok}}, {{l|mfa|masok}}, {{l|mfa|sorok}}, {{l|mfa|perok}}, {{l|mfa|karok}}, {{l|mfa|barok}}, {{l|mfa|rok}}, {{l|mfa|tapok}}, {{l|mfa|pok}}, {{l|mfa|tanok}}, {{l|mfa|anok}}, {{l|mfa|lemok}}, {{l|mfa|mok}}, {{l|mfa|golok}}, {{l|mfa|palok}}, {{l|mfa|lok}}, {{l|mfa|pokok}}, {{l|mfa|kokok}}, {{l|mfa|tekok}}, {{l|mfa|sekok}}, {{l|mfa|takok}}, {{l|mfa|makok}}, {{l|mfa|tunjok}}, {{l|mfa|jok}}, {{l|mfa|hok}}, {{l|mfa|jugok}}, {{l|mfa|tengok}}, {{l|mfa|gok}}, {{l|mfa|dudok}}, {{l|mfa|sendok}}, {{l|mfa|cok}}, {{l|mfa|tembok}}, {{l|mfa|gembok}}, {{l|mfa|sebok}}, {{l|mfa|labok}}, {{l|mfa|putik}}, {{l|mfa|plastik}}, {{l|mfa|retik}}, {{l|mfa|kesik}}, {{l|mfa|turik}}, {{l|mfa|kerik}}, {{l|mfa|berik}}, {{l|mfa|bilik}}, {{l|mfa|cekik}}, {{l|mfa|jerijik}}, {{l|mfa|leik}}, {{l|mfa|kecik}}, {{l|mfa|senyek}}, {{l|mfa|kewek}}, {{l|mfa|potek}}, {{l|mfa|otek}}, {{l|mfa|itek}}, {{l|mfa|retek}}, {{l|mfa|ketek}}, {{l|mfa|getek}}, {{l|mfa|kemesek}}, {{l|mfa|jirek}}, {{l|mfa|serek}}, {{l|mfa|cerek-cerek}}, {{l|mfa|cerek}}, {{l|mfa|berek-berek}}, {{l|mfa|parek}}, {{l|mfa|supek}}, {{l|mfa|jlepek}}, {{l|mfa|cepek}}, {{l|mfa|memek}}, {{l|mfa|kulek}}, {{l|mfa|molek}}, {{l|mfa|loklek}}, {{l|mfa|ralek}}, {{l|mfa|lek-lek}}, {{l|mfa|lokek}}, {{l|mfa|cokek}}, {{l|mfa|kek}}, {{l|mfa|jerehek}}, {{l|mfa|kehek}}, {{l|mfa|hongek-hongek}}, {{l|mfa|ongek}}, {{l|mfa|sengek}}, {{l|mfa|ponggek}}, {{l|mfa|pendek}}, {{l|mfa|lendek}}, {{l|mfa|gledek}}, {{l|mfa|adek-bradek}}, {{l|mfa|bradek}}, {{l|mfa|mokcek}}, {{l|mfa|brecek}}, {{l|mfa|kecek}}, {{l|mfa|cek}}, {{l|mfa|sobek}}, {{l|mfa|gobek}}, {{l|mfa|bobek}}, {{l|mfa|lembek}}, {{l|mfa|klebek}}, {{l|mfa|baek}}, {{l|mfa|royak}}, {{l|mfa|kiyak}}, {{l|mfa|yak}}, {{l|mfa|glewak}}, {{l|mfa|kuak}}, {{l|mfa|buak}}, {{l|mfa|retak}}, {{l|mfa|petak}}, {{l|mfa|ketak-ketak}}, {{l|mfa|betak}}, {{l|mfa|patak}}, {{l|mfa|tak}}, {{l|mfa|asak}}, {{l|mfa|sak}}, {{l|mfa|lorak}}, {{l|mfa|orak}}, {{l|mfa|rokrak}}, {{l|mfa|perak}}, {{l|mfa|kemerak}}, {{l|mfa|lerak}}, {{l|mfa|kerak}}, {{l|mfa|cerak}}, {{l|mfa|berak}}, {{l|mfa|arak}}, {{l|mfa|rak}}, {{l|mfa|tepak}}, {{l|mfa|sepak}}, {{l|mfa|cepak}}, {{l|mfa|krenak}}, {{l|mfa|genak}}, {{l|mfa|selak}}, {{l|mfa|cepelak}}, {{l|mfa|jelak}}, {{l|mfa|gelak}}, {{l|mfa|jalak}}, {{l|mfa|alak}}, {{l|mfa|srekak}}, {{l|mfa|jerekak}}, {{l|mfa|lekak}}, {{l|mfa|cekak}}, {{l|mfa|sakak}}, {{l|mfa|grakak}}, {{l|mfa|akak}}, {{l|mfa|kak}}, {{l|mfa|rejak}}, {{l|mfa|jajak}}, {{l|mfa|jak}}, {{l|mfa|siak}}, {{l|mfa|loghak}}, {{l|mfa|jahak}}, {{l|mfa|jugak}}, {{l|mfa|ugak-ugak}}, {{l|mfa|sengak}}, {{l|mfa|jangak}}, {{l|mfa|bangak}}, {{l|mfa|gok-gak}}, {{l|mfa|gak}}, {{l|mfa|kindak-kindak}}, {{l|mfa|pecak}}, {{l|mfa|lacak}}, {{l|mfa|umbak}}, {{l|mfa|rembak}}, {{l|mfa|lambak}}, {{l|mfa|hambak}}, {{l|mfa|ambak}}, {{l|mfa|sebak}}, {{l|mfa|lebak}}, {{l|mfa|jebak}}, {{l|mfa|kerabak}}, {{l|mfa|babak}}, {{l|mfa|penyanyi}}, {{l|mfa|jawi}}, {{l|mfa|bui}}, {{l|mfa|mesti}}, {{l|mfa|reti}}, {{l|mfa|pati}}, {{l|mfa|mati}}, {{l|mfa|cekati}}, {{l|mfa|ati}}, {{l|mfa|isi}}, {{l|mfa|duri}}, {{l|mfa|curi}}, {{l|mfa|lori}}, {{l|mfa|gori}}, {{l|mfa|diri}}, {{l|mfa|mari}}, {{l|mfa|lari}}, {{l|mfa|jari}}, {{l|mfa|gari}}, {{l|mfa|cari}}, {{l|mfa|bari}}, {{l|mfa|kopi}}, {{l|mfa|tepi}}, {{l|mfa|tapi}}, {{l|mfa|api}}, {{l|mfa|guni}}, {{l|mfa|sakni}}, {{l|mfa|sini}}, {{l|mfa|bini}}, {{l|mfa|brani}}, {{l|mfa|asli}}, {{l|mfa|poli}}, {{l|mfa|goli}}, {{l|mfa|ahli}}, {{l|mfa|beli}}, {{l|mfa|tali}}, {{l|mfa|kali}}, {{l|mfa|ali}}, {{l|mfa|kaki}}, {{l|mfa|janji}}, {{l|mfa|gaji}}, {{l|mfa|gigi}}, {{l|mfa|tinggi}}, {{l|mfa|pagi}}, {{l|mfa|lagi}}, {{l|mfa|mandi}}, {{l|mfa|kandi}}, {{l|mfa|takdi}}, {{l|mfa|lidi}}, {{l|mfa|bidi}}, {{l|mfa|padi}}, {{l|mfa|jadi}}, {{l|mfa|badi}}, {{l|mfa|di}}, {{l|mfa|cuci}}, {{l|mfa|ubi}}, {{l|mfa|babi}}, {{l|mfa|drektuh}}, {{l|mfa|retuh}}, {{l|mfa|getuh}}, {{l|mfa|kuruh}}, {{l|mfa|penuh}}, {{l|mfa|jenuh}}, {{l|mfa|cemuh}}, {{l|mfa|mukuh}}, {{l|mfa|bukuh}}, {{l|mfa|cakduh}}, {{l|mfa|tembuh}}, {{l|mfa|kambuh}}, {{l|mfa|jauh}}, {{l|mfa|tonyoh}}, {{l|mfa|honyoh}}, {{l|mfa|lakyoh}}, {{l|mfa|payoh}}, {{l|mfa|juwoh}}, {{l|mfa|sewoh}}, {{l|mfa|kawoh}}, {{l|mfa|setoh}}, {{l|mfa|bretoh}}, {{l|mfa|getoh}}, {{l|mfa|patoh}}, {{l|mfa|latoh}}, {{l|mfa|jatoh}}, {{l|mfa|jusoh}}, {{l|mfa|toksoh}}, {{l|mfa|pisoh}}, {{l|mfa|balasoh}}, {{l|mfa|basoh}}, {{l|mfa|soh}}, {{l|mfa|guroh}}, {{l|mfa|kloroh}}, {{l|mfa|kiroh}}, {{l|mfa|leroh}}, {{l|mfa|keroh}}, {{l|mfa|jeroh}}, {{l|mfa|taroh}}, {{l|mfa|klaroh}}, {{l|mfa|baroh}}, {{l|mfa|roh}}, {{l|mfa|tupoh}}, {{l|mfa|kepoh}}, {{l|mfa|bekrapoh}}, {{l|mfa|kerapoh}}, {{l|mfa|papoh}}, {{l|mfa|kapoh}}, {{l|mfa|tanoh}}, {{l|mfa|limoh}}, {{l|mfa|gemuloh}}, {{l|mfa|sebeloh}}, {{l|mfa|beloh}}, {{l|mfa|baloh}}, {{l|mfa|aloh}}, {{l|mfa|loh}}, {{l|mfa|klekoh}}, {{l|mfa|kekoh}}, {{l|mfa|sedekoh}}, {{l|mfa|dekoh}}, {{l|mfa|cekoh}}, {{l|mfa|pakoh}}, {{l|mfa|koh}}, {{l|mfa|jojoh}}, {{l|mfa|senjoh}}, {{l|mfa|glehoh}}, {{l|mfa|ugoh}}, {{l|mfa|gogoh}}, {{l|mfa|tengoh-tengoh}}, {{l|mfa|tengoh}}, {{l|mfa|lengoh}}, {{l|mfa|gligoh}}, {{l|mfa|sunggoh}}, {{l|mfa|gagoh}}, {{l|mfa|agoh}}, {{l|mfa|sudoh}}, {{l|mfa|gadoh}}, {{l|mfa|dadoh}}, {{l|mfa|doh-doh}}, {{l|mfa|doh}}, {{l|mfa|kucoh}}, {{l|mfa|rocoh}}, {{l|mfa|locoh}}, {{l|mfa|gocoh}}, {{l|mfa|glecoh}}, {{l|mfa|coh}}, {{l|mfa|tuboh}}, {{l|mfa|buboh}}, {{l|mfa|kemboh}}, {{l|mfa|jeboh}}, {{l|mfa|boh}}, {{l|mfa|pitih}}, {{l|mfa|kih}}, {{l|mfa|regih}}, {{l|mfa|genyeh}}, {{l|mfa|suweh}}, {{l|mfa|leweh}}, {{l|mfa|puteh}}, {{l|mfa|jeteh}}, {{l|mfa|kateh}}, {{l|mfa|gateh}}, {{l|mfa|teh}}, {{l|mfa|tereh}}, {{l|mfa|pereh}}, {{l|mfa|lereh}}, {{l|mfa|mepeh}}, {{l|mfa|semeh}}, {{l|mfa|meh}}, {{l|mfa|buleh}}, {{l|mfa|poleh}}, {{l|mfa|glu-gleh}}, {{l|mfa|seleh}}, {{l|mfa|peleh}}, {{l|mfa|beleh}}, {{l|mfa|saleh}}, {{l|mfa|leh}}, {{l|mfa|bokeh}}, {{l|mfa|srongeh}}, {{l|mfa|renggeh}}, {{l|mfa|bageh}}, {{l|mfa|pedeh}}, {{l|mfa|ledeh}}, {{l|mfa|dedeh}}, {{l|mfa|deh}}, {{l|mfa|boceh}}, {{l|mfa|keceh}}, {{l|mfa|lebeh}}, {{l|mfa|jebeh}}, {{l|mfa|praeh}}, {{l|mfa|laeh}}, {{l|mfa|eh}}, {{l|mfa|kuliyah}}, {{l|mfa|jeluwah}}, {{l|mfa|tewah}}, {{l|mfa|puah}}, {{l|mfa|gletah}}, {{l|mfa|getah}}, {{l|mfa|latah}}, {{l|mfa|batah}}, {{l|mfa|cepurah}}, {{l|mfa|purah}}, {{l|mfa|berepah}}, {{l|mfa|lepah}}, {{l|mfa|pah}}, {{l|mfa|inah}}, {{l|mfa|panah}}, {{l|mfa|lanah}}, {{l|mfa|samah}}, {{l|mfa|amah}}, {{l|mfa|mulah}}, {{l|mfa|tebolah}}, {{l|mfa|kilah}}, {{l|mfa|jilah}}, {{l|mfa|gilah}}, {{l|mfa|pelah}}, {{l|mfa|lah}}, {{l|mfa|tikah}}, {{l|mfa|bekah}}, {{l|mfa|jah}}, {{l|mfa|luliah}}, {{l|mfa|pengah}}, {{l|mfa|bidah}}, {{l|mfa|redah}}, {{l|mfa|dedah}}, {{l|mfa|lecah}}, {{l|mfa|brembah}}, {{l|mfa|gabah-gabah}}, {{l|mfa|bah}}, {{l|mfa|sulung}}, {{l|mfa|sekung}}, {{l|mfa|sugung}}, {{l|mfa|klotong}}, {{l|mfa|cetong}}, {{l|mfa|tong}}, {{l|mfa|kosong}}, {{l|mfa|toksong}}, {{l|mfa|burong}}, {{l|mfa|jerong}}, {{l|mfa|erong}}, {{l|mfa|rong}}, {{l|mfa|copong}}, {{l|mfa|tekpong}}, {{l|mfa|kekpong}}, {{l|mfa|tepong}}, {{l|mfa|pong}}, {{l|mfa|tulong}}, {{l|mfa|sejulong}}, {{l|mfa|jolong}}, {{l|mfa|telong}}, {{l|mfa|kelong}}, {{l|mfa|jelong}}, {{l|mfa|gelong}}, {{l|mfa|long}}, {{l|mfa|kekkong}}, {{l|mfa|bikong}}, {{l|mfa|lakong}}, {{l|mfa|krejong}}, {{l|mfa|jong}}, {{l|mfa|liong}}, {{l|mfa|gong}}, {{l|mfa|glendong}}, {{l|mfa|gendong}}, {{l|mfa|idong}}, {{l|mfa|tedong}}, {{l|mfa|locong}}, {{l|mfa|bocong}}, {{l|mfa|kecong}}, {{l|mfa|cong}}, {{l|mfa|bokbong}}, {{l|mfa|bong}}, {{l|mfa|puing}}, {{l|mfa|uting}}, {{l|mfa|meting}}, {{l|mfa|gasing}}, {{l|mfa|juring}}, {{l|mfa|sering}}, {{l|mfa|kering}}, {{l|mfa|cering}}, {{l|mfa|klaring}}, {{l|mfa|caping}}, {{l|mfa|kuning}}, {{l|mfa|pening}}, {{l|mfa|bleming}}, {{l|mfa|suling}}, {{l|mfa|puling}}, {{l|mfa|anging}}, {{l|mfa|ceding}}, {{l|mfa|kucing}}, {{l|mfa|lokcing}}, {{l|mfa|selebing}}, {{l|mfa|teweng}}, {{l|mfa|poteng}}, {{l|mfa|celoreng}}, {{l|mfa|goreng}}, {{l|mfa|skreng}}, {{l|mfa|bereng}}, {{l|mfa|sopeng}}, {{l|mfa|boleng}}, {{l|mfa|greleng}}, {{l|mfa|meleng}}, {{l|mfa|sengeleng}}, {{l|mfa|celeng}}, {{l|mfa|kenaleng}}, {{l|mfa|keng}}, {{l|mfa|bojeng}}, {{l|mfa|jinjeng}}, {{l|mfa|rajeng}}, {{l|mfa|gondeng}}, {{l|mfa|cendeng}}, {{l|mfa|handeng}}, {{l|mfa|jembeng}}, {{l|mfa|tebeng}}, {{l|mfa|jebeng}}, {{l|mfa|gebeng}}, {{l|mfa|beng}}, {{l|mfa|keknya}}, {{l|mfa|glenya}}, {{l|mfa|ranya}}, {{l|mfa|brakya}}, {{l|mfa|siya}}, {{l|mfa|riya}}, {{l|mfa|kiya}}, {{l|mfa|baya}}, {{l|mfa|tuwa}}, {{l|mfa|beduwa}}, {{l|mfa|kewa}}, {{l|mfa|lawa}}, {{l|mfa|wa}}, {{l|mfa|lua}}, {{l|mfa|jua}}, {{l|mfa|spita}}, {{l|mfa|sepita}}, {{l|mfa|semeta}}, {{l|mfa|lata}}, {{l|mfa|bata}}, {{l|mfa|ata}}, {{l|mfa|pisa}}, {{l|mfa|kisa}}, {{l|mfa|besa}}, {{l|mfa|pasa}}, {{l|mfa|lasa}}, {{l|mfa|sa}}, {{l|mfa|kura}}, {{l|mfa|kemera}}, {{l|mfa|bedera}}, {{l|mfa|dera}}, {{l|mfa|kemara}}, {{l|mfa|kara}}, {{l|mfa|kuca-bara}}, {{l|mfa|ra}}, {{l|mfa|tupa}}, {{l|mfa|klipa}}, {{l|mfa|sepa}}, {{l|mfa|sapa}}, {{l|mfa|brona}}, {{l|mfa|kena}}, {{l|mfa|lana}}, {{l|mfa|juma}}, {{l|mfa|lima}}, {{l|mfa|sema}}, {{l|mfa|crema}}, {{l|mfa|gema}}, {{l|mfa|cema}}, {{l|mfa|semula}}, {{l|mfa|jula}}, {{l|mfa|gula}}, {{l|mfa|ula}}, {{l|mfa|lola}}, {{l|mfa|bola}}, {{l|mfa|hamla}}, {{l|mfa|sila}}, {{l|mfa|temila}}, {{l|mfa|selu-sela}}, {{l|mfa|rela}}, {{l|mfa|bela}}, {{l|mfa|kala}}, {{l|mfa|bala}}, {{l|mfa|la}}, {{l|mfa|tuka}}, {{l|mfa|aska}}, {{l|mfa|oka}}, {{l|mfa|tika}}, {{l|mfa|paka}}, {{l|mfa|baka}}, {{l|mfa|aka}}, {{l|mfa|maja}}, {{l|mfa|sia}}, {{l|mfa|seria}}, {{l|mfa|ria}}, {{l|mfa|bia}}, {{l|mfa|paha}}, {{l|mfa|laha}}, {{l|mfa|ha}}, {{l|mfa|jerunga}}, {{l|mfa|maknga}}, {{l|mfa|denga}}, {{l|mfa|ranga}}, {{l|mfa|hungga}}, {{l|mfa|jangga}}, {{l|mfa|sega}}, {{l|mfa|paga}}, {{l|mfa|ga}}, {{l|mfa|manda}}, {{l|mfa|pida}}, {{l|mfa|seda}}, {{l|mfa|meda}}, {{l|mfa|keda}}, {{l|mfa|kuca}}, {{l|mfa|kemaca}}, {{l|mfa|kaca}}, {{l|mfa|ca}}, {{l|mfa|mamba}}, {{l|mfa|teba}}, {{l|mfa|geba}}, {{l|mfa|kaba}}, {{l|mfa|ba}}
</div>
====Hujung -e/-ɛ====
<div class="toccolours mw-collapsible mw-collapsd">
{{l|mfa|woye}}, {{l|mfa|tonye}}, {{l|mfa|kenye}}, {{l|mfa|tiye}}, {{l|mfa|siye}}, {{l|mfa|driye}}, {{l|mfa|piye}}, {{l|mfa|haliye}}, {{l|mfa|cekiye}}, {{l|mfa|giye}}, {{l|mfa|diye}}, {{l|mfa|dreye}}, {{l|mfa|saye}}, {{l|mfa|paye}}, {{l|mfa|naye}}, {{l|mfa|semaye}}, {{l|mfa|kaye-kaye}}, {{l|mfa|kaye}}, {{l|mfa|sebaye}}, {{l|mfa|aye}}, {{l|mfa|tuwe}}, {{l|mfa|kuwe}}, {{l|mfa|menguwe}}, {{l|mfa|seduwe}}, {{l|mfa|tebuwe}}, {{l|mfa|klewe}}, {{l|mfa|cewe}}, {{l|mfa|blawe}}, {{l|mfa|lawe}}, {{l|mfa|kawe}}, {{l|mfa|awe}}, {{l|mfa|we}}, {{l|mfa|kue}}, {{l|mfa|bute}}, {{l|mfa|ute}}, {{l|mfa|mokte}}, {{l|mfa|bokte}}, {{l|mfa|ite}}, {{l|mfa|pete}}, {{l|mfa|brate}}, {{l|mfa|rate}}, {{l|mfa|mate}}, {{l|mfa|kate}}, {{l|mfa|jate}}, {{l|mfa|segate}}, {{l|mfa|bate}}, {{l|mfa|te}}, {{l|mfa|muse}}, {{l|mfa|tokse}}, {{l|mfa|kokse}}, {{l|mfa|lakse}}, {{l|mfa|pise}}, {{l|mfa|nise}}, {{l|mfa|kese}}, {{l|mfa|gase}}, {{l|mfa|se}}, {{l|mfa|sore}}, {{l|mfa|jemore}}, {{l|mfa|ore}}, {{l|mfa|tere}}, {{l|mfa|lere}}, {{l|mfa|kere}}, {{l|mfa|ere}}, {{l|mfa|kisare}}, {{l|mfa|sare}}, {{l|mfa|pare}}, {{l|mfa|jare}}, {{l|mfa|gare}}, {{l|mfa|bare}}, {{l|mfa|re}}, {{l|mfa|tupe}}, {{l|mfa|kope}}, {{l|mfa|sipe}}, {{l|mfa|depe}}, {{l|mfa|cepe}}, {{l|mfa|pape}}, {{l|mfa|tune}}, {{l|mfa|june}}, {{l|mfa|pine}}, {{l|mfa|gine}}, {{l|mfa|tene}}, {{l|mfa|makene}}, {{l|mfa|dene}}, {{l|mfa|tane}}, {{l|mfa|nane}}, {{l|mfa|come}}, {{l|mfa|ime}}, {{l|mfa|deme}}, {{l|mfa|zame}}, {{l|mfa|kame}}, {{l|mfa|jame}}, {{l|mfa|me}}, {{l|mfa|brule}}, {{l|mfa|sbule}}, {{l|mfa|sebule}}, {{l|mfa|bule}}, {{l|mfa|isle}}, {{l|mfa|bole}}, {{l|mfa|ile}}, {{l|mfa|tele}}, {{l|mfa|lele}}, {{l|mfa|ngele}}, {{l|mfa|selebele}}, {{l|mfa|ble-ble}}, {{l|mfa|smale}}, {{l|mfa|semale}}, {{l|mfa|male}}, {{l|mfa|blale}}, {{l|mfa|kale}}, {{l|mfa|jale}}, {{l|mfa|dale}}, {{l|mfa|pasuke}}, {{l|mfa|buke}}, {{l|mfa|pasoke}}, {{l|mfa|joke}}, {{l|mfa|ike}}, {{l|mfa|deke}}, {{l|mfa|sake}}, {{l|mfa|make}}, {{l|mfa|blake}}, {{l|mfa|ke}}, {{l|mfa|buje}}, {{l|mfa|uje}}, {{l|mfa|unje}}, {{l|mfa|pinje}}, {{l|mfa|panje}}, {{l|mfa|reje}}, {{l|mfa|taje}}, {{l|mfa|paje}}, {{l|mfa|tuhe}}, {{l|mfa|tehe}}, {{l|mfa|pehe}}, {{l|mfa|behe}}, {{l|mfa|he}}, {{l|mfa|jlenge}}, {{l|mfa|lenge}}, {{l|mfa|ngajenge}}, {{l|mfa|denge}}, {{l|mfa|tange}}, {{l|mfa|prange}}, {{l|mfa|jange}}, {{l|mfa|nge}}, {{l|mfa|pingge}}, {{l|mfa|pangge}}, {{l|mfa|sege}}, {{l|mfa|tepege}}, {{l|mfa|pege}}, {{l|mfa|gege}}, {{l|mfa|age}}, {{l|mfa|ge}}, {{l|mfa|ee}}, {{l|mfa|ude}}, {{l|mfa|blinde}}, {{l|mfa|ende}}, {{l|mfa|setande}}, {{l|mfa|ngide}}, {{l|mfa|lede}}, {{l|mfa|dede}}, {{l|mfa|bede}}, {{l|mfa|pade}}, {{l|mfa|de}}, {{l|mfa|koce}}, {{l|mfa|bice}}, {{l|mfa|mace}}, {{l|mfa|kace}}, {{l|mfa|lube}}, {{l|mfa|kube}}, {{l|mfa|celobe}}, {{l|mfa|tumbe}}, {{l|mfa|mombe}}, {{l|mfa|lombe}}, {{l|mfa|gombe}}, {{l|mfa|trembe}}, {{l|mfa|lembe}}, {{l|mfa|tambe}}, {{l|mfa|sambe}}, {{l|mfa|jambe}}, {{l|mfa|ngambe}}, {{l|mfa|tibe}}, {{l|mfa|tebe}}, {{l|mfa|sebe}}, {{l|mfa|srebe}}, {{l|mfa|gedebe}}, {{l|mfa|ebe}}, {{l|mfa|kabe}}, {{l|mfa|jabe}}, {{l|mfa|abe}}, {{l|mfa|ngae}}, {{l|mfa|ae}}, {{l|mfa|mek e}}
</div>
====Depan n-/ŋ-/ɲ-====
<div class="toccolours mw-collapsible">
{{l|mfa|naca}}, {{l|mfa|naek}}, {{l|mfa|nageh}}, {{l|mfa|naka}}, {{l|mfa|nakak}}, {{l|mfa|nangga}}, {{l|mfa|nanggong}}, {{l|mfa|nanggung}}, {{l|mfa|nanok}}, {{l|mfa|naong}}, {{l|mfa|napok}}, {{l|mfa|narak}}, {{l|mfa|nasi}}, {{l|mfa|nasik}}, {{l|mfa|nati}}, {{l|mfa|nawok}}, {{l|mfa|ndeng}}, {{l|mfa|nego}}, {{l|mfa|neka}}, {{l|mfa|nekbak}}, {{l|mfa|nelah}}, {{l|mfa|nengok}}, {{l|mfa|nengung}}, {{l|mfa|ngaeh}}, {{l|mfa|ngagoh}}, {{l|mfa|ngaja}}, {{l|mfa|ngaji}}, {{l|mfa|ngaju}}, {{l|mfa|ngakah}}, {{l|mfa|ngakok}}, {{l|mfa|ngambak}}, {{l|mfa|ngapo}}, {{l|mfa|ngarok}}, {{l|mfa|ngasoh}}, {{l|mfa|ngato}}, {{l|mfa|ngeleh}}, {{l|mfa|ngenak}}, {{l|mfa|ngesuk}}, {{l|mfa|ngetek}}, {{l|mfa|nggo}}, {{l|mfa|ngidong}}, {{l|mfa|ngiyak}}, {{l|mfa|ngongeng}}, {{l|mfa|ngoyok}}, {{l|mfa|ngundi}}, {{l|mfa|nguwa}}, {{l|mfa|ni}}, {{l|mfa|nih}}, {{l|mfa|nikdak-nikdak}}, {{l|mfa|nikoh}}, {{l|mfa|nikuh}}, {{l|mfa|nilek}}, {{l|mfa|nilo}}, {{l|mfa|ningga}}, {{l|mfa|nja}}, {{l|mfa|nok}}, {{l|mfa|nombo}}, {{l|mfa|nondeng}}, {{l|mfa|noreh}}, {{l|mfa|notok}}, {{l|mfa|nuh}}, {{l|mfa|nungga}}, {{l|mfa|nusuk}}, {{l|mfa|nutok}}, {{l|mfa|nuwa}}, {{l|mfa|nyakek}}, {{l|mfa|nyakok}}, {{l|mfa|nyalo}}, {{l|mfa|nyamok}}, {{l|mfa|nyanyi}}, {{l|mfa|nyanyo}}, {{l|mfa|nyanyok}}, {{l|mfa|nyapong}}, {{l|mfa|nyedeng}}, {{l|mfa|nyek-nyek}}, {{l|mfa|nyendeh}}, {{l|mfa|nyengak}}, {{l|mfa|nyenggeng}}, {{l|mfa|nyetok}}, {{l|mfa|nyo}}, {{l|mfa|nyoh-nyoh}}, {{l|mfa|nyolek}}, {{l|mfa|nyoyok}}, {{l|mfa|nyunyuk}}
</div>
====Trientri sabdu====
{{l|mfa|petik}}, {{l|mfa|cotek}}, {{l|mfa|depek}}, {{l|mfa|polek}}, {{l|mfa|colek}}, {{l|mfa|tekek}}, {{l|mfa|cengek}}, {{l|mfa|sebek}}, {{l|mfa|jetak}}, {{l|mfa|derak}}, {{l|mfa|tengak}}, {{l|mfa|borak}}, {{l|mfa|doklak}}, {{l|mfa|kokcak}}, {{l|mfa|mecak}}, {{l|mfa|loni}}, {{l|mfa|goni}},
====Diakhiri {{l|mfa|-la}}/{{l|mfa|-lah}}/-nyo====
{{l|mfa|mulo}}la, {{l|mfa|masok}}la, {{l|mfa|ambek}}la, {{l|mfa|kacoh}}la, {{l|mfa|cukop}}la, {{l|mfa|suku}}lah, {{l|mfa|dio}}lah, {{l|mfa|doh}}lah, {{l|mfa|situ}}{{l|mfa|nyo}}
====Koma ⟨’⟩ tukar ke ⟨'⟩====
{{l|mfa|se'ik}}, {{l|mfa|ko'uh}}, {{l|mfa|so'oh}}, {{l|mfa|do'oh}}, {{l|mfa|se'eh}}, {{l|mfa|te'eh}}, {{l|mfa|se'e}}, {{l|mfa|kur'e}}
====Klitik di-/ke-/se-====
{{l|mfa|kok re}}, {{l|mfa|ke-|ke}}{{l|mfa|diyo}}, {{l|mfa|kuwano}}, {{l|mfa|ke-|ke}}{{l|mfa|dio}}, {{l|mfa|kuano}}, {{l|mfa|k-|k}}{{l|mfa|atah}}, {{l|mfa|k-|k}}{{l|mfa|rumoh}}, {{l|mfa|kak ku}}, {{l|mfa|d-|d}}{{l|mfa|rumoh}}, {{l|mfa|se-|se}}{{l|mfa|merak}},
====Penunjuk (Determiner)====
{{l|mfa|cemok}}, {{l|mfa|nak-nak}}
====Bunyi ain? (⟨Ö⟩ dalam PRPM → [ʕ])====
{{l|mfa|riyok}}, {{l|mfa|sedok}}, {{l|mfa|cak}}, {{l|mfa|gemok metok}}, {{l|mfa|tek}}
====Lain-lain====
{{l|mfa|lutut}}, {{l|mfa|turut}}, {{l|mfa|sebut}}, {{l|mfa|cabut}}, {{l|mfa|duet}}, {{l|mfa|buat}}, {{l|mfa|ikat}}, {{l|mfa|pakat}}, {{l|mfa|cukop}}, {{l|mfa|kacip}}, {{l|mfa|penyamun}}, {{l|mfa|samun}}, {{l|mfa|bangun}}, {{l|mfa|licin}}, {{l|mfa|kain}}, {{l|mfa|neron}}, {{l|mfa|pen}}, {{l|mfa|minum}}, {{l|mfa|muzium}}, {{l|mfa|sejarom}}, {{l|mfa|sebelom}}, {{l|mfa|yatim}}, {{l|mfa|ahad}}, {{l|mfa|jawab}}, {{l|mfa|timun cino}}
===Kata majmuk===
{{l|mfa|make cekok}}, {{l|mfa|tok guru}}, {{l|mfa|bekok bok}}, {{l|mfa|maseng perak}}, {{l|mfa|ae skreng}}, {{l|mfa|tok soh}}, {{l|mfa|deme cupok}}, {{l|mfa|demo tu}}, {{l|mfa|dene kokpe}}, {{l|mfa|do'oh lalu}}, {{l|mfa|dok dek}}, {{l|mfa|dok keneh}}, {{l|mfa|besa palo}}, {{l|mfa|abih reng}}, {{l|mfa|abih o}}, {{l|mfa|abih te}}, {{l|mfa|ala kebala}}, {{l|mfa|awe boceh}}, {{l|mfa|balek paeh}}, {{l|mfa|be denga}}, {{l|mfa|bekok cobong}}, {{l|mfa|bekok mecong}}, {{l|mfa|berah jemoh}}, {{l|mfa|berak reng}}, {{l|mfa|besa jreguk}}, {{l|mfa|biru ketu}}, {{l|mfa|bisik gajoh}}, {{l|mfa|blana kokna}}, {{l|mfa|blete kale}}, {{l|mfa|burong bede}}, {{l|mfa|bute nako}}, {{l|mfa|cabuk pengga}}, {{l|mfa|cama ligak}}, {{l|mfa|cawak eko}}, {{l|mfa|cawak kote}}, {{l|mfa|cek mek molek}}, {{l|mfa|cek wo}}, {{l|mfa|cema celoteng}}, {{l|mfa|cerok perok}}, {{l|mfa|ciku cak}}, {{l|mfa|cok beto}}, {{l|mfa|come lote}}, {{l|mfa|congek cakdong}}, {{l|mfa|crele creluk}}, {{l|mfa|gemok metong}}, {{l|mfa|buoh ulu}}, {{l|mfa|gilo urak}}, {{l|mfa|gitu mo}}, {{l|mfa|glebong boyo}}, {{l|mfa|tali jemo kaeng}}, {{l|mfa|hamok reng}}, {{l|mfa|hangik letong}}, {{l|mfa|ija pekok}}, {{l|mfa|jalo mah}}, {{l|mfa|tok bide}}, {{l|mfa|jauh jelak}}, {{l|mfa|ubi stelo}}, {{l|mfa|ae batu}}, {{l|mfa|jong gula}}, {{l|mfa|jong kako}}, {{l|mfa|jongok angok}}, {{l|mfa|kaki aye}}, {{l|mfa|kambing nerok}}, {{l|mfa|kapok bukuh}}, {{l|mfa|lapu pecek}}, {{l|mfa|kecuk beruk}}, {{l|mfa|kelak dehe}}, {{l|mfa|kemah keming}}, {{l|mfa|kerah kekong}}, {{l|mfa|kerah kejong}}, {{l|mfa|kerah keng}}, {{l|mfa|deme kuro}}, {{l|mfa|keta gega}}, {{l|mfa|kitak kuning}}, {{l|mfa|temu dugo}}, {{l|mfa|kucing kerong}}, {{l|mfa|kure saro}}, {{l|mfa|kuruh kekek}}, {{l|mfa|lapu pecek}}, {{l|mfa|lado bena}}, {{l|mfa|lapa mato}}, {{l|mfa|lapa peda}}, {{l|mfa|leba pulok}}, {{l|mfa|leba kelaroh}}, {{l|mfa|lembek lotek}}, {{l|mfa|lembu kenye}}, {{l|mfa|licing mone}}, {{l|mfa|licing damah}}, {{l|mfa|licing dalek}}, {{l|mfa|bekkok sloro}}, {{l|mfa|lopak tike}}, {{l|mfa|luah lita}}, {{l|mfa|maeng teri}}, {{l|mfa|make alok}}, {{l|mfa|male bole}}, {{l|mfa|manih leting}}, {{l|mfa|mase purik}}, {{l|mfa|mato lolong}}, {{l|mfa|mok anok}}, {{l|mfa|tok wo}}, {{l|mfa|mulok beruh}}, {{l|mfa|narak ko}}, {{l|mfa|nasik manih}}, {{l|mfa|nasik tupe}}, {{l|mfa|ore curi}}, {{l|mfa|ore tino}}, {{l|mfa|pacok ari}}, {{l|mfa|palo mayak}}, {{l|mfa|palo ribok}}, {{l|mfa|panah ngetik}}, {{l|mfa|panah perok}}, {{l|mfa|paok bika tanggok}}, {{l|mfa|patak kaeng}}, {{l|mfa|patak sipuk}}, {{l|mfa|sak patak}}, {{l|mfa|patoh jete}}, {{l|mfa|patoh turong}}, {{l|mfa|pecoh daong}}, {{l|mfa|pedah nyenga}}, {{l|mfa|pedeka pulok}}, {{l|mfa|pedeka samba}}, {{l|mfa|penuh lite}}, {{l|mfa|perak tako}}, {{l|mfa|pese mato}}, {{l|mfa|petik sawo}}, {{l|mfa|pine kosi}}, {{l|mfa|pirah angik}}, {{l|mfa|tok leh}}, {{l|mfa|putong kalong}}, {{l|mfa|rato riti}}, {{l|mfa|reboh bek}}, {{l|mfa|reboh blake}}, {{l|mfa|gini mo}}, {{l|mfa|rombok dapo}}, {{l|mfa|samo sendak}}, {{l|mfa|sedak keleh}}, {{l|mfa|sejok senyek}}, {{l|mfa|sepe kedere}}, {{l|mfa|srabuk taruk}}, {{l|mfa|setok orak}}, {{l|mfa| stange iseh}}, {{l|mfa|tanoh ko}}, {{l|mfa|temu tiko}}, {{l|mfa|terong mase}}, {{l|mfa|tinggi langgok}}, {{l|mfa|tok blabek}}, {{l|mfa|tok joro}}, {{l|mfa|tok kaba}}, {{l|mfa|tok nebeng}}, {{l|mfa|tok laki}}, {{l|mfa|tuke karuk}}, {{l|mfa|dike barak}}, {{l|mfa|tupo glenyeh}}, {{l|mfa|tuwok mase}}, {{l|mfa|wak ko}}, {{l|mfa|wak lolok}}, {{l|mfa|yak bokte}}, {{l|mfa|panah benge}}, {{l|mfa|mase cetung}}, {{l|mfa|woh gomok}}, {{l|mfa|mulok lacak}}, {{l|mfa|idong pelepoh nyo}}, {{l|mfa|gelak glemak}}, {{l|mfa|mulok udoh}}, {{l|mfa|busuk kohong}}, {{l|mfa|busuk banga}}, {{l|mfa|payoh baso}}
==Akan datang==
* PRPM (KBM): [https://prpm.dbp.gov.my/Cari1?keyword=%22kl%22%20-%22dll%22&d=73980&#LIHATSINI ][https://prpm.dbp.gov.my/Cari1?keyword=%22kl%22+%22dll%22&d=73980&#LIHATSINI ]
f1vtc3n4rua8asb71qpv0w5m8zdq6vr
Modul:Mahj-translit
828
147998
379327
2026-10-17T12:00:03Z
Hakimi97
2668
Import Lua from [[en:Module:Mahj-translit]] (oldid=63868973); preserve attribution
379327
Scribunto
text/plain
local export = {}
local consonants = {
['𑅕']='k', ['𑅖']='kh', ['𑅗']='g', ['𑅘']='gh',
['𑅙']='c', ['𑅚']='ch', ['𑅛']='j', ['𑅜']='jh', ['𑅝']='ñ',
['𑅞']='ṭ', ['𑅟']='ṭh', ['𑅠']='ḍ', ['𑅡']='ḍh', ['𑅢']='ṇ',
['𑅣']='t', ['𑅤']='th', ['𑅥']='d', ['𑅦']='dh', ['𑅧']='n',
['𑅨']='p', ['𑅩']='ph', ['𑅪']='b', ['𑅫']='bh', ['𑅬']='m',
['𑅭']='r', ['𑅮']='l', ['𑅯']='v',
['𑅰']='s', ['𑅱']='h', ['𑅲'] = 'ṛ',
}
local nonconsonants = {
-- vowels
['𑅐']='a', ['𑅑']='i', ['𑅒']='u', ['𑅓']='e', ['𑅔']='o',
-- other symbols
['𑅴']='.', -- abbreviation mark
['𑅵']='§', -- section mark
['𑅶']='Shri', -- ligature [[श्री]]
}
-- translit any words or phrases
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([𑅕𑅖𑅗𑅘𑅙𑅚𑅛𑅜𑅝𑅞𑅟𑅠𑅡𑅢𑅣𑅤𑅥𑅦𑅧𑅨𑅩𑅪𑅫𑅬𑅭𑅮𑅯𑅰𑅱𑅲])'..
'([𑅳]?)',
function(c, d)
-- mw.log('match', c, d)
return (consonants[c] or c)
end)
text = mw.ustring.gsub(text, '.', nonconsonants)
return text
end
return export
mcyezyei1cle4o8kblrt1wen9hjoz38
Modul:Mand-translit
828
147999
379328
2026-10-17T12:23:30Z
Hakimi97
2668
Import Lua from [[en:Module:Mand-translit]] (oldid=86713142); preserve attribution
379328
Scribunto
text/plain
-- Author: Saam-andar
local export = {}
local m_str_utils = require("Module:string utilities")
local gcodepoint = m_str_utils.gcodepoint
local rfind = m_str_utils.find
local rsubn = m_str_utils.gsub
local rmatch = m_str_utils.match
local rsplit = m_str_utils.split
local U = m_str_utils.char
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
-- version of rsubn() that discards all but the first return value
local function rsub(term, foo, bar)
local retval = rsubn(term, foo, bar)
return retval
end
-- Mandaic Unicode block: U+0840–U+085F
local zwnj = U(0x200C) -- zero-width non-joiner
local consonants = "ࡁࡂࡃࡄࡆࡇࡈࡊࡋࡌࡍࡎࡐࡑࡒࡓࡔࡕࡖࡗࡘ"
local consonant_pattern = "[" .. consonants .. "]"
local vowels1 = "ࡀࡅࡉ"
local letters = "ࡐࡇࡏࡅࡈࡕࡓࡖࡔࡒࡋࡊࡉࡄࡂࡗࡃࡎࡀࡌࡍࡁࡘࡑࡆ"
local gemination_mark = U(0x085B) -- ◌࡛ MANDAIC GEMINATION MARK
local affriction_mark = U(0x0859) -- ◌࡙ MANDAIC AFFRICTION MARK
local vocalization_mark = U(0x085A) -- ◌࡚ MANDAIC VOCALIZATION MARK
-- mapping
local tt = {
-- consonants
["ࡁ"] = "b", -- MANDAIC LETTER AB (beth)
["ࡂ"] = "g", -- MANDAIC LETTER AG (gimel)
["ࡃ"] = "d", -- MANDAIC LETTER AD (daleth)
["ࡄ"] = "h", -- MANDAIC LETTER AH (he)
["ࡆ"] = "z", -- MANDAIC LETTER AZ (zayin)
["ࡈ"] = "ṭ", -- MANDAIC LETTER ATT (teth)
["ࡊ"] = "k", -- MANDAIC LETTER AK (kaph)
["ࡋ"] = "l", -- MANDAIC LETTER AL (lamedh)
["ࡌ"] = "m", -- MANDAIC LETTER AM (mem)
["ࡍ"] = "n", -- MANDAIC LETTER AN (nun)
["ࡎ"] = "s", -- MANDAIC LETTER AS (semkath)
["ࡐ"] = "p", -- MANDAIC LETTER AP (pe)
["ࡑ"] = "ṣ", -- MANDAIC LETTER ASZ (sadhe)
["ࡒ"] = "q", -- MANDAIC LETTER AQ (qoph)
["ࡓ"] = "r", -- MANDAIC LETTER AR (resh)
["ࡔ"] = "š", -- MANDAIC LETTER ASH (shin)
["ࡕ"] = "t", -- MANDAIC LETTER AT (taw)
["ࡖ"] = "ḏ-", -- MANDAIC LETTER DUSHENNA
["ࡗ"] = "kḏ", -- MANDAIC LETTER KAD
["ࡘ"] = "ʕ", -- MANDAIC LETTER AIN
-- Vowels
["ࡀ"] = "a", -- MANDAIC LETTER HALQA (aleph)
["ࡅ"] = "u", -- MANDAIC LETTER USHENNA (waw)
["ࡉ"] = "i", -- MANDAIC LETTER AKSA (yodh)
["ࡏ"] = "ʿ", -- MANDAIC LETTER IN (ayin)
["ࡇ"] = "ẖ", -- MANDAIC LETTER IT (heth)
-- Punctuation
["࡞"] = ".", -- MANDAIC PUNCTUATION
["ـ"] = "-", -- tatweel/kashida
["،"] = ",",
["؛"] = ";",
["؟"] = "?",
["«"] = '"',
["»"] = '"',
[zwnj] = "-",
}
-- Main function
function export.tr(text, lang, sc, options)
if not text or text == "" then
return nil
end
if type(text) == "table" then
local function f(x) return (x ~= "") and x or nil end
text, lang, sc = f(text.args[1]), f(text.args[2]), f(text.args[3])
options = text.args[4] and {} or nil
end
-- Only process if script is Mandaic
if sc and sc ~= "Mand" then
return nil
end
local preprocessing = {
-- gemination
{"([" .. consonants .. "])" .. gemination_mark, "%1" .. U(0x0323)},
{"([" .. consonants .. "])" .. affriction_mark, "%1" .. U(0x0324)},
{"([" .. vowels1 .. "])" .. vocalization_mark, "%1" .. U(0x0331)},
}
-- Apply preprocessing
for _, sub in ipairs(preprocessing) do
text = rsub(text, sub[1], sub[2])
end
text = rsubn(text, ".", function(char)
return tt[char] or char
end)
return text
end
return export
shk4obdo1meg3acgazqt2zosb6y34fl
Modul:Modi-translit
828
148000
379329
2026-10-17T14:26:28Z
Hakimi97
2668
Import Lua from [[en:Module:Modi-translit]] (oldid=79049694); preserve attribution
379329
Scribunto
text/plain
local export = {}
local consonants = {
['𑘎']='k', ['𑘏']='kh', ['𑘐']='g', ['𑘑']='gh', ['𑘒']='ṅ',
['𑘓']='c', ['𑘔']='ch', ['𑘕']='j', ['𑘖']='jh', ['𑘗']='ñ',
['𑘘']='ṭ', ['𑘙']='ṭh', ['𑘚']='ḍ', ['𑘛']='ḍh', ['𑘜']='ṇ',
['𑘝']='t', ['𑘞']='th', ['𑘟']='d', ['𑘠']='dh', ['𑘡']='n',
['𑘢']='p', ['𑘣']='ph', ['𑘤']='b', ['𑘥']='bh', ['𑘦']='m',
['𑘧']='y', ['𑘨']='r', ['𑘩']='l', ['𑘪']='v', ['𑘯']='ḷ',
['𑘫']='ś', ['𑘬']='ṣ', ['𑘭']='s', ['𑘮']='h',
}
local diacritics = {
['𑘰']='ā', ['𑘱']='i', ['𑘲']='ī', ['𑘳']='u', ['𑘴']='ū', ['𑘵']='ṛ', ['𑘶']='ṝ',
['𑘷']='ḷ', ['𑘸']='ḹ', ['𑘹']='e', ['𑘺']='ai', ['𑘻']='o', ['𑘼']='au',
-- virama
['𑘿'] = '',
}
local tt = {
-- vowel signs
['𑘀'] = 'a', ['𑘂'] = 'i', ['𑘄'] = 'u', ['𑘊'] = 'e', ['𑘌'] = 'o',
['𑘁'] = 'ā', ['𑘃'] = 'ī', ['𑘅'] = 'ū',
['𑘆'] = 'ŕ',
['𑘋'] = 'ai', ['𑘍'] = 'au',
['𑘁𑙀'] = 'ŏ',
['𑘀𑙀'] = 'ĕ', ['𑘊𑙀'] = 'ĕ',
-- anusvara
['𑘽'] = 'ṃ',
-- visarga
['𑘾'] = 'ḥ',
-- numerals
['𑙐'] = '0', ['𑙑'] = '1', ['𑙒'] = '2', ['𑙓'] = '3', ['𑙔'] = '4', ['𑙕'] = '5', ['𑙖'] = '6', ['𑙗'] = '7', ['𑙘'] = '8', ['𑙙'] = '9',
--punctuation
['𑙁'] = '.', -- danda
['𑙂'] = '.', -- double danda
['+'] = '', -- compound separator
-- abbreviation sign
['𑙃'] = '.',
--Om
['ॐ']='oṃ',
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([𑘎𑘏𑘐𑘑𑘒𑘓𑘔𑘕𑘖𑘗𑘘𑘙𑘚𑘛𑘜𑘝𑘞𑘟𑘠𑘡𑘢𑘣𑘤𑘥𑘦𑘧𑘨𑘩𑘪𑘯𑘫𑘬𑘭𑘮])'..
'([𑘰𑘱𑘲𑘳𑘴𑘵𑘶𑘷𑘸𑘹𑘺𑘻𑘼𑘿]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.[𑙀]?', tt)
text = mw.ustring.gsub(text," ?[𑙁𑙂]",".")
return text
end
return export
eoelkls5uqogc976j4smcf4fy6tb0fo
Wikikamus:mfa/panggé
4
148001
379330
2026-10-17T14:45:28Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Sebutan=== * {{IPA|mfa|/paŋ.ɡe/}} * {{rima|mfa|ɡe|e}} * {{penyempangan|mfa|pang|gé}} ===Kata kerja=== {{inti|mfa|kata kerja}} # [[panggil]] #: {{syn|mfa|keló}} ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=pangge}}'
379330
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Sebutan===
* {{IPA|mfa|/paŋ.ɡe/}}
* {{rima|mfa|ɡe|e}}
* {{penyempangan|mfa|pang|gé}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# [[panggil]]
#: {{syn|mfa|keló}}
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=pangge}}
3mrfx7ank8mmtvcex8itdc61ey0hfsq
panggé
0
148002
379331
2026-10-17T14:45:30Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379331
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/pangge
4
148003
379332
2026-10-17T14:45:59Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata kerja=== {{inti|mfa|kata kerja}} # {{alt sp|mfa|panggé||panggil}}'
379332
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{alt sp|mfa|panggé||panggil}}
nxexw6gj37ypnxr5bgs6z2geatcufew
pangge
0
148004
379333
2026-10-17T14:46:02Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379333
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/segae
4
148005
379335
2026-10-17T15:02:42Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Bentuk alternatif=== * {{alter|mfa|sege|segea|segei|segey}} ===Sebutan=== * {{IPA|mfa|/sə.ɡɛ/}} * {{rima|mfa|ɡɛ|ɛ}} * {{penyempangan|mfa|se|gae}} ===Kata kerja=== {{inti|mfa|kata kerja}} # berasa [[geli]] atau [[jijik]] terhadap sesuatu yang kotor (terutamanya ber[[lendir]] atau ber[[lumpur]]) #: {{syn|mfa|sèè}} ===Rujukan=== * {{R:GDKel|entry=sege}} ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=sege}}'
379335
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|sege|segea|segei|segey}}
===Sebutan===
* {{IPA|mfa|/sə.ɡɛ/}}
* {{rima|mfa|ɡɛ|ɛ}}
* {{penyempangan|mfa|se|gae}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# berasa [[geli]] atau [[jijik]] terhadap sesuatu yang kotor (terutamanya ber[[lendir]] atau ber[[lumpur]])
#: {{syn|mfa|sèè}}
===Rujukan===
* {{R:GDKel|entry=sege}}
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=sege}}
tjbkv8cbj22ogky3tyeg9rpqio3t9pj
segae
0
148006
379336
2026-10-17T15:02:45Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379336
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/sege
4
148007
379337
2026-10-17T15:03:01Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata kerja=== {{inti|mfa|kata kerja}} # {{alt sp|mfa|segae}}'
379337
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{alt sp|mfa|segae}}
lqtjkhjkug77esldcmpt65iefpg70u7
sege
0
148008
379338
2026-10-17T15:03:04Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379338
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/sèè
4
148009
379339
2026-10-17T15:05:14Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Sebutan=== * {{IPA|mfa|/sɛ.ʔɛ/}} * {{rima|mfa|ʔɛ|ɛ}} * {{penyempangan|mfa|sè|è}} ===Kata kerja=== {{inti|mfa|kata kerja}} # berasa [[geli]] atau [[jijik]] terhadap sesuatu yang kotor (terutamanya [[berlendir]] atau [[berlumpur]] #: {{syn|mfa|sèè}} ===Rujukan=== * {{R:GDKel|entry=see}} * {{R:KD4|entry=seer}} ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=see}} * {{R:PRPM|kbm|entri=seer}}'
379339
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Sebutan===
* {{IPA|mfa|/sɛ.ʔɛ/}}
* {{rima|mfa|ʔɛ|ɛ}}
* {{penyempangan|mfa|sè|è}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# berasa [[geli]] atau [[jijik]] terhadap sesuatu yang kotor (terutamanya [[berlendir]] atau [[berlumpur]]
#: {{syn|mfa|sèè}}
===Rujukan===
* {{R:GDKel|entry=see}}
* {{R:KD4|entry=seer}}
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=see}}
* {{R:PRPM|kbm|entri=seer}}
7avcxjk5f20ds0cbywf27jngf7t7jbs
379345
379339
2026-10-17T15:11:23Z
Mirlim
8057
379345
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Sebutan===
* {{IPA|mfa|/sɛ.ʔɛ/}}
* {{rima|mfa|ʔɛ|ɛ}}
* {{penyempangan|mfa|sè|è}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# berasa [[geli]] atau [[jijik]] terhadap sesuatu yang kotor (terutamanya [[berlendir]] atau [[berlumpur]]
#: {{syn|mfa|segae}}
===Rujukan===
* {{R:GDKel|entry=se’e}}
* {{R:KD4|entry=seer}}
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=se’e}}
* {{R:PRPM|kbm|entri=seer}}
0r7ntnr8po47nzqkoxy32wmf8w49dp4
sèè
0
148010
379340
2026-10-17T15:05:18Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379340
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/see
4
148011
379341
2026-10-17T15:05:51Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata kerja=== {{inti|mfa|kata kerja}} # {{form of|mfa|Bentuk [[:wikibooks:ms:Panduan Ejaan Bahasa Kelantan|tanpa diakritik]]|sèè}}'
379341
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{form of|mfa|Bentuk [[:wikibooks:ms:Panduan Ejaan Bahasa Kelantan|tanpa diakritik]]|sèè}}
o7e6m10iybdlyxpkmwo5u52ok3xk44z
see
0
148012
379343
2026-10-17T15:06:27Z
Mirlim
8057
Mirlim telah memindahkan laman [[see]] ke [[Wikikamus:en/see]]
379343
wikitext
text/x-wiki
#LENCONG [[Wikikamus:en/see]]
2jpc58b1nzyrkgswf75plbsrkxt8vcy
379344
379343
2026-10-17T15:07:26Z
Mirlim
8057
Buang lencongan ke [[Wikikamus:en/see]]
379344
wikitext
text/x-wiki
{{:wt:en/{{FULLPAGENAME}}}}
{{:wt:mfa/{{FULLPAGENAME}}}}
tvei938j8ovn4oj8d9wld080lkt4d72
Wikikamus:mfa/se'e
4
148013
379346
2026-10-17T15:11:48Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata kerja=== {{inti|mfa|kata kerja}} # {{form of|mfa|Bentuk [[:wikibooks:ms:Panduan Ejaan Bahasa Kelantan|tanpa diakritik]]|sèè}}'
379346
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{form of|mfa|Bentuk [[:wikibooks:ms:Panduan Ejaan Bahasa Kelantan|tanpa diakritik]]|sèè}}
o7e6m10iybdlyxpkmwo5u52ok3xk44z
379416
379346
2026-10-17T17:45:36Z
Mirlim
8057
Mirlim telah memindahkan laman [[Wikikamus:mfa/se’e]] ke [[Wikikamus:mfa/se'e]]
379346
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{form of|mfa|Bentuk [[:wikibooks:ms:Panduan Ejaan Bahasa Kelantan|tanpa diakritik]]|sèè}}
o7e6m10iybdlyxpkmwo5u52ok3xk44z
se'e
0
148014
379347
2026-10-17T15:11:51Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379347
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
379414
379347
2026-10-17T17:45:10Z
Mirlim
8057
Mirlim telah memindahkan laman [[se’e]] ke [[se'e]]
379347
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/tepegae
4
148015
379348
2026-10-17T15:17:58Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Bentuk alternatif=== * {{alter|mfa|tepege|tepegea|tepegei|tepegey}} ===Sebutan=== * {{IPA|mfa|/tə.pə.ɡɛ/}} * {{rima|mfa|ɡɛ|ɛ}} * {{penyempangan|mfa|te|pe|gae}} ===Kata kerja=== {{inti|mfa|kata kerja|sabdu|ppegae}} # [[terpegang]] ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=tepege}}'
379348
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|tepege|tepegea|tepegei|tepegey}}
===Sebutan===
* {{IPA|mfa|/tə.pə.ɡɛ/}}
* {{rima|mfa|ɡɛ|ɛ}}
* {{penyempangan|mfa|te|pe|gae}}
===Kata kerja===
{{inti|mfa|kata kerja|sabdu|ppegae}}
# [[terpegang]]
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=tepege}}
ec2rxl44iw2uflrg03e82b9fphn9rpn
379353
379348
2026-10-17T15:20:27Z
Mirlim
8057
379353
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|tepege|tepegea|tepegei|tepegey}}
===Etimologi===
{{prefix|mfa|te|pegae}}
===Sebutan===
* {{IPA|mfa|/tə.pə.ɡɛ/}}
* {{rima|mfa|ɡɛ|ɛ}}
* {{penyempangan|mfa|te|pe|gae}}
===Kata kerja===
{{inti|mfa|kata kerja|sabdu|ppegae}}
# [[terpegang]]
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=tepege}}
i028hhxfkvqong2bc29dcbny05vpgfx
379354
379353
2026-10-17T15:20:51Z
Mirlim
8057
/* Etimologi */
379354
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|tepege|tepegea|tepegei|tepegey}}
===Etimologi===
{{prefix|mfa|tr|pegae}}
===Sebutan===
* {{IPA|mfa|/tə.pə.ɡɛ/}}
* {{rima|mfa|ɡɛ|ɛ}}
* {{penyempangan|mfa|te|pe|gae}}
===Kata kerja===
{{inti|mfa|kata kerja|sabdu|ppegae}}
# [[terpegang]]
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=tepege}}
1213olr7mflb3dbfq2dshxgaeiqd2na
tepegae
0
148016
379349
2026-10-17T15:18:01Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379349
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:bdr/regisin
4
148017
379350
2026-10-17T15:18:28Z
Sipatung
10839
Membuat terjemahan baru
379350
wikitext
text/x-wiki
==Bahasa {{bahasa|bdr}}==
===Kata nama===
{{inti|bdr|kata nama}}
# {{label|1=bdr|2=dialek|3=Sabah}} saliran air {{cp|bdr|Kami mandi diom '''regisin'''.|Kami mandi dalam '''[[saliran air]]'''.}}
8ag71x18t5g2j8exk4cvo9okk40ysos
Wikikamus:mfa/tepege
4
148018
379351
2026-10-17T15:18:30Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata kerja=== {{inti|mfa|kata kerja}} # {{alt sp|mfa|tepegae||terpegang}}'
379351
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{alt sp|mfa|tepegae||terpegang}}
20j6j5pck5omfbc4knrh8542frkp4mm
tepege
0
148019
379352
2026-10-17T15:18:33Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379352
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/pegae
4
148020
379355
2026-10-17T15:21:34Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Bentuk alternatif=== * {{alter|mfa|pege|pegea|pegei|pegey}} ===Sebutan=== * {{IPA|mfa|/pə.ɡɛ/}} * {{rima|mfa|ɡɛ|ɛ}} * {{penyempangan|mfa|pe|gae}} ===Kata kerja=== {{inti|mfa|kata kerja}} # [[pegang]] ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=pege}}'
379355
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|pege|pegea|pegei|pegey}}
===Sebutan===
* {{IPA|mfa|/pə.ɡɛ/}}
* {{rima|mfa|ɡɛ|ɛ}}
* {{penyempangan|mfa|pe|gae}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# [[pegang]]
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=pege}}
r2x0li9dz6xot54sg0n1u23g0dh53qx
379357
379355
2026-10-17T15:22:09Z
Mirlim
8057
/* Kata kerja */
379357
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|pege|pegea|pegei|pegey}}
===Sebutan===
* {{IPA|mfa|/pə.ɡɛ/}}
* {{rima|mfa|ɡɛ|ɛ}}
* {{penyempangan|mfa|pe|gae}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# [[pegang]]
====Kata terbitan====
{{col3|mfa|tepegae<t:terpegang>}}
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=pege}}
6dec9xvc7r6kixi66jr849rte48gc2t
pegae
0
148021
379356
2026-10-17T15:21:37Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379356
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/pege
4
148022
379358
2026-10-17T15:22:25Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata kerja=== {{inti|mfa|kata kerja}} # {{alt sp|mfa|pegae}}'
379358
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{alt sp|mfa|pegae}}
4c21x1whaclmmmsun3j0ye5idd9zr84
pege
0
148023
379359
2026-10-17T15:22:28Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379359
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:bdr/gamut
4
148024
379360
2026-10-17T15:22:46Z
Sipatung
10839
Membuat terjemahan baru
379360
wikitext
text/x-wiki
==Bahasa {{bahasa|bdr}}==
===Kata nama===
{{inti|bdr|kata nama}}
# {{label|1=bdr|2=dialek|3=Sabah}} akar {{cp|bdr|Bigi lodo yang boi peronok kami ben '''gamut''' noh.|Biji lada yang kami semai dah ada '''[[akar]]'''.}}
d27ymoqp0ddw3sx0pns2wbfyt5lttkh
Wikikamus:mfa/gègè
4
148025
379361
2026-10-17T15:24:36Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Bentuk alternatif=== * {{alter|mfa|gege|gegea|gegei|gegey}} ===Sebutan=== * {{IPA|mfa|/ɡɛ.ɡɛ/}} * {{rima|mfa|ɡɛ|ɛ}} * {{penyempangan|mfa|gè|gè}} ===Kata sifat=== {{inti|mfa|kata sifat}} # [[bising]] ===Rujukan=== * {{R:GDKel|entry=gege}} * {{R:KD4|entry=geger}} ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=gege}} * {{R:PRPM|kbm|entri=geger}}'
379361
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|gege|gegea|gegei|gegey}}
===Sebutan===
* {{IPA|mfa|/ɡɛ.ɡɛ/}}
* {{rima|mfa|ɡɛ|ɛ}}
* {{penyempangan|mfa|gè|gè}}
===Kata sifat===
{{inti|mfa|kata sifat}}
# [[bising]]
===Rujukan===
* {{R:GDKel|entry=gege}}
* {{R:KD4|entry=geger}}
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=gege}}
* {{R:PRPM|kbm|entri=geger}}
ko20tj5jablenekueruwi0tkiysukn0
gègè
0
148026
379362
2026-10-17T15:24:38Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379362
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/gege
4
148027
379363
2026-10-17T15:25:15Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata sifat=== {{inti|mfa|kata sifat}} # {{alt sp|mfa|gègè||bising}}'
379363
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata sifat===
{{inti|mfa|kata sifat}}
# {{alt sp|mfa|gègè||bising}}
rgddgbq42gp2kp1vyj4j29leoprie3b
gege
0
148028
379364
2026-10-17T15:25:18Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379364
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:bdr/mantau
4
148029
379365
2026-10-17T15:25:39Z
Sipatung
10839
Mencipta laman
379365
wikitext
text/x-wiki
==Bahasa {{bahasa|bdr}}==
===Kata kerja===
{{inti|bdr|kata kerja}}
# {{label|1=bdr|2=dialek|3=Sabah}} berdiri {{cp|bdr|Eyang ku '''mantau''' sedi beluang ruma'.|Ibu saya '''[[berdiri]]''' dekat pintu rumah.}}
j87lg67lbja7pkceg6jqwfxbtszkvij
Wikikamus:bdr/pekepa'
4
148030
379366
2026-10-17T15:30:35Z
Sipatung
10839
Mencipta laman
379366
wikitext
text/x-wiki
==Bahasa {{bahasa|bdr}}==
===Kata kerja===
{{inti|bdr|kata kerja}}
# {{label|1=bdr|2=dialek|3=Sabah}} hinggap{{cp|bdr|Pipit beliangan '''pekepa'''' jata parai.|Pipit berterbangan '''[[hinggap]]''' atas padi.}}
3zfkmit1zphfak7iau6v3nen70vb0cq
Wikikamus:bdr/ampud
4
148031
379367
2026-10-17T15:33:29Z
Sipatung
10839
Mencipta laman
379367
wikitext
text/x-wiki
==Bahasa {{bahasa|bdr}}==
===Kata sifat===
{{inti|bdr|kata sifat}}
# {{label|1=bdr|2=dialek|3=Sabah}} hangus {{cp|bdr|Ruma' kaki ku ai '''ampud''' tunu'|Rumah sepupu saya '''[[hangus]]''' terbakar.}}
5ik6v0gb9usmup0xh8taggl0888cxfa
Wikikamus:mfa/ẽẽ
4
148032
379368
2026-10-17T15:34:05Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Sebutan=== * {{IPA|mfa|/ẽː/}} * {{rima|mfa|ẽː}} * {{penyempangan|mfa|ẽẽ}} ===Partikel=== {{inti|mfa|partikel}} # {{ng|Digunakan ketika menafikan sesuatu.}} ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=ee|addkeyword=E):}}'
379368
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Sebutan===
* {{IPA|mfa|/ẽː/}}
* {{rima|mfa|ẽː}}
* {{penyempangan|mfa|ẽẽ}}
===Partikel===
{{inti|mfa|partikel}}
# {{ng|Digunakan ketika menafikan sesuatu.}}
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=ee|addkeyword=E):}}
gnsw2x3ulqsint2ozxqh66b44bq0fk9
ẽẽ
0
148033
379369
2026-10-17T15:34:08Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379369
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/ee
4
148034
379370
2026-10-17T15:34:44Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Partikel=== {{inti|mfa|partikel}} # {{form of|mfa|Bentuk [[:wikibooks:ms:Panduan Ejaan Bahasa Kelantan|tanpa diakritik]]|ẽẽ}}'
379370
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Partikel===
{{inti|mfa|partikel}}
# {{form of|mfa|Bentuk [[:wikibooks:ms:Panduan Ejaan Bahasa Kelantan|tanpa diakritik]]|ẽẽ}}
qe5n6d22k52qghf45yt5isvngyig2w2
ee
0
148035
379371
2026-10-17T15:34:47Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379371
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Kategori:Partikel bahasa Melayu Kelantan-Patani
14
148036
379372
2026-10-17T15:35:23Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{auto cat}}'
379372
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Wikikamus:mfa/udae
4
148037
379374
2026-10-17T15:38:09Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Bentuk alternatif=== * {{alter|mfa|ude|udea|udei|udey}} ===Sebutan=== * {{IPA|mfa|/u.dɛ/}} * {{rima|mfa|dɛ|ɛ}} * {{penyempangan|mfa|u|dae}} ===Kata nama=== {{inti|mfa|kata nama}} # [[udang]] ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=ude}}'
379374
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|ude|udea|udei|udey}}
===Sebutan===
* {{IPA|mfa|/u.dɛ/}}
* {{rima|mfa|dɛ|ɛ}}
* {{penyempangan|mfa|u|dae}}
===Kata nama===
{{inti|mfa|kata nama}}
# [[udang]]
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=ude}}
cxj2ehr48580euh8asyxvo1533j72ym
379378
379374
2026-10-17T15:39:20Z
Mirlim
8057
/* Bacaan lanjut */
379378
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|ude|udea|udei|udey}}
===Sebutan===
* {{IPA|mfa|/u.dɛ/}}
* {{rima|mfa|dɛ|ɛ}}
* {{penyempangan|mfa|u|dae}}
===Kata nama===
{{inti|mfa|kata nama}}
# [[udang]]
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=ude}}
{{C|mfa|Haiwan}}
fm55ikj0l0cpluqrd4zn1d5pj6xjtxz
udae
0
148038
379375
2026-10-17T15:38:12Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379375
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/ude
4
148039
379376
2026-10-17T15:39:04Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata nama=== {{inti|mfa|kata nama}} # {{alt sp|mfa|udae||udang}}'
379376
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata nama===
{{inti|mfa|kata nama}}
# {{alt sp|mfa|udae||udang}}
h88xuwy6wordziw4oud6yuxm5ola6vt
ude
0
148040
379377
2026-10-17T15:39:06Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379377
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/blindae
4
148041
379379
2026-10-17T15:44:45Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Bentuk alternatif=== * {{alter|mfa|belindae|belinde|belindea|belindei|belindey|blindea|blindei|blindey}} ===Sebutan=== * {{IPA|mfa|/blin.dɛ/}} * {{rima|mfa|dɛ|ɛ}} * {{penyempangan|mfa|blin|dae}} ===Kata nama=== {{inti|mfa|kata nama}} # kayu atau batu empat segi yang diletakkan pada [[kubur]] ===Rujukan=== * {{R:GDKel|entry=blinde}} * {{R:KD4|entry=belindan}} ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=blinde...'
379379
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|belindae|belinde|belindea|belindei|belindey|blindea|blindei|blindey}}
===Sebutan===
* {{IPA|mfa|/blin.dɛ/}}
* {{rima|mfa|dɛ|ɛ}}
* {{penyempangan|mfa|blin|dae}}
===Kata nama===
{{inti|mfa|kata nama}}
# kayu atau batu empat segi yang diletakkan pada [[kubur]]
===Rujukan===
* {{R:GDKel|entry=blinde}}
* {{R:KD4|entry=belindan}}
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=blinde}}
* {{R:PRPM|kbm|entri=belindan}}
7afrjxnuikl7izc04eemjbrn487tk6s
blindae
0
148042
379380
2026-10-17T15:44:48Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379380
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/blinde
4
148043
379381
2026-10-17T15:45:44Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata nama=== {{inti|mfa|kata nama}} # {{alt sp|mfa|blindae}}'
379381
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata nama===
{{inti|mfa|kata nama}}
# {{alt sp|mfa|blindae}}
cy7d494db53amubz41jb6mos3c3ec2m
blinde
0
148044
379382
2026-10-17T15:45:48Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379382
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/èndè
4
148045
379383
2026-10-17T15:50:28Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Bentuk alternatif=== * {{alter|mfa|ende|endea|endei|endey}} ===Sebutan=== * {{IPA|mfa|/ɛn.dɛ/}} * {{rima|mfa|dɛ|ɛ}} * {{penyempangan|mfa|èn|dè}} ===Kata kerja=== {{inti|mfa|kata kerja}} # {{alt form|mfa|èndèng||menunjuk-nunjuk}} ===Rujukan=== * {{R:GDKel|entry=ende}} * {{R:KD4|entry=endeng}} ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=ende}} * {{R:PRPM|kbm|entri=endeng}}'
379383
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|ende|endea|endei|endey}}
===Sebutan===
* {{IPA|mfa|/ɛn.dɛ/}}
* {{rima|mfa|dɛ|ɛ}}
* {{penyempangan|mfa|èn|dè}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{alt form|mfa|èndèng||menunjuk-nunjuk}}
===Rujukan===
* {{R:GDKel|entry=ende}}
* {{R:KD4|entry=endeng}}
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=ende}}
* {{R:PRPM|kbm|entri=endeng}}
d0h39iq5i4o1y7w5jz9bo6boo2hsvxj
èndè
0
148046
379384
2026-10-17T15:50:31Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379384
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/ende
4
148047
379385
2026-10-17T15:51:03Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata kerja=== {{inti|mfa|kata kerja}} # {{form of|mfa|Bentuk [[:wikibooks:ms:Panduan Ejaan Bahasa Kelantan|tanpa diakritik]]|èndè}}'
379385
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{form of|mfa|Bentuk [[:wikibooks:ms:Panduan Ejaan Bahasa Kelantan|tanpa diakritik]]|èndè}}
2ynox5a331eqyebc36lcv66jpm4vanr
ende
0
148048
379386
2026-10-17T15:51:07Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379386
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/standae
4
148049
379387
2026-10-17T15:55:52Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Bentuk alternatif=== * {{alter|mfa|stande|standea|standei|standey|setandae|setande|setandea|setandei|setandey}} ===Etimologi=== {{prefix|mfa|s|tandae}} ===Sebutan=== * {{IPA|mfa|/stan.dɛ/}} * {{rima|mfa|dɛ|ɛ}} * {{penyempangan|mfa|stan|dae}} ===Kata nama=== {{inti|mfa|kata nama}} # se[[tandan]] ===Rujukan=== * {{R:GDKel|entry=setande}} ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=setande}}'
379387
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|stande|standea|standei|standey|setandae|setande|setandea|setandei|setandey}}
===Etimologi===
{{prefix|mfa|s|tandae}}
===Sebutan===
* {{IPA|mfa|/stan.dɛ/}}
* {{rima|mfa|dɛ|ɛ}}
* {{penyempangan|mfa|stan|dae}}
===Kata nama===
{{inti|mfa|kata nama}}
# se[[tandan]]
===Rujukan===
* {{R:GDKel|entry=setande}}
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=setande}}
m2y8o2f50kvcaanf0ax8ue9b9k60jjp
379391
379387
2026-10-17T15:59:10Z
Mirlim
8057
/* Kata nama */
379391
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|stande|standea|standei|standey|setandae|setande|setandea|setandei|setandey}}
===Etimologi===
{{prefix|mfa|s|tandae}}
===Sebutan===
* {{IPA|mfa|/stan.dɛ/}}
* {{rima|mfa|dɛ|ɛ}}
* {{penyempangan|mfa|stan|dae}}
===Penjodoh bilangan===
{{inti|mfa|penjodoh bilangan}}
# se[[tandan]]
===Rujukan===
* {{R:GDKel|entry=setande}}
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=setande}}
7uxl79q21dg3enpdl7akasqwtk10em6
standae
0
148050
379388
2026-10-17T15:55:59Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379388
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/setande
4
148051
379389
2026-10-17T15:56:25Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata nama=== {{inti|mfa|kata nama}} # {{alt sp|mfa|standae}}'
379389
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata nama===
{{inti|mfa|kata nama}}
# {{alt sp|mfa|standae}}
rzrejax6iyheieg8iqe7fd2gfkugjvl
379392
379389
2026-10-17T15:59:40Z
Mirlim
8057
/* Kata nama */
379392
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Penjodoh bilangan===
{{inti|mfa|penjodoh bilangan}}
# {{alt sp|mfa|standae}}
831ndqs0m79dlxqxhmx90wcq1h5v380
setande
0
148052
379390
2026-10-17T15:56:27Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379390
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/bbicae
4
148053
379393
2026-10-17T16:29:41Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Bentuk alternatif=== * {{alter|mfa|bbice|bbicea|bbicei|bbicey}} ===Sebutan=== * {{IPA|mfa|/bːi.t͡ʃɛ/}} * {{rima|mfa|t͡ʃɛ|ɛ}} * {{penyempangan|mfa|bbi|cae}} ===Kata kerja=== {{inti|mfa|kata kerja}} # [[berbincang]] ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=bice}}'
379393
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|bbice|bbicea|bbicei|bbicey}}
===Sebutan===
* {{IPA|mfa|/bːi.t͡ʃɛ/}}
* {{rima|mfa|t͡ʃɛ|ɛ}}
* {{penyempangan|mfa|bbi|cae}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# [[berbincang]]
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=bice}}
drftyzfqh08174r1vl2czozqxg0esj7
bbicae
0
148054
379394
2026-10-17T16:29:43Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379394
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/bice
4
148055
379395
2026-10-17T16:31:17Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata kerja=== {{inti|mfa|kata kerja}} # {{form of|mfa|Bentuk [[sabdu]] yang tidak digandakan huruf|bbicae||berbincang}}'
379395
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{form of|mfa|Bentuk [[sabdu]] yang tidak digandakan huruf|bbicae||berbincang}}
m6g0fjbd4lww0zf0ff4mdiv3k49pgo3
bice
0
148056
379396
2026-10-17T16:31:22Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379396
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/tumbae
4
148057
379397
2026-10-17T17:31:09Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Bentuk alternatif=== * {{alter|mfa|tumbe|tumbea|tumbei|tumbey}} ===Sebutan=== * {{IPA|mfa|/tum.bɛ/}} * {{rima|mfa|bɛ|ɛ}} * {{penyempangan|mfa|tum|bae}} ===Kata kerja=== {{inti|mfa|kata kerja}} # [[tumbang]] ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=tumbe}}'
379397
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Bentuk alternatif===
* {{alter|mfa|tumbe|tumbea|tumbei|tumbey}}
===Sebutan===
* {{IPA|mfa|/tum.bɛ/}}
* {{rima|mfa|bɛ|ɛ}}
* {{penyempangan|mfa|tum|bae}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# [[tumbang]]
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=tumbe}}
na82b8fs3ydh2uf5v6igz09mf08rf2u
tumbae
0
148058
379398
2026-10-17T17:31:17Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379398
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/tumbe
4
148059
379399
2026-10-17T17:31:42Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata kerja=== {{inti|mfa|kata kerja}} # {{alt sp|mfa|tumbae||tumbang}}'
379399
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{alt sp|mfa|tumbae||tumbang}}
jckuy04bx0rwen357rn8miw052h2dy9
tumbe
0
148060
379400
2026-10-17T17:31:45Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379400
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/abe
4
148061
379402
2026-10-17T17:35:00Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata nama=== {{inti|mfa|kata nama}} # {{alt sp|mfa|abae||abang}}'
379402
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata nama===
{{inti|mfa|kata nama}}
# {{alt sp|mfa|abae||abang}}
nf39pnu9mgdhqbjtbpws3x0c871ah52
abe
0
148062
379403
2026-10-17T17:35:03Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379403
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/nngaé
4
148063
379404
2026-10-17T17:36:21Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Sebutan=== * {{IPA|mfa|/ŋːa.e/}} * {{rima|mfa|e|e}} * {{penyempangan|mfa|nnga|é}} ===Kata kerja=== {{inti|mfa|kata kerja}} # [[memancing]], [[mengail]] ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=ngae}}'
379404
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Sebutan===
* {{IPA|mfa|/ŋːa.e/}}
* {{rima|mfa|e|e}}
* {{penyempangan|mfa|nnga|é}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# [[memancing]], [[mengail]]
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=ngae}}
rt3rmbtr11a7oijcda171ps2789bozx
nngaé
0
148064
379405
2026-10-17T17:36:24Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379405
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/ngae
4
148065
379406
2026-10-17T17:37:50Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata hubung=== {{inti|mfa|kata hubung}} # {{clipping of|mfa|dengae}} ===Kata kerja=== {{inti|mfa|kata kerja}} # {{form of|mfa|Bentuk [[sabdu]] yang tidak digandakan huruf|nngaé||[[memancing]], [[mengail]]}}'
379406
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata hubung===
{{inti|mfa|kata hubung}}
# {{clipping of|mfa|dengae}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{form of|mfa|Bentuk [[sabdu]] yang tidak digandakan huruf|nngaé||[[memancing]], [[mengail]]}}
95vto4rnnll0xjd4l1410n4p62pb3pa
379408
379406
2026-10-17T17:38:24Z
Mirlim
8057
/* Kata hubung */
379408
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata hubung===
{{inti|mfa|kata hubung}}
# {{contraction of|mfa|dengae}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{form of|mfa|Bentuk [[sabdu]] yang tidak digandakan huruf|nngaé||[[memancing]], [[mengail]]}}
gp4dsgp7i5x4zsalq8ha8vh5syn95ky
379409
379408
2026-10-17T17:38:55Z
Mirlim
8057
/* Kata hubung */
379409
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata hubung===
{{inti|mfa|kata hubung}}
# {{contraction of|mfa|dengae||dengan}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{form of|mfa|Bentuk [[sabdu]] yang tidak digandakan huruf|nngaé||[[memancing]], [[mengail]]}}
86914iog9qquxeqrva35vhiwbvhqjay
ngae
0
148066
379407
2026-10-17T17:37:53Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379407
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/mmè'é
4
148067
379410
2026-10-17T17:42:49Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Etimologi=== {{prefix|mfa|NN|pè'é}}, {{bor+|mfa|ar|فِعِل|nocap=1}} ===Sebutan=== * {{IPA|mfa|/mːɛ.ʔe/}} * {{rima|mfa|ʔe|e}} * {{penyempangan|mfa|mmè|é}} ===Kata kerja=== {{inti|mfa|kata kerja}} # membuat [[kerenah]] ===Bacaan lanjut=== * {{R:PRPM|gdkel|entri=mek e}}'
379410
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Etimologi===
{{prefix|mfa|NN|pè'é}}, {{bor+|mfa|ar|فِعِل|nocap=1}}
===Sebutan===
* {{IPA|mfa|/mːɛ.ʔe/}}
* {{rima|mfa|ʔe|e}}
* {{penyempangan|mfa|mmè|é}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# membuat [[kerenah]]
===Bacaan lanjut===
* {{R:PRPM|gdkel|entri=mek e}}
fdmn687678nqs1cjc1lueagekvnd3g4
mmè'é
0
148068
379411
2026-10-17T17:42:53Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379411
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:mfa/mek e
4
148069
379412
2026-10-17T17:44:44Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Kata kerja=== {{inti|mfa|kata kerja}} # {{kesalahan ejaan|mfa|mmè'é||membuat [[kerenah]]}}'
379412
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Kata kerja===
{{inti|mfa|kata kerja}}
# {{kesalahan ejaan|mfa|mmè'é||membuat [[kerenah]]}}
mzgeh1nip53chudtzjfa3d07y9bqn2r
mek e
0
148070
379413
2026-10-17T17:44:47Z
Mirlim
8057
Mencipta laman baru dengan kandungan '{{:wt:mfa/{{FULLPAGENAME}}}}'
379413
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
se’e
0
148071
379415
2026-10-17T17:45:10Z
Mirlim
8057
Mirlim telah memindahkan laman [[se’e]] ke [[se'e]]
379415
wikitext
text/x-wiki
#LENCONG [[se'e]]
f29cq32ewessptl00sewvt1c9z3qrnd
Wikikamus:mfa/se’e
4
148072
379417
2026-10-17T17:45:36Z
Mirlim
8057
Mirlim telah memindahkan laman [[Wikikamus:mfa/se’e]] ke [[Wikikamus:mfa/se'e]]
379417
wikitext
text/x-wiki
#LENCONG [[Wikikamus:mfa/se'e]]
j8e0lpp6j7upc3q1l4f9duwyhprmsh0
Wikikamus:mfa/pè'é
4
148073
379418
2026-10-17T17:55:07Z
Mirlim
8057
Mencipta laman baru dengan kandungan '==Bahasa Melayu Kelantan-Patani== ===Etimologi=== {{bor+|mfa|ar|فِعِل}} ===Sebutan=== * {{IPA|mfa|/pɛ.ʔe/}} * {{rima|mfa|ʔe|e}} * {{penyempangan|mfa|mmè|é}} ===Kata kerja=== {{inti|mfa|kata kerja}} # membuat [[perangai]] (yang tidak elok) #: {{quote-song|mfa|author=Megat Nordin|artist=|title= Tunggu Tunggu Tok Kelik|note=|text=Jangae dók buwak '''pè'é''', kito takók nya malu kokrae.|translation=Jangan buat '''perangai''', kurisau nant...'
379418
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Etimologi===
{{bor+|mfa|ar|فِعِل}}
===Sebutan===
* {{IPA|mfa|/pɛ.ʔe/}}
* {{rima|mfa|ʔe|e}}
* {{penyempangan|mfa|mmè|é}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# membuat [[perangai]] (yang tidak elok)
#: {{quote-song|mfa|author=Megat Nordin|artist=|title=
Tunggu Tunggu Tok Kelik|note=|text=Jangae dók buwak '''pè'é''', kito takók nya malu kokrae.|translation=Jangan buat '''perangai''', kurisau nanti dipermalukan orang.}}
====Kata terbitan====
{{col3|mfa|mmè'é}}
mnds97owsdyj8f5t48kfn0056vmoj2d
379419
379418
2026-10-17T17:55:30Z
Mirlim
8057
Mirlim telah memindahkan laman [[pè'é]] ke [[Wikikamus:mfa/pè'é]]
379418
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Etimologi===
{{bor+|mfa|ar|فِعِل}}
===Sebutan===
* {{IPA|mfa|/pɛ.ʔe/}}
* {{rima|mfa|ʔe|e}}
* {{penyempangan|mfa|mmè|é}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# membuat [[perangai]] (yang tidak elok)
#: {{quote-song|mfa|author=Megat Nordin|artist=|title=
Tunggu Tunggu Tok Kelik|note=|text=Jangae dók buwak '''pè'é''', kito takók nya malu kokrae.|translation=Jangan buat '''perangai''', kurisau nanti dipermalukan orang.}}
====Kata terbitan====
{{col3|mfa|mmè'é}}
mnds97owsdyj8f5t48kfn0056vmoj2d
379422
379419
2026-10-17T17:56:29Z
Mirlim
8057
/* Kata kerja */
379422
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Etimologi===
{{bor+|mfa|ar|فِعِل}}
===Sebutan===
* {{IPA|mfa|/pɛ.ʔe/}}
* {{rima|mfa|ʔe|e}}
* {{penyempangan|mfa|mmè|é}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# membuat atau mempertunjukkan [[perangai]] (yang tidak elok)
#: {{quote-song|mfa|author=Megat Nordin|artist=|title=
Tunggu Tunggu Tok Kelik|note=|text=Jangae dók buwak '''pè'é''', kito takók nya malu kokrae.|translation=Jangan buat '''perangai''', kurisau nanti dipermalukan orang.}}
====Kata terbitan====
{{col3|mfa|mmè'é}}
60fa1insdnpsr6hfrebfttpabjcsxom
379423
379422
2026-10-17T18:04:56Z
Mirlim
8057
/* Kata kerja */
379423
wikitext
text/x-wiki
==Bahasa Melayu Kelantan-Patani==
===Etimologi===
{{bor+|mfa|ar|فِعِل}}
===Sebutan===
* {{IPA|mfa|/pɛ.ʔe/}}
* {{rima|mfa|ʔe|e}}
* {{penyempangan|mfa|mmè|é}}
===Kata kerja===
{{inti|mfa|kata kerja}}
# membuat atau mempertunjukkan [[perangai]] (yang tidak elok)
#* {{quote-song|mfa|author=Megat Nordin|artist=|title=
Tunggu Tunggu Tok Kelik|note=|text=Jangae dók buwak '''pè'é''', kito takók nya malu kokrae.|translation=Jangan buat '''perangai''', kurisau nanti dipermalukan orang.}}
====Kata terbitan====
{{col3|mfa|mmè'é}}
na8whruieous7v7nal2wte2nwb8ifjj
pè'é
0
148074
379420
2026-10-17T17:55:30Z
Mirlim
8057
Mirlim telah memindahkan laman [[pè'é]] ke [[Wikikamus:mfa/pè'é]]
379420
wikitext
text/x-wiki
#LENCONG [[Wikikamus:mfa/pè'é]]
nk9mf98uijzaa1a86rihuv45jf4k2br
379421
379420
2026-10-17T17:55:57Z
Mirlim
8057
Buang lencongan ke [[Wikikamus:mfa/pè'é]]
379421
wikitext
text/x-wiki
{{:wt:mfa/{{FULLPAGENAME}}}}
cdeby56cffqtnm42z07q7vy6butlnf1
Wikikamus:bdr/ngendule'
4
148075
379427
2026-10-18T02:15:10Z
Sipatung
10839
Mencipta laman
379427
wikitext
text/x-wiki
==Bahasa {{bahasa|bdr}}==
===Kata sifat===
{{inti|bdr|kata sifat}}
# {{label|1=bdr|2=dialek|3=Sabah}} marah {{cp|bdr|Eyang ku '''ngendule''' engkami.|Ibu saya '''[[marah]]''' kami.}}
ik8ixzjjudg1tvho3mu34xo9o6203kt
Wikikamus:bdr/sumpau
4
148076
379428
2026-10-18T02:17:10Z
Sipatung
10839
Mencipta laman
379428
wikitext
text/x-wiki
==Bahasa {{bahasa|bdr}}==
===Kata sifat===
{{inti|bdr|kata sifat}}
# {{label|1=bdr|2=dialek|3=Sabah}} selekeh {{cp|bdr|Kekanak diki a '''sumpau''' bana.|Budak kecil itu sangat '''[[selekeh]]'''.}}
1wlm43lpkvmsjlb5se4jmscbmynodvl
Wikikamus:bdr/pagud
4
148077
379429
2026-10-18T02:19:09Z
Sipatung
10839
Mencipta laman
379429
wikitext
text/x-wiki
==Bahasa {{bahasa|bdr}}==
===Kata sifat===
{{inti|bdr|kata sifat}}
# {{label|1=bdr|2=dialek|3=Sabah}} malas {{cp|bdr|Nyaun guno lawa dendo amun '''pagud'''.|Tiada guna perempuan cantik kalau '''[[malas]]'''.}}
6e1ng5ytmgtp8x8es8pxu1onajm4n4g
Wikikamus:bdr/muat
4
148078
379430
2026-10-18T02:21:45Z
Sipatung
10839
Mencipta laman
379430
wikitext
text/x-wiki
==Bahasa {{bahasa|bdr}}==
===Kata kerja===
{{inti|bdr|kata kerja}}
# {{label|1=bdr|2=dialek|3=Sabah}} buat {{cp|bdr|Eyang ku '''muat''' kui tepal.|Ibu saya '''[[buat]]''' kuih lempeng.}}
1ou230mvnpqqxlh7a91nxhikstus1x1
Wikikamus:bdr/beriu
4
148079
379433
2026-10-18T02:25:53Z
Sipatung
10839
Mencipta laman
379433
wikitext
text/x-wiki
==Bahasa {{bahasa|bdr}}==
===Kata nama===
{{inti|bdr|kata nama}}
# {{label|1=bdr|2=dialek|3=Sabah}} angin {{cp|bdr|Daras bana '''beriu''' betiru.|'''[[Angin]]''' sangat kencang hari ini.}}
sey7nj6vqlmreih2sgy14bf00rquq6f
Perbincangan kategori:Bahasa Melayu Perak
15
148080
379434
2026-10-18T02:28:39Z
Uwais Athrun
11607
/* Dialek Perak perlu dibuat kajian lebih lanjut */ bahagian baru
379434
wikitext
text/x-wiki
== Dialek Perak perlu dibuat kajian lebih lanjut ==
berdasarkan dari apa yang saya carikan di laman web internet, tidak banyak yang memberikan loghat perak yang lengkap. Dari segi perkataan, loghat, dan lain-lain lagi, dan ini kesilapan dari orang Perak tersendiri, kerana tidak mengukuhkan perkataan² yang membawa identiti dialek Perak itu sendiri. [[Pengguna:Uwais Athrun|Uwais Athrun]] ([[Perbincangan pengguna:Uwais Athrun|bincang]]) 02:28, 18 Oktober 2026 (UTC)
0lrx4zkilf2m6gh3pzazqn68ppdxkts
Modul:Mult-translit
828
148081
379436
2026-10-18T02:53:43Z
Hakimi97
2668
Import Lua from [[en:Module:Mult-translit]] (oldid=64733074); preserve attribution
379436
Scribunto
text/plain
local export = {}
local consonants = {
['𑊄']='k', ['𑊅']='kh', ['𑊆']='g', ['𑊈']='gh',
['𑊊']='c', ['𑊋']='ch', ['𑊌']='j', ['𑊏']='ñ',
['𑊐']='ṭ', ['𑊑']='ṭh', ['𑊒']='ḍ', ['𑊔']='ḍh', ['𑊕']='ṇ',
['𑊖']='t', ['𑊗']='th', ['𑊘']='d', ['𑊙']='dh', ['𑊚']='n',
['𑊛']='p', ['𑊜']='ph', ['𑊝']='b', ['𑊟']='bh', ['𑊠']='m',
['𑊡']='y', ['𑊢']='r', ['𑊣']='l', ['𑊤']='v',
['𑊥']='s', ['𑊦']='h',
['𑊍']='ǰ', ['𑊓']='ḏ', ['𑊧'] = 'ṛ', ['𑊨'] = 'ṛh',
}
local nonconsonants = {
-- vowels
['𑊀']='a', ['𑊁']='i', ['𑊂']='u', ['𑊃']='e',
-- other symbols
['𑊩']='.', -- section mark
-- digits
['੦'] = '0', ['੧'] = '1', ['੨'] = '2', ['੩'] = '3', ['੪'] = '4',
['੫'] = '5', ['੬'] = '6', ['੭'] = '7', ['੮'] = '8', ['੯'] = '9',
}
-- translit any words or phrases
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([𑊄𑊅𑊆𑊈𑊊𑊋𑊌𑊏𑊐𑊑𑊒𑊔𑊕𑊖𑊗𑊘𑊙𑊚𑊛𑊜𑊝𑊟𑊠𑊡𑊢𑊣𑊤𑊥𑊦𑊍𑊓𑊧𑊨])',
function(c, d)
-- mw.log('match', c, d)
return (consonants[c] or c)
end)
text = mw.ustring.gsub(text, '.', nonconsonants)
return text
end
return export
7l7lqd8fewqrgssosu6o1vd7qtqni9g
Modul:Narb-translit
828
148082
379437
2026-10-18T02:54:49Z
Hakimi97
2668
Import Lua from [[en:Module:Narb-translit]] (oldid=61173089); preserve attribution
379437
Scribunto
text/plain
local export = {}
local chars = {
["𐪏"] = "s³", ["𐪙"] = "ḏ", ["𐪍"] = "ẖ", ["𐪊"] = "s¹", ["𐪆"] = "s²",
["𐪛"] = "ṯ", ["𐪑"] = "ʾ", ["𐪒"] = "ʿ", ["𐪈"] = "b", ["𐪕"] = "d",
["𐪓"] = "ḍ", ["𐪐"] = "f", ["𐪔"] = "g", ["𐪖"] = "ġ", ["𐪀"] = "h",
["𐪂"] = "ḥ", ["𐪋"] = "k", ["𐪁"] = "l", ["𐪃"] = "m", ["𐪌"] = "n",
["𐪄"] = "q", ["𐪇"] = "r", ["𐪎"] = "ṣ", ["𐪉"] = "t", ["𐪗"] = "ṭ",
["𐪅"] = "w", ["𐪚"] = "y", ["𐪘"] = "z", ["𐪜"] = "ẓ",
}
function export.tr(text, lang, sc)
return (mw.ustring.gsub(text, '.', chars))
end
return export
5nva2metxm2vzot6y9rk2dw30a92ztv
Modul:Osge-translit
828
148083
379438
2026-10-18T02:55:55Z
Hakimi97
2668
Import Lua from [[en:Module:Osge-translit]] (oldid=87464042); preserve attribution
379438
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local m_table = require("Module:table")
-- Import libraries
local U = require("Module:string/char")
local gsub = m_str_utils.gsub
local len = m_str_utils.len
local sub = m_str_utils.sub
local decomp = mw.ustring.toNFD
local recomp = mw.ustring.toNFC
local upper = m_str_utils.upper
-- Apply gsub() repeatedly until no change
local function gsub_repeatedly(term, foo, bar)
while true do
local new_term = gsub(term, foo, bar)
if new_term == term then
return term
end
term = new_term
end
end
-- Check if given character is uppercase
local function is_upper(char)
return char == upper(char)
end
local letters = { -- general table
["𐒰"]="A", ["𐒱"]="Ai", ["𐒲"]="Aį", ["𐒳"]="Ə", ["𐒴"]="Br", ["𐒵"]="Č", ["𐒶"]="Hč", ["𐒷"]="E", ["𐒸"]="Eį", ["𐒹"]="H", ["𐒺"]="Hy",
["𐒻"]="I", ["𐒼"]="K", ["𐒽"]="Hk", ["𐒾"]="Ky", ["𐒿"]="L", ["𐓀"]="M", ["𐓁"]="N", ["𐓂"]="O", ["𐓃"]="Oį", ["𐓄"]="P", ["𐓅"]="Hp",
["𐓆"]="S", ["𐓇"]="Š", ["𐓈"]="T", ["𐓉"]="Ht", ["𐓊"]="C", ["𐓋"]="Hc", ["𐓌"]="Ch", ["𐓍"]="Ð", ["𐓎"]="U", ["𐓏"]="W", ["𐓐"]="X",
["𐓑"]="Ɣ", ["𐓒"]="Z", ["𐓓"]="Ž",
["𐓘"]="a", ["𐓙"]="ai", ["𐓚"]="aį", ["𐓛"]="ə", ["𐓜"]="br", ["𐓝"]="č", ["𐓞"]="hč", ["𐓟"]="e", ["𐓠"]="eį", ["𐓡"]="h", ["𐓢"]="hy",
["𐓣"]="i", ["𐓤"]="k", ["𐓥"]="hk", ["𐓦"]="ky", ["𐓧"]="l", ["𐓨"]="m", ["𐓩"]="n", ["𐓪"]="o", ["𐓫"]="oį", ["𐓬"]="p", ["𐓭"]="hp",
["𐓮"]="s", ["𐓯"]="š", ["𐓰"]="t", ["𐓱"]="ht", ["𐓲"]="c", ["𐓳"]="hc", ["𐓴"]="ch", ["𐓵"]="ð", ["𐓶"]="u", ["𐓷"]="w", ["𐓸"]="x",
["𐓹"]="ɣ", ["𐓺"]="z", ["𐓻"]="ž",
[U(0x0358)]=U(0x0328), -- combining dot above -> combining ogonek (nasalisation)
[U(0x030B)]=U(0x0304)..U(0x0301) -- combining double acute accent -> combining macron + combining acute accent (long high tone)
}
local accents = U(0x0301) .. U(0x0304) .. U(0x030B) -- list of combining diacritics
local letters_reversed = m_table.invert(letters) -- reverse transliteration table
local digraphs = "" -- generate list of osage letters that represent digraphs (uppercase only)
local digraphs_reversed = {} -- generate list of latin letters that represent digraphs
for k, v in pairs(letters) do
if len(v) > 1 then
if is_upper(k) then digraphs = digraphs .. k end
table.insert(digraphs_reversed, v)
end
end
function export.tr(text, lang, sc)
-- handle vowel and other uppercase digraphs first
text = gsub(text, "([" .. digraphs .. "𐓙𐓚𐓠𐓫])([" .. accents .. "]?)(.?)", function(d, a, d_next) -- run multiple times to catch all instances
if is_upper(d_next) then
return upper(sub(letters[d], 1, 1) .. a .. sub(letters[d], 2)) .. d_next -- place diacritics in between for vowels
end
return sub(letters[d], 1, 1) .. a .. sub(letters[d], 2) .. d_next
end)
-- move combining dot above before other diacritics
text = gsub(text, "([" .. accents .. "])" .. U(0x0358), U(0x0358) .. "%1")
-- then substitute all other letters
return recomp(gsub(text, ".", letters))
end
function export.tr_reverse(text)
-- decompose letters (excluding letters with caron)
text = gsub(text, "([^ČčŠšŽž]+)", function(v) return decomp(v) end)
-- handle digraphs first
text = gsub(text, "([AEOaeo])([" .. accents .. "]*)[Ii](" .. U(0x0328) .. "?)", function(v, a, n) -- catch any diacritics in between vowel digraphs
if n then -- for nasalised vowels
return letters_reversed[v .. "į"] .. a
end
return letters_reversed[v .. "i"] .. a -- for other vowels
end)
for _, v in ipairs(digraphs_reversed) do -- change uppercase second letter to lowercase for remaining digraphs
local match_pattern = sub(v, 1, 1) .. "[" .. sub(v, 2, 2) .. upper(sub(v, 2, 2)) .. "]"
text = gsub_repeatedly(text, match_pattern, letters_reversed[v]) -- run multiple times to catch all instances
end
-- move combining ogonek after other diacritics
text = gsub(text, "([" .. accents .. "]+)" .. U(0x0358), U(0x0358) .. "%1")
-- macron + acute accent -> double acute accent
text = gsub(text, U(0x0301) .. U(0x0304), U(0x0304) .. U(0x0301)) -- swap to catch both orders
text = gsub(text, U(0x0304) .. U(0x0301), letters_reversed)
-- then substitute all other letters
return recomp(gsub(text, ".", letters_reversed))
end
return export
mlczxmd96ex67uaumw23bx3i9n7x5n7
Modul:Palm-translit
828
148084
379439
2026-10-18T02:57:01Z
Hakimi97
2668
Import Lua from [[en:Module:Palm-translit]] (oldid=53799381); preserve attribution
379439
Scribunto
text/plain
local export = {}
local tt = {
["𐡠"] = "ʾ", -- aleph
["𐡡"] = "b", -- beth
["𐡢"] = "g", -- gimel
["𐡣"] = "d", -- daleth
["𐡤"] = "h", -- he
["𐡥"] = "w", -- waw
["𐡦"] = "z", -- zayin
["𐡧"] = "ḥ", -- heth
["𐡨"] = "ṭ", -- teth
["𐡩"] = "y", -- yodh
["𐡪"] = "k", -- kaph
["𐡫"] = "l", -- lamedh
["𐡬"] = "m", -- mem
["𐡭"] = "n", -- final nun
["𐡮"] = "n", -- nun
["𐡯"] = "s", -- samekh
["𐡰"] = "ʿ", -- ayin
["𐡱"] = "p", -- pe
["𐡲"] = "ṣ", -- sadhe
["𐡳"] = "q", -- qoph
["𐡴"] = "r", -- resh
["𐡵"] = "š", -- shin
["𐡶"] = "t", -- taw
["𐡷"] = "☙", -- left-pointing fleuron
["𐡸"] = "❧", -- right-pointing fleuron
["𐡹"] = "1", -- one
["𐡺"] = "2", -- two
["𐡻"] = "3", -- three
["𐡼"] = "4", -- four
["𐡽"] = "5", -- five
["𐡾"] = "10", -- ten
["𐡿"] = "20", -- twenty
}
function export.tr(text, lang, sc)
if sc ~= "Palm" then
return
end
-- Transliterate characters
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
3tkwss3err0ddad6c49vafjzvpta9ay
Modul:Prti-translit
828
148085
379440
2026-10-18T02:58:07Z
Hakimi97
2668
Import Lua from [[en:Module:Prti-translit]] (oldid=49129593); preserve attribution
379440
Scribunto
text/plain
local export = {}
local tt = {
['𐭀'] = 'ʾ',
['𐭁'] = 'b',
['𐭂'] = 'g',
['𐭃'] = 'd',
['𐭄'] = 'h',
['𐭅'] = 'w',
['𐭆'] = 'z',
['𐭇'] = 'ḥ',
['𐭈'] = 'ṭ',
['𐭉'] = 'y',
['𐭊'] = 'k',
['𐭋'] = 'l',
['𐭌'] = 'm',
['𐭍'] = 'n',
['𐭎'] = 's',
['𐭏'] = 'ʿ',
['𐭐'] = 'p',
['𐭑'] = 'c',
['𐭒'] = 'q',
['𐭓'] = 'r',
['𐭔'] = 'š',
['𐭕'] = 't',
}
local numbers = {
['𐭘'] = 1,
['𐭙'] = 2,
['𐭚'] = 3,
['𐭛'] = 4,
['𐭜'] = 10,
['𐭝'] = 20,
['𐭞'] = 100,
['𐭟'] = 1000,
}
function export.convert_numbers(numeric_str)
local total = 0
for c in mw.ustring.gmatch(numeric_str, ".") do
total = total + numbers[c]
end
return total
end
function export.tr(text, lang, sc)
-- If the script is not Prti, do not transliterate
if sc ~= "Prti" then
return
end
if mw.ustring.match(text, '[𐭘-𐭟]') then
text = mw.ustring.gsub(text, '[𐭘-𐭟]+', export.convert_numbers)
end
-- Transliterate characters
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
7d5lboh4iyrc0wt99shapnihc1d3zke
Modul:Rohg-translit
828
148086
379441
2026-10-18T02:59:13Z
Hakimi97
2668
Import Lua from [[en:Module:Rohg-translit]] (oldid=78709596); preserve attribution
379441
Scribunto
text/plain
local export = {}
local u = require("Module:string/char")
local tt = {
-- consonants
["𐴀"]="", ["𐴁"]="b", ["𐴃"]="t", ["𐴄"]="th",
["𐴅"]="j", ["𐴆"]="ch", ["𐴇"]="h", ["𐴈"]="kh",
["𐴉"]="f", ["𐴂"]="p", ["𐴊"]="d", ["𐴋"]="dh",
["𐴌"]="r", ["𐴍"]="ç", ["𐴎"]="z", ["𐴏"]="s",
["𐴐"]="c", ["𐴑"]="k", ["𐴒"]="g", ["𐴓"]="l",
["𐴔"]="m", ["𐴕"]="n", ["𐴖"]="w", ["𐴗"]="u",
["𐴘"]="y", ["𐴙"]="i", ["𐴚"]="ng", ["𐴛"]="ny", ["𐴜"]="v",
-- vowels
["𐴝"]="a", ["𐴞"]="i", ["𐴟"]="u", ["𐴠"]="e", ["𐴡"]="o",
-- others
["𐴢"]="", --only used after some ending consonants
["𐴣"]="ñ", --nasalization
[u(0x200D)]="", --ZWJ, might appear to adjust consonants
-- numerals
["𐴰"]="0", ["𐴱"]="1", ["𐴲"]="2", ["𐴳"]="3", ["𐴴"]="4",
["𐴵"]="5", ["𐴶"]="6", ["𐴷"]="7", ["𐴸"]="8", ["𐴹"]="9",
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(text, ".", tt)
-- tones and special mark
text = mw.ustring.gsub(text, "(.)𐴤", "%1́")
text = mw.ustring.gsub(text, "(.)𐴥", "%1́%1")
text = mw.ustring.gsub(text, "(.)𐴦", "%1%1́")
text = mw.ustring.gsub(text, "(.)𐴧", "%1%1")
return text
end
return export
35b0vmm133fl2pr062ni8y90dwadyr8
Modul:Samr-translit
828
148087
379442
2026-10-18T03:00:18Z
Hakimi97
2668
Import Lua from [[en:Module:Samr-translit]] (oldid=78756971); preserve attribution
379442
Scribunto
text/plain
local u = require("Module:string/char")
local ugsub = mw.ustring.gsub
local cons_list = 'ʾbgdhwbzḥṭyklmnsʿfpṣqršt'
local cons = '[' .. cons_list .. ']'
local export = {}
local tt = {
[1] = {
-- occlusion
[u(0x0805, 0x0818)] = 'b',
[u(0x0805, 0x0810)] = 'p',
},
[2] = {
-- consonants
[u(0x0800)] = 'ʾ', -- ALAF
[u(0x0801)] = 'b', -- BIT
[u(0x0802)] = 'g', -- GAMAN
[u(0x0803)] = 'd', -- DALAT
[u(0x0804)] = 'h', -- IY
[u(0x0805)] = 'w', -- BAA
[u(0x0806)] = 'z', -- ZEN
[u(0x0807)] = 'ḥ', -- IT
[u(0x0808)] = 'ṭ', -- TIT
[u(0x0809)] = 'y', -- YUT
[u(0x080A)] = 'k', -- KAAF
[u(0x080B)] = 'l', -- LABAT
[u(0x080C)] = 'm', -- MIM
[u(0x080D)] = 'n', -- NUN
[u(0x080E)] = 's', -- SINGAAT
[u(0x080F)] = 'ʿ', -- IN
[u(0x0810)] = 'f', -- FI
[u(0x0811)] = 'ṣ', -- TSAADIY
[u(0x0812)] = 'q', -- QUF
[u(0x0813)] = 'r', -- RISH
[u(0x0814)] = 'š', -- SHAN
[u(0x0815)] = 't', -- TAAF
-- consonant modifier
[u(0x0816)] = 'ʿ', -- IN
[u(0x0817)] = 'ʿ', -- IN-ALAF
[u(0x081A)] = 'ỹ', -- MODIFIER EPENTHETIC YUT
[u(0x081B)] = 'ỹ', -- EPENTHETIC YUT
-- vowel signs
[u(0x081C)] = 'ê', -- LONG E
[u(0x081D)] = 'e', -- E
[u(0x081E)] = 'å̂ː', -- OVERLONG AA
[u(0x081F)] = 'å̂', -- LONG AA
[u(0x0820)] = 'å', -- AA
[u(0x0821)] = 'âː', -- OVERLONG A
[u(0x0822)] = 'â', -- LONG A
[u(0x0823)] = 'a', -- A
[u(0x0824)] = 'ă', -- MODIFIER SHORT A
[u(0x0825)] = 'ă', -- SHORT A
[u(0x0826)] = 'u', -- U
[u(0x0827)] = 'û', -- LONG U
[u(0x0828)] = 'i', -- MODIFIER LETTER I
[u(0x0829)] = 'î', -- LONG I
[u(0x082A)] = 'i', -- I
[u(0x082B)] = 'o', -- O
[u(0x082C)] = '', -- SUKUN
-- punctuation
[u(0x0830)] = ' ', -- PUNCTUATION NEQUDAA
},
[3] = {
-- consonant with dagesh
['(' .. cons .. ')' .. u(0x0819)] = '%1%1',
},
}
function export.tr(text, lang, sc)
for _, replacements in ipairs(tt) do
for regex, replacement in pairs(replacements) do
text = ugsub(text, regex, replacement)
end
end
return text
end
return export
j6x78n5khphij41895w41793hdgcu57
Modul:Shrd-translit
828
148088
379443
2026-10-18T03:01:24Z
Hakimi97
2668
Import Lua from [[en:Module:Shrd-translit]] (oldid=91333887); preserve attribution
379443
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local gsub = m_str_utils.gsub
local match = m_str_utils.match
local toNFC = mw.ustring.toNFC
local u = m_str_utils.char
local consonants = {
['𑆑']='k', ['𑆒']='kh', ['𑆓']='g', ['𑆔']='gh', ['𑆕']='ṅ',
['𑆖']='c', ['𑆗']='ch', ['𑆘']='j', ['𑆙']='jh', ['𑆚']='ñ',
['𑆛']='ṭ', ['𑆜']='ṭh', ['𑆝']='ḍ', ['𑆞']='ḍh', ['𑆟']='ṇ',
['𑆠']='t', ['𑆡']='th', ['𑆢']='d', ['𑆣']='dh', ['𑆤']='n',
['𑆥']='p', ['𑆦']='ph', ['𑆧']='b', ['𑆨']='bh', ['𑆩']='m',
['𑆪']='y', ['𑆫']='r', ['𑆬']='l', ['𑆮']='v', ['𑆭']='ḷ',
['𑆯']='ś', ['𑆰']='ṣ', ['𑆱']='s', ['𑆲']='h',
}
local diacritics = {
['𑆳']='ā', ['𑆴']='i', ['𑆵']='ī', ['𑆶']='u', ['𑆷']='ū', ['𑆸']='ṛ', ['𑆹']='ṝ',
['𑆺']='ḷ', ['𑆻']='ḹ', ['𑆼'] = 'e', ['𑆽']='ai', ['𑆾']='o', ['𑆿']='au', ['𑇀']='',
}
local diatrema = {
['𑆅']='ï', ['𑆇']='ü',
}
local tt = {
-- vowels
['𑆃']='a', ['𑆄']='ā', ['𑆅']='i', ['𑆆']='ī', ['𑆇']='u', ['𑆈']='ū', ['𑆉']='ṛ', ['𑆊']='ṝ',
['𑆋']='ḷ', ['𑆌']='ḹ', ['𑆍']='e', ['𑆎']='ai', ['𑆏']='o', ['𑆐']='au',
-- chandrabindu
['𑆀']='m̐', --until a better method is found
-- anusvara
['𑆁']='ṃ', --until a better method is found
-- visarga
['𑆂']='ḥ',
-- avagraha
['𑇁']='’',
--numerals
['𑇐']='0', ['𑇑']='1', ['𑇒']='2', ['𑇓']='3', ['𑇔']='4', ['𑇕']='5', ['𑇖']='6', ['𑇗']='7', ['𑇘']='8', ['𑇙']='9',
--punctuation
['𑇆']='.', --double danda
['𑇅']='.', --danda
--Vedic extensions
['𑇂']='x', ['𑇃']='f',
--Om
['𑇄']='oṃ',
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([𑆑𑆒𑆓𑆔𑆕𑆖𑆗𑆘𑆙𑆚𑆛𑆜𑆝𑆞𑆟𑆠𑆡𑆢𑆣𑆤𑆥𑆦𑆧𑆨𑆩𑆪𑆫𑆬𑆮𑆭𑆯𑆰𑆱𑆲])'..
'([𑆳𑆴𑆵𑆶𑆷𑆸𑆹𑆺𑆻𑆼𑆽𑆾𑆿𑇀]?)'..
'([𑆅𑆇]?)',
function(c, d, e)
if d == "" and e ~= "" then
return consonants[c] .. 'a' .. diatrema[e]
elseif e ~= "" then
return consonants[c] .. diacritics[d] .. tt[e]
elseif d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
-- Adjacent vowel letters needing dieresis
text = gsub(text, '([𑆃])([𑆅𑆇])', function(a, b) return tt[a]..diatrema[b] end)
text = gsub(text, '.', tt)
return text
end
return export
ro5f9x7dky1a1zv6lt96sr6h726kdci
Modul:Sidd-translit
828
148089
379444
2026-10-18T03:02:30Z
Hakimi97
2668
Import Lua from [[en:Module:Sidd-translit]] (oldid=80982159); preserve attribution
379444
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local gsub = m_str_utils.gsub
local match = m_str_utils.match
local toNFC = mw.ustring.toNFC
local u = m_str_utils.char
local consonants = {
['𑖎']='k', ['𑖏']='kh', ['𑖐']='g', ['𑖑']='gh', ['𑖒']='ṅ',
['𑖓']='c', ['𑖔']='ch', ['𑖕']='j', ['𑖖']='jh', ['𑖗']='ñ',
['𑖘']='ṭ', ['𑖙']='ṭh', ['𑖚']='ḍ', ['𑖛']='ḍh', ['𑖜']='ṇ',
['𑖝']='t', ['𑖞']='th', ['𑖟']='d', ['𑖠']='dh', ['𑖡']='n',
['𑖢']='p', ['𑖣']='ph', ['𑖤']='b', ['𑖥']='bh', ['𑖦']='m',
['𑖧']='y', ['𑖨']='r', ['𑖩']='l', ['𑖪']='v',
['𑖫']='ś', ['𑖬']='ṣ', ['𑖭']='s', ['𑖮']='h',
}
local diacritics = {
['𑖯']='ā', ['𑖰']='i', ['𑖱']='ī', ['𑖲']='u', ['𑖳']='ū', ['𑖴']='ṛ', ['𑖵']='ṝ',
['𑖸']='e', ['𑖹']='ai', ['𑖺']='o', ['𑖻']='au', ['𑖿']='',
-- For Japanese Siddham, these alternate vowel signs are the 'warbler' forms while the regular vowel signs are the 'cloud' forms.
['𑗜'] = '', -- Alternate Vowel Sign U
['𑗝'] = '', -- Alternate Vowel Sign UU
}
local diatrema = {
['𑖂']='ï', ['𑖄']='ü',
}
local tt = {
-- vowels
['𑖀']='a', ['𑖁']='ā', ['𑖂']='i', ['𑖃']='ī', ['𑖄']='u', ['𑖅']='ū', ['𑖆']='ṛ', ['𑖇']='ṝ',
['𑖈']='ḷ', ['𑖉']='ḹ', ['𑖊']='e', ['𑖋']='ai', ['𑖌']='o', ['𑖍']='au',
-- chandrabindu
['𑖼']='m̐', --until a better method is found
-- anusvara
['𑖽']='ṃ', --until a better method is found
-- visarga
['𑖾']='ḥ',
--numerals
--punctuation
['𑗃']='.', --double danda
['𑗂']='.', --danda
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = gsub(
text,
'([𑖎-𑖮])'..
'([𑖯-𑖵𑖸-𑖻𑖿𑗜𑗝]?)'..
'([𑖂𑖄]?)',
function(c, d, e)
if d == "" and e ~= "" then
return consonants[c] .. 'a' .. diatrema[e]
elseif e ~= "" then
return consonants[c] .. diacritics[d] .. tt[e]
elseif d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
-- Adjacent vowel letters needing dieresis
text = gsub(text, '([𑖀])([𑖂𑖄])', function(a, b) return tt[a]..diatrema[b] end)
text = gsub(text, '.', tt)
return text
end
return export
0qoobojh5xa68r5ke1is7vv9cgisdlg
Modul:Sind-translit
828
148090
379445
2026-10-18T03:03:37Z
Hakimi97
2668
Import Lua from [[en:Module:Sind-translit]] (oldid=82868852); preserve attribution
379445
Scribunto
text/plain
local export = {}
local consonants = {
['𑊺']='k', ['𑊻']='kh', ['𑊼']='g', ['𑊽']='g̠', ['𑊾']='gh', ['𑊿']='ṅ',
['𑋀']='c', ['𑋁']='ch', ['𑋂']='j', ['𑋃']='j̄', ['𑋄']='jh', ['𑋅']='ñ',
['𑋆']='ṭ', ['𑋇']='ṭh', ['𑋈']='ḍ', ['𑋉']='ḍ̠', ['𑋊']='ṛ',['𑋋']='ḍh', ['𑋌']='ṇ',
['𑋍']='t', ['𑋎']='th', ['𑋏']='d', ['𑋐']='dh', ['𑋑']='n',
['𑋒']='p', ['𑋓']='ph', ['𑋔']='b', ['𑋕']='ḇ', ['𑋖']='bh', ['𑋗']='m',
['𑋘']='y', ['𑋙']='r', ['𑋚']='l', ['𑋛']='v', ['𑋜']='ś',
['𑋝']='s', ['𑋞']='h',
--consonants with nukta
["𑊺𑋩"] = "q",
["𑊻𑋩"] = "x",
["𑊼𑋩"] = "ġ",
["𑋂𑋩"] = "z",
["𑋋𑋩"] = "ṛh",
["𑋓𑋩"] = "f",
}
local diacritics = {
['𑋠']= 'ā', ['𑋡']='i', ['𑋢']='ī', ['𑋣']='u', ['𑋤']='ū',
['𑋥']='e', ['𑋦']='ai', ['𑋧']='o', ['𑋨']='au', ['𑋪']='',
}
local nonconsonants = {
-- vowels
['𑊰']='a', ['𑊱']='ā', ['𑊲']='i', ['𑊳']='ī', ['𑊴']='u', ['𑊵']='ū',
['𑊶']='e', ['𑊷']='ai', ['𑊸']='o',['𑊹']='au',
-- other symbols
['𑋟']='ṁ', -- anusvara
['𑋩']='.', -- nukta
-- digits
['𑋰'] = '0', ['𑋱'] = '1', ['𑋲'] = '2', ['𑋳'] = '3', ['𑋴'] = '4',
['𑋵'] = '5', ['𑋶'] = '6', ['𑋷'] = '7', ['𑋸'] = '8', ['𑋹'] = '9',
}
local nasal_assim = {
["[kg]h?"] = "ṅ",
["[cj]h?"] = "ñ",
["[ṭḍ]h?"] = "ṇ",
["[td]h?"] = "n",
["[pb]h?"] = "m",
["n"] = "n",
["m"] = "m",
["s"] = "n",
}
-- translit any words or phrases
function export.tr(text, lang, sc)
local nukta = "([𑊻𑊼𑋂𑋓]𑋩)"
text = mw.ustring.gsub(
text,
'([𑊺𑊻𑊼𑊽𑊾𑊿𑋀𑋁𑋂𑋃𑋄𑋅𑋆𑋇𑋈𑋉𑋊𑋋𑋌𑋍𑋎𑋏𑋐𑋑𑋒𑋓𑋔𑋕𑋖𑋗𑋘𑋙𑋚𑋛𑋜𑋝𑋞][𑋩]?)'..
'([𑋠𑋡𑋢𑋣𑋤𑋥𑋦𑋧𑋨𑋪]?)',
function(c, d)
-- mw.log('match', c, d)
c = consonants[c] or c
if d == "" then
return c .. 'a'
else
return c .. (diacritics[d] or d)
end
end)
text = mw.ustring.gsub(text,nukta,consonants)
text = mw.ustring.gsub(text, '.', nonconsonants)
for key,val in pairs(nasal_assim) do
text = mw.ustring.gsub(text,"ṁ("..key..")",val.."%1")
end
text = mw.ustring.gsub(text,"([aiueēoāīū])ṁ ", "%1̃ ")
text = mw.ustring.gsub(text,"(.?)ṁ", "%1̃")
text = mw.ustring.gsub(text, 'a([iu])̃', 'a͠%1')
return mw.ustring.toNFC(text)
end
return export
7q091er52k95nyvr3l2mhfeny0pynam
Modul:Sogd-translit
828
148091
379446
2026-10-18T03:04:43Z
Hakimi97
2668
Import Lua from [[en:Module:Sogd-translit]] (oldid=53541408); preserve attribution
379446
Scribunto
text/plain
local export = {}
local tt = {
["𐼰"] = "ʾ", -- aleph
["𐼱"] = "β", -- beth
["𐼲"] = "ɣ", -- gimel
["𐼳"] = "h", -- he
["𐼴"] = "w", -- waw
["𐼵"] = "z", -- zayin
["𐼶"] = "x", -- heth
["𐼷"] = "y", -- yodh
["𐼸"] = "k", -- kaph
["𐼹"] = "δ", -- lamedh
["𐼺"] = "m", -- mem
["𐼻"] = "n", -- nun
["𐼼"] = "s", -- samekh
["𐼽"] = "ʿ", -- ayin
["𐼾"] = "p", -- pe
["𐼿"] = "c", -- sadhe
["𐽀"] = "r", -- resh-ayin
["𐽁"] = "š", -- shin
["𐽂"] = "t", -- taw
["𐽃"] = "f", -- fesh
["𐽄"] = "l", -- lesh
["𐽅"] = "š", -- phonogram shin
["𐽆"] = "", -- dot above
["𐽇"] = "", -- dot above
["𐽈"] = "", -- two dots above
["𐽉"] = "", -- two dots below
["𐽊"] = "", -- curve above
["𐽋"] = "", -- curve below
["𐽌"] = "", -- hook above
["𐽍"] = "", -- hook below
["𐽎"] = "", -- long hook below
["𐽏"] = "", -- resh below
["𐽐"] = "", -- stroke below
["𐽑"] = "1", -- one
["𐽒"] = "10", -- ten
["𐽓"] = "20", -- twenty
["𐽔"] = "100", -- one hundred
}
function export.tr(text, lang, sc)
-- If the script is not Sogd, do not transliterate
if sc ~= "Sogd" then
return
end
-- Transliterate characters
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
2q9nocbkyjkshqnqm68oyfmuyvpp89s
Modul:Sogo-translit
828
148092
379447
2026-10-18T03:05:49Z
Hakimi97
2668
Import Lua from [[en:Module:Sogo-translit]] (oldid=57948905); preserve attribution
379447
Scribunto
text/plain
local export = {}
local tt = {
["𐼀"] = "ʾ", -- aleph
["𐼁"] = "ʾ", -- final aleph
["𐼂"] = "β", -- beth
["𐼃"] = "β", -- final beth
["𐼄"] = "ɣ", -- gimel
["𐼅"] = "h", -- he
["𐼆"] = "h", -- final he
["𐼇"] = "w", -- waw
["𐼈"] = "z", -- zayin
["𐼉"] = "x", -- heth
["𐼊"] = "y", -- yodh
["𐼋"] = "k", -- kaph
["𐼌"] = "δ", -- lamedh
["𐼍"] = "m", -- mem
["𐼎"] = "n", -- nun
["𐼏"] = "n", -- final nun
["𐼐"] = "n", -- final nun with vertical tail
["𐼑"] = "s", -- samekh
["𐼒"] = "ʿ", -- ayin
["𐼓"] = "ʿD", -- alternative ayin
["𐼔"] = "p", -- pe
["𐼕"] = "c", -- sadhe
["𐼖"] = "c", -- final sadhe
["𐼗"] = "c", -- final sadhe with vertical tail
["𐼘"] = "r", -- resh-ayin-deleth
["𐼙"] = "š", -- shin
["𐼚"] = "t", -- taw
["𐼛"] = "t", -- final taw
["𐼜"] = "t", -- final taw with vertical tail
},
{
["𐼝"] = "1", -- one
["𐼞"] = "2", -- two
["𐼟"] = "3", -- three
["𐼠"] = "4", -- four
["𐼡"] = "5", -- five
["𐼢"] = "10", -- ten
["𐼣"] = "20", -- twenty
["𐼤"] = "30", -- thirty
["𐼥"] = "100", -- one hundred
["𐼦"] = "½", -- one half
},
{
["𐼧"] = "r", -- ayin-daleth ligature
}
function export.tr(text, lang, sc)
-- If the script is not Sogd, do not transliterate
if sc ~= "Sogo" then
return
end
-- Transliterate characters
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
1pyuelrz8sr3hysvg9m2w48egm6p6jq
Modul:Vith-translit
828
148093
379449
2026-10-18T03:06:55Z
Hakimi97
2668
Import Lua from [[en:Module:Vith-translit]] (oldid=90255987); preserve attribution
379449
Scribunto
text/plain
local export = {}
local ugsub = mw.ustring.gsub
local tt = {
["𐕰"] = "A", ["𐖗"] = "a",
["𐕱"] = "B", ["𐖘"] = "b",
["𐕲"] = "B", ["𐖙"] = "b",
["𐕳"] = "C", ["𐖚"] = "c",
["𐕴"] = "Ç", ["𐖛"] = "ç",
["𐕵"] = "D", ["𐖜"] = "d",
["𐕶"] = "Dh", ["𐖝"] = "dh",
["𐕷"] = "E", ["𐖞"] = "e",
["𐕸"] = "Ë", ["𐖟"] = "ë",
["𐕹"] = "F", ["𐖠"] = "f",
["𐕺"] = "G", ["𐖡"] = "g",
["𐕼"] = "H", ["𐖣"] = "h",
["𐕽"] = "Ḫ", ["𐖤"] = "ḫ",
["𐕾"] = "I", ["𐖥"] = "i",
["𐕿"] = "I̯", ["𐖦"] = "i̯",
["𐖀"] = "J", ["𐖧"] = "j",
["𐖁"] = "K", ["𐖨"] = "k",
["𐖂"] = "L", ["𐖩"] = "l",
["𐖃"] = "Ll", ["𐖪"] = "ll",
["𐖄"] = "M", ["𐖫"] = "m",
["𐖅"] = "N", ["𐖬"] = "n",
["𐖆"] = "Nj", ["𐖭"] = "nj",
["𐖇"] = "O", ["𐖮"] = "o",
["𐖈"] = "P", ["𐖯"] = "p",
["𐖉"] = "Q", ["𐖰"] = "q",
["𐖊"] = "R", ["𐖱"] = "r",
["𐖌"] = "S", ["𐖳"] = "s",
["𐖍"] = "Sh", ["𐖴"] = "sh",
["𐖎"] = "T", ["𐖵"] = "t",
["𐖏"] = "Th", ["𐖶"] = "th",
["𐖐"] = "U", ["𐖷"] = "u",
["𐖑"] = "V", ["𐖸"] = "v",
["𐖒"] = "X", ["𐖹"] = "x",
["𐖔"] = "Y", ["𐖻"] = "y",
["𐖕"] = "Z", ["𐖼"] = "z",
}
function export.tr(text, _lang, _sc)
text = ugsub(text, '𐖍𐖼', 'Zh')
text = ugsub(text, '𐖴𐖼', 'zh')
text = ugsub(text, '𐕺𐖦', 'Gj')
text = ugsub(text, '𐖡𐖦', 'gj')
text = ugsub(text, '𐖧𐖦', 'j')
text = ugsub(text, '[𐕰-𐖼]', tt)
return text
end
return export
0h3a3itjgcx2vgpw73dys05dx2goq0f
Modul:bcl-translit
828
148094
379450
2026-10-18T03:08:01Z
Hakimi97
2668
Import Lua from [[en:Module:bcl-translit]] (oldid=74985776); preserve attribution
379450
Scribunto
text/plain
local export = {}
local consonants = {
['ᜃ']='k', ['ᜄ']='g', ['ᜅ']='ng',
['ᜆ']='t', ['ᜇ']='d', ['ᜈ']='n',
['ᜉ']='p', ['ᜊ']='b', ['ᜋ']='m',
['ᜌ']='y', ['ᜎ']='l', ['ᜏ']='w',
['ᜐ']='s', ['ᜑ']='h', ['ᜍ']='r',
}
local diacritics = {
['ᜒ']='i', ['ᜓ']='u', ['᜔']='',
}
local tt = {
-- vowels
['ᜀ']='a', ['ᜁ']='i', ['ᜂ']='u',
--punctuation
['᜶']='.', -- pamudpod
['᜵']=',' -- single pamudpod
}
function export.tr(text, lang, sc)
if sc ~= "Tglg" then
return nil
end
local separate_dr = false
if string.find(text, 'ᜍ') then
seperate_dr = true
end
text = mw.ustring.gsub(text,'([ᜃ᜔ᜄ᜔ᜅ᜔ᜆ᜔ᜈ᜔ᜉ᜔ᜊ᜔ᜋ᜔ᜌ᜔ᜎ᜔ᜏ᜔ᜐ᜔])'..'([ᜀᜁᜂ])','%1-%2')
text = mw.ustring.gsub(
text,
'([ᜃ-ᜑ])'..
'([ᜒᜓ᜔]?)'..
'([ᜀ-ᜂ]?)',
function(c, d, e)
if d == "" and e ~= "" then
if tt[e] == "i" or tt[e] == "u" then return consonants[c] .. 'a' .. tt[e] .. ''
else return consonants[c] .. 'a' .. tt[e] end
elseif e ~= "" then
return consonants[c] .. diacritics[d] .. tt[e]
elseif d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
--remove hyphen between vowels
text = mw.ustring.gsub(text,"([aiu])-([aiu])","%1%2")
return text
end
return export
fptaoxw1bggvj1oxtiev39j6cdyiggb
Modul:bho-Kthi-translit
828
148095
379451
2026-10-18T03:09:06Z
Hakimi97
2668
Import Lua from [[en:Module:bho-Kthi-translit]] (oldid=83109508); preserve attribution
379451
Scribunto
text/plain
-- Transliteration for Bhojpuri
local export = {}
local gsub = mw.ustring.gsub
local match = mw.ustring.match
local conv = {
-- consonants
['𑂍'] = 'k', ['𑂎'] = 'kh', ['𑂏'] = 'g', ['𑂐'] = 'gh', ['𑂑'] = 'ṅ',
['𑂒'] = 'c', ['𑂓'] = 'ch', ['𑂔'] = 'j', ['𑂕'] = 'jh', ['𑂖'] = 'ñ',
['𑂗'] = 'ṭ', ['𑂘'] = 'ṭh', ['𑂙'] = 'ḍ', ['𑂛'] = 'ḍh', ['𑂝'] = 'ṇ',
['𑂞'] = 't', ['𑂟'] = 'th', ['𑂠'] = 'd', ['𑂡'] = 'dh', ['𑂢'] = 'n',
['𑂣'] = 'p', ['𑂤'] = 'ph', ['𑂥'] = 'b', ['𑂦'] = 'bh', ['𑂧'] = 'm',
['𑂨'] = 'y', ['𑂩'] = 'r', ['𑂪'] = 'l', ['𑂫'] = 'v', ['𑂫'] = 'v', ['ळ'] = 'ḷ',
['𑂬'] = 'ś', ['𑂭'] = 'ṣ', ['𑂮'] = 's', ['𑂯'] = 'h',
['𑂚'] = 'ṛ', ['𑂚'] = 'ṛ', ['𑂜'] = 'ṛh', ['𑂜'] = 'ṛh',
-- ['𑂔𑂹𑂖'] = 'gy',
-- vowel diacritics
['𑂱'] = 'i', ['𑂳'] = 'u', ['𑂵'] = 'e', ['𑂷'] = 'o',
['𑂰'] = 'ā', ['𑂲'] = 'ī', ['𑂴'] = 'ū',
['𑂶'] = 'ai', ['𑂸'] = 'au',
-- vowel signs
['𑂃'] = 'a', ['𑂅'] = 'i', ['𑂇'] = 'u', ['𑂉'] = 'e', ['𑂋'] = 'o',
['𑂄'] = 'ā', ['𑂆'] = 'ī', ['𑂈'] = 'ū',
['𑂊'] = 'ai', ['𑂌'] = 'au',
['ॐ'] = 'om',
-- chandrabindu
['𑂀'] = '̃',
-- anusvara
['𑂁'] = 'ṁ',
-- visarga
['𑂂'] = 'ḥ',
-- virama
['𑂹'] = '',
-- numerals
['०'] = '0', ['१'] = '1', ['२'] = '2', ['३'] = '3', ['४'] = '4',
['५'] = '5', ['६'] = '6', ['७'] = '7', ['८'] = '8', ['९'] = '9',
-- punctuation
['𑃀'] = '.', -- danda
['𑃁'] = '.', -- double danda
['+'] = '', -- compound separator
-- abbreviation sign
['𑂻'] = '.',
}
local nasal_assim = {
['𑂍'] = '𑂑', ['𑂎'] = '𑂑', ['𑂏'] = '𑂑', ['𑂐'] = '𑂑',
['𑂒'] = '𑂖', ['𑂓'] = '𑂖', ['𑂔'] = '𑂖', ['𑂕'] = '𑂖',
['𑂗'] = '𑂝', ['𑂘'] = '𑂝', ['𑂙'] = '𑂝', ['𑂛'] = '𑂝',
['𑂣'] = '𑂧', ['𑂤'] = '𑂧', ['𑂥'] = '𑂧', ['𑂦'] = '𑂧', ['𑂧'] = '𑂧',
}
local perm_cl = {
['𑂧𑂹𑂪'] = true, ['𑂫𑂹𑂪'] = true, ['𑂫𑂹𑂪'] = true, ['𑂢𑂹𑂪'] = true,
}
local all_cons, special_cons = '𑂍𑂎𑂏𑂐𑂑𑂒𑂓𑂔𑂕𑂖𑂗𑂘𑂙𑂚𑂛𑂜𑂞𑂟𑂠𑂡𑂣𑂤𑂥𑂦𑂬𑂭𑂮𑂨𑂩𑂪𑂫𑂯𑂝𑂢𑂧', '𑂨𑂩𑂪𑂥𑂫𑂯𑂢𑂧'
local vowel, vowel_sign = 'a𑂰𑂱𑂲𑂳𑂴𑂵𑂶𑂷𑂸', '𑂃𑂄𑂅𑂆𑂇𑂈𑂉𑂊𑂋𑂌'
local syncope_pattern = '([' .. vowel .. vowel_sign .. '])(𑂺?[' .. all_cons .. '])a(𑂺?[' .. gsub(all_cons, "𑂨", "") .. '])([𑂁𑂀]?[' .. vowel .. vowel_sign .. '])'
local function rev_string(text)
local result, length = {}, mw.ustring.len(text)
for i = 1, length do
table.insert(result, mw.ustring.sub(text, length - i + 1, length - i + 1))
end
return table.concat(result)
end
function export.tr(text, lang, sc)
text = gsub(
text,
'([' .. all_cons .. ']𑂺?)([' .. vowel .. '𑂹]?)',
function(c, d)
return c .. (d == "" and 'a' or d)
end
)
for word in mw.ustring.gmatch(text, "[𑂀-𑃁a]+") do
local orig_word = word
word = rev_string(word)
word = gsub(
word,
'^a(𑂺?)([' .. all_cons .. '])(.)(.?)',
function(opt, first, second, third)
local a = ""
if match(first, '[' .. special_cons .. ']')
and match(second, '𑂹')
and not perm_cl[first..second..third]
or match(first .. second, '𑂨[𑂲𑂵𑂶]') then
a = "a"
end
return a .. opt .. first .. second .. third
end
)
while match(word, syncope_pattern) do
word = gsub(word, syncope_pattern, '%1%2%3%4')
end
word = gsub(
word,
'(.?)𑂁(.)',
function(succ, prev)
local mid = nasal_assim[succ] or "n"
if succ..prev == "a" then
mid = "𑂺𑂧"
elseif succ == "" and match(prev, '[' .. vowel .. ']') then
mid = "̃"
end
return succ .. mid .. prev
end
)
text = gsub(text, orig_word, rev_string(word))
end
text = gsub(text, '.𑂺?', conv)
text = gsub(text, 'a([iu])̃', 'a͠%1')
text = gsub(text, '𑂔𑂹𑂖', conv)
text = gsub(text, '%*', 'a')
return mw.ustring.toNFC(text)
end
return export
9olycy3t6e0n0soilzhgfz9xu27dgo3
Modul:bku-translit
828
148096
379452
2026-10-18T03:10:12Z
Hakimi97
2668
Import Lua from [[en:Module:bku-translit]] (oldid=83914088); preserve attribution
379452
Scribunto
text/plain
local export = {}
local consonants = {
['ᝃ']='k', ['ᝄ']='g', ['ᝅ']='ng',
['ᝆ']='t', ['ᝇ']='d', ['ᝈ']='n',
['ᝉ']='f', ['ᝊ']='b', ['ᝋ']='m',
['ᝌ']='y', ['ᝎ']='l', ['ᝏ']='w',
['ᝐ']='s', ['ᝑ']='h', ['ᝍ']='r',
}
local diacritics = {
['ᝒ']='i', ['ᝓ']='u', ['᜴']='',
}
local tt = {
-- vowels
['ᝀ']='a', ['ᝁ']='i', ['ᝂ']='u',
--punctuation
['᜶']='.', -- kulit and pamudpod
['᜵']=',' -- single kulit and pamudpod
}
function export.tr(text, lang, sc, override)
if sc ~= "Buhd" then
return nil
end
text = mw.ustring.gsub(text,'([ᝃ-ᝑ][᜴])'..'([ᝀ-ᝂ])','%1-%2')
text = mw.ustring.gsub(
text,
'([ᝃ-ᝑ])'..
'([ᝒᝓ᜴]?)'..
'([ᝀ-ᝂ]?)',
function(c, d, e)
if d == "" and e ~= "" then
if tt[e] == "i" or tt[e] == "u" then return consonants[c] .. 'a' .. tt[e]
else return consonants[c] .. 'a' .. tt[e] end
elseif e ~= "" then
return consonants[c] .. diacritics[d] .. tt[e] .. ''
elseif d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
--remove hyphen between vowels
text = mw.ustring.gsub(text,"([aiu])-([aiu])","%1%2")
-- add missing consonant placeholder after vowels
text = mw.ustring.gsub(text,"([aeiou])","%1_")
text = mw.ustring.gsub(text,
'([ᝒᝓ᜴])',
function(c)
return '-' .. diacritics[c]
end)
text = mw.ustring.gsub(text, "◌", "-a")
text = mw.ustring.gsub(text, " ([,.])", "%1")
return text
end
return export
0wk82lai4hfulikt7iqhcdp7q06znqn
Modul:bnt-com-sortkey
828
148097
379453
2026-10-18T03:11:18Z
Hakimi97
2668
Import Lua from [[en:Module:bnt-com-sortkey]] (oldid=78757139); preserve attribution
379453
Scribunto
text/plain
local export = {}
local u = require("Module:string/char")
local a = u(0xF000)
local oneChar = {
["ɓ"] = "b" .. a, ["ɗ"] = "d" .. a
}
local twoChars = {
["v̄"] = "v" .. a
}
function export.makeSortKey(text, lang, sc)
text = mw.ustring.lower(text)
for from, to in pairs(twoChars) do
text = mw.ustring.gsub(text, from, to)
end
return mw.ustring.upper(mw.ustring.gsub(text, ".", oneChar))
end
return export
lfu21yh77m78yzhbnxaxovu0b9ycv0j
Modul:bnt-pro-sortkey
828
148098
379454
2026-10-18T03:12:24Z
Hakimi97
2668
Import Lua from [[en:Module:bnt-pro-sortkey]] (oldid=85667221); preserve attribution
379454
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a, b = u(0xF000), u(0xF001)
local remove_diacritics = u(0x0300) .. u(0x0301) -- grave, acute
local oneChar = {
["ɪ"] = "i" .. a, ["ì"] = "i" .. b, ["í"] = "i" .. b, ["ʊ"] = "u" .. a, ["ù"] = "u" .. b, ["ú"] = "u" .. b
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.toNFC(mw.ustring.gsub(mw.ustring.toNFD(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar)), "[" .. remove_diacritics .. "]", ""))) -- decompose, remove appropriate diacritics, then recompose again
end
return export
0xagsm5z1meiajymzdjlpul8rs3bk3m
Modul:brx-translit
828
148099
379455
2026-10-18T03:13:30Z
Hakimi97
2668
Import Lua from [[en:Module:brx-translit]] (oldid=71471713); preserve attribution
379455
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local match = mw.ustring.match
local conv = {
-- consonants
['ख'] = 'k', ['ग'] = 'g', ['ङ'] = 'ŋ',
['ज'] = 'z', ['थ'] = 't', ['द'] = 'd', ['न'] = 'n', ['फ'] = 'f', ['ब'] = 'b', ['म'] = 'm',
['य'] = 'y', ['र'] = 'r', ['ल'] = 'l', ['व'] = 'o', ['स'] = 's', ['ह'] = 'h',
-- vowel diacritics
['ि'] = 'i', ['ु'] = 'u', ['े'] = 'e', ['ो'] = 'w',
['ा'] = 'a', ['ै'] = 'wi', ['ौ'] = 'wu', ['’'] = 'o',
-- vowel signs
['अ'] = 'o', ['इ'] = 'i', ['उ'] = 'u', ['ए'] = 'e', ['ओ'] = 'w',
['आ'] = 'a', ['ऐ'] = 'wi', ['औ'] = 'wu', ['अ’'] = 'o',
['ॐ'] = 'om',
-- chandrabindu
['ँ'] = 'ṅ',
-- anusvara
['ं'] = 'ŋ',
-- visarga
['ः'] = 'ḥ',
-- virama
['्'] = '',
-- numerals
['०'] = '0', ['१'] = '1', ['२'] = '2', ['३'] = '3', ['४'] = '4',
['५'] = '5', ['६'] = '6', ['७'] = '7', ['८'] = '8', ['९'] = '9',
-- punctuation
['।'] = '.', -- danda
['॥'] = '.', -- double danda
['+'] = '', -- compound separator
-- abbreviation sign
['॰'] = '.',
}
-- These clusters when occurring word-finally will not trigger a schwa added
-- after them even though the second consonant is in special_cons, which normally
-- causes the extra schwa to be added. NOTE: The clusters are reversed from their
-- ultimate effect, e.g. the first cluster is written 'ml' but actually applies
-- to words ending in 'lm'. The clusters below overall refer to the six clusters
-- describable by [rl][mnv], i.e. rm, rn, rv, lm, ln, lv.
local perm_cl = {
['म्ल'] = true, ['व्ल'] = true, ['न्ल'] = true,
['म्र'] = true, ['व्र'] = true, ['न्र'] = true,
}
local all_cons, special_cons = 'कखगघङचछजझञटठडढतथदधपफबभशषसयरलवहणनम', 'यरलवहनम'
local vowel, vowel_sign = '*िुेोाैौ’o\'', 'अइउएओआऐऔअ’\''
local long_vowel, short_vowel = 'ाैौआऐऔ', '*िुेो’अइउएओअ\''
local syncope_pattern = '([' .. vowel .. vowel_sign .. '])(़?[' .. all_cons .. '])o(़?[' .. all_cons .. '])([ंँ]?[' .. vowel .. vowel_sign .. '])'
local function rev_string(text)
local result, length = {}, mw.ustring.len(text)
for i = length, 1, -1 do
table.insert(result, mw.ustring.sub(text, i, i))
end
return table.concat(result)
end
function export.tr(text, lang, sc)
--abbreviation dot
text = gsub(text, '॰', '.')
text = gsub(text, '([' .. all_cons .. ']़?)([' .. vowel .. '्]?)', function(c, d)
return c .. (d == "" and 'o' or d) end)
for word in mw.ustring.gmatch(text, "[ऀऀ-ॿo']+") do
local orig_word = word
word = rev_string(word)
word = gsub(word, '^o(़?)([' .. all_cons .. '])(.)(.?)', function(opt, first, second, third)
return (((match(first, '[' .. special_cons .. ']') and match(second, '्') and not perm_cl[first..second..third])
or match(first .. second, 'य[ी]'))
and 'o' or "") .. opt .. first .. second .. third end)
while match(word, syncope_pattern) do
word = gsub(word, syncope_pattern, '%1%2%3%4')
end
word = rev_string(word)
-- Convert * to %* so we can match it in a regex.
local escaped_orig_word = gsub(orig_word, "%*", "%*")
text = gsub(text, escaped_orig_word, word)
end
text = gsub(text, '.़?', conv)
text = gsub(text, '%*', 'o')
return mw.ustring.toNFC(text)
end
return export
9icxh4qk3p47zxhyyvasjpfiutwibmy
Modul:chg-translit
828
148100
379456
2026-10-18T03:14:36Z
Hakimi97
2668
Import Lua from [[en:Module:chg-translit]] (oldid=91657160); preserve attribution
379456
Scribunto
text/plain
-- Author: Saam-andar
local export = {}
local m_str_utils = require("Module:string utilities")
local gcodepoint = m_str_utils.gcodepoint
local rfind = m_str_utils.find
local rsubn = m_str_utils.gsub
local rmatch = m_str_utils.match
local rsplit = m_str_utils.split
local U = m_str_utils.char
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
-- version of rsubn() that discards all but the first return value
local function rsub(term, foo, bar)
local retval = rsubn(term, foo, bar)
return retval
end
local zwnj = U(0x200C) -- zero-width non-joiner
local alif_madda = U(0x622)
local alif_hamza_below = U(0x625)
local alif = U(0x627)
local taa_marbuta = U(0x629)
local laam = U(0x644)
local waaw = U(0x648)
local yaa = U(0x64A)
local fatHataan = U(0x64B)
local Dammataan = U(0x64C)
local kasrataan = U(0x64D)
local shadda = U(0x651)
local sukuun = U(0x652)
local dagger_alif = U(0x670)
local alif_wasl = U(0x671)
local fatha = U(0x64E)
local kasra = U(0x650)
local zamma = U(0x64F)
local highhmz = U(0x654)
local sukun = "ْ"
--local zwj = U(0x200D) -- zero-width joiner
local lrm = U(0x200E) -- left-to-right mark
local rlm = U(0x200F) -- right-to-left mark
local consonants = "بپتثجچحخدذرزژسشصضطظعغفقکگلمنوؤهیئء"
local diacritics = fatha .. kasra .. zamma .. highhmz .. sukun .. shadda .. dagger_alif .. fatHataan .. Dammataan .. kasrataan
-- mapping
local tt = {
["آ"] = "ʾʾ",
["ا"] = "ʾ",
["ب"] = "b",
["پ"] = "p",
["ت"] = "t",
["ث"] = "s̱",
["ج"] = "j",
["چ"] = "č",
["ح"] = "ḥ",
["خ"] = "x",
["د"] = "d",
["ذ"] = "ẕ",
["ر"] = "r",
["ز"] = "z",
["ژ"] = "ž",
["س"] = "s",
["ش"] = "š",
["ص"] = "ṣ",
["ض"] = "ż",
["ط"] = "ṭ",
["ظ"] = "ẓ",
["ع"] = "ʿ",
["غ"] = "ġ",
["ف"] = "f",
["ق"] = "q",
["ک"] = "k",
["گ"] = "g",
["ل"] = "l",
["م"] = "m",
["ن"] = "n",
["و"] = "w",
["ه"] = "h",
["ی"] = "y",
[taa_marbuta] = "t",
["ݣ"] = "ñ",
["ء"] = "ʾ",
["ئ"] = "ʾ",
["ؤ"] = "ʾ",
["أ"] = "ʾ",
["إ"] = "ʾ",
[zwnj] = "-", -- ZWNJ (zero-width non-joiner)
-- ligatures
["ﻻ"] = "lʾ",
["اللّٰه"] = "ʾllh",
-- kashida
["ـ"] = "-", -- kashida, no sound
-- alif_wasla
[alif_wasl] = "ʾ̃",
-- numerals
["۱"] = "1",
["۲"] = "2",
["۳"] = "3",
["۴"] = "4",
["۵"] = "5",
["۶"] = "6",
["۷"] = "7",
["۸"] = "8",
["۹"] = "9",
["۰"] = "0",
-- punctuation (leave on separate lines)
["؟"] = "?", -- question mark
["،"] = ",", -- comma
["؛"] = ";", -- semicolon
["«"] = "“", -- quotation mark
["»"] = "”", -- quotation mark
["٪"] = "%", -- percent
["؉"] = "‰", -- per mille
["٫"] = ".", -- decimals
["٬"] = ",", -- thousan
}
-- Main function
function export.tr(text, lang, sc, options)
if not text or text == "" then
return nil
end
if type(text) == "table" then
local function f(x) return (x ~= "") and x or nil end
text, lang, sc = f(text.args[1]), f(text.args[2]), f(text.args[3])
options = text.args[4] and {} or nil
end
-- Only process if script is Arabic
if sc and sc ~= "Arab" then
return nil
end
-- Strip diacritics
text = rsubn(text, "[" .. diacritics .. "]", "")
-- text = rsubn(text, "([" .. consonants .. "]+)ا", "%1ā" )
text = rsubn(text, ".", function(char)
return tt[char] or char
end)
return text
end
return export
ixxvtcg6gve94re7sbdfwbicelfgk1c
Modul:crh-translit
828
148101
379457
2026-10-18T03:15:42Z
Hakimi97
2668
Import Lua from [[en:Module:crh-translit]] (oldid=91737765); preserve attribution
379457
Scribunto
text/plain
local export = {}
local m_str_utils = require('Module:string utilities')
local gsub = m_str_utils.gsub
local match = m_str_utils.match
local format = mw.ustring.format
local lower = m_str_utils.lower
local function upper(text)
return m_str_utils.upper(gsub(text, 'i', 'İ'))
end
local tt = {
['б']='b', ['в']='v', ['г']='g', ['д']='d',
['ж']='j', ['з']='z', ['й']='y', ['к']='k',
['л']='l', ['м']='m', ['н']='n', ['п']='p',
['р']='r', ['с']='s', ['т']='t', ['ф']='f',
['х']='h', ['ч']='ç', ['ш']='ş', ['ц']='ts',
['щ']='şç', ['ь']='ʹ', ['ъ']='ʺ',
--[[ гъ ]] --[[ къ ]] --[[ нъ ]] --[[ дж ]]
['а']='a', ['ы']='ı', ['о']='o', ['у']='u', ['э']='e',
--[[ е ]] ['и']='i', --[[ ё ]] --[[ ю ]] --[[ я ]]
['ғ']='ğ', ['ҡ']='q', ['ң']='ñ', ['җ']='c',
['ө']='ö', ['ү']='ü', ['ә']='â',
}
local consonants = 'бвгджзйклмнпрстфхчшцщғҡңҗ'
local vowels_hard = 'аыоу'
local vowels_soft = 'эиөү'
local consonants_digraph = {['гъ']='ғ', ['къ']='ҡ', ['нъ']='ң', ['дж']='җ'}
local vowels_cv = {['е']='э', ['ё']='ө', ['ю']='ү', ['я']='ә'}
local vowels_iotated = {['е']='йэ', ['я']='йа'}
local vowels_iotated2hard = {['ё']='йо', ['ю']='йу'}
local vowels_hard2soft = {['о']='ө', ['у']='ү'}
function export.tr(text, lang, sc)
-- store capitalization
text = gsub(text, '([Ё-Я][Ё-Я]+)', function(word) return '\14' .. lower(word) .. '\15' end)
text = gsub(text, '([Ё-Я])', function(ch) return '\14' .. lower(ch) end)
-- normalize
text = gsub(text, '[гкнд][ъж]', consonants_digraph)
-- normalize iotated vowels in CV environments
text = gsub(text,
format('([%s])([еёюя])', consonants),
function(c, v)
return c .. vowels_cv[v]
end
)
-- process remaining
text = gsub(text,
'[ея]',
vowels_iotated
)
text = gsub(text,
'[ёю]',
vowels_iotated2hard
)
-- к = soft, къ = hard? is this how this works? ⟨кок⟩ /kök/
--[[
-- detect soft vowel by CV environments
text = gsub(text,
'([кг])([оу])',
function(c, v)
return c .. vowels_hard2soft[v]
end
)
-- detect soft vowel by VC environments
text = gsub(text,
'([оу])([кг])(.?)',
function(v, c, following)
return ((following == '' or match(following, '[%A' .. consonants .. ']')) and vowels_hard2soft[v] or v) .. c .. following
end
)
]]
-- detect soft vowel by soft sign
text = gsub(text,
format('([оу])([%s]?)(ь)', consonants),
function(v, c, soft_sign)
return vowels_hard2soft[v] .. c
end
)
-- detect word-initial soft vowel by next vowel
text = gsub(text,
format('(.?)([оу])([%s]*)([%s])', consonants, vowels_soft),
function(preceding, v, c, v2)
return preceding .. ((preceding == '' or match(preceding, '[%A]')) and vowels_hard2soft[v] or v) .. c .. v2
end
)
-- transliterate
text = gsub(text, '.', tt)
-- restore capitalization
text = gsub(text, '\14(%a+)\15', function(word) return upper(word) end)
text = gsub(text, '\14(.)', function(ch) return upper(ch) end)
return text
end
return export
6p3r6wklffdgeozk4oxwh4yylgtct6i
Modul:gmw-pro-sortkey
828
148102
379458
2026-10-18T03:16:47Z
Hakimi97
2668
Import Lua from [[en:Module:gmw-pro-sortkey]] (oldid=79050119); preserve attribution
379458
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local remove_diacritics = u(0x0304) .. u(0x0328) -- macron, ogonek
local oneChar = {
["ʀ"] = "r"
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.toNFC(mw.ustring.gsub(mw.ustring.toNFD(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar)), "[" .. remove_diacritics .. "]", ""))) -- decompose, remove appropriate diacritics, then recompose again
end
return export
7lc3wpilcm5n7sf864u24efw71z1off
Modul:gon-Gong-translit
828
148103
379459
2026-10-18T03:17:53Z
Hakimi97
2668
Import Lua from [[en:Module:gon-Gong-translit]] (oldid=74979040); preserve attribution
379459
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local consonants = {
['𑵱'] = 'k', ['𑵲'] = 'kh', ['𑵶'] = 'g', ['𑵷'] = 'gh', ['𑶄']='ṅ',
['𑵻'] = 'c', ['𑵼'] = 'ch', ['𑶀'] = 'j', ['𑶁'] = 'jh',
['𑵽'] = 'ṭ', ['𑵾'] = 'ṭh', ['𑶂'] = 'ḍ', ['𑶃'] = 'ḍh',
['𑵳'] = 't', ['𑵴'] = 'th', ['𑵸'] = 'd', ['𑵹'] = 'dh', ['𑵺']='n',
['𑶅'] = 'p', ['𑶆'] = 'ph', ['𑵮'] = 'b', ['𑵯'] = 'bh' , ['𑵰']='m',
['𑵬'] = 'y', ['𑶈'] = 'r', ['𑵵'] = 'l', ['𑵭'] = 'v', ['𑵿'] = 'ḷ', ['𑶉'] = 's', ['𑶇'] = 'h',
}
local diacritics = {
['𑶊'] = 'ā', ['𑶋'] = 'i', ['𑶌'] = 'ī',['𑶍'] = 'u', ['𑶎'] = 'ū',
['𑶐'] = 'ē', ['𑶑'] = 'ai', ['𑶓'] = 'ō', ['𑶔'] = 'au', ['𑶗'] = '',
}
local tt = {
-- vowels
['𑵠'] = 'a', ['𑵡'] ='ā' , ['𑵢'] ='i' , ['𑵣'] = 'ī' , ['𑵤'] = 'u' , ['𑵥'] = 'ū' ,
['𑵧'] = 'ē', ['𑵨'] ='ai', ['𑵪'] ='ō', ['𑵫'] = 'au',
-- other symbols
['𑶕'] = 'ṁ',-- anusvara
['𑶖'] = 'ḥ' , -- visarga
['𑶘'] = 'ōm' , -- om
-- digits
['𑶠'] = '0', ['𑶡'] = '1', ['𑶢'] = '2', ['𑶣'] = '3', ['𑶤'] = '4',
['𑶥'] = '5', ['𑶦'] = '6', ['𑶧'] = '7', ['𑶨'] = '8', ['𑶩'] = '9',
}
-- translit any words or phrases
function export.tr(text, lang, sc)
text = gsub(
text,
'([𑵬𑵭𑵮𑵯𑵰𑵱𑵲𑵳𑵴𑵵𑵶𑵷𑵸𑵹𑵺𑵻𑵼𑵽𑵾𑵿𑶀𑶁𑶂𑶃𑶄𑶅𑶆𑶇𑶈𑶉])'..
'([𑶊𑶋𑶌𑶍𑶎𑶐𑶑𑶓𑶔]?)',
function(c, d)
if d == "" then
return consonants[c] ..'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = gsub(text,'.', tt)
-- anusvara
text = gsub(text,'ṁ([kgṅ])','ṅ%1')
text = gsub(text,'ṁ([cjñ])','ñ%1')
text = gsub(text,'ṁ([ṭḍṇ])','ṇ%1')
text = gsub(text,'ṁ([tdn])','n%1')
text = gsub(text,'ṁ([pbm])','m%1')
return text
end
return export
sc3a6olefstkdzjyfoj5jckad353q3o
Modul:gon-Gonm-translit
828
148104
379460
2026-10-18T03:18:59Z
Hakimi97
2668
Import Lua from [[en:Module:gon-Gonm-translit]] (oldid=75150116); preserve attribution
379460
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local consonants = {
['𑴌'] = 'k', ['𑴍'] = 'kh', ['𑴎'] = 'g', ['𑴏'] = 'gh', ['𑴐'] = 'ṅ',
['𑴑'] = 'c', ['𑴒'] = 'ch', ['𑴓'] = 'j', ['𑴔'] = 'jh', ['𑴕'] = 'ñ',
['𑴖'] = 'ṭ', ['𑴗'] = 'ṭh', ['𑴘'] = 'ḍ', ['𑴙'] = 'ḍh', ['𑴚'] = 'ṇ',
['𑴛'] = 't', ['𑴜'] = 'th', ['𑴝'] = 'd', ['𑴞'] = 'dh', ['𑴟'] = 'n',
['𑴠'] = 'p', ['𑴡'] = 'ph', ['𑴢'] = 'b', ['𑴣'] = 'bh', ['𑴤'] = 'm',
['𑴥'] = 'y', ['𑴦'] = 'r', ['𑴧'] = 'l', ['𑴨'] = 'v', ['𑴭'] = 'ḷ',
['𑴩'] = 'ś', ['𑴪'] = 'ṣ', ['𑴫'] = 's', ['𑴬'] = 'h',
['𑴮'] = 'kṣ', ['𑴯'] = 'jñ', ['𑴰'] = 'tr',
['𑴘𑵂'] = 'ṛ',
}
local diacritics = {
['𑴱'] = 'ā', ['𑴲'] = 'i', ['𑴳'] = 'ī', ['𑴴'] = 'u', ['𑴵'] ='ū', ['𑴶'] = 'r̥',
['𑴺'] = 'e', ['𑴼'] = 'ai', ['𑴽'] ='o', ['𑴿'] = 'au', ['𑵄'] = '', ['𑵅'] = '',
}
local tt = {
-- vowels
['𑴀'] = 'a' , ['𑴁'] = 'ā' , ['𑴂'] = 'i' , ['𑴃'] = 'ī' , ['𑴄']='u' , ['𑴅'] = 'ū',
['𑴆'] = 'e', ['𑴈'] = 'ai' , ['𑴉'] = 'o', ['𑴋'] = 'au',
-- other symbols
['𑵀'] = 'ṁ', -- anusvara
['𑵁'] = 'ḥ', -- visarga
['𑵃'] = '̃', -- chandra
-- digits
['𑵐'] = '0', ['𑵑'] = '1', ['𑵒'] = '2', ['𑵓'] = '3', ['𑵔'] = '4',
['𑵕'] = '5', ['𑵖'] = '6', ['𑵗'] = '7', ['𑵘'] = '8', ['𑵙'] = '9',
}
-- translit any words or phrases
function export.tr(text, lang, sc)
text = gsub(text, '𑵇', '𑵄𑴦') -- ra-kāra
text = gsub(
text,
'([𑴌-𑴰]𑵂?)'..
'([[𑴱𑴲𑴳𑴴𑴵𑴶𑴺𑴼𑴽𑴿𑵀𑵁𑵄𑵅]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = gsub(text, '.', tt)
-- anusvara
text = gsub(text, 'ṁ([kgṅ])', 'ṅ%1')
text = gsub(text, 'ṁ([cjñ])', 'ñ%1')
text = gsub(text, 'ṁ([ṭḍṇ])', 'ṇ%1')
text = gsub(text, 'ṁ([tdn])', 'n%1')
text = gsub(text, 'ṁ([pbm])', 'm%1')
text = gsub(text, 'rr̥', 'r̥') -- 𑴦𑴶 is independent r̥
text = gsub(text, '𑵆', 'r') -- repha
text = gsub(text, '[ea]̃', 'ĕ') -- <ऍ> ĕ independent and dependent
text = gsub(text, 'ā̃', 'ŏ') -- <ऑ> ŏ independent and dependent
return text
end
return export
4bdce7nxscsde7z5hadle03o4yyu6ol
Modul:gon-Orya-translit
828
148105
379461
2026-10-18T03:20:05Z
Hakimi97
2668
Import Lua from [[en:Module:gon-Orya-translit]] (oldid=73419850); preserve attribution
379461
Scribunto
text/plain
local export = {}
local consonants = {
--common
["କ"]="k", ["ଖ"]="kh", ["ଗ"]="g", ["ଘ"]="gh", ["ଙ"]="ṅ",
["ଚ"]="c", ["ଛ"]="ch", ["ଜ"]="j", ["ଝ"]="jh", ["ଞ"]="ñ",
["ଟ"]="ṭ", ["ଠ"]="ṭh", ["ଡ"]="ḍ", ["ଢ"]="ḍh", ["ଣ"]="ṇ",
["ତ"]="t", ["ଥ"]="th", ["ଦ"]="d", ["ଧ"]="dh", ["ନ"]="n",
["ପ"]="p", ["ଫ"]="ph", ["ବ"]="b", ["ଭ"]="bh", ["ମ"]="m",
["ଯ"]="j", ["ୟ"]="y", ["ର"]="r", ["ଲ"]="l", ["ଳ"]="ḷ",
["ଵ"]="v", ["ୱ"]="w", ["ଶ"]="ś", ["ଷ"]="ṣ", ["ସ"]="s", ["ହ"]="h",
--nuktas
["କ଼"]="q", ["ଖ଼"]="x", ["ଗ଼"]="ġ", ["ଜ଼"]="z", ["ଝ଼"]="ź",
["ଡ଼"]="ṛ", ["ଢ଼"]="ṛh", ["ଫ଼"]="f",
}
local diacritics = {
["ା"]="ā", ["ି"]="i", ["ୀ"]="ī", ["ୁ"]="u", ["ୂ"]="ū", ["ୃ"]="ru", ["ୄ"]="rū",
["ୢ"]="lu", ["ୣ"]="lū", ["େ"]="e", ["ୈ"]="ai", ["ୖ"]="ai", ["ୋ"]="o", ["ୌ"]="au", ["ୗ"]="au",
["୍"]="",
}
local tt = {
-- vowels
["ଅ"]="a", ["ଆ"]="ā", ["ଇ"]="i", ["ଈ"]="ī", ["ଉ"]="u", ["ଊ"]="ū", ["ଋ"]="ru", ["ୠ"]="rū",
["ଌ"]="lu", ["ୡ"]="lū", ["ଏ"]="e", ["ଐ"]="ai", ["ଓ"]="o", ["ଔ"]="au",
-- chandrabindu
["ଁ"]="m̐", --until a better method is found
-- anusvara
["ଂ"]="ṁ", --until a better method is found
-- visarga
["ଃ"]="ḥ",
-- avagraha
["ଽ"]="’",
--numerals
["୦"]="0", ["୧"]="1", ["୨"]="2", ["୩"]="3", ["୪"]="4", ["୫"]="5", ["୬"]="6", ["୭"]="7", ["୮"]="8", ["୯"]="9",
["୲"]="¼", ["୳"]="½", ["୴"]="¾", ["୵"]="¹⁄₁₆", ["୶"]="⅛", ["୷"]="³⁄₁₆",
--punctuation
["।"]=".", --danda
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
"([କଖଗଘଙଚଛଜଝଞଟଠଡଢଣତଥଦଧନପଫବଵଭମଯୟରଲଳୱଶଷସହ]଼?)"..
"([ାିୀୁୂୃୄେୈୖୋୌୗ୍ୢୣ]?)",
function(c, d)
if not consonants[c] then
return c
end
if d == "" then
return consonants[c] .. "a"
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, ".", tt)
-- anusvara
text = mw.ustring.gsub(text, 'ṁ([kqxgġṅ])', 'ṅ%1')
text = mw.ustring.gsub(text, 'ṁ([cjźñ])', 'ñ%1')
text = mw.ustring.gsub(text, 'ṁ([ṭḍṇ])', 'ṇ%1')
text = mw.ustring.gsub(text, 'ṁ([tdnz])', 'n%1')
text = mw.ustring.gsub(text, 'ṁ([pfbm])', 'm%1')
return text
end
return export
isjlrgl2h5648jtdjdstz895c71p2b4
Modul:hnn-translit
828
148106
379462
2026-10-18T03:21:11Z
Hakimi97
2668
Import Lua from [[en:Module:hnn-translit]] (oldid=82350903); preserve attribution
379462
Scribunto
text/plain
local export = {}
local consonants = {
['ᜣ']='k', ['ᜤ']='g', ['ᜥ']='ng',
['ᜦ']='t', ['ᜧ']='d', ['ᜨ']='n',
['ᜩ']='p', ['ᜪ']='b', ['ᜫ']='m',
['ᜬ']='y', ['ᜮ']='l', ['ᜯ']='w',
['ᜰ']='s', ['ᜱ']='h', ['ᜭ']='r',
}
local diacritics = {
['ᜲ']='i', ['ᜳ']='u', ['᜴']='',
}
local tt = {
-- vowels
['ᜠ']='a', ['ᜡ']='i', ['ᜢ']='u',
--punctuation
['᜶']='.', -- kulit and pamudpod
['᜵']=',' -- single kulit and pamudpod
}
function export.tr(text, lang, sc, override)
if sc ~= "Hano" then
return nil
end
local separate_lr = false
if string.find(text, 'ᜭ') then
separate_lr = true
end
text = mw.ustring.gsub(text,'([ᜣ-ᜱ][᜴])'..'([ᜠ-ᜢ])','%1-%2')
text = mw.ustring.gsub(
text,
'([ᜣ-ᜱ])'..
'([ᜲᜳ᜴]?)'..
'([ᜠ-ᜢ]?)',
function(c, d, e)
if d == "" and e ~= "" then
if tt[e] == "i" or tt[e] == "u" then return consonants[c] .. 'a' .. tt[e] .. ''
else return consonants[c] .. 'a' .. tt[e] end
elseif e ~= "" then
return consonants[c] .. diacritics[d] .. tt[e]
elseif d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
--remove hyphen between vowels
text = mw.ustring.gsub(text,"([aiu])-([aiu])","%1%2")
text = mw.ustring.gsub(text,
'([ᜲᜳ᜴])',
function(c)
return '-' .. diacritics[c]
end)
text = mw.ustring.gsub(text, "◌", "-a")
text = mw.ustring.gsub(text, " ([,.])", "%1")
return text
end
return export
cs7q2mgcq2v5668appy1557b0lpyx8p
Modul:inc-mas-translit
828
148107
379463
2026-10-18T03:22:17Z
Hakimi97
2668
Import Lua from [[en:Module:inc-mas-translit]] (oldid=60973532); preserve attribution
379463
Scribunto
text/plain
-- Transliteration for Assamese
local export = {}
local gsub = mw.ustring.gsub
local match = mw.ustring.match
local conv = {
-- consonants
["ক্ষ"] = "kh",
["ক"] = "k", ["খ"] = "kh", ["গ"] = "g", ["ঘ"] = "gh", ["ঙ"] = "ṅ",
["চ"] = "s", ["ছ"] = "s", ["জ"] = "z", ["ঝ"] = "zh", ["ঞ"] = "ñ",
["ট"] = "t", ["ঠ"] = "th", ["ড"] = "d", ["ঢ"] = "dh", ["ণ"] = "n",
["ত"] = "t", ["থ"] = "th", ["দ"] = "d", ["ধ"] = "dh", ["ন"] = "n",
["প"] = "p", ["ফ"] = "ph", ["ব"] = "b", ["ভ"] = "bh", ["ম"] = "m",
["য"] = "z", ["ৰ"] = "r", ["ল"] = "l", ["ৱ"] = "w",
["শ"] = "x", ["ষ"] = "x", ["স"] = "x", ["হ"] = "h",
["য়"] = "y", ["ড়"] = "r", ["ঢ়"] = "rh",
-- vowel diacritics
["’"] = "ö", ["ি"] = "i", ["ু"] = "u",
["ৃ"] = "ri", ["ে"] = "e", ["ে’"] = "ë", ["ো"] = "ü",
["া"] = "a", ["ী"] = "i", ["ূ"] = "u", ["ৈ"] = "oi", ["ৌ"] = "ou",
-- visarga
["ঃ"] = "o",
-- vowel signs
["অ"] = "o", ["অ’"] = "ó", ["ই"] = "i", ["উ"] = "u",
["ঋ"] = "ri", ["এ"] = "e", ["এ’"] = "é", ["ও"] = "ü",
["আ"] = "a", ["ঈ"] = "i", ["ঊ"] = "u", ["ঐ"] = "oi", ["ঔ"] = "ou",
--hosonto
["্"] = "",
-- sondrobindu
["ঁ"] = "̃",
-- owogroho
['ঽ']='’',
-- onusor
["ং"] = "ṅ",
-- hosonto to,
["ৎ"] = "t",
-- numerals
["০"] = "0", ["১"] = "1", ["২"] = "2", ["৩"] = "3", ["৪"] = "4",
["৫"] = "5", ["৬"] = "6", ["৭"] = "7", ["৮"] = "8", ["৯"] = "9",
-- punctuation
["।"] = ".", -- dari
}
local conv2 = {
["ক্ষ"] = "ḱ", ["খ"] = "ḱ",
["ঘ"] = "ǵ",
["ঙ"] = "ŋ", ["ং"] = "ŋ",
["ঝ"] = "ź",
["ঠ"] = "ṫ", ["থ"] = "ṫ",
["ঢ"] = "ḋ", ["ধ"] = "ḋ",
["ফ"] = "ṗ",
["ভ"] = "ḃ",
["ঢ়"] = "ŕ",
["ৃ"] = "ṙ", ["ঋ"] = "ṙ",
["ৈ"] = "ʏ", ["ঐ"] = "ʏ",
["ৌ"] = "ɵ", ["ঔ"] = "ɵ",
}
local consonant, vowel, vowel_sign = "ক-হড়-য়ৰৱ", "oা-ৌ’", "অ-ঔ"
local c = "[" .. consonant .. "]"
local cc = "়?" .. c
local v = "[" .. vowel .. vowel_sign .. "]"
local syncope_pattern = "(" .. v .. cc .. v .. cc .. ")o(" .. cc .. "ঁ?" .. v .. ")"
local function rev_string(text)
local result, length = "", mw.ustring.len(text)
for i = 1, length do
result = result .. mw.ustring.sub(text, length - i + 1, length - i + 1)
end
return result
end
function export.tr(text, lang, sc, mode)
text = gsub(text, "([^ৰ])্য", "%1্য়")
text = gsub(text, "্ব", "্ৱ")
text = gsub(text, "[শষস]্", "চ্")
text = gsub(text, "্স", "্চ")
text = gsub(text, "[োও]ৱ", "্ও")
text = gsub(text, "ক্ষ", "খ")
text = gsub(text, "’ৱ", "্অ’")
text = gsub(text, "[ুুউ]ৱ(.)", "্উ%1")
text = gsub(text, "[োও]ৱ(.)", "্ও%1")
text = gsub(text, "োঁৱ(.)", "্ওঁ%1")
text = gsub(text, "[ৌঔ]ৱ", "্ঔ")
text = gsub(text, "[িই]য়(.)", "্ই%1")
text = gsub(text, "ৃয়", "্ঋ")
text = gsub(text, "[েএ]য়(.)", "্এ%1")
text = gsub(text, "[ে’এ’]য়", "্এ’")
text = gsub(text, "[ৈঐ]য়(.)", "্ঐ%1")
text = gsub(text, "[ীঈ]য়(.)", "্ঈ%1")
text = gsub(text, "[ীঈ]য়", "্ঈঅ") -- end
text = gsub(text, "[ূূঊ]ৱ", "্ঊ")
text = gsub(text, "݁", "্অ")
text = gsub(text, "ঃ", "্অ")
text = gsub(text, "[࣪ܿ]", "্")
text = gsub(text, "বাৰ" , "্বাৰ")
text = gsub(text, "বিলাক", "্বিলাক")
text = gsub(text, "টো" , "্টো")
text = gsub(text, "খন" , "্খন")
text = gsub(text, "ডাল" , "্ডাল")
text = gsub(text, "খিনি" , "্খিনি")
text = gsub(text, "জন" , "্জন")
text = gsub(text, "জনী" , "্জনী")
text = gsub(text, "গৰাকী" , "্গৰাকী")
text = gsub(text, "সকল" , "্সকল")
text = gsub(text, "কৈ" , "্কৈ")
text = gsub(text, "কে" , "্কে")
text = gsub(text, "ফাল" , "্ফাল")
text = gsub(text, "কেই" , "্কেই")
text = gsub(text, "মান" , "্মান")
text = gsub(text, "[িীইঈ]ঞ", "্ইঅ͂")
text = gsub(text, "ঞ্", "ন্̃")
text = gsub(text, "(" .. c .. "়?)([" .. vowel .. "’?্]?)", function(a, b)
return a .. (b == "" and "o" or b) end)
for word in mw.ustring.gmatch(text, "[ঁ-৽o’]+") do
local orig_word = word
word = rev_string(word)
word = gsub(word, "^o(়?" .. c .. ")(ঁ?" .. v .. ")", "%1%2")
while match(word, syncope_pattern) do
word = gsub(word, syncope_pattern, "%1%2")
end
text = gsub(text, orig_word, rev_string(word))
end
if mode == "IPA" then
text = gsub(text, ".[়’]?", conv2)
text = gsub(text, ".", conv2)
end
text = gsub(text, ".[়’]?", conv)
text = gsub(text, ".", conv)
local consonants_Latn_no_h = "[b-df-gj-np-tv-z]"
-- Cw
text = gsub(text, "mw", "mb") -- special case
text = gsub(text, "^(" .. consonants_Latn_no_h .. "h?)w", "%1") -- initial
text = gsub(text, "hw", "hb")
text = gsub(text, "(" .. consonants_Latn_no_h .. ")w", "%1%1") -- medial
-- zñ
text = gsub(text, "^zñ", "gy") -- initial
text = gsub(text, "zñ", "gg") -- medial
-- Cy
text = gsub(text, "^khy", "kh" )
text = gsub(text, "([aéeióoüu])(" .. consonants_Latn_no_h .. ")y", "%1i%2%2")
-- final "b" has inherent vowel
text = gsub(text, "b$", "bo")
text = gsub(text, "b ", "bo ")
-- final r conjuncts
text = gsub(text, "r([kszt])o$", "r%1")
text = gsub(text, "r([kszt])o ", "r%1 ")
text = gsub(text, "rkho$", "rkh")
text = gsub(text, "rkho ", "rkh ")
if match(text, "[ঁ-৽]") and mode ~= "debug" then
return nil
else
return mw.ustring.toNFC(text)
end
end
return export
3dr3pdiwc2bnqokjr2vzofb9ppoz340
Modul:inc-mbn-translit
828
148108
379464
2026-10-18T03:23:23Z
Hakimi97
2668
Import Lua from [[en:Module:inc-mbn-translit]] (oldid=72826613); preserve attribution
379464
Scribunto
text/plain
-- Transliteration for Middle Bengali
local export = {}
local gsub = mw.ustring.gsub
local match = mw.ustring.match
local char = {
-- consonants
["ক"] = "k", ["খ"] = "kh", ["গ"] = "g", ["ঘ"] = "gh", ["ঙ"] = "ṅ",
["চ"] = "c", ["ছ"] = "ch", ["জ"] = "j", ["ঝ"] = "jh", ["ঞ"] = "ñ",
["ট"] = "ṭ", ["ঠ"] = "ṭh", ["ড"] = "ḍ", ["ঢ"] = "ḍh", ["ণ"] = "ṇ",
["ত"] = "t", ["থ"] = "th", ["দ"] = "d", ["ধ"] = "dh", ["ন"] = "n",
["প"] = "p", ["ফ"] = "ph", ["ব"] = "b", ["ভ"] = "bh", ["ম"] = "m",
["য"] = "j", ["র"] = "r", ["ল"] = "l",
["শ"] = "ś", ["ষ"] = "ṣ", ["স"] = "s", ["হ"] = "h",
["য়"] = "ẏ", ["ড়"] = "ṛ", ["ঢ়"] = "ṛh",
-- vowel diacritics
["ি"] = "i", ["ু"] = "u",
["ৃ"] = "ri", ["ে"] = "e", ["ো"] = "ō",
["া"] = "a", ["ী"] = "i", ["ূ"] = "u", ["ৈ"] = "ōi", ["ৌ"] = "ōu",
-- archaic vowel diacritics
["ৄ"] = "ri", ["ৢ"] = "li", ["ৣ"] = "li",
-- visarga
["ঃ"] = "ḥ",
-- vowel signs
["অ"] = "o", ["ই"] = "i", ["উ"] = "u",
["ঋ"] = "ri", ["এ"] = "e", ["ও"] = "ō",
["আ"] = "a", ["ঈ"] = "i", ["ঊ"] = "u", ["ঐ"] = "ōi", ["ঔ"] = "ōu",
-- archaic vowel signs
["ৠ"] = "ri", ["ঌ"] = "li", ["ৡ"] = "li",
--virama
["্"] = "",
-- chandrabindu
["ঁ"] = "̃",
-- avagraha
['ঽ']='’',
-- anusvara
["ং"] = "ṅ",
-- khandata,
["ৎ"] = "t",
-- numerals
["০"] = "0", ["১"] = "1", ["২"] = "2", ["৩"] = "3", ["৪"] = "4",
["৫"] = "5", ["৬"] = "6", ["৭"] = "7", ["৮"] = "8", ["৯"] = "9",
-- punctuation
["।"] = ".", -- dãri
}
local consonant, vowel, vowel_sign = "ক-হড়-য়", "oা-ৌ’", "অ-ঔ"
local c = "[" .. consonant .. "]"
local cc = "়?" .. c
local v = "[" .. vowel .. vowel_sign .. "o]"
local syncope_pattern = "(" .. v .. cc .. v .. cc .. ")o(" .. cc .. "ঁ?" .. v .. ")"
local function rev_string(text)
local result, length = "", mw.ustring.len(text)
for i = 1, length do
result = result .. mw.ustring.sub(text, length - i + 1, length - i + 1)
end
return result
end
function export.tr(text, lang, sc, override)
text = gsub(text, "(" .. c .. ")ও", "%1্ও")
text = gsub(text, "^(" .. c .. ")্ও", "%1ও")
text = gsub(text, "([কখগঘ])([গচছট-ধস])", "%1্%2")
text = gsub(text, "^([কখগঘ])্([গচছট-ধস])", "%1%2")
text = gsub(text, "([কখগঘ])্([ড়ঢ়])", "%1%2")
text = gsub(text, "কব", "ক্b")
text = gsub(text, "^ক্b", "কb")
text = gsub(text, "(" .. c .. ")্(" .. c .. ")$", "%1্%2্")
text = gsub(text, "(" .. c .. ")্(" .. c .. ") ", "%1্%2্ ")
text = gsub(text, "([ট-ধ])([ক-ঘ])(" .. v .. ")", "%1্%2%3")
text = gsub(text, "^([ট-ধ])্([ক-ঘ])(" .. v .. ")", "%1%2%3")
text = gsub(text, " ^([ট-ধ])্([ক-ঘ])(" .. v .. ")", " %1%2%3")
text = gsub(text, "ন([চ-ঝট-ঢশ-হ])", "ন্%1")
text = gsub(text, "^ন্([চ-ঝট-ঢশ-হ])", "ন%1")
text = gsub(text, " ন্([চ-ঝট-ঢশ-হ])", " ন%1")
text = gsub(text, "প([ঙঞণনম])", "প্%1")
text = gsub(text, "^প্([ঙঞণনম])", "প%1")
text = gsub(text, "ফ([ঙঞণত-নমরল])", "ফ্%1")
text = gsub(text, "^ফ্([ঙঞণত-নমরল])", "ফ%1")
text = gsub(text, "(" .. v .. ")ঞ(" .. v .. ")", "%1̃%2")
text = gsub(text, "(" .. c .. "়?)([" .. vowel .. "’?্]?)", function(a, b)
return a .. (b == "" and "o" or b) end)
for word in mw.ustring.gmatch(text, "[ঁ-৽o’]+") do
local orig_word = word
word = rev_string(word)
word = gsub(word, "^o(়?" .. c .. ")(ঁ?" .. v .. ")", "%1%2")
while match(word, syncope_pattern) do
word = gsub(word, syncope_pattern, "%1%2")
end
text = gsub(text, orig_word, rev_string(word))
end
text = gsub(text, "্ম", "ṃ")
text = gsub(text, "্য", "y")
text = gsub(text, "্ব", "v")
text = gsub(text, "িত$", "ito")
text = gsub(text, "িত ", "ito ")
text = gsub(text, "ৃত$", "rito")
text = gsub(text, "ৃত ", "rito ")
text = gsub(text, "ছিল$", "chilo")
text = gsub(text, "ছিল ", "chilo ")
text = gsub(text, ".[়’]?", char)
text = gsub(text, ".", char)
local v_Latn = "[oaiueō]"
local c_Latn = "[bcdḍghjklmṃnṇprsśṣtṭvẇyẏ]"
local consonants_no_h = "[bcdgjklmnpsśtṭḍ]"
-- inherent vowel deletion
text = gsub(text, "(".. v_Latn .. ")bo([bnp])(".. v_Latn .. ")", "%1b%2%3")
text = gsub(text, "(".. v_Latn .. ")do([bp])(".. v_Latn .. ")", "%1d%2%3")
text = gsub(text, "(".. v_Latn .. ")dho([bp])(".. v_Latn .. ")", "%1dh%2%3")
text = gsub(text, "(".. v_Latn .. ")lo([bp])(".. v_Latn .. ")", "%1l%2%3")
text = gsub(text, "(".. v_Latn .. ")mo([bkprṛ])(".. v_Latn .. ")", "%1m%2%3")
text = gsub(text, "(".. v_Latn .. ")ro([bcghjpsś]h?)(".. v_Latn .. ")", "%1r%2%3")
text = gsub(text, "goñjo$", "gonj") -- exceptional
text = gsub(text, "goñjo ", "gonj ") -- exceptional
-- Cv
text = gsub(text, "([bgmr])v", "%1b")
text = gsub(text, "hv", "hb")
text = gsub(text, "udv", "udb")
text = gsub(text, "ttv", "tt")
text = gsub(text, "^sv", "ś") -- initial
text = gsub(text, "([sś])v", "śś") -- medial
text = gsub(text, "^(" .. consonants_no_h .. "h?)v", "%1") -- initial
text = gsub(text, "(" .. consonants_no_h .. ")v", "%1%1") -- medial
text = gsub(text, "(" .. consonants_no_h .. ")hv", "%1%1h") -- medial_h
--ahb, ihb
text = gsub(text, "ahb", "aōbh")
text = gsub(text, "ihb", "iubh")
-- kṣ
text = gsub(text, "^kṣ", "kh") -- initial
text = gsub(text, "kṣ", "kkh") -- medial
text = gsub(text, "okkhṃ", "okkh") -- medial_m
-- sm
text = gsub(text, "^([ṣs])ṃ(" .. v_Latn .. ")", "ś%2̃") -- initial
text = gsub(text, "([ṣs])ṃ(" .. v_Latn .. ")", "śś%2̃") -- medial
-- tm
text = gsub(text, "^tṃ", "t") -- initial
text = gsub(text, "tṃ", "tt") -- medial
text = gsub(text, "ṃ", "m")
text = gsub(text, "ṣ", "ś")
-- rules for changing s to ś (applicable for native words only)
text = gsub(text, "s(".. v_Latn .. ")$", "ś%1")
text = gsub(text, "s(".. v_Latn .. ") ", "ś%1 ")
text = gsub(text, "s([oō])", "ś%1")
text = gsub(text, "os$", "oś")
text = gsub(text, "os ", "oś ")
text = gsub(text, "śl", "sl")
text = gsub(text, "śr", "sr")
text = gsub(text, "sp", "śp")
text = gsub(text, "^śp", "sp")
text = gsub(text, " śp", " sp")
-- visarga deletion
text = gsub(text, "ḥkh", "kkh")
-- jñ
text = gsub(text, "jñ", "gy")
text = gsub(text, "ñ", "n")
text = gsub(text, "nḍo$", "nḍ")
text = gsub(text, "nḍo ", "nḍ ")
text = gsub(text, "rko$", "rk")
text = gsub(text, "rko ", "rk ")
text = gsub(text, "(" .. v_Latn .. ")h$", "%1ho")
text = gsub(text, "(" .. v_Latn .. ")h ", "%1ho ")
text = gsub(text, "([glś])aho$", "%1ah")
text = gsub(text, "([glś])aho ", "%1ah ")
text = gsub(text, "ṇn", "ṇon")
text = gsub(text, "ṇ", "n")
text = gsub(text, "^ek", "êk")
text = gsub(text, "^oya", "ê")
text = gsub(text, "^eya", "ê")
text = gsub(text, "^(" .. consonants_no_h .. "h?)ya", "%1ê") -- initial
text = gsub(text, " (" .. consonants_no_h .. "h?)ya", " %1ê") -- initial
text = gsub(text, "^hya", "hê") -- h_initial
text = gsub(text, "gya", "ggê") -- g_medial
text = gsub(text, "yal$", "êl") -- final_l
text = gsub(text, "yanḍ", "ênḍ")
-- Cy
text = gsub(text, "^(" .. consonants_no_h .. "h?)y", "%1") -- initial
text = gsub(text, "(" .. consonants_no_h .. ")y", "%1%1") -- medial
text = gsub(text, "(" .. consonants_no_h .. ")hy", "%1%1h") -- medial_h
text = gsub(text, "^hy", "jh") -- h_initial
text = gsub(text, "hy", "jjh") -- h_medial
text = gsub(text, "ry", "rj")
text = gsub(text, "ẏo([gklmn])([aeiīōuū])", "ẏ%1%2")
text = gsub(text, "ẏoō", "ẏō")
text = gsub(text, "oō$", "ō")
text = gsub(text, "([ei])ẏ([" .. consonant .. "])", "%1ẏo%2")
text = gsub(text, "([ei])ẏ$", "%1ẏo")
text = gsub(text, "śṭh$", "śṭho")
text = gsub(text, "^([kg]h?)([dḍtṭ])", "%1o%2")
text = gsub(text, "([au])b$", "%1bo")
text = gsub(text, "([au])b ", "%1bo ")
text = gsub(text, "([tb]h?)ob$", "%1obo") -- exceptional
text = gsub(text, "([tb]h?)ob ", "%1obo ") -- exceptional
text = gsub(text, "([au])bh$", "%1bho")
text = gsub(text, "([au])bh ", "%1bho ")
text = gsub(text, "^l([au])bho$", "l%1bh")
text = gsub(text, "^l([au])bho ", "l%1bh ")
text = gsub(text, "lona$", "lna")
text = gsub(text, "nola$", "nla")
text = gsub(text, "ōẏ", "ōẇ")
text = gsub(text, "ō̃ẏ", "ō̃ẇ")
text = gsub(text, "oo", "o")
if match(text, "[ঁ-৽]") and mode ~= "debug" then
return nil
else
return mw.ustring.toNFC(text)
end
end
return export
1pth2qkfmd60jt7bgdcml5k7dmx9r2h
Modul:inc-oas-translit
828
148109
379465
2026-10-18T03:24:29Z
Hakimi97
2668
Import Lua from [[en:Module:inc-oas-translit]] (oldid=79050180); preserve attribution
379465
Scribunto
text/plain
local export = {}
local consonants = {
['ক']='k', ['খ']='kh', ['গ']='g', ['ঘ']='gh', ['ঙ']='ṅ',
['চ']='c', ['ছ']='ch', ['জ']='j', ['ঝ']='jh', ['ঞ']='ñ',
['ট']='ṭ', ['ঠ']='ṭh', ['ড']='ḍ', ['ঢ']='ḍh', ['ণ']='ṇ',
['ত']='t', ['থ']='th', ['দ']='d', ['ধ']='dh', ['ন']='n',
['প']='p', ['ফ']='ph', ['ব']='b', ['ভ']='bh', ['ম']='m',
['য']='j', ['ৰ']='r', ['ল']='l', ['ৱ']='w',
['শ']='ś', ['ষ']='ṣ', ['স']='s', ['হ']='h', ['ড়']='ṛ', ['ঢ়']='ṛh', ['য়']='y', ['ক্ষ']='khy'
}
local diacritics = {
['া']='a', ['ি']='i', ['ী']='ī', ['ু']='u', ['ূ']='ū', ['ৃ']='ṛ', ['ৄ']='ṝ',
['ৢ']='ḷ', ['ৣ']='ḹ', ['ে']='e', ['ৈ']='oi', ['ো']='ö', ['ৌ']='ou', ['্']='',
}
local tt = {
-- vowels
['অ']='o', ['আ']='a', ['ই']='i', ['ঈ']='ī', ['উ']='u', ['ঊ']='ū', ['ঋ']='ṛ', ['ৠ']='ṝ',
['ঌ']='ḷ', ['ৡ']='ḹ', ['এ']='e', ['ঐ']='oi', ['ও']='ö', ['ঔ']='ou',
-- chandrabindu
['ঁ']='̐', --until a better method is found
-- anusvara
['ং']='ṅ', --until a better method is found
-- visarga
['ঃ']='ḥ',
-- avagraha
['ঽ']='’',
--
['ৎ']='t',
--numerals
['০']='0', ['১']='1', ['২']='2', ['৩']='3', ['৪']='4', ['৫']='5', ['৬']='6', ['৭']='7', ['৮']='8', ['৯']='9',
--punctuation
['॥']='.', --double danda
['।']=',',
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([কখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযৰলৱশষসহ]়?)'..
'([ািীুূৃৄৢৣেৈোৌ্]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'o'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
l87ghybwsx87x22iejvm7536oc27rkt
Modul:inc-ohi-translit
828
148110
379466
2026-10-18T03:25:35Z
Hakimi97
2668
Import Lua from [[en:Module:inc-ohi-translit]] (oldid=92299329); preserve attribution
379466
Scribunto
text/plain
local m_str_utils = require("Module:string utilities")
local U = m_str_utils.char
local gsub = m_str_utils.gsub
local export = {}
-- uncommon diacritics
local fatHataan = U(0x64B) -- فَتْحَۃً diacritic
local highhmz = U(0x654) -- ہَمزَہ diacritic
local zwnj = U(0x200C) -- ZWNJ (zero-width non-joiner)
local ghunna = U(0x658) -- نُونِ غُنَّہ diacritic
local dagger_alif = U(0x670) -- اَلِف خَنْجَرِیَّۃ diacritic
-- common diacritics
local zabar = U(0x64E) -- زَبَر diacritic
local zer = U(0x650) -- زیر diacritic
local pesh = U(0x64F) -- پیش diacritic
local tashdid = U(0x651) -- تَشْدِيد, also called شَدَّۃ
local jazm = "ْ" -- diacritic also سُکُون
local tt = {
-- ا
["آ"] = "ā", -- الِف مَدَّه
["أ"] = "a", -- اَلِف ہَمزَہ
["ا"] = "a", -- اَلِف
-- ٮ
["ب"] = "b", -- بے
["ٻ"] = "ḇ", -- ٻے (Sindhi/Saraiki implosive)
["ڀ"] = "bh", -- ڀے (Sindhi aspirate)
["پ"] = "p", -- پے
["ت"] = "t", -- تے
["ٹ"] = "ṭ", -- ٹے (modern retroflex)
["ٿ"] = "ṭ", -- ٿے (old retroflex)
["ث"] = "s̱", -- ثے
-- ح
["ج"] = "j", -- جِيم
["چ"] = "c", -- چے
["ڇ"] = "ch", -- ڇے (Sindhi aspirate)
["ڄ"] = "c", -- ڄے (Sindhi/Saraiki implosive)
["ڃ"] = "ñ", -- ڃے (Sindhi nasal)
["ح"] = "ḥ", -- بَڑِی حے
["خ"] = "x", -- خے
--د
["د"] = "d", -- دال
["ݙ"] = "ḏ", -- ݙال (Saraiki implosive)
["ڈ"] = "ḍ", -- ڈال (modern retroflex)
["ڐ"] = "ḍ", -- ڐال (old retroflex)
["ڌ"] = "ḍh", -- ڌال (Sindhi retroflex aspirate)
["ڏ"] = "ḏ", -- ڏال (Sindhi implosive)
["ڊ"] = "ḍ", -- ڊال (Sindhi retroflex)
["ڍ"] = "dh", -- ڍال (Sindhi aspirate)
["ذ"] = "ẕ", -- ذال
-- ر
["ر"] = "r", -- رے
["ڑ"] = "ṛ", -- ڑے (modern retroflex)
["ڙ"] = "ṛ", -- ڙے (old retroflex)
["ز"] = "z", -- زے
["ژ"] = "ž", -- ژے
-- س
["س"] = "s", -- سِین
["ش"] = "ś", -- شِین
-- ص
["ص"] = "ṣ", -- صاد
["ض"] = "ẓ", -- ضاد
-- ط
["ط"] = "t̤", -- طوے
["ظ"] = "z̤", -- ظوے
-- ع ء
["ع"] = "'", -- عَین
["ء"] = "'", -- ہَمزَہ
["غ"] = "ġ", -- غَین
-- ف ق
["ف"] = "f", -- فے
["ڦ"] = "ph", -- ڦے (Sindhi aspirate)
["ق"] = "q", -- قاف
-- ک
["ک"] = "k", -- کاف
["ك"] = "k", -- كاف (Arabic variant)
["ڪ"] = "k", -- ڪاف (Sindhi Kufic variant)
["گ"] = "g", -- گاف
["ڳ"] = "g̠", -- ڳاف (Sindhi/Saraiki implosive)
["ڱ"] = "ṅ", -- ڱاف (Sindhi nasal)
-- ل م
["لؕ"] = "ḷ", -- اڑلام (Punjabi retroflex)
["ل"] = "l", -- لام
["م"] = "m", -- مِیم
-- ں
["ں"] = "ṉ", -- نُون غُنَّہ
["ن"] = "n", -- نُون
["ڻ"] = "ṇ", -- ڻُون (Sindhi retroflex)
["ݨ"] = "ṇ", -- اڑنون (Punjabi retroflex)
-- و
["و"] = "v", -- واؤ
["ؤ"] = "v", -- واوِ مَہْمُوز
-- ہ
["ہ"] = "h", -- چھوٹِی ہے
["ه"] = "h", -- چھوٹِی هے (Persian/Arabic variant)
["ۀ"] = "h", -- ہے یے) بَڑِی یے مَہْمُوز) (in izafat)
["ة"] = "h", -- تاء مَرْبُوطَة
["ۃ"] = "h", -- تاء مَرْبُوطَۃ
["ھ"] = "h", -- دو چَشْمِی ہے
-- ی
["ی"] = "y", -- یے
["ى"] = "y", -- اَلِف مَقْصُورَۃ (Arabic)
["ي"] = "y", -- يے (Arabic variant)
["ئ"] = "y", -- يے ہَمزَہ
["ے"] = "e", -- بَڑِی یے
["ۓ"] = "e", -- بَڑِی یے مَہْمُوز
-- common diacritics
[zabar] = "", -- زَبَر diacritic
[zer] = "", -- زیر diacritic
[pesh] = "", -- پیش diacritic
[tashdid] = "", -- تَشْدِيد, also called شَدَّۃ
[jazm] = "", -- also سُکُون - no vowel
-- uncommon diacritics
[zwnj] = "-", -- ZWNJ (zero-width non-joiner)
[highhmz] = "", -- ہَمزَہ diacritic
[fatHataan] = "", -- فَتْحَۃً diacritic
[ghunna] = "", -- نُونِ غُنَّہ diacritic
[dagger_alif] = "", -- اَلِف خَنْجَرِیَّۃ diacritic
-- ligatures
["ﻻ"] = "la",
["ﷲ"] = "alah",
-- kashida
["ـ"] = "-", -- کَشِیدَہ, no sound
-- numerals
["۱"] = "1", ["۲"] = "2", ["۳"] = "3", ["۴"] = "4", ["۵"] = "5",
["۶"] = "6", ["۷"] = "7", ["۸"] = "8", ["۹"] = "9", ["۰"] = "0",
-- punctuation (leave on separate lines)
["؟"] = "?", -- question mark
["،"] = ",", -- comma
["؛"] = ";", -- semicolon
["«"] = '“', -- quotation mark
["»"] = '”', -- quotation mark
["٪"] = "%", -- percent
["؉"] = "‰", -- per mille
["٫"] = ".", -- decimals
["٬"] = ",", -- thousand
}
function export.tr(text, lang, sc)
-- If the script is not Aran, do not transliterate
if sc ~= "Aran" then
return
end
-- Transliterate characters
text = gsub(text, '.', tt)
return text
end
return export
sdlftqd6i5lenjt5kw3bepgiecl3ik4
Modul:inc-opa-Guru-translit
828
148111
379467
2026-10-18T03:26:41Z
Hakimi97
2668
Import Lua from [[en:Module:inc-opa-Guru-translit]] (oldid=82952658); preserve attribution
379467
Scribunto
text/plain
local export = {}
local conv = {
--consonants without nukta
["ਸ"] = "s",
["ਹ"] = "h",
["ਕ"] = "k", ["ਖ"] = "kh", ["ਗ"] = "g", ["ਘ"] = "gh", ["ਙ"] = "ṅ",
["ਚ"] = "c", ["ਛ"] = "ch", ["ਜ"] = "j", ["ਝ"] = "jh", ["ਞ"] = "ñ",
["ਟ"] = "ṭ", ["ਠ"] = "ṭh", ["ਡ"] = "ḍ", ["ਢ"] = "ḍh", ["ਣ"] = "ṇ",
["ਤ"] = "t", ["ਥ"] = "th", ["ਦ"] = "d", ["ਧ"] = "dh", ["ਨ"] = "n",
["ਪ"] = "p", ["ਫ"] = "ph", ["ਬ"] = "b", ["ਭ"] = "bh", ["ਮ"] = "m",
["ਯ"] = "y", ["ਰ"] = "r", ["ਲ"] = "l", ["ਵ"] = "v", ["ੜ"] = "ṛ",
-- vowels
["ਾ"] = "ā",
["ਿ"] = "i", ["ੀ"] = "ī",
["ੁ"] = "u", ["ੂ"] = "ū",
["ੇ"] = "e", ["ੈ"] = "ai",
["ੋ"] = "o", ["ੌ"] = "au",
-- other diacritics
["ੰ"] = "ṃ", --ṭippi: nasalize
["ਂ"] = "ṃ", --bindi: nasalize
["੍"] = "", --halant, supresses the inherent vowel "a"
-- independent vowels
["ਅ"] = "a", ["ਆ"] = "ā",
["ਇ"] = "i", ["ਈ"] = "ī",
["ਉ"] = "u", ["ਊ"] = "ū",
["ਏ"] = "e", ["ਐ"] = "ai",
["ਓ"] = "o", ["ਔ"] = "au",
-- digits
["੦"] = "0", ["੧"] = "1", ["੨"] = "2", ["੩"] = "3", ["੪"] = "4",
["੫"] = "5", ["੬"] = "6", ["੭"] = "7", ["੮"] = "8", ["੯"] = "9",
}
local nasal_assim = {
["[kg]h?"] = "ṅ",
["[cj]h?"] = "ñ",
["[ṭḍ]h?"] = "ṇ",
["[td]h?"] = "n",
["[pb]h?"] = "m",
["n"] = "n",
["m"] = "m",
["s"] = "n",
["ñ"] = "ñ",
["ṅ"] = "ṅ",
}
-- translit any words or phrases
function export.tr(text, lang, sc)
local c = "([ਸਹਕਖਗਘਙਚਛਜਝਞਟਠਡਢਣਤਥਦਧਨਪਫਬਭਮਯਰਲਵੜ]਼?)"
local y = "ਯ"
local v = "([aਾਿੀੁੂੇੈੋੌ੍])"
local virama = "੍"
local n = "([ੰਂ]?)"
local no_virama = mw.ustring.gsub(v,virama,"")
text = text .. " "
text = mw.ustring.gsub(text,c,"%1a")
text = mw.ustring.gsub(text,"a"..v,"%1")
text = mw.ustring.gsub(text,".",conv)
for key,val in pairs(nasal_assim) do
text = mw.ustring.gsub(text,"ṃ("..key..")",val.."%1")
end
text = mw.ustring.gsub(text," ?[।॥]",".")
text = mw.ustring.gsub(text," $","")
text = mw.ustring.gsub(text,"hh","h") -- ੍ਹ੍ਹ ਨ੍ਹ੍ਹ
text = mw.ustring.gsub(text,"yy","y") -- ੍ਯ੍ਯ ਖ੍ਯ੍ਯ
return mw.ustring.toNFC(text)
end
return export
76fh4opz9cij2yaj1c1wh9fipatmv5v
Modul:isk-translit
828
148112
379468
2026-10-18T03:27:47Z
Hakimi97
2668
Import Lua from [[en:Module:isk-translit]] (oldid=92016416); preserve attribution
379468
Scribunto
text/plain
local export = {}
local tt = {
["а"]="a", ["б"]="b", ["в"]="v", ["г"]="g", ["д"]="d", ["е"]="e",
["ж"]="ž", ["з"]="z", ["и"]="i", ["ӣ"]="ī", ["й"]="y", ["к"]="k", ["л"]="l", ["м"]="m",
["н"]="n", ["о"]="o", ["п"]="p", ["р"]="r", ["с"]="s", ["т"]="t", ["у"]="u", ["ӯ"]="ū",
["ф"]="f", ["х"]="x", ["ц"]="c", ["ӡ"]="ʒ", ["ч"]="č", ["ш"]="š", ["ғ"]="ɣ", ["қ"]="q", ["ҳ"]="h", ["ҷ"]="ǰ",
["А"]="A", ["Б"]="B", ["В"]="V", ["Г"]="G", ["Д"]="D", ["Е"]="E",
["Ж"]="Ž", ["З"]="Z", ["И"]="I", ["Ӣ"]="Ī", ["Й"]="Y", ["К"]="K", ["Л"]="L", ["М"]="M",
["Н"]="N", ["О"]="O", ["П"]="P", ["Р"]="R", ["С"]="S", ["Т"]="T", ["У"]="U", ["Ӯ"]="Ū",
["Ф"]="F", ["Х"]="X", ["Ц"]="C", ["Ӡ"]="Ʒ", ["Ч"]="Č", ["Ш"]="Š", ["Ғ"]="Ɣ", ["Қ"]="Q", ["Ҳ"]="H", ["Ҷ"]="J̌" };
local mapping = {
['ә'] = 'ə',
['в̌'] = 'w',
['д̣'] = 'ḍ',
['т̣'] = 'ṭ',
['Ә'] = 'Ə',
['у̊'] = 'ů',
['ж̣'] = 'ẓ̌',
['л̣'] = 'ḷ',
['ч̣'] = 'č̣',
['ш̣'] = 'ṣ̌',
['В̌'] = 'W',
['Д̣'] = 'Ḍ',
['Т̣'] = 'Ṭ',
['У̊'] = 'Ů',
['Ж̣'] = 'Ẓ̌',
['Л̣'] = 'Ḷ',
['Ч̣'] = 'Č̣',
['Ш̣'] = 'Ṣ̌',
}
function export.tr(text, lang, sc)
if sc == "Latn" then
return nil
end
for char, translit in pairs(mapping) do
text = mw.ustring.gsub(text, char, translit)
end
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
cvr8mtis2rqxmjgopytg5k6moo86mv9
Modul:jdt-translit
828
148113
379469
2026-10-18T03:28:53Z
Hakimi97
2668
Import Lua from [[en:Module:jdt-translit]] (oldid=88553961); preserve attribution
379469
Scribunto
text/plain
local export = {}
local tt_he_a2 = {
["או"] = "y",
["אי"] = "e",
["אָ"] = "o",
["אַ"] = "a",
["אִ"] = "i",
}
local tt_he_dg = {
["כּ"] = "k",
["ךּ"] = "k",
["בּ"] = "b",
["פּ"] = "p",
["ףּ"] = "p",
["ג׳"] = "c",
["ז׳"] = "ç",
["ג'"] = "c",
["ז'"] = "ç",
}
local tt_he = {
["א"] = "ə",
["ב"] = "v",
["ג"] = "g",
["ד"] = "d",
["ה"] = "h",
["ז"] = "z",
["ח"] = "ħ",
["י"] = "j",
["כ"] = "x",
["ך"] = "x",
["ל"] = "l",
["מ"] = "m",
["ם"] = "m",
["נ"] = "n",
["ן"] = "n",
["ס"] = "s",
["ע"] = "ḩ",
["פ"] = "f",
["ף"] = "f",
["צ"] = "c",
["ץ"] = "c",
["ק"] = "q",
["ר"] = "r",
["ש"] = "ş",
["ת"] = "t",
["ת"] = "t",
["׃"] = ":",
["׳"] = "'",
["״"] = "\"",
["־"] = "-",
}
local tt_cy_2 = {
["ГЬ"] = "H",
["Гь"] = "H",
["гЬ"] = "h",
["гь"] = "h",
["ГӀ"] = "Ⱨ", -- palochka
["Гӏ"] = "Ⱨ", -- palochka (rare lowercase)
["ГI"] = "Ⱨ", -- Latn I
["ГІ"] = "Ⱨ", -- Cyrl І
["Гi"] = "Ⱨ", -- Latn i
["Гі"] = "Ⱨ", -- Cyrl і
["гӀ"] = "ⱨ", -- palochka
["гӏ"] = "ⱨ", -- palochka (rare lowercase)
["гI"] = "ⱨ", -- Latn I
["гІ"] = "ⱨ", -- Cyrl І
["гi"] = "ⱨ", -- Latn i
["гі"] = "ⱨ", -- Cyrl і
["ХЬ"] = "Ħ",
["Хь"] = "Ħ",
["хЬ"] = "ħ",
["хь"] = "ħ",
["ГЪ"] = "Q",
["Гъ"] = "Q",
["гЪ"] = "q",
["гъ"] = "q",
["УЬ"] = "Y",
["Уь"] = "Y",
["уЬ"] = "y",
["уь"] = "y",
}
local tt_cy = {
["А"] = "A", ["а"] = "a",
["Б"] = "B", ["б"] = "b",
["Ч"] = "C", ["ч"] = "c",
["Ж"] = "Ç", ["ж"] = "ç",
["Д"] = "D", ["д"] = "d",
["Е"] = "E", ["е"] = "e",
["Э"] = "Ə", ["э"] = "ə",
["Ф"] = "F", ["ф"] = "f",
["Г"] = "G", ["г"] = "g",
["И"] = "I", ["и"] = "i",
["Й"] = "J", ["й"] = "j",
["К"] = "K", ["к"] = "k",
["Л"] = "L", ["л"] = "l",
["М"] = "M", ["м"] = "m",
["Н"] = "N", ["н"] = "n",
["О"] = "O", ["о"] = "o",
["П"] = "P", ["п"] = "p",
["Р"] = "R", ["р"] = "r",
["С"] = "S", ["с"] = "s",
["Ш"] = "Ş", ["ш"] = "ş",
["Т"] = "T", ["т"] = "t",
["У"] = "U", ["у"] = "u",
["В"] = "V", ["в"] = "v",
["Х"] = "X", ["х"] = "x",
["З"] = "Z", ["з"] = "z",
}
local tt_ipa = {
["A"] = "a", ["a"] = "a",
["B"] = "b", ["b"] = "b",
["C"] = "tʃ", ["c"] = "tʃ",
["Ç"] = "dʒ", ["ç"] = "dʒ",
["D"] = "d", ["d"] = "d",
["E"] = "ɛ", ["e"] = "ɛ",
["Ə"] = "æ", ["ə"] = "æ",
["F"] = "f", ["f"] = "f",
["G"] = "ɡ", ["g"] = "ɡ",
["H"] = "h", ["h"] = "h",
["Ⱨ"] = "ʕ", ["ⱨ"] = "ʕ",
["Ħ"] = "ħ", ["ħ"] = "ħ",
["I"] = "ɪ", ["i"] = "ɪ",
["J"] = "j", ["j"] = "j",
["K"] = "k", ["k"] = "k",
["L"] = "l", ["l"] = "l",
["M"] = "m", ["m"] = "m",
["N"] = "n", ["n"] = "n",
["O"] = "o", ["o"] = "o",
["P"] = "p", ["p"] = "p",
["Q"] = "ɢ", ["q"] = "ɢ",
["R"] = "ɾ", ["r"] = "ɾ",
["S"] = "s", ["s"] = "s",
["Ş"] = "ʃ", ["ş"] = "ʃ",
["T"] = "t", ["t"] = "t",
["U"] = "u", ["u"] = "u",
["V"] = "v", ["v"] = "v",
["X"] = "χ", ["x"] = "χ",
["Y"] = "y", ["y"] = "y",
["Z"] = "z", ["z"] = "z",
}
local tt_tocy = {
["A"] = "А", ["a"] = "а",
["B"] = "Б", ["b"] = "б",
["C"] = "Ч", ["c"] = "ч",
["Ç"] = "Ж", ["ç"] = "ж",
["D"] = "d", ["d"] = "д",
["E"] = "Е", ["e"] = "е",
["Ə"] = "Э", ["ə"] = "э",
["F"] = "Ф", ["f"] = "ф",
["G"] = "Г", ["g"] = "г",
["H"] = "Гь", ["h"] = "гь",
["Ⱨ"] = "ГӀ", ["ⱨ"] = "гӀ",
["Ħ"] = "Хь", ["ħ"] = "хь",
["I"] = "И", ["i"] = "и",
["J"] = "Й", ["j"] = "й",
["K"] = "К", ["k"] = "к",
["L"] = "Л", ["l"] = "л",
["M"] = "М", ["m"] = "м",
["N"] = "Н", ["n"] = "н",
["O"] = "О", ["o"] = "о",
["P"] = "П", ["p"] = "п",
["Q"] = "Гъ", ["q"] = "гъ",
["R"] = "Р", ["r"] = "р",
["S"] = "С", ["s"] = "с",
["Ş"] = "Ш", ["ş"] = "ш",
["T"] = "Т", ["t"] = "т",
["U"] = "У", ["u"] = "у",
["V"] = "В", ["v"] = "в",
["X"] = "Х", ["x"] = "х",
["Y"] = "Уь", ["y"] = "уь",
["Z"] = "З", ["z"] = "з",
}
local tt_tohe = {
["A"] = "אַ", ["a"] = "אַ",
["B"] = "בּ", ["b"] = "בּ",
["C"] = "ג׳", ["c"] = "ג׳",
["Ç"] = "ז׳", ["ç"] = "ז׳",
["D"] = "ד", ["d"] = "ד",
["E"] = "אי", ["e"] = "אי",
["Ə"] = "א", ["ə"] = "א",
["F"] = "פ", ["f"] = "פ",
["G"] = "ג", ["g"] = "ג",
["H"] = "ה", ["h"] = "ה",
["Ⱨ"] = "ע", ["ⱨ"] = "ע",
["Ħ"] = "ח", ["ħ"] = "ח",
["I"] = "אִ", ["i"] = "אִ",
["J"] = "י", ["j"] = "י",
["K"] = "כּ", ["k"] = "כּ",
["L"] = "ל", ["l"] = "ל",
["M"] = "מ", ["m"] = "מ",
["N"] = "נ", ["n"] = "נ",
["O"] = "אָ", ["o"] = "אָ",
["P"] = "פּ", ["p"] = "פּ",
["Q"] = "ק", ["q"] = "ק",
["R"] = "ר", ["r"] = "ר",
["S"] = "ס", ["s"] = "ס",
["Ş"] = "ש", ["ş"] = "ש",
["T"] = "ת", ["t"] = "ת",
["U"] = "אוּ", ["u"] = "אוּ",
["V"] = "ב", ["v"] = "ב",
["X"] = "כ", ["x"] = "כ",
["Y"] = "או", ["y"] = "או",
["Z"] = "ז", ["z"] = "ז",
}
-- Keep in mind RTL issues when viewing the following:
local he_to_final = {
["כ"] = "ך",
["מ"] = "ם",
["נ"] = "ן",
["פ"] = "ף",
["צ"] = "ץ",
}
local function tr_he(text)
text = mw.ustring.gsub(text, "אוּ", "u")
text = mw.ustring.gsub(text, ".%f[^א].", tt_he_a2)
text = mw.ustring.gsub(text, ".%f[׳ּ'].", tt_he_dg)
text = mw.ustring.gsub(text, ".", tt_he)
return text
end
local function tr_cy(text)
text = mw.ustring.gsub(text, ".%f[ӀIІӏiіЬьЪъ].", tt_cy_2)
text = mw.ustring.gsub(text, ".", tt_cy)
return text
end
function export.tr(text, lang, sc)
if not sc then
sc = require("Module:languages").getByCode(lang or "jdt"):findBestScript(text):getCode()
end
if sc == "Hebr" then
text = tr_he(text)
elseif sc == "Cyrl" then
text = tr_cy(text)
else
text = nil
end
return text
end
function export.ipa(text, lang, sc)
if type(text) == 'table' then
local args = text:getParent().args
text = args[1] ~= "" and args[1] or mw.loadData("Module:headword/data").pagename
lang = args["lang"] ~= "" and args["lang"] or "jdt"
sc = args["sc"] ~= "" and args["sc"]
end
return (mw.ustring.gsub(export.tr(text, lang, sc) or text, ".", tt_ipa))
end
function export.la(text, lang, sc)
if type(text) == 'table' then
local args = text:getParent().args
text = args[1] ~= "" and args[1] or mw.loadData("Module:headword/data").pagename
lang = args["lang"] ~= "" and args["lang"] or "jdt"
sc = args["sc"] ~= "" and args["sc"]
end
return (export.tr(text, lang, sc) or text)
end
function export.cy(text, lang, sc)
if type(text) == 'table' then
local args = text:getParent().args
text = args[1] ~= "" and args[1] or mw.loadData("Module:headword/data").pagename
lang = args["lang"] ~= "" and args["lang"] or "jdt"
sc = args["sc"] ~= "" and args["sc"]
end
return (mw.ustring.gsub(export.tr(text, lang, sc) or text, ".", tt_tocy))
end
local function he_finals_replacer(letter, rest)
return (he_to_finals[letter] .. rest)
end
local function he_finals(text)
-- Keep in mind RTL issues when viewing the following pattern:
text = mw.ustring.gsub(text, "([כמנפצ])([^א-ת]-%f[%s־-])", he_finals_replacer)
return text
end
function export.he(text, lang, sc)
if type(text) == 'table' then
local args = text:getParent().args
text = args[1] ~= "" and args[1] or mw.loadData("Module:headword/data").pagename
lang = args["lang"] ~= "" and args["lang"] or "jdt"
sc = args["sc"] ~= "" and args["sc"]
end
return he_finals(mw.ustring.gsub(export.tr(text, lang, sc) or text, ".", tt_tohe))
end
return export
faf8qnmkkg20zlplvbxeur0sepcfh81
Modul:kjp-translit
828
148114
379470
2026-10-18T03:29:59Z
Hakimi97
2668
Import Lua from [[en:Module:kjp-translit]] (oldid=91137564); preserve attribution
379470
Scribunto
text/plain
local export = {}
local diacritics = {
[mw.ustring.char(0x1039)] = "",
[mw.ustring.char(0x103D)] = "w",
[mw.ustring.char(0x1060)] = "l",
[mw.ustring.char(0x103C)] = "r",
[mw.ustring.char(0x103B)] = "j",
[mw.ustring.char(0x105E)] = "n",
[mw.ustring.char(0x102E)] = "I",
[mw.ustring.char(0x1031)] = "E",
[mw.ustring.char(0x1032)] = "Ä",
[mw.ustring.char(0x103A)] = "V",
[mw.ustring.char(0x103E)] = "H",
[mw.ustring.char(0x102B)] = "A",
[mw.ustring.char(0x102C)] = "A",
[mw.ustring.char(0x1038)] = "3",
[mw.ustring.char(0x1030)] = "Y",
[mw.ustring.char(0x102F)] = "U",
[mw.ustring.char(0x102D)] = "Ï",
[mw.ustring.char(0x108B)] = "2",
[mw.ustring.char(0x1036)] = "Q",
[mw.ustring.char(0x1037)] = "4",
}
local consonants = {
["က"]="k", ["ခ"]="kh", ["ဂ"]="K", ["ဃ"]="kh", ["င"]="ŋ",
["စ"]="c", ["ဆ"]="ch", ["ဇ"]="c", ["ဈ"]="ch", ["ည"]="ɲ",
["ဋ"]="t", ["ဌ"]="th", ["ဍ"]="d", ["ဎ"]="d", ["ဏ"]="n",
["တ"]="t", ["ထ"]="th", ["ဒ"]="T", ["ဓ"]="th", ["န"]="n",
["ပ"]="p", ["ဖ"]="ph", ["ဗ"]="p", ["ဘ"]="ph", ["မ"]="m",
["ယ"]="j", ["ရ"]="r", ["လ"]="l", ["ဝ"]="w", ["သ"]="θ",
["ဟ"]="h", ["ဠ"]="l", ["အ"]="ʔ", ["ၜ"]="b", ["ၯ"]="ɣ",
["ၰ"]="x",
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(text, ".", diacritics)
text = mw.ustring.gsub(text, ".", consonants)
-- making sure U and Ä is rendered correctly
text = mw.ustring.gsub(text, "([ÏIÄ])([UY])", "%2%1")
text = mw.ustring.gsub(text, "([ÏI])Ä", "Ä%1")
-- vowels
text = mw.ustring.gsub(text, "EAwV2", "ʊ̄")
text = mw.ustring.gsub(text, "EAw4V", "ʊ̂")
text = mw.ustring.gsub(text, "UÏŋV2", "ə̄ɴ")
text = mw.ustring.gsub(text, "UÏŋV3", "ə́ɴ")
text = mw.ustring.gsub(text, "UÏŋ4V", "ə̂ɴ")
text = mw.ustring.gsub(text, "UQwV3", "ó")
text = mw.ustring.gsub(text, "UÏwV2", "ō")
text = mw.ustring.gsub(text, "AnV2", "āɴ")
text = mw.ustring.gsub(text, "AnV3", "áɴ")
text = mw.ustring.gsub(text, "An4V", "âɴ")
text = mw.ustring.gsub(text, "AŋV2", "āiɴ")
text = mw.ustring.gsub(text, "AŋV3", "áiɴ")
text = mw.ustring.gsub(text, "Aŋ4V", "âiɴ")
text = mw.ustring.gsub(text, "EAhV", "ʊ́")
text = mw.ustring.gsub(text, "EAtV", "ó")
text = mw.ustring.gsub(text, "EAwV", "ʊ̀")
text = mw.ustring.gsub(text, "EnV2", "ī̱ɴ")
text = mw.ustring.gsub(text, "EnV3", "í̱ɴ")
text = mw.ustring.gsub(text, "En4V", "î̱ɴ")
text = mw.ustring.gsub(text, "EwV2", "ī̱")
text = mw.ustring.gsub(text, "Ew4V", "î̱")
text = mw.ustring.gsub(text, "ÏŋV2", "ēiɴ")
text = mw.ustring.gsub(text, "ÏŋV3", "éiɴ")
text = mw.ustring.gsub(text, "Ïŋ4V", "êiɴ")
text = mw.ustring.gsub(text, "QŋV2", "ōɴ")
text = mw.ustring.gsub(text, "QŋV3", "óɴ")
text = mw.ustring.gsub(text, "Qŋ4V", "ôɴ")
text = mw.ustring.gsub(text, "UÄÏ2", "wē")
text = mw.ustring.gsub(text, "UÄÏ3", "wé")
text = mw.ustring.gsub(text, "UÄÏ4", "wê")
text = mw.ustring.gsub(text, "UÏhV", "ɨ́")
text = mw.ustring.gsub(text, "UÏŋV", "ə̀ɴ")
text = mw.ustring.gsub(text, "UÏTV", "ɨ̀")
text = mw.ustring.gsub(text, "UŋV2", "ə̄ɯɴ")
text = mw.ustring.gsub(text, "UŋV3", "ə́ɯɴ")
text = mw.ustring.gsub(text, "Uŋ4V", "ə̂ɯɴ")
text = mw.ustring.gsub(text, "UÏtV", "ó")
text = mw.ustring.gsub(text, "UÏwV", "ò")
text = mw.ustring.gsub(text, "AnV", "àɴ")
text = mw.ustring.gsub(text, "AŋV", "àiɴ")
text = mw.ustring.gsub(text, "EhV", "í̱")
text = mw.ustring.gsub(text, "EnV", "ì̱ɴ")
text = mw.ustring.gsub(text, "EtV", "é")
text = mw.ustring.gsub(text, "EwV", "ì̱")
text = mw.ustring.gsub(text, "HVE", "í̱")
text = mw.ustring.gsub(text, "ÏkV", "ái")
text = mw.ustring.gsub(text, "ÏŋV", "èiɴ")
text = mw.ustring.gsub(text, "j4V", "ɛ̂")
text = mw.ustring.gsub(text, "([nŋ])V2", "āɴ")
text = mw.ustring.gsub(text, "([nŋ])V3", "áɴ")
text = mw.ustring.gsub(text, "([nŋ])4V", "âɴ")
text = mw.ustring.gsub(text, "QŋV", "òɴ")
text = mw.ustring.gsub(text, "UÄ2", "wī")
text = mw.ustring.gsub(text, "UÄ3", "wí")
text = mw.ustring.gsub(text, "UÄ4", "wî")
text = mw.ustring.gsub(text, "UÄÏ", "wè")
text = mw.ustring.gsub(text, "UÏ2", "ɨ̄")
text = mw.ustring.gsub(text, "UÏ3", "ɨ̂")
text = mw.ustring.gsub(text, "UŋV", "ə̀ɯɴ")
text = mw.ustring.gsub(text, "UkV", "áʊ")
text = mw.ustring.gsub(text, "UKV", "àʊ")
text = mw.ustring.gsub(text, "UQ2", "ōʊɴ")
text = mw.ustring.gsub(text, "UQ3", "óʊɴ")
text = mw.ustring.gsub(text, "UQ4", "ôʊɴ")
text = mw.ustring.gsub(text, "wV2", "ɔ̄")
text = mw.ustring.gsub(text, "w4V", "ɔ̂")
text = mw.ustring.gsub(text, "VU", "ə")
text = mw.ustring.gsub(text, "AÄ", "ɛ̄")
text = mw.ustring.gsub(text, "ÄA", "ɛ̄")
text = mw.ustring.gsub(text, "AV", "ài")
text = mw.ustring.gsub(text, "A2", "ā")
text = mw.ustring.gsub(text, "A4", "â")
text = mw.ustring.gsub(text, "E4", "ê")
text = mw.ustring.gsub(text, "I2", "ī")
text = mw.ustring.gsub(text, "I3", "í")
text = mw.ustring.gsub(text, "I4", "î")
text = mw.ustring.gsub(text, "jH", "ç")
text = mw.ustring.gsub(text, "jV", "ɛ̀")
text = mw.ustring.gsub(text, "QE", "é")
text = mw.ustring.gsub(text, "hV", "ɔ́")
text = mw.ustring.gsub(text, "HV", "ɔ́")
text = mw.ustring.gsub(text, "([nŋ])V", "àɴ")
text = mw.ustring.gsub(text, "UÄ", "wì")
text = mw.ustring.gsub(text, "wV", "ɔ̀")
text = mw.ustring.gsub(text, "UQ", "òʊɴ")
text = mw.ustring.gsub(text, "Y2", "ɯ̄")
text = mw.ustring.gsub(text, "Y3", "ɯ́")
text = mw.ustring.gsub(text, "Y4", "ɯ̂")
text = mw.ustring.gsub(text, "A", "à")
text = mw.ustring.gsub(text, "Ä", "ɛ́")
text = mw.ustring.gsub(text, "E", "è")
text = mw.ustring.gsub(text, "I", "ì")
text = mw.ustring.gsub(text, "K", "k")
text = mw.ustring.gsub(text, "T", "t")
text = mw.ustring.gsub(text, "Y", "ɯ̀")
text = mw.ustring.gsub(text, "([kgŋcɲtdnpbmjrlwθhʔɣxç])3", "%1á")
-- interpunction
text = mw.ustring.gsub(text, "၊", ",")
text = mw.ustring.gsub(text, "။", ".")
-- spaces
text = mw.ustring.gsub(text, "([aeiouàèìòùáéíóúāēīōūâêîôûɨʊɯɛɔɴə" .. mw.ustring.char(0x0300) .. mw.ustring.char(0x0301) .. mw.ustring.char(0x0302) .. mw.ustring.char(0x0304) .. mw.ustring.char(0x0331) .. "])([kgŋcɲtdnpbmjrlwθhʔɣx])", "%1 %2")
return(text)
end
return export
sxtnngjhxemw7hjwwhkkk98s1a9qixe
Modul:kmr-translit
828
148115
379471
2026-10-18T03:31:05Z
Hakimi97
2668
Import Lua from [[en:Module:kmr-translit]] (oldid=59052570); preserve attribution
379471
Scribunto
text/plain
local export = {}
local tt = {
["а"]="a", ["б"]="b", ["щ"]="c", ["ч"]="ç", ["д"]="d", ["ә"]="e",
["е"]="ê", ["э"]="ê", ["ф"]="f", ["г"]="g", ["h"]="h", ["ь"]="i",
["и"]="î", ["ж"]="j", ["к"]="k", ["л"]="l", ["м"]="m", ["н"]="n",
["о"]="o", ["п"]="p", ["ԛ"]="q", ["р"]="r", ["с"]="s", ["ш"]="ş",
["т"]="t", ["ӧ"]="u", ["у"]="û", ["в"]="v", ["ԝ"]="w", ["х"]="x",
["й"]="y", ["з"]="z",
["А"]="A", ["Б"]="B", ["Щ"]="C", ["Ч"]="Ç", ["Д"]="D", ["Ә"]="E",
["Е"]="Ê", ["Э"]="Ê", ["Ф"]="F", ["Г"]="G", ["H"]="H", ["Ь"]="I",
["И"]="Î", ["Ж"]="J", ["К"]="K", ["Л"]="L", ["М"]="M", ["Н"]="N",
["О"]="O", ["П"]="P", ["Ԛ"]="Q", ["Р"]="R", ["С"]="S", ["Ш"]="Ş",
["Т"]="T", ["Ӧ"]="U", ["У"]="Û", ["В"]="V", ["ԝ"]="W", ["Х"]="X",
["Й"]="Y", ["З"]="Z",
['г’'] = "ẍ", ['Г’'] = "Ẍ", ['h’'] = "ḧ", ['H’'] = "Ḧ",
};
function export.tr(text, lang, sc)
text = mw.ustring.gsub(text, '[ГгHh]’', tt)
text = mw.ustring.gsub(text, '.', tt)
text = mw.ustring.gsub(text, '^([rR])’', "%1") -- р’ож: roj
text = mw.ustring.gsub(text, '([rR])’', "%1%1") -- пьр’: pirr
local consonants = "bcçdfghḧjklmnpqrsştvwxẍzBCÇDFGHḦJKLMNPQRSŞTVWXẌZ"
local vowels = "aeêiîouûAEÊIÎOUÛ"
-- handle ә’
text = mw.ustring.gsub(text, '()([eE])’',
function (pos, e)
if pos == 1 then -- ә’ at beginning of string
local after1, after2 = mw.ustring.match(text, "^(.?)(.?)", pos + 2)
if consonants:find(after1)
and (after2 == '' -- followed by single consonant: ә’к → 'ek
or consonants:find(after2)) then -- followed by two consonants: ә’скәр → 'esker
return "'" .. e
end
else
local before = mw.ustring.sub(text, pos - 1, pos - 1)
if vowels:find(before) then -- preceded by vowel: щьмаә’т → cima'et
return "'" .. e
end
end
return e .. "'"
end)
return text
end
return export
5h3us2zf6ta05ddyzheevmdl1coc12l
Modul:kpt-translit
828
148116
379472
2026-10-18T03:32:11Z
Hakimi97
2668
Import Lua from [[en:Module:kpt-translit]] (oldid=84946334); preserve attribution
379472
Scribunto
text/plain
local u = require("Module:string/char")
local export = {}
local mapping1 = {
["п"] = "p", ["б"] = "b",
["т"] = "t", ["д"] = "d",
["к"] = "k", ["г"] = "g",
["ц"] = "c", ["ч"] = "č",
["с"] = "s", ["з"] = "z",
["ш"] = "š", ["ж"] = "ž",
["х"] = "x", ["щ"] = "šš",
["м"] = "m", ["н"] = "n",
["р"] = "r", ["л"] = "l",
["в"] = "v", ["й"] = "j",
["и"] = "i", ["е"] = "e",
["э"] = "e", ["а"] = "a",
["о"] = "o", ["у"] = "u",
["ъ"] = "ʾ", ["ь"] = "ʾ",
["ᵸ"] = "̃", ["’"] = "ʾ",
}
local mapping2 = {
["пӏ"] = "ṗ", ["тӏ"] = "ṭ",
["кӏ"] = "ḳ", ["къ"] = "qq",
["дж"] = "ǯ", ["цӏ"] = "c̣",
["лӏ"] = "ƛ", ["кь"] = "ƛ̣ƛ̣",
["чӏ"] = "č̣", ["хъ"] = "q̇q̇",
["лъ"] = "λ", ["гъ"] = "ġ",
["хӏ"] = "ḥ", ["гӏ"] = "ʕ",
["гь"] = "h", ["хь"] = "ç",
["кьӏ"] = "ƛ̣",
["аᵸ"] = "ã", ["еᵸ"] = "ẽ",
["иᵸ"] = "ĩ", ["оᵸ"] = "õ",
["уᵸ"] = "ũ",
["а̄"] = "aa", ["е̄"] = "ee",
["ӣ"] = "ii", ["о̄"] = "oo",
["ӯ"] = "uu",
["а̄ᵸ"] = "ãã", ["е̄ᵸ"] = "ẽẽ",
}
function export.tr(text, lang, sc)
local str_gsub = string.gsub
local UTF8_char = "[%z\1-\127\194-\244][\128-\191]*"
-- Convert capital to lowercase palochka.
text = str_gsub(text, u(0x4C0), u(0x4CF))
for pat, repl in pairs(mapping2) do
text = str_gsub(text, pat, repl)
end
text = str_gsub(text, UTF8_char, mapping1)
return text
end
return export
sfggcdyvvjfdutjdrsntxguac3ekwsg
Modul:ks-Deva-translit
828
148117
379473
2026-10-18T03:33:16Z
Hakimi97
2668
Import Lua from [[en:Module:ks-Deva-translit]] (oldid=91289170); preserve attribution
379473
Scribunto
text/plain
local export = {}
local consonants = {
['क'] = 'k', ['ख'] = 'kh', ['ग'] = 'g', ['ङ'] = 'ṅ',
['च'] = 'c', ['छ'] = 'ch', ['ज'] = 'j', ['ञ'] = 'ñ',
['ट'] = 'ṭ', ['ठ'] = 'ṭh', ['ड'] = 'ḍ', ['ण'] = 'ṇ',
['त'] = 't', ['थ'] = 'th', ['द'] = 'd', ['न'] = 'n',
['प'] = 'p', ['फ'] = 'ph', ['ब'] = 'b', ['म'] = 'm',
['य'] = 'y', ['र'] = 'r', ['ल'] = 'l', ['व'] = 'w',
['श'] = 'ś', ['स'] = 's', ['ह'] = 'h',
['च़'] = 'ċ', ['छ़'] = 'ċh', ['ज़'] = 'z',
['क़'] = 'q', ['ख़'] = 'x', ['ग़'] = 'ġ', ['फ़']= 'f', --especially found in loanwords from Persian, Arabic, Turkic, English, French, Portuguese, etc.
['घ'] = 'gh', ['झ'] = 'jh', ['ढ'] = 'ḍh', ['ध'] = 'dh', ['भ'] = 'bh', ['ड़'] = 'ṛ', ['ढ़'] = 'ṛh', ['ष'] = 'ṣ', --ocassionally found in Sanskrit loanwords (tatsama) or Old Kashmiri.
}
local diacritics = {
['ा'] = 'ā', ['ॅ'] = 'ạ', ['ॉ'] = 'ạ̄', ['ॖ'] = 'ụ', ['ॗ'] = 'ụ̄', ['ि'] = 'i', ['ी'] = 'ī', ['ु'] = 'u', ['ू'] = 'ū', ['ृ'] = 'r̥', ['ॄ'] = 'r̥̄', ['ॢ'] = 'l̥', ['ॣ'] = 'l̥̄',
['ॆ'] = 'e', ['े'] = 'ē', ['ै'] = 'ai', ['ॊ'] = 'o', ['ो'] = 'ō', ['ॏ'] = 'ọ', ['ौ'] = 'ọ̄', ['्'] = '',['ऺ'] = 'ạ', ['ऻ']='ạ̄'
}
local tt = {
-- vowels
['अ'] = 'a', ['आ'] = 'ā', ['ॲ'] = 'ạ', ['ऑ'] = 'ạ̄', ['ॶ'] = 'ụ', ['ॷ'] = 'ụ̄', ['इ'] = 'i', ['ई'] = 'ī', ['उ'] = 'u', ['ऊ'] = 'ū', ['ऋ'] = 'r̥', ['ॠ'] = 'r̥̄', ['ऌ'] = 'l̥', ['ॡ'] = 'l̥̄',
['ऎ'] = 'e', ['ए'] = 'ē', ['ऐ'] = 'ai', ['ऒ'] = 'o', ['ओ'] = 'ō', ['ॵ'] = 'ọ', ['औ'] = 'ọ̄', ['ॳ'] = 'ạ', ['ॴ']= 'ạ̄',
--chandrabindu
['ँ'] = 'm̐', --until a better method is found
-- anusvara
['ं'] = 'ṃ', --until a better method is found
-- visarga
['ः'] = 'ḥ',
-- avagraha
['ऽ'] = '’',
--numerals
['०'] = '0', ['१'] = '1', ['२'] = '2', ['३'] = '3', ['४'] = '4', ['५'] = '5', ['६'] = '6', ['७'] = '7', ['८'] = '8', ['९'] = '9',
--punctuation
['।'] = '.', --danda
['॥'] = '.', --double danda
['ॐ'] = 'ōm',
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(text, '(.[़]?.[़]?)$', '%1्')
text = mw.ustring.gsub(text,
'([कखगघङचछजझञटठडढणतथदधनपफबभमयरलळवशषसहक़ख़ग़च़छ़ज़झ़ड़ढ़फ़]़?)' .. --tbd later
'([ािॅॉीुॖॗूृॄॢॣेैोौ्ॆॉॊौॏऺऻ]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
text = mw.ustring.gsub(text, '्$', '')
return text
end
return export
ohp3o1jme481fx1dnj7b4ia3e2i30eb
Modul:lki-translit
828
148118
379474
2026-10-18T03:34:22Z
Hakimi97
2668
Import Lua from [[en:Module:lki-translit]] (oldid=78757588); preserve attribution
379474
Scribunto
text/plain
-- Authors: JavaScript ئاسۆ; Lua Ghybu, Calak
local export = {}
local gsub = mw.ustring.gsub
local U = require("Module:string/char")
local mapping = {
["ا"] = "a", ["ب"] = "b", ["چ"] = "ç", ["ج"] = "c", ["د"] = "d", ["ە"] = "e", ["ێ"] = "ê", ["ف"] = "f", ["گ"] = "g",
["ھ"] = "h", ["ه"] = "h", ["ح"] = "ḧ", ["ژ"] = "j", ["ک"] = "k", ["ڵ"] = "ll", ["ل"] = "l", ["م"] = "m", ["ن"] = "n",
["ۆ"] = "o", ["پ"] = "p", ["ق"] = "q", ["ر"] = "r", ["ڕ"] = "r", ["س"] = "s", ["ش"] = "ş", ["ت"] = "t", ["ۊ"] = "ü",
["ڤ"] = "v", ["خ"] = "x", ["غ"] = "ẍ", ["ز"] = "z", ["ئ"] = "", ["ع"] = "'",
[U(0x200C)] = "", -- ZWNJ (zero-width non-joiner)
["ـ"] = "", -- kashida, no sound
-- numerals
["١"] = "1", ["٢"] = "2", ["٣"] = "3", ["٤"] = "4", ["٥"] = "5",
["٦"] = "6", ["٧"] = "7", ["٨"] = "8", ["٩"] = "9", ["٠"] = "0",
-- persian variants to numerals
["۱"] = "1", ["۲"] = "2", ["۳"] = "3", ["۴"] = "4", ["۵"] = "5",
["۶"] = "6", ["۷"] = "7", ["۸"] = "8", ["۹"] = "9", ["۰"] = "0",
}
-- punctuation (leave on separate lines)
local punctuation = {
["؟"] = "?", -- question mark
["،"] = ",", -- comma
["؛"] = ";", -- semicolon
["«"] = '“', -- quotation mark
["»"] = '”', -- quotation mark
["٪"] = "%", -- percent
["؉"] = "‰", -- per mille
["٫"] = ".", -- decimals
["٬"] = ",", -- thousand
}
-- translit
local function tr_word(word)
word = gsub(word, '.', punctuation)
--Remove punctuation at the end of the word.
local ponct
if mw.ustring.find(word, '[%.%!،؛»«٪؉٫٬%p]$') then
ponct = mw.ustring.sub(word, -1)
word = gsub(word, '[%.%!،؛»«٪؉٫٬%p]$', '')
else
word = word
ponct = ''
end
word = gsub(word, 'ه', "ە") --correct unicode for letter ە
-- U+0647 (Arabic letter heh) + U+200C (zero-width non-joiner) → U+06D5 (Arabic letter ae)
-- diacritics
word = gsub(word, 'ْ', "i") -- U+0652, Arabic sukun
word = gsub(word, 'ِ', "i") -- U+0650, Arabic kasra
--managing 'و' and 'ی'
word = gsub(word, 'و([iاێۆۊە])', "w%1") --و + vowel => w (e.g. wan)
word = gsub(word, 'ی([iاێۆۊە])', "y%1") --ی + vowel => y (e.g. yas)
word = gsub(word, '([iاێۆۊە])و', "%1w") --vowel + و => w (e.g. kew)
word = gsub(word, '([iاێۆۊە])ی', "%1y") --vowel + ی => y (e.g. bey)
word = gsub(word, '([iاێۆە])ۊ', "%1ẅ") --vowel + و => ẅ (e.g. taẅ)
word = gsub(word, '([iاۆۊە])ێ', "%1ÿ") --vowel + ێ => ÿ (e.g. şeÿtan)
word = gsub(word, '^و$', "û") --non-letter + 'و' + non-letter => û (=and)
word = gsub(word, '([^ء-يٱ-ەiwẅyÿ])و', "%1w") --non-letter + 'و' => w (e.g. wetar)
word = gsub(word, '^و', "w") --first 'و' => w (e.g. wetar)
word = gsub(word, 'یو', "îw") --'ی' + 'و' => îw (e.g. mîwe)
word = gsub(word, '([^و])یی', "%1îy") --'ی' + 'ی' => îy (e.g. kanîy)
word = gsub(word, 'وی', "uy") --'و' + 'ی' => uy (e.g. buyn)
word = gsub(word, 'وو', "û") --'و' + 'و' => û (e.g. nû)
word = gsub(word, 'ی', "î")
word = gsub(word, 'و', "u")
word = gsub(word, 'uu', "û") --'و' + 'و' => û (e.g. nû)
word = gsub(word, '([ء-يٱ-ەiîuûwẅyÿ])ڕ', "%1rr") --when 'ڕ' not at the beginning of a word => rr
word = gsub(word, '([ء-يٱ-ەiîuûwẅyÿ])ئ', "%1'") --when 'ئ' not at the beginning of a word => '
word = gsub(word, '.', mapping)
--insert i where applicable
word = gsub(word, 'll', "Ľ") -- temporary conversion to avoid seeing ll as 2 letters
word = gsub(word, 'rr', "Ŕ") -- temporary conversion to avoid seeing rr as 2 letters
word = gsub(word, '([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])([fjlĽmnrŔsşvwẅxẍyÿz])([fjlĽmnrŔsşvwẅxẍyÿz])([^aeêiîouûüy])', "%1%2i%3%4") --e.g. grft -> grift
word = gsub(word, '([aeêiîouûü])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])$', "%1%2%3i%4") --e.g. cejnt -> cejnit
word = gsub(word, '([fjlĽrŔsşwyz])([fjlĽmnrŔsşvwẅxẍyÿz])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])', "%1i%2%3") --e.g. wrd -> wird
word = gsub(word, '([bcçdghḧkmnpqtvxẍ])([fjlĽmnrŔsşvwẅxẍyÿz])([^aeêiîouûü])', "%1i%2%3") --e.g. prd -> pird
word = gsub(word, '([bcçdghḧkmnpqtvxẍ])([fjlĽmnrŔsşvwẅxẍyÿz])$', "%1i%2") --like above
word = gsub(word, '([^aeêiîouûü])([bcçdghḧkmnpqtvxẍ])([fjlĽmnrŔsşvwẅxẍyÿz])([^aeêiîouûü])', "%1%2i%3%4") --repeat the latter expression, in case skipped
word = gsub(word, '([^aeêiîouûü])([bcçdghḧkmnpqtvxẍ])([fjlĽmnrŔsşvwẅxẍyÿz])$', "%1%2i%3") --repeat the latter expression, in case skipped
word = gsub(word, '^([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])([^aeêiîouûü])', "%1i%2%3") --e.g. ktk -> kitk
word = gsub(word, '^([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])$', "%1i%2") --e.g. ktk -> kitk
word = gsub(word, '([^aeêiîouüy])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])([^aeêiîouûü])', "%1%2i%3%4") --e.g. ktk -> kitk
word = gsub(word, '([^aeêiîouüy])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])$', "%1%2i%3") --e.g. ktk -> kitk
word = gsub(word, '([^a-zçşêîûüĽŔ])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])$', "%1%2i") --e.g. j -> ji
word = gsub(word, '^([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])$', "%1i") --e.g. j -> ji
--word = gsub(word, '([^a-zêîûçş0-9\'’])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])([bcçdfghḧjklĽmnpqrŔsştvxẍz])', "%1%2i%3") --e.g. bra -> bira
--word = gsub(word, '^([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])([bcçdfghḧjklĽmnpqrŔsştvxẍz])', "%1i%2") --e.g. bra -> bira
--word = gsub(word, '([bcçdfghḧjklmnpqrsştvwẅxẍz][bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])([bcçdfghḧjklĽmnpqrŔsştvwẅxẍz])', "%1i%2") --e.g. aşkra -> aşkira
--word = gsub(word, 'si([tp][aeêiîouû])', "s%1") -- sp, st cluster
word = gsub(word, 'Ľ', "ll") --revert the temporary conversion
word = gsub(word, 'Ŕ', "rr") --revert the temporary conversion
-- Add the punctuation who had previously deleted.
word = word .. ponct
return word
end
function export.tr(text, lang, sc)
local textTab = {}
-- Create a word table separated by a space (%s).
for _, word in ipairs(mw.text.split(text, '%s+')) do
table.insert(textTab, word)
end
-- Tablo of translit.
for key, word in ipairs(textTab) do
textTab[key] = tr_word(word)
end
return table.concat(textTab, ' ')
end
return export
nyl8y43xba2k7f8nukjuhd2vo5fwsf8
Modul:mai-Tirh-translit
828
148119
379475
2026-10-18T03:35:28Z
Hakimi97
2668
Import Lua from [[en:Module:mai-Tirh-translit]] (oldid=70786271); preserve attribution
379475
Scribunto
text/plain
-- Transliteration for Maithili in Tirhuta script
local export = {}
local gsub = mw.ustring.gsub
local match = mw.ustring.match
local conv = {
-- consonants
["𑒏"] = "k", ["𑒐"] = "kh", ["𑒑"] = "g", ["𑒒"] = "gh", ["𑒓"] = "ṅ",
["𑒔"] = "c", ["𑒕"] = "ch", ["𑒖"] = "j", ["𑒗"] = "jh", ["𑒘"] = "ñ",
["𑒙"] = "ṭ", ["𑒚"] = "ṭ", ["𑒛"] = "ḍ", ["𑒜"] = "ḍh", ["𑒝"] = "ṇ",
["𑒞"] = "t", ["𑒟"] = "th", ["𑒠"] = "d", ["𑒡"] = "dh", ["𑒢"] = "n",
["𑒣"] = "p", ["𑒤"] = "ph", ["𑒥"] = "b", ["𑒦"] = "bh", ["𑒧"] = "m",
["𑒨"] = "y", ["𑒩"] = "r", ["𑒪"] = "l", ["𑒫"] = "v", ["𑒪𑓃"] = "ḷ",
["𑒬"] = "ś", ["𑒭"] = "ṣ", ["𑒮"] = "s", ["𑒯"] = "h",
["𑒛𑓃"] = "ṛ", ["𑒜𑓃"] = "ṛh",
-- vowel diacritics
["𑒱"] = "i", ["𑒳"] = "u", ["𑒹"] = "ē", ["𑒺"] = "e", ["𑒼"] = "ō", ["𑒽"] = "o", ["𑒰"] = "ā", ["𑒲"] = "ī", ["𑒴"] = "ū",
["𑒵"] = "r̥", ["𑒶"] = "r̥̄", ["𑒻"] = "ai", ["𑒾"] = "au", ["𑒷"] = "l̥", ["𑒸"] = "l̥̄",
-- vowels
["𑒁"] = "a", ["𑒂"] = "ā", ["𑒃"] = "i", ["𑒄"] = "ī", ["𑒅"] = "u", ["𑒆"] = "ū",
["𑒇"] = "r̥", ["𑒈"] = "r̥̄", ["𑒉"] = "l̥", ["𑒊"] = "l̥̄",
["𑒋"] = "ē", ["𑒌"] = "ai", ["𑒍"] = "ō", ["𑒎"] = "au",
["२"] = "’", ["𑒁𑒺"] = "ê",["𑒁𑒽"] = "ô",
["ऽ"] = "²", -- avagraha
["𑒿"] = "̃", -- chandrabindu
["𑓀"] = "̃", -- anusvara
["𑓅"] = "̃", -- gvang
["𑓁"] = "ḥ", -- visarga
["𑓂"] = "", -- virama
["𑓇"] = "om̐", -- om
-- numerals
["𑓐"] = "0", ["𑓑"] = "1", ["𑓒"] = "2", ["𑓓"] = "3", ["𑓔"] = "4", ["𑓕"] = "5", ["𑓖"] = "6", ["𑓗"] = "7", ["𑓘"] = "8", ["𑓙"] = "9",
-- punctuation
["।"] = ".", -- danda
["॥"] = ".", -- double danda
["+"] = "", -- compound separator
-- abbreviation sign
["॰"] = "."
}
local nasal_assim = {
["𑒏"] = "𑒓", ["𑒐"] = "𑒓", ["𑒑"] = "𑒓", ["𑒒"] = "𑒓",
["𑒔"] = "𑒘", ["𑒕"] = "𑒘", ["𑒖"] = "𑒘", ["𑒗"] = "𑒘", ["𑒘"] = "𑒘",
["𑒙"] = "𑒝", ["𑒚"] = "𑒝", ["𑒛"] = "𑒝", ["𑒜"] = "𑒝",
["𑒞"] = "𑒢", ["𑒟"] = "𑒢", ["𑒠"] = "𑒢", ["𑒡"] = "𑒢", ["𑒢"] = "𑒢",
["𑒣"] = "𑒧", ["𑒤"] = "𑒧", ["𑒥"] = "𑒧", ["𑒦"] = "𑒧", ["𑒧"] = "𑒧"
}
local perm_cl = {
["𑒧𑓂𑒪"] = true
}
local all_cons, special_cons = "𑒏𑒐𑒑𑒒𑒓𑒔𑒕𑒖𑒗𑒘𑒙𑒚𑒛𑒜𑒝𑒞𑒟𑒠𑒡𑒢𑒣𑒤𑒥𑒦𑒧𑒨𑒩𑒪𑒫𑒮𑒬𑒭𑒯𑒩", "𑒕𑒏𑒐𑒑𑒞𑒮𑒯𑒨𑒟𑒛𑒜𑒚𑒣𑒠𑒝𑒡𑒩𑒭𑒙𑒪𑒫𑒥𑒦𑒛𑒔𑒢𑒬𑒧"
local vowel, vowel_sign = "a𑒱𑒳𑒵𑒹𑒼𑒰𑒲𑒴𑒻𑒾𑒰𑒻𑒽𑒰𑒰𑒽𑒺", "𑒁𑒃𑒅𑒋𑒍𑒂𑒄𑒆𑒇𑒈𑒁𑒺𑒁𑒽𑒫𑓃𑒨𑓃𑒁𑒂𑒌𑒎𑒂𑒋"
local syncope_pattern = '([' .. vowel .. vowel_sign .. '])(𑓃?[' .. all_cons .. '])a(𑓃?[' .. all_cons .. '])([𑓀𑒿]?[' .. vowel .. vowel_sign .. '])'
local function rev_string(text)
local result, length = {}, mw.ustring.len(text)
for i = length, 1, -1 do
table.insert(result, mw.ustring.sub(text, i, i))
end
return table.concat(result)
end
function export.tr(text, lang, sc)
text =
gsub(
text,
"([" .. all_cons .. "]𑓃?)([" .. vowel .. "𑓂]?)",
function(c, d)
return c .. (d == "" and "a" or d)
end
)
for word in mw.ustring.gmatch(text, "[𑒿-॥a]+") do
local orig_word = word
word = rev_string(word)
word = gsub(
word,
'^a(𑓃?)([' .. all_cons .. '])(.)(.?)',
function(opt, first, second, third)
local a = ""
if match(first, '[' .. special_cons .. ']')
and match(second, '𑓂')
and not perm_cl[first..second..third]
or match(first .. second, '𑒨[𑒲𑒺]') then
a = "a"
end
return a .. opt .. first .. second .. third
end
)
while match(word, syncope_pattern) do
word = gsub(word, syncope_pattern, "%1%2ᵊ%3%4")
end
word =
gsub(
word,
"(.?)𑓀(.)",
function(succ, prev)
return succ ..
(succ .. prev == "a" and "𑓂𑒧" or
(succ == "" and match(prev, "[" .. vowel .. "]") and "̃" or nasal_assim[succ] or "̃")) ..
prev
end
)
local escaped_orig_word = gsub(orig_word, "%+", "")
text = gsub(text, orig_word, rev_string(word))
text = gsub(text, "𑒖𑓂𑒘", "gy")
end
text = gsub(text, "ā([iu])̃", "ā͠%1")
text = gsub(text, "uu", "u")
text = gsub(text, "aâ", "â")
text = gsub(text, "ii", "i")
text = gsub(text, "([iīaāuūeoâ])a", "%1")
text = gsub(text, "[<>]", "")
text = gsub(text, ".𑓃?", conv)
return mw.ustring.toNFC(text)
end
return export
j30ovjyjqzbg1448lmecn4rah00kqmt
Modul:mai-translit
828
148120
379476
2026-10-18T03:36:34Z
Hakimi97
2668
Import Lua from [[en:Module:mai-translit]] (oldid=79050551); preserve attribution
379476
Scribunto
text/plain
-- Transliteration for Maithili
local export = {}
local gsub = mw.ustring.gsub
local match = mw.ustring.match
local conv = {
-- consonants
["क"] = "k", ["ख"] = "kh", ["ग"] = "g", ["घ"] = "gh", ["ङ"] = "ṅ",
["च"] = "c", ["छ"] = "ch", ["ज"] = "j", ["झ"] = "jh", ["ञ"] = "ñ",
["ट"] = "ṭ", ["ठ"] = "ṭh", ["ड"] = "ḍ", ["ढ"] = "ḍh", ["ण"] = "ṇ",
["त"] = "t", ["थ"] = "th", ["द"] = "d", ["ध"] = "dh", ["न"] = "n",
["प"] = "p", ["फ"] = "ph", ["ब"] = "b", ["भ"] = "bh", ["म"] = "m",
["य"] = "y", ["र"] = "r", ["ल"] = "l", ["व"] = "v", ["ळ"] = "ḷ",
["श"] = "ś", ["ष"] = "ṣ", ["स"] = "s", ["ह"] = "h",
["क़"] = "q", ["ख़"] = "x", ["ग़"] = "ġ", ["ऴ"] = "ḻ",
["ज़"] = "z", ["झ़"] = "ž", ["ड़"] = "ṛ", ["ढ़"] = "ṛh",
["फ़"] = "f", ["ऩ"] = "ṉ", ["ऱ"] = "ṟ",
-- vowel diacritics
["ि"] = "i", ["ु"] = "u", ["े"] = "ē", ["ॆ"] = "e", ["ो"] = "ō", ["ॊ"] = "o", ["ा"] = "ā", ["ी"] = "ī", ["ू"] = "ū",
["ृ"] = "r̥", ["ॄ"] = "r̥̄", ["ै"] = "ai",["ौ"] = "au",["◌ꣿ"] = "ě", ["ꣿ"] = "ě", ["ॏ"] = "ǒ", ["ऺ"] = "â", ["ॅ"] = "ê",["ॉ"] = "ô",
-- vowel signs
["अ"] = "a", ["इ"] = "i", ["उ"] = "u", ["ए"] = "ē", ["ऎ"] = "e", ["ओ"] = "ō", ["आ"] = "ā", ["ई"] = "ī", ["ऊ"] = "ū", ["व़"] = "ö", ["य़"] = "ë",
["ऋ"] = "r̥", ["ॠ"] = "r̥̄", ["ऐ"] = "ai", ["औ"] = "au", ["ꣾ"] = "ě", ["ॵ"] = "ǒ", ["ऒ"] = "o", ["ॴ"] = "ä", ["ऍ"] = "ê", ["ऑ"] = "ô",
["२"] = "²", ["ऽ"] = "²",
["꣱"] = "ô",
["ँ"] = "̃", -- chandrabindu
["ं"] = "̃", -- anusvara
["ः"] = "ḥ", -- visarga
["्"] = "", -- virama
["ॐ"] = "ōm̐", -- om
-- numerals
["०"] = "0", ["१"] = "1", ["२"] = "2", ["३"] = "3", ["४"] = "4", ["५"] = "5", ["६"] = "6", ["७"] = "7", ["८"] = "8", ["९"] = "9",
-- punctuation
["।"] = ".", -- danda
["॥"] = ".", -- double danda
["+"] = "", -- compound separator
-- abbreviation sign
["॰"] = "."
}
local nasal_assim = {
["क"] = "ङ", ["ख"] = "ङ", ["ग"] = "ङ", ["घ"] = "ङ",
["च"] = "ञ", ["छ"] = "ञ", ["ज"] = "ञ", ["झ"] = "ञ",
["ट"] = "ण", ["ठ"] = "ण", ["ड"] = "ण", ["ढ"] = "ण",
["प"] = "म", ["फ"] = "म", ["ब"] = "म", ["भ"] = "म", ["म"] = "म",
["त"] = "न", ["थ"] = "न", ["द"] = "न", ["ध"] = "न", ["न"] = "न"
}
local perm_cl = {
["म्ल"] = true, ["व्ल"] = true, ["न्ल"] = true
}
local all_cons, special_cons = "कखगघङचछजझञटठडढणतथदधनपफबभमयरलवसशषह", "छकखगतसहयथडढठपदणधरषटलवब भडचनशम"
local vowel, vowel_sign = "aिुृेोाीूैौॉॅॆॊऻऻॊॆॏ꣱’", "अइउएओआईऊऋॠऎऒॵॳॴऐऔऑऍ"
local syncope_pattern = '([' .. vowel .. vowel_sign .. '])(़?[' .. all_cons .. '])a(़?[' .. all_cons .. '])([ंँ]?[' .. vowel .. vowel_sign .. '])'
local function rev_string(text)
local result, length = {}, mw.ustring.len(text)
for i = length, 1, -1 do
table.insert(result, mw.ustring.sub(text, i, i))
end
return table.concat(result)
end
function export.tr(text, lang, sc)
text =
gsub(
text,
"([" .. all_cons .. "]़?)([" .. vowel .. "्]?)",
function(c, d)
return c .. (d == "" and "a" or d)
end
)
for word in mw.ustring.gmatch(text, "[ऀ-ॿa]+") do
local orig_word = word
word = rev_string(word)
word = gsub(word, '^a(़?)([' .. all_cons .. '])(.)(.?)', function(opt, first, second, third)
return (((match(first, '[' .. special_cons .. ']') and match(second, '्') and not perm_cl[first..second..third])
or match(first .. second, 'य[ी]'))
and 'a' or "") .. opt .. first .. second .. third end)
while match(word, syncope_pattern) do
word = gsub(word, syncope_pattern, '%1%2ᵊ%3%4')
end
word =
gsub(
word,
"(.?)ं(.)",
function(succ, prev)
return succ ..
(succ .. prev == "a" and "्म" or
(succ == "" and match(prev, "[" .. vowel .. "]") and "̃" or nasal_assim[succ] or "̃")) ..
prev
end
)
local escaped_orig_word = gsub(orig_word, "%+", "")
text = gsub(text, orig_word, rev_string(word))
text = gsub(text, "ज्ञ", "gy")
text = gsub(text, "इऺ", "ï" )
text = gsub(text, "उऺ", "ü" )
text = gsub(text, "ॳ", "â" )
text = gsub(text, "अ꣱", "ô")
end
text = gsub(text, ".़?", conv)
text = gsub(text, "ā([iu])̃", "ā͠%1")
text = gsub(text, "uu", "u")
text = gsub(text, "([iuïüëöīāūôûî])â", "%1")
text = gsub(text, "([iuïüëöīāūôûî])ᵊ", "%1")
text = gsub(text, "aᵊ", "ᵊ")
text = gsub(text, "([îûëö])a", "%1")
text = gsub(text, "aâ", "â")
text = gsub(text, "ii", "i")
text = gsub(text, "([iīaāuūeoâᵊ])a", "%1")
text = gsub(text, "i$", "ɨ")
text = gsub(text, "u$", "ʉ")
text = gsub(text, "ᵊ$", "ᵊ̆")
text = gsub(text, "[<>]", "")
return mw.ustring.toNFC(text)
end
return export
7hr16uzvgodeozvqog0aemzu4iebvy9
Modul:mdf-sortkey
828
148121
379477
2026-10-18T03:37:40Z
Hakimi97
2668
Import Lua from [[en:Module:mdf-sortkey]] (oldid=79050554); preserve attribution
379477
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a = u(0xF000)
local oneChar = {
["ё"] = "е" .. a
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar))
end
return export
fpynrgnyrcig23pqmf0ixa0z2wahmle
Modul:mga-sortkey
828
148122
379478
2026-10-18T03:38:46Z
Hakimi97
2668
Import Lua from [[en:Module:mga-sortkey]] (oldid=79050556); preserve attribution
379478
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local remove_diacritics = u(0x0301) .. "-"
local oneChar = {
["æ"] = "e"
}
function export.makeSortKey(text, lang, sc)
text = mw.ustring.gsub(mw.ustring.lower(mw.ustring.toNFD(text)), "^h", "")
return mw.ustring.upper(mw.ustring.toNFC(mw.ustring.gsub(mw.ustring.toNFD(mw.ustring.gsub(text, ".", oneChar)), "[" .. remove_diacritics .. "]", "")))
end
return export
g8l1xcks9sd0qwhtd9kkgbbwzg9ahpf
Modul:mr-Modi-translit
828
148123
379479
2026-10-18T03:39:52Z
Hakimi97
2668
Import Lua from [[en:Module:mr-Modi-translit]] (oldid=78756975); preserve attribution
379479
Scribunto
text/plain
local export = {}
local u = require("Module:string/char")
local gsub = mw.ustring.gsub
local find = mw.ustring.find
local ZWJ = u(0x200D)
local conv = {
-- consonants
['𑘎']='k', ['𑘏']='kh', ['𑘐']='g', ['𑘑']='gh', ['𑘒']='ṅ',
['𑘓']='c', ['𑘔']='ch', ['𑘕']='j', ['𑘖']='jh', ['𑘗']='ñ',
['𑘘']='ṭ', ['𑘙']='ṭh', ['𑘚']='ḍ', ['𑘛']='ḍh', ['𑘜']='ṇ',
['𑘝']='t', ['𑘞']='th', ['𑘟']='d', ['𑘠']='dh', ['𑘡']='n',
['𑘢']='p', ['𑘣']='ph', ['𑘤']='b', ['𑘥']='bh', ['𑘦']='m',
['𑘧']='y', ['𑘨']='r', ['𑘩']='l', ['𑘪']='v', ['𑘯']='ḷ',
['𑘫']='ś', ['𑘬']='ṣ', ['𑘭']='s', ['𑘮']='h',
['𑘨𑘿'..ZWJ] = 'r',
-- ['𑘕𑘿𑘗'] = 'dny',
-- vowel diacritics
---- only in script charts: ['𑘱'] = 'i', ['𑘴'] ='ū',
['𑘳'] = 'u', ['𑘹'] = 'e', ['𑘻'] = 'o',
['𑘰'] = 'ā', ['𑘲'] = 'ī',
['𑘵'] = 'ru',
['𑘺'] = 'ai', ['𑘼'] = 'au',
-- ['𑘰𑙀'] = 'ŏ',
['𑙀'] = 'ĕ',
-- vowel signs
---- only in script charts: ['𑘂'] = 'i', ['𑘅'] ='ū',
['𑘀'] = 'a', ['𑘄'] = 'u', ['𑘊'] = 'e', ['𑘌'] = 'o',
['𑘁'] = 'ā', ['𑘃'] = 'ī',
['𑘆'] = 'ŕ',
['𑘋'] = 'ai', ['𑘍'] = 'au',
['𑘁𑙀'] = 'ŏ',
['𑘀𑙀'] = 'ĕ', ['𑘊𑙀'] = 'ĕ',
['𑘌𑘦𑘿'] = 'om',
-- chandrabindu
--- ['𑙀𑘽'] = '̃',
-- anusvara
['𑘽'] = 'ṁ',
-- visarga
['𑘾'] = 'ḥ',
-- virama
['𑘿'] = '',
-- numerals
['𑙐'] = '0', ['𑙑'] = '1', ['𑙒'] = '2', ['𑙓'] = '3', ['𑙔'] = '4',
['𑙕'] = '5', ['𑙖'] = '6', ['𑙗'] = '7', ['𑙘'] = '8', ['𑙙'] = '9',
-- punctuation
['𑙁'] = '.', -- danda
['𑙂'] = '.', -- double danda
['+'] = '', -- compound separator
-- abbreviation sign
['𑙃'] = '.',
}
local nasal_assim = {
['𑘎'] = '𑘒', ['𑘏'] = '𑘒', ['𑘐'] = '𑘒', ['𑘑'] = '𑘒',
['𑘓'] = '𑘗', ['𑘔'] = '𑘗', ['𑘕'] = '𑘗', ['𑘖'] = '𑘗',
['𑘘'] = '𑘜', ['𑘙'] = '𑘜', ['𑘚'] = '𑘜', ['𑘛'] = '𑘜',
['𑘢'] = '𑘦', ['𑘣'] = '𑘦', ['𑘤'] = '𑘦', ['𑘥'] = '𑘦', ['𑘦'] = '𑘦',
['𑘧'] = 'i', ['𑘨'] = '𑘄', ['𑘩'] = '𑘩', ['𑘪'] = '𑘄',
['𑘫'] = '𑘄', ['𑘬'] = '𑘄', ['𑘭'] = '𑘄', ['𑘮'] = '𑘄',
}
local perm_cl = {
['𑘦𑘿𑘩'] = true, ['𑘪𑘿𑘩'] = true, ['𑘡𑘿𑘩'] = true,
}
local all_cons, special_cons = '𑘎𑘏𑘐𑘑𑘒𑘓𑘔𑘕𑘖𑘗𑘘𑘙𑘚𑘛𑘝𑘞𑘟𑘠𑘢𑘣𑘤𑘥𑘫𑘬𑘭𑘧𑘨𑘩𑘪𑘮𑘜𑘡𑘦𑘯', '𑘟𑘝𑘧𑘨𑘩𑘪𑘮𑘡𑘦'
local vowel, vowel_sign = '%*a𑘱𑘳𑘵𑘹𑘻𑘰𑘲𑘴𑘺𑘼𑙀', '𑘀𑘂𑘄𑘊𑘌𑘁𑘃𑘅𑘆𑘋𑘍𑘀𑙀'
local syncope_pattern = '([' .. vowel .. vowel_sign .. '])([' .. all_cons .. '])a([' .. all_cons .. '])([ं]?[' .. vowel .. vowel_sign .. '])'
local function rev_string(text)
local char_array, i = {}, 1
for char in string.gmatch(text, "[%z\1-\127\194-\244][\128-\191]*") do -- UTF-8 character pattern
char_array[i] = char
i = i + 1
end
return table.concat(require("Module:table").reverse(char_array))
end
function export.tr(text, lang, sc)
-- text = gsub(text, 'ाँ', 'ॉ' .. 'ं')
-- text = gsub(text, 'ँ', 'ॅ' .. 'ं')
text = gsub(text, '([^' .. vowel .. vowel_sign .. '])𑘽 ', '%1𑘀 ')
text = gsub(text, '([^' .. vowel .. vowel_sign .. '])𑘽$', '%1𑘀')
text = gsub(text, '([' .. all_cons .. '])([' .. vowel .. '𑘿]?)', function(c, d)
return c .. (d == "" and 'a' or d) end)
for word in mw.ustring.gmatch(text, "[𑘀-𑙙a]+") do
local orig_word = word
word = rev_string(word)
word = gsub(word, '^a([' .. all_cons .. '][' .. vowel .. vowel_sign .. '])', '%1')
while find(word, syncope_pattern) do
word = gsub(word, syncope_pattern, '%1%2%3%4')
end
word = gsub(word, '(.?)𑘽(.)', function(succ, prev)
return succ .. (succ..prev == "a" and "𑘿𑘦" or
(succ == "" and find(prev, '[' .. vowel .. ']') and "̃" or nasal_assim[succ] or "n")) .. prev end)
text = gsub(text, orig_word, rev_string(word))
end
text = gsub(text, '.', conv)
text = gsub(text, 'a([iu])̃', 'a͠%1')
text = gsub(text, 'aa', 'a')
text = gsub(text, 'ñjñ', 'ndny')
text = gsub(text, 'jñ', 'dny')
return mw.ustring.toNFC(text)
end
return export
gj5tdm2ion1f1zvtsbr3xcko9tvtngu
Modul:mrj-sortkey
828
148124
379480
2026-10-18T03:40:58Z
Hakimi97
2668
Import Lua from [[en:Module:mrj-sortkey]] (oldid=69969038); preserve attribution
379480
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a = u(0xF000)
local oneChar = {
["ӓ"] = "а" .. a, ["ё"] = "е" .. a, ["ӧ"] = "о" .. a, ["ӱ"] = "у" .. a, ["ӹ"] = "ы" .. a
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar))
end
return export
3h349h4luxjm0cae5p3s034q7doqvts
Modul:mxi-translit
828
148125
379482
2026-10-18T03:42:04Z
Hakimi97
2668
Import Lua from [[en:Module:mxi-translit]] (oldid=93598918); preserve attribution
379482
Scribunto
text/plain
local export = {}
function export.tr(text, lang, sc)
local replacements
if (sc == "Arab") then
return (mw.ustring.gsub(mw.ustring.gsub(text, ".", {
-- consonants --
["ا"]="ə", ["ب"]="b", ["ت"]="t", ["ث"]="ṯ", ["ج"]="j",
["ح"]="ḥ", ["خ"]="ḵ", ["د"]="d", ["ذ"]="ḏ", ["ر"]="r",
["ز"]="z", ["س"]="s", ["ش"]="š", ["ص"]="ṣ", ["ض"]="ḍ",
["ط"]="ṭ", ["ظ"]="ẓ", ["ع"]="ʕ", ["غ"]="ḡ", ["ڢ"]="f",
["ڧ"]="q", ["ك"]="k", ["ل"]="l", ["م"]="m", ["ࢽ"]="n",
["ه"]="h", ["و"]="w", ["ی"]="y",
-- [ق], [ف] and [ي] should not occur, but [ن] sometimes does
["ن"]="n",
-- [ے] should likely be used in quotes at least
["ے"]="y",
-- tashkil --
["َ"]="a", ["ُ"]="u", ["ِ"]="i",
["ّ"]="ː", ["ْ"]="°",
}), "([btṯjḥḵdḏrzsšṣḍṭẓʕḡfqklmnhwyuiː°])ə", "%1ā"):gsub("aə", "ā"))
elseif (sc == "Hebr") then
return (mw.ustring.gsub(text, ".", {
-- consonants --
["א"] = "ʔ", ["ב"] = "b", ["ג"] = "g", ["ד"] = "d",
["ה"] = "h", ["ו"] = "w", ["ז"] = "z", ["ח"] = "ḥ",
["ט"] = "ṭ", ["י"] = "y", ["כ"] = "k", ["ל"] = "l",
["מ"] = "m", ["נ"] = "n", ["ס"] = "s", ["ע"] = "ʕ",
["פ"] = "f", ["צ"] = "ṣ", ["ק"] = "q", ["ר"] = "r",
["ש"] = "š", ["ת"] = "t",
-- sofit --
["ך"] = "k", ["ם"] = "m", ["ן"] = "n", ["ף"] = "f",
["ץ"] = "ṣ",
-- nikud ?
-- other
["־"] = "-"
}))
end
return
end
return export
kf6cxp7t6y4drym7he4wij9n9s992c3
Modul:new-Newa-translit
828
148126
379483
2026-10-18T03:43:09Z
Hakimi97
2668
Import Lua from [[en:Module:new-Newa-translit]] (oldid=61676229); preserve attribution
379483
Scribunto
text/plain
-- Transliteration for Newar in Newa script
local export = {}
local gsub = mw.ustring.gsub
local match = mw.ustring.match
local conv = {
-- consonants
['𑐎'] = 'k', ['𑐏'] = 'kh', ['𑐐'] = 'g', ['𑐑'] = 'gh', ['𑐒'] = 'ṅ', ['𑐓'] = 'ṅh',
['𑐔'] = 'c', ['𑐕'] = 'ch', ['𑐖'] = 'j', ['𑐗'] = 'jh', ['𑐘'] = 'ñ', ['𑐙'] = 'ñh',
['𑐚'] = 'ṭ', ['𑐛'] = 'ṭh', ['𑐜'] = 'ḍ', ['𑐝'] = 'ḍh', ['𑐞'] = 'ṇ',
['𑐟'] = 't', ['𑐠'] = 'th', ['𑐡'] = 'd', ['𑐢'] = 'dh', ['𑐣'] = 'n', ['𑐤'] ='nh',
['𑐥'] = 'p', ['𑐦'] = 'ph', ['𑐧'] = 'b', ['𑐨'] = 'bh', ['𑐩'] = 'm', ['𑐪'] ='mh',
['𑐫'] = 'y', ['𑐬'] = 'r', ['𑐭'] = 'rh', ['𑐮'] = 'l', ['𑐯'] = 'lh', ['𑐰'] = 'w', ['𑐱'] = 'ś', ['𑐲'] = 'ṣ', ['𑐳'] = 's', ['𑐴'] = 'h',
-- vowel diacritics
['𑐶'] = 'i', ['𑐸'] = 'u', ['𑐾'] = 'e', ['𑑀'] = 'o', ['𑐵'] = 'ā', ['𑐷'] = 'ī', ['𑐹'] = 'ū', ['𑐺'] = 'r̥', ['𑐻'] = 'r̥̄', ['𑐼'] = 'l̥', ['𑐽'] = 'l̥̄', ['𑐿'] = 'ai', ['𑑁'] = 'au',
-- vowels
['𑐀'] = 'a', ['𑐂'] = 'i', ['𑐄'] = 'u', ['𑐊'] = 'e', ['𑐌'] = 'o', ['𑐁'] = 'ā', ['𑐃'] = 'ī', ['𑐅'] = 'ū', ['𑐆'] = 'r̥', ['𑐇'] = 'r̥̄', ['𑐈'] = 'l̥', ['𑐉'] = 'l̥̄', ['𑐋'] = 'ai', ['𑐍'] = 'au',
-- chandrabindu
['𑑃'] = '̃',
-- anusvara
['𑑄'] = 'ṃ', ['𑑈'] = 'ṃ',
-- visarga
['𑑅'] = 'ḥ',
-- nuqta
['𑑆'] = '',
-- virama
['𑑂'] = '',
-- om
['𑑉'] = 'om',
-- avagraha
['𑑇']='’',
-- numerals
['𑑐'] = '0', ['𑑑'] = '1', ['𑑓'] = '2', ['𑑓'] = '3', ['𑑔'] = '4', ['𑑕'] = '5', ['𑑖'] = '6', ['𑑗'] = '7', ['𑑘'] = '8', ['𑑙'] = '9',
-- punctuation
['𑑋'] = '.', -- danda
['𑑌'] = '.', -- double danda
['𑑍'] = '', -- comma
-- abbreviation sign
['𑑏'] = '.',
}
local all_cons, special_cons = '𑐎𑐏𑐐𑐑𑐒𑐓𑐔𑐕𑐖𑐗𑐘𑐙𑐚𑐛𑐜𑐝𑐞𑐟𑐠𑐡𑐢𑐣𑐤𑐥𑐦𑐧𑐨𑐩𑐪𑐫𑐬𑐭𑐮𑐯𑐰𑐱𑐲𑐳𑐴', '𑐎𑐏𑐐𑐑𑐒𑐓𑐔𑐕𑐖𑐗𑐘𑐙𑐚𑐛𑐜𑐝𑐞𑐞𑐟𑐠𑐡𑐢𑐣𑐤𑐥𑐦𑐧𑐨𑐩𑐪𑐫𑐬𑐭𑐮𑐯𑐰𑐱𑐲𑐳𑐴'
local vowel, vowel_sign = 'a𑐼𑐽𑐾𑐿𑑀𑑁𑐻𑐺𑐹𑐸𑐶𑐵𑐷', '𑐄𑐃𑐂𑐁𑐀𑐉𑐈𑐇𑐆𑐅𑐍𑐌𑐋𑐊'
local function rev_string(text)
local result, length = {}, mw.ustring.len(text)
for i = length, 1, -1 do
table.insert(result, mw.ustring.sub(text, i, i))
end
return table.concat(result)
end
function export.tr(text, lang, sc)
text = gsub(text, '([' .. all_cons .. ']𑑆?)([' .. vowel .. '𑑂]?)', function(c, d)
return c .. (d == "" and 'a' or d) end)
for word in mw.ustring.gmatch(text, "[𑑃-𑐧a]+") do
local orig_word = word
word = rev_string(word)
word = gsub(word, '^a(𑑆?)([' .. all_cons .. '])(.)(.?)', function(opt, first, second, third)
return (((match(first, '[' .. special_cons .. ']') and match(second, '𑑄')
or match(first, '[' .. special_cons .. ']') and match(second, '𑑂') and not perm_cl[first..second..third])
or match(first .. second, '𑐫[𑐄𑐃𑐂𑐁𑐀𑐉𑐈𑐇𑐆𑐅𑐍𑐌𑐋𑐊a𑐼𑐽𑐾𑐿𑑀𑑁𑐻𑐺𑐹𑐸𑐶𑐵𑐷]') or match(first .. second, '𑐴[𑐄𑐃𑐂𑐁𑐀𑐉𑐈𑐇𑐆𑐅𑐍𑐌𑐋𑐊a𑐼𑐽𑐾𑐿𑑀𑑁𑐻𑐺𑐹𑐸𑐶𑐵𑐷]'))
and 'a' or "") .. opt .. first .. second .. third end)
word = gsub(word, '(.?)𑑄(.)', function(succ, prev)
return succ .. (succ..prev == "" and "𑑂𑐩" or
(succ == "" and match(prev, '[' .. vowel .. ']') and "̃" or nasal_assim[succ] or "ṃ")) .. prev end)
local escaped_orig_word = gsub(orig_word, "%+", "") text = gsub(text, orig_word, rev_string(word))
text = gsub(text, '𑐫𑑂', 'y') end
text = gsub(text, '.𑑆?', conv)
text = gsub(text, 'a([iu])̃', 'a͠%1')
text = gsub(text, "[<>]", "") return mw.ustring.toNFC(text)
end
return export
id2rgkr9jb4s5aen424lm0cdb8uicox
Modul:new-translit
828
148127
379484
2026-10-18T03:44:15Z
Hakimi97
2668
Import Lua from [[en:Module:new-translit]] (oldid=79050599); preserve attribution
379484
Scribunto
text/plain
-- Transliteration for Newar
local export = {}
local gsub = mw.ustring.gsub
local match = mw.ustring.match
local conv = {
-- consonants
["क"] = "k", ["ख"] = "kh", ["ग"] = "g", ["घ"] = "gh", ["ङ"] = "ṅ",
["च"] = "c", ["छ"] = "ch", ["ज"] = "j", ["झ"] = "jh", ["ञ"] = "ñ",
["ट"] = "ṭ", ["ठ"] = "ṭh", ["ड"] = "ḍ", ["ढ"] = "ḍh", ["ण"] = "ṇ",
["त"] = "t", ["थ"] = "th", ["द"] = "d", ["ध"] = "dh", ["न"] = "n",
["प"] = "p", ["फ"] = "ph", ["ब"] = "b", ["भ"] = "bh", ["म"] = "m",
["य"] = "y", ["र"] = "r", ["ल"] = "l", ["व"] = "w", ["ळ"] = "ḷ",
["श"] = "ś", ["ष"] = "ṣ", ["स"] = "s", ["ह"] = "h", ["ऴ"] = "ḻ", ["ॽ"] = "ॽ",
-- vowel diacritics
["ि"] = "i", ["ु"] = "u", ["े"] = "e", ["ो"] = "o",
["ा"] = "ā", ["ी"] = "ī", ["ू"] = "ū",
["ृ"] = "r̥", ["ॄ"] = "r̥̄", ["ॢ"] = "l̥", ["ॣ"] = "l̥̄",
["ै"] = "ai", ["ौ"] = "au", ["ॉ"] = "ô", ["ॅ"] = "â",
-- vowel signs
["अ"] = "a", ["इ"] = "i", ["उ"] = "u", ["ए"] = "e", ["ओ"] = "o",
["आ"] = "ā", ["ई"] = "ī", ["ऊ"] = "ū",
["ऋ"] = "r̥", ["ॠ"] = "r̥̄", ["ऌ"] = "l̥", ["ॡ"] = "l̥̄",
["ऐ"] = "ai", ["औ"] = "au", ["ऑ"] = "ô", ["ॲ"] = "â", ["ऍ"] = "â",
-- ZWNJ
[""] = "",
-- ZWJ
[""] = "", -- chandrabindu
["ँ"] = "̃",
-- anusvara
["ं"] = "ṃ",
-- visarga (liphuti)
["ः"] = ":",
-- virama
["्"] = "",
-- om
["ॐ"] = "oḥm",
-- avagraha
["ऽ"] = "’",
-- numerals
["०"] = "0", ["१"] = "1", ["२"] = "2", ["३"] = "3", ["४"] = "4",
["५"] = "5", ["६"] = "6", ["७"] = "7", ["८"] = "8", ["९"] = "9",
-- punctuation
["।"] = ".", -- danda
["॥"] = ".", -- double danda
["+"] = "", -- compound separator
-- abbreviation sign
["॰"] = "."
}
local nasal_assim = {
["क"] = "ं", ["ख"] = "ं", ["ग"] = "ं", ["घ"] = "ं",
["च"] = "ं", ["छ"] = "ं", ["ज"] = "ं", ["झ"] = "ं",
["ट"] = "ं", ["ठ"] = "ं", ["ड"] = "ं", ["ढ"] = "ं",
["त"] = "ं", ["थ"] = "ं", ["द"] = "ं", ["ध"] = "ं", ["न"] = "ं",
["प"] = "ं", ["फ"] = "ं", ["ब"] = "ं", ["भ"] = "ं", ["म"] = "ं",
["ष"] = "ं", ["श"] = "ं", ["स"] = "ं",
["य"] = "ं", ["र"] = "ं", ["ल"] = "ं", ["व"] = "ं", ["ह"] = "ं"
}
local perm_cl = {
["ज्ञ"] = true
}
local all_cons, special_cons = "कखगघङचछजझञटठडढणतथदधनपफबभमयरलवसशषह", "कखगघचछजझटठडढणतथदधनपफबभमयरलवशषसह"
local vowel, vowel_sign = "aिुृेोाीूैौॉॅॆॊॄॢॣ", "अइउएओआईऊऋॠॡऌऐऔऑऍ"
local function rev_string(text)
local result, length = {}, mw.ustring.len(text)
for i = length, 1, -1 do
table.insert(result, mw.ustring.sub(text, i, i))
end
return table.concat(result)
end
function export.tr(text, lang, sc)
text = gsub(text, "([" .. all_cons .. "]़?)([" .. vowel .. "्]?)",
function(c, d)
return c .. (d == "" and "a" or d)
end
)
for word in mw.ustring.gmatch(text, "[ऀ-ॿa]+") do
local orig_word = word
word = rev_string(word)
word = gsub(word, "^a(़?)([" .. all_cons .. "])(.)(.?)",
function(opt, first, second, third)
return (((match(first, "[" .. special_cons .. "]") and match(second, "ं") or
match(first, "[" .. special_cons .. "]") and match(second, "्") and
not perm_cl[first .. second .. third]) or
match(first .. second, "य[aिुृेोाीूैौॉॅॆॊआईउऊइएऐओऔ]") or
match(first .. second, "ह[अaिुृेोाीूैौॉॅॆॊआईउऊइएऐओऔ]")) and "a" or "a") ..
opt .. first .. second .. third
end
)
word = gsub(word, "(.?)ं(.)",
function(succ, prev)
return succ .. (succ .. prev == "" and "्म" or
(succ == "" and match(prev, "[" .. vowel .. "]") and "ṃ" or nasal_assim[succ] or "ṃ")) .. prev
end
)
local escaped_orig_word = gsub(orig_word, "%+", "")
text = gsub(text, orig_word, rev_string(word))
text = gsub(text, "आँय्", "æ̃")
text = gsub(text, "आंय्", "æ̃")
text = gsub(text, "आय्", "æ")
text = gsub(text, "ाँय्", "æ̃")
text = gsub(text, "ांय्", "æ̃")
text = gsub(text, "ाय्", "æ")
text = gsub(text, "अँय्", "ễ")
text = gsub(text, "अंय्", "ễ")
text = gsub(text, "अय्", "ê")
text = gsub(text, "य्", "ê")
end
text = gsub(text, ".़?", conv)
text = gsub(text, "a([iu])̃", "a͠%1")
text = gsub(text, "([ptkbdgṭḍmṅṇñnlrhṣśs])([yw])([aāiīuūeēoōâ])ê", "%1%2%3ê")
text = gsub(text, "([ptkbdgṭḍmṅṇñnlrhṣśs])([yw])([aāiīuūeēoōâ])ễ", "%1%2%3ễ")
text = gsub(text, "([ptkbdgṭḍmṅṇñnlrhṣśs])([a])̃ê", "%1ễ")
text = gsub(text, "([ptkbdgṭḍmṅṇñnlrhṣśs])([a])ê", "%1ê")
text = gsub(text, "[<>]", "")
return mw.ustring.toNFC(text)
end
return export
q2e60hw4hgjxuy9511ud2jivme0865n
Modul:niv-sortkey
828
148128
379485
2026-10-18T03:45:21Z
Hakimi97
2668
Import Lua from [[en:Module:niv-sortkey]] (oldid=79050600); preserve attribution
379485
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a, b, c = u(0xF000), u(0xF001), u(0xF002)
local oneChar = {
["ӷ"] = "г" .. a, ["ғ"] = "г" .. b, ["ӻ"] = "г" .. c, ["ё"] = "е" .. a, ["ӄ"] = "к" .. b, ["ӈ"] = "н" .. a, ["ў"] = "у" .. a, ["ӽ"] = "х" .. a, ["ӿ"] = "х" .. b
}
local twoChars = {
["кʼ"] = "к" .. a, ["ӄʼ"] = "к" .. c, ["пʼ"] = "п" .. a, ["р̌"] = "р" .. a, ["тʼ"] = "т" .. a
}
function export.makeSortKey(text, lang, sc)
text = mw.ustring.lower(text)
for from, to in pairs(twoChars) do
text = mw.ustring.gsub(text, from, to)
end
return mw.ustring.upper(mw.ustring.gsub(text, ".", oneChar))
end
return export
2xc6yxeop64jcix3pmgoun0nsm2fwmu
Modul:nup-sortkey
828
148129
379486
2026-10-18T03:46:27Z
Hakimi97
2668
Import Lua from [[en:Module:nup-sortkey]] (oldid=69968713); preserve attribution
379486
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a = u(0xF000)
local twoChars = {
["dz"] = "d" .. a, ["gb"] = "g" .. a, ["kp"] = "k" .. a, ["sh"] = "s" .. a, ["ts"] = "t" .. a, ["zh"] = "z" .. a
}
function export.makeSortKey(text, lang, sc)
text = mw.ustring.lower(text)
for from, to in pairs(twoChars) do
text = mw.ustring.gsub(text, from, to)
end
return mw.ustring.upper(text)
end
return export
q3zaolv9p0c00ccw0cdvgllvmja09ld
Modul:oaa-translit
828
148130
379487
2026-10-18T03:47:33Z
Hakimi97
2668
Import Lua from [[en:Module:oaa-translit]] (oldid=85448869); preserve attribution
379487
Scribunto
text/plain
local export = {}
local single_letter_replacements = {
["А"]='A', ["а"]='a',
["Б"]='B', ["б"]='b',
["В"]='V', ["в"]='v',
["Е"]='E', ["е"]='e',
["Ё"]='Jo', ["ё"]='jo',
["Г"]='G', ["г"]='g',
["Д"]='D', ["д"]='d',
["Ӡ"]='Ʒ', ["ӡ"]='ʒ',
["И"]='I', ["и"]='i',
["Ӣ"]='Ī', ["ӣ"]='ī',
["Й"]='J', ["й"]='j',
["К"]='K', ["к"]='k',
["Л"]='L', ["л"]='l',
["М"]='M', ["м"]='m',
["Н"]='N', ["н"]='n',
["Ӈ"]='Ŋ', ["ӈ"]='ŋ',
["Ԩ"]='Ń', ["ԩ"]='ń',
["О"]='O', ["о"]='o',
["Ө"]='Ö', ["ө"]='ö',
["П"]='P', ["п"]='p',
["Р"]='R', ["р"]='r',
["С"]='S', ["с"]='s',
["Т"]='T', ["т"]='t',
["У"]='U', ["у"]='u',
["Ӯ"]='Ū', ["ӯ"]='ū',
["Х"]='H', ["х"]='h',
["Ч"]='Č', ["ч"]='č',
["Ы"]='Y', ["ы"]='y',
["Э"]='Ə', ["э"]='ə',
["Ю"]='Ju', ["ю"]='ju',
["Я"]='Ja', ["я"]='ja',
['Ъ']='ʺ', ['ъ']='ʺ',
-- NOT PRESENT IN THE ORIGINAL LATINISATION --
-- non-native letters
["Ж"]='Ž', ["ж"]='ž',
["З"]='Z', ["з"]='z',
["Ц"]='C', ["ц"]='c',
["Ш"]='Š', ["ш"]='š',
["Щ"]='Šč', ["щ"]='šč',
["Ь"]="’", ["ь"]="’",
["Ф"]='F', ["ф"]='f',
-- non-standard letters
["Ҥ"]='Ŋ', ["ҥ"]='ŋ',
}
function export.tr(text, lang, sc)
return (mw.ustring.gsub(text, ".", single_letter_replacements))
end
return export
1jqwuc9q0huyquwiz7ss3pldy2ifcx0
Modul:okm-sortkey
828
148131
379488
2026-10-18T03:48:39Z
Hakimi97
2668
Import Lua from [[en:Module:okm-sortkey]] (oldid=83556748); preserve attribution
379488
Scribunto
text/plain
local export = {}
local us = mw.ustring
local prefix = ""
local suffix = us.char(0x3130)
function G(s)
return prefix .. s .. suffix
end
local initial_consonants = {
['ᄀ'] = G("ㄱ"),
['ᄁ'] = G("ㄱㄱ"),
['ᄂ'] = G("ㄴ"),
['ᄔ'] = G("ㄴㄴ"),
['ᄃ'] = G("ㄷ"),
['ᄄ'] = G("ㄷㄷ"),
['ᄅ'] = G("ㄹ"),
['ᄆ'] = G("ㅁ"),
['ᄇ'] = G("ㅂ"),
['ᄞ'] = G("ㅂㄱ"),
['ᄠ'] = G("ㅂㄷ"),
['ᄈ'] = G("ㅂㅂ"),
['ᄡ'] = G("ㅂㅅ"),
['ᄢ'] = G("ㅂㅅㄱ"),
['ᄣ'] = G("ㅂㅅㄷ"),
['ᄦ'] = G("ㅂㅅㅈ"),
['ᄧ'] = G("ㅂㅈ"),
['ᄩ'] = G("ㅂㅌ"),
['ᄫ'] = G("ㅂㅎ"), -- hack
['ᄉ'] = G("ㅅ"),
['ᄭ'] = G("ㅅㄱ"),
['ᄮ'] = G("ㅅㄴ"),
['ᄯ'] = G("ㅅㄷ"),
['ᄱ'] = G("ㅅㅁ"),
['ᄲ'] = G("ㅅㅂ"),
['ᄳ'] = G("ㅅㅂㄱ"),
['ᄊ'] = G("ㅅㅅ"),
['ᄸ'] = G("ㅅㅋ"),
['ᄹ'] = G("ㅅㅌ"),
['ᄺ'] = G("ㅅㅍ"),
['ᅀ'] = G("ㅅㅎ"), -- hack
['ᄋ'] = G("ㅇ"),
['ᅇ'] = G("ㅇㅇ"),
['ᅌ'] = G("ㅇㅎ"), -- hack
['ᄌ'] = G("ㅈ"),
['ᄍ'] = G("ㅈㅈ"),
['ᄎ'] = G("ㅊ"),
['ᄏ'] = G("ㅋ"),
['ᄐ'] = G("ㅌ"),
['ᄑ'] = G("ㅍ"),
['ᄒ'] = G("ㅎ"),
['ᅘ'] = G("ㅎㅎ"),
['ᅙ'] = G("ㆆ"),
}
local medials = {
['ᅡ'] = G("ㅏ"),
['ᅢ'] = G("ㅐ"),
['ᅣ'] = G("ㅑ"),
['ᅤ'] = G("ㅒ"),
['ᅥ'] = G("ㅓ"),
['ᅦ'] = G("ㅔ"),
['ᅧ'] = G("ㅕ"),
['ᅨ'] = G("ㅖ"),
['ᅩ'] = G("ㅗ"),
['ᅪ'] = G("ㅗㅏ"),
['ᅫ'] = G("ㅗㅐ"),
['ᅬ'] = G("ㅗㅣ"),
['ᅭ'] = G("ㅛ"),
['ᆄ'] = G("ㅛㅑ"),
['ᆅ'] = G("ㅛㅒ"),
['ᆈ'] = G("ㅛㅣ"),
['ᅮ'] = G("ㅜ"),
['ᅯ'] = G("ㅜㅓ"),
['ᅰ'] = G("ㅜㅔ"),
['ᅱ'] = G("ㅜㅣ"),
['ᅲ'] = G("ㅠ"),
['ᆑ'] = G("ㅠㅕ"),
['ᆒ'] = G("ㅠㅖ"),
['ᆔ'] = G("ㅠㅣ"),
['ᅳ'] = G("ㅡ"),
['ᅴ'] = G("ㅡㅣ"),
['ᅵ'] = G("ㅣ"),
['ᆞ'] = G("ㆍ"),
['ᆡ'] = G("ㆍㅣ"),
}
prefix = us.char(0x318F)
local final_consonants = {
['ᆨ'] = G("ㄱ"),
['ᆩ'] = G("ㄱㄱ"),
['ᆪ'] = G("ㄱㅅ"),
['ᆫ'] = G("ㄴ"),
['ᇆ'] = G("ㄴㄷ"),
['ᇇ'] = G("ㄴㅅ"),
['ᇈ'] = G("ㄴㅅㅎ"), -- hack
['ᆬ'] = G("ㄴㅈ"),
['ᇉ'] = G("ㄴㅌ"),
['ᆭ'] = G("ㄴㅎ"),
['ᆮ'] = G("ㄷ"),
['ᆯ'] = G("ㄹ"),
['ᆰ'] = G("ㄹㄱ"),
['ᇌ'] = G("ㄹㄱㅅ"),
['ᆱ'] = G("ㄹㅁ"),
['ᆲ'] = G("ㄹㅂ"),
['ᆳ'] = G("ㄹㅅ"),
['ᇗ'] = G("ㄹㅅㅎ"), -- hack
['ᆴ'] = G("ㄹㅌ"),
['ᆵ'] = G("ㄹㅍ"),
['ᆶ'] = G("ㄹㅎ"),
['ᇙ'] = G("ㄹㆆ"),
['ᆷ'] = G("ㅁ"),
['ᇚ'] = G("ㅁㄱ"),
['ᇜ'] = G("ㅁㅂ"),
['ᇝ'] = G("ㅁㅅ"),
['ᇟ'] = G("ㅁㅅㅎ"),
['ᇠ'] = G("ㅁㅊ"),
['ᆸ'] = G("ㅂ"),
['ᇣ'] = G("ㅂㄹ"),
['ᆹ'] = G("ㅂㅅ"),
['ᆺ'] = G("ㅅ"),
['ᇧ'] = G("ㅅㄱ"),
['ᇨ'] = G("ㅅㄷ"),
['ᆻ'] = G("ㅅㅅ"),
['ᇫ'] = G("ㅅㅎ"), -- hack
['ᆼ'] = G("ㅇ"),
['ᇰ'] = G("ㅇㅎ"), -- hack
['ᇱ'] = G("ㅇㅎㅅ"), -- hack
['ᆽ'] = G("ㅈ"),
['ᆾ'] = G("ㅊ"),
['ᆿ'] = G("ㅋ"),
['ᇀ'] = G("ㅌ"),
['ᇁ'] = G("ㅍ"),
['ᇂ'] = G("ㅎ"),
}
function export.makeSortKey(text, lang, sc)
text = us.toNFD(text)
text, _ = us.gsub(text, '.', initial_consonants)
text, _ = us.gsub(text, '.', medials)
text, _ = us.gsub(text, '.', final_consonants)
return text
end
return export
6z2wlzu6u7ua9o079ehjjb2doqw1iyn
Modul:omk-translit
828
148132
379489
2026-10-18T03:49:45Z
Hakimi97
2668
Import Lua from [[en:Module:omk-translit]] (oldid=84628810); preserve attribution
379489
Scribunto
text/plain
local u = require("Module:string/char")
local ACUTE = u(0x0301)
local MACRON = u(0x0304)
local DOTABOVE = u(0x0307)
local DIAER = u(0x0308)
local CARON = u(0x030C)
local str_gsub, ugsub = string.gsub, mw.ustring.gsub
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local UTF8char = '[\1-\127\194-\244][\128-\191]*'
local export = {}
local tab = {
["А"]='A', ["а"]='a', ["Б"]='B', ["б"]='b', ["В"]='W', ["в"]='w', ["Г"]='G', ["г"]='g',
["Д"]='D', ["д"]='d', ["Е"]='Je', ["е"]='je', ["Ё"]='Jo', ["ё"]='jo', ["Ж"]='Ž', ["ж"]='ž',
["З"]='Z', ["з"]='z', ["І"]='Ï', ["і"]='ï', ["И"]='I', ["и"]='i', ["Й"]='J', ["й"]='j',
["К"]='K', ["к"]='k', ["Л"]='L', ["л"]='l', ["М"]='M', ["м"]='m', ["Н"]='N', ["н"]='n',
["О"]='O', ["о"]='o', ["П"]='P', ["п"]='p', ["Р"]='R', ["р"]='r', ["С"]='S', ["с"]='s',
["Т"]='T', ["т"]='t', ["У"]='U', ["у"]='u', ["Ф"]='F', ["ф"]='f', ["Х"]='Q', ["х"]='q',
["Ц"]='C', ["ц"]='c', ["Ч"]='Č', ["ч"]='č', ["Ш"]='Š', ["ш"]='š', ["Щ"]='Ś', ["щ"]='ś',
["Ъ"]='ʺ', ["ъ"]='ʺ', ["Ы"]='Y', ["ы"]='y', ["Ь"]='ʹ', ["ь"]='ʹ', ["Э"]='E', ["э"]='e',
["Ю"]='Ju', ["ю"]='ju', ["Я"]='ja', ["я"]='ja', ["Ѣ"]='Ě', ["ѣ"]='ě',
}
local other = {
{ 'Аа', 'Ā' }, { 'аа', 'ā' }, --long "а"
{ 'Ее', 'Jē'}, { 'ее', 'jē'}, --long "е"
{ 'Ии', 'Ī' }, { 'ии', 'ī' }, --long "и"
{ 'Оо', 'Ō' }, { 'оо', 'ō' }, --long "о"
{ 'Уу', 'Ū' }, { 'уу', 'ū' }, --long "у"
{ 'Ээ', 'Ē' }, { 'ээ', 'ē' }, --long "э"
{ 'Ъ%-', '%-' }, { 'ъ%-', '%-' }, --final "ъ"
{ 'Ъ ', ' ' }, { 'ъ ', ' ' }, --final "ъ"
{ 'Ъ$', '' }, { 'ъ$', '' }, --final "ъ"
{ '([БВГДЖЗЙКЛМНПРСТФХЦЧШЩбвгджзйклмнпрстфхцчшщ])Е', '%1E'}, --post-consonantal E
{ '([БВГДЖЗЙКЛМНПРСТФХЦЧШЩбвгджзйклмнпрстфхцчшщ])е', '%1e'}, --post-consonantal e
{ '([БВГДЖЗЙКЛМНПРСТФХЦЧШЩбвгджзйклмнпрстфхцчшщ])Ее', '%1Ē'}, --post-consonantal long E
{ '([БВГДЖЗЙКЛМНПРСТФХЦЧШЩбвгджзйклмнпрстфхцчшщ])ее', '%1ē'}, --post-consonantal long e
}
function export.tr(text, lang, sc)
for i, replacement in ipairs(other) do
text = str_gsub(text, unpack(replacement))
end
return (str_gsub(text, UTF8char, tab))
end
return export
afte3utj73whx92hgw9uxq5b2v95uip
Modul:ota-Armn-translit
828
148133
379490
2026-10-18T03:50:51Z
Hakimi97
2668
Import Lua from [[en:Module:ota-Armn-translit]] (oldid=85024436); preserve attribution
379490
Scribunto
text/plain
local export = {}
-- Used to transliterate the [[w:Armeno-Turkish alphabet]]
local gsub = require("Module:string utilities").gsub
local mapping = {
["ա"]="a", ["գ"]="k", ["ե"]="y", ["զ"]="z", ["է"]="e", ["ը"]="ı",
["թ"]="t", ["ժ"]="j", ["ի"]="i", ["լ"]="l", ["խ"]="h", ["կ"]="g", ["հ"]="h",
["ղ"]="ğ", ["ճ"]="c", ["մ"]="m", ["յ"]="y", ["ն"]="n", ["շ"]="ş", ["ո"]="o",
["չ"]="ç", ["պ"]="b", ["ս"]="s", ["վ"]="v", ["տ"]="d", ["ր"]="r",
["փ"]="p", ["ք"]="k", ["և"]="ew", ["օ"]="o", ["ֆ"]="f",
["Ա"]="A", ["Գ"]="K", ["Ե"]="Y", ["Զ"]="Z", ["Է"]="E", ["Ը"]="I",
["Թ"]="T", ["Ժ"]="J", ["Ի"]="İ", ["Լ"]="L", ["Խ"]="H", ["Կ"]="G", ["Հ"]="H",
["Ղ"]="Ğ", ["Ճ"]="C", ["Մ"]="M", ["Յ"]="Y", ["Ն"]="N", ["Շ"]="Ş", ["Ո"]="O",
["Չ"]="Ç", ["Պ"]="B", ["Ս"]="S", ["Վ"]="V", ["Տ"]="D", ["Ր"]="R",
["Փ"]="P", ["Ք"]="K", ["Օ"]="O", ["Ֆ"]="F",
-- turning RIGHT SINGLE QUOTATION MARK (U+2019) into MODIFIER LETTER APOSTROPHE (U+02BC)
-- the encoding ARMENIAN APOSTROPHE (U+055A) is dispreferred by the Unicode standard
["’"]="ʼ",
-- not used in Turkish words
["բ"]="p", ["դ"]="t", ["ծ"]="dz", ["ձ"]="ts", ["ջ"]="ç", ["ռ"]="r", ["ց"]="ts",
["Բ"]="P", ["Դ"]="T", ["Ծ"]="Dz", ["Ձ"]="Ts", ["Ջ"]="Ç", ["Ռ"]="R", ["Ց"]="Ts",
-- punctuation
["՝"]=",", ["։"]=".", ["․"]=";", ["՛"]="́", ["՜"]="<sup>!</sup>", ["՞"]="<sup>?</sup>",
["՟"]=".", ["֊"]="-", ['«']='“', ['»']='”',
}
local replacements = {
['([ՔԿ])ԵԱ'] = '%1Â',
['([ՔքԿկ])եա'] = '%1â', -- լեա is lya
['Ո[ւՒ]'] = 'U',
['ու'] = 'u',
['Ի[ւՒ]'] = 'Ü',
['իւ'] = 'ü',
['Է[օՕ]'] = 'Ö',
['էօ'] = 'ö',
['Ո՛[ւՒ]'] = 'Ú',
['ո՛ւ'] = 'ú',
['Ո՜[ւՒ]'] = 'U<sup>!</sup>',
['ո՜ւ'] = 'u<sup>!</sup>',
['Ո՞[ւՒ]'] = 'U<sup>?</sup>',
['ո՞ւ'] = 'u<sup>?</sup>',
-- ['Ն[ԿՂ]'] = 'Ñ', these cannot be handled automatically
-- ['ն[կղ]'] = 'ñ', these cannot be handled automatically
}
function export.tr(text, lang, sc)
if sc and sc ~= "Armn" then
return nil
end
for regex, replacement in pairs(replacements) do
text = gsub(text, regex, replacement)
end
text = gsub(text, '.', mapping)
return text
end
return export
f9iwg5kz5g8ymvrxkzr8ajy2oz8uo8s
Modul:pi-translit
828
148134
379491
2026-10-18T03:51:57Z
Hakimi97
2668
Import Lua from [[en:Module:pi-translit]] (oldid=79050643); preserve attribution
379491
Scribunto
text/plain
local m_str_utils = require("Module:string utilities")
local gsub = m_str_utils.gsub
local match = m_str_utils.match
local u = m_str_utils.char
local export = {}
function export.trwo(text, lang, sc, options)
if (sc == 'Brah') then
text = require('Module:Brah-translit').tr(text, lang, sc)
elseif (sc == 'Deva') then
text = require('Module:sa-translit').tr(text, lang, sc)
elseif (sc == 'Sinh') then
text = require('Module:si-translit').tr(text, lang, sc)
elseif sc == 'Beng' or sc == 'Mymr' or sc == 'Lana' or sc == 'Khmr'
or sc == 'Thai' or sc == 'Laoo'
then
local function dc(x) -- Use this to make marks legible. The name 'dc' means 'drop carrier'.
return gsub(x, "[𑀓कকකကกᨠកກ]", "") -- These are the letter ka in the 9 supported Indic scripts.
end
local consonants = { -- And parts 1 of NFC-multipart independent vowels!
-- Bengali
['ক']='k', ['খ']='kh', ['গ']='g', ['ঘ']='gh', ['ঙ']='ṅ',
['চ']='c', ['ছ']='ch', ['জ']='j', ['ঝ']='jh', ['ঞ']='ñ',
['ট']='ṭ', ['ঠ']='ṭh', ['ড']='ḍ', ['ঢ']='ḍh', ['ণ']='ṇ',
['ত']='t', ['থ']='th', ['দ']='d', ['ধ']='dh', ['ন']='n',
['প']='p', ['ফ']='ph', ['ব']='b', ['ভ']='bh', ['ম']='m',
['য']='y', ['র']='r', ['ল']='l', ['ল়']='ḷ', -- xx['व']='v',
['শ']='ś', ['ষ']='ṣ', ['স']='s', ['হ']='h',
['ৰ']='v', ['ৰ'..u(0x200d)]='v', ['ৱ'] = 'v',
-- Myanmar
['က']='k', ['ခ']='kh', ['ဂ']='g', ['ဃ']='gh', ['င']='ṅ',
['စ']='c', ['ဆ']='ch', ['ဇ']='j', ['ဈ']='jh', ['ဉ']='ñ',
['ဋ']='ṭ', ['ဌ']='ṭh', ['ဍ']='ḍ', ['ဎ']='ḍh', ['ဏ']='ṇ',
['တ']='t', ['ထ']='th', ['ဒ']='d', ['ဓ']='dh', ['န']='n',
['ပ']='p', ['ဖ']='ph', ['ဗ']='b', ['ဘ']='bh', ['မ']='m',
['ယ']='y', ['ရ']='r', ['လ']='l', ['ဝ']='v', ['ဠ']='ḷ',
['ၐ']='ś', ['ၑ']='ṣ', ['သ']='s', ['ဟ']='h',
['ည']='ññ', ['ဿ']='ss', ['အ'] = 'ʼ',
-- Subscript consonants: 103B..103E, 105E..1060
[dc('ကျ')]='y', [dc('ကြ')]='r', [dc('ကွ')]='v', [dc('ကှ')]='h',
[dc('ကၞ')]='n', [dc('ကၟ')]='m', [dc('ကၠ')]='l',
-- Mon Pali consonants
['ၚ']='ṅ', ['ၛ']='jh',
-- Shan (Pali) consonants - Excludes SHAN THA, MEDIAL WA, SIGN SHAW
['ၵ']='k', ['ၶ']='kh', ['ၷ']='g', ['ꧠ']='gh', -- ['']='ṅ',
['ၸ']='c', ['ꧡ']='ch', ['ၹ']='j', ['ꧢ']='jh', ['ၺ']='ñ',
['ꩦ']='ṭ', ['ꩧ']='ṭh', ['ꩨ']='ḍ', ['ꩩ']='ḍh', ['ꧣ']='ṇ',
-- ['']='t', ['']='th',
['ၻ']='d', ['ꩪ']='dh', ['ၼ']='n',
-- ['']='p',
['ၽ']='ph', ['ၿ']='b', ['ꧤ']='bh', -- ['']='m',
-- ['']='y', ['']='r', ['']='l', ['']='v',
['ꩮ']='ḷ',
-- ['']='ś', ['']='ṣ', ['']='s',
['ႁ']='h',
-- ['']='ññ', ['']='ss',
['ဢ'] = 'ʼ',
-- Other first parts of independent vowels.
['ဣ']='i', ['ဥ']='u',
-- Lanna
['ᨠ']='k', ['ᨡ']='kh', ['ᨣ']='g', ['ᨥ']='gh', ['ᨦ']='ṅ',
['ᨧ']='c', ['ᨨ']='ch', ['ᨩ']='j', ['ᨫ']='jh', ['ᨬ']='ñ',
['ᨭ']='ṭ', ['ᨮ']='ṭh', ['ᨯ']='ḍ', ['ᨰ']='ḍh', ['ᨱ']='ṇ',
['ᨲ']='t', ['ᨳ']='th', ['ᨴ']='d', ['ᨵ']='dh', ['ᨶ']='n',
['ᨷ']='p', ['ᨸ']='p', ['ᨹ']='ph', ['ᨻ']='b', ['ᨽ']='bh', ['ᨾ']='m',
['ᨿ']='y', ['ᩁ']='r', ['ᩃ']='l', ['ᩅ']='v', ['ᩊ']='ḷ',
['ᩆ']='ś', ['ᩇ']='ṣ', ['ᩈ']='s', ['ᩉ']='h',
['ᩔ'] = 'ss', ['ᩋ'] = 'ʼ', ['ᩐ'] = 'ū',
-- Subscript consonants: 1A55, 1A56, 1A5B to 1A5E
[dc('ᨠᩕ')]='r', [dc('ᨠᩖ')]='l', [dc('ᨠᩛ')]='ṭh', [dc('ᨠᩜ')]='m',
[dc('ᨠᩝ')]='p', [dc('ᨠᩞ')]='s',
-- Khmer
['ក']='k', ['ខ']='kh', ['គ']='g', ['ឃ']='gh', ['ង']='ṅ',
['ច']='c', ['ឆ']='ch', ['ជ']='j', ['ឈ']='jh', ['ញ']='ñ',
['ដ']='ṭ', ['ឋ']='ṭh', ['ឌ']='ḍ', ['ឍ']='ḍh', ['ណ']='ṇ',
['ត']='t', ['ថ']='th', ['ទ']='d', ['ធ']='dh', ['ន']='n',
['ប']='p', ['ផ']='ph', ['ព']='b', ['ភ']='bh', ['ម']='m',
['យ']='y', ['រ']='r', ['ល']='l', ['វ']='v', ['ឡ']='ḷ',
['ឝ']='ś', ['ឞ']='ṣ', ['ស']='s', ['ហ']='h', ['អ'] = 'ʼ',
-- Thai
['ก']='k', ['ข']='kh', ['ค']='g', ['ฆ']='gh', ['ง']='ṅ',
['จ']='c', ['ฉ']='ch', ['ช']='j', ['ฌ']='jh', ['ญ']='ñ',
['ฏ']='ṭ', ['ฐ']='ṭh', ['ฑ']='ḍ', ['ฒ']='ḍh', ['ณ']='ṇ',
['ต']='t', ['ถ']='th', ['ท']='d', ['ธ']='dh', ['น']='n',
['ป']='p', ['ผ']='ph', ['พ']='b', ['ภ']='bh', ['ม']='m',
['ย']='y', ['ร']='r', ['ล']='l', ['ว']='v', ['ฬ']='ḷ',
['ศ']='ś', ['ษ']='ṣ', ['ส']='s', ['ห']='h', ['อ'] = '', -- ['อ'] = 'ʼ',
-- Lao
['ກ']='k', ['ຂ']='kh', ['ຄ']='g', ['ຆ']='gh', ['ງ']='ṅ',
['ຈ']='c', ['ຉ']='ch', ['ຊ']='j', ['ຌ']='jh', ['ຎ']='ñ',
['ຏ']='ṭ', ['ຐ']='ṭh', ['ຑ']='ḍ', ['ຒ']='ḍh', ['ຓ']='ṇ',
['ຕ']='t', ['ຖ']='th', ['ທ']='d', ['ຘ']='dh', ['ນ']='n',
['ປ']='p', ['ຜ']='ph', ['ພ']='b', ['ຠ']='bh', ['ມ']='m',
['ຍ']='y', ['ຢ']='y', ['ຣ']='r', ['ລ']='l', ['ວ']='v', ['ຬ']='ḷ',
['ຨ']='ś', ['ຩ']='ṣ', ['ສ']='s', ['ຫ']='h', ['ອ'] = '', -- ['ອ'] = 'ʼ',
-- ['ດ']='D', ['ບ']='B' -- Characters that appear but should be converted to others.
}
local diacritics = {
-- Bengali - only NFC needed
[dc('কা')]='ā', [dc('কি')]='i', [dc('কী')]='ī', [dc('কু')]='u', [dc('কূ')]='ū', [dc('কৃ')]='ṛ', [dc('কৄ')]='ṝ',
[dc('কৢ')]='ḷ', [dc('কৣ')]='ḹ', [dc('কে')]='e', [dc('কৈ')]='ai', [dc('কো')]='o', [dc('কৌ')]='au', [dc('ক্')]='',
-- Myanmar
[dc('ကာ')]='ā', [dc('ကါ')]='ā', [dc('ကိ')]='i', [dc('ကီ')]='ī', [dc('ကု')]='u', [dc('ကူ')]='ū',
[dc('ကၖ')]='ṛ', [dc('ကၗ')]='ṝ', [dc('ကၘ')]='ḷ', [dc('ကၙ')]='ḹ',
[dc('ကေ')]='e', [dc('ကဲ')]='ai',
-- The following are multicharacter!
[dc('ကော')]='o', [dc('ကော်')]='au', [dc('က်က္')]='', [dc('ကေါ')]='o', [dc('ကေါ်')]='au',
[dc('က္')]='', [dc('က်')]='',
-- Mon - treatment of Sanskrit au is to be determined!
[dc('ကဳ')]='ī',
-- Shan
[dc('ကႃ')]='ā', [dc('ကေႃ')]='o',
-- Lanna
[dc('ᨠᩣ')]='ā', [dc('ᨠᩤ')]='ā', [dc('ᨠᩥ')]='i', [dc('ᨠᩦ')]='ī', [dc('ᨠᩩ')]='u', [dc('ᨠᩪ')]='ū',
['ᩂ']='ṛ', ['ᩄ']='ḷ', -- Syllabic consonants may be very wrong!
[dc('ᨠᩮ')]='e', [dc('ᨠᩱ')]='ai', [dc('ᨠᩰ')]='o',
-- The next two rows are are multicharacter!
[dc('ᨠᩮᩣ')]='o', [dc('ᨠᩮᩢᩣ')]='au', [dc('ᨠᩮᩫᩢᩣ')]='au', [dc('ᨠᩮᩫᩣ')] = 'au',
[dc('ᨠᩮᩤ')]='o', [dc('ᨠᩮᩢᩤ')]='au', [dc('ᨠᩮᩫᩢᩤ')]='au', [dc('ᨠᩮᩫᩤ')] = 'au',
[dc('ᨠ᩠')]='', [dc('ᨠ᩺')]='', [dc('ᨠ᩼')]='',
-- Khmer
[dc('កា')]='ā', [dc('កិ')]='i', [dc('កី')]='ī', [dc('កុ')]='u', [dc('កូ')]='ū',
[dc('ក្ឫ')]='ṛ', [dc('ក្ឬ')]='ṝ', [dc('ក្ឭ')]='ḷ', [dc('ក្ឮ')]='ḹ', -- Multipart
[dc('កេ')]='e', [dc('កៃ')]='ai', [dc('កោ')]='o', [dc('កៅ')]='au', [dc('ក្')]='', [dc('ក៑')]='',
-- Thai
[dc('กั')]='a', ['า']='ā', [dc('กิ')]='i', [dc('กี')]='ī', [dc('กุ')]='u', [dc('กู')]='ū',
['ฤ']='ṛ', ['ฤๅ']='ṝ', ['ฦ']='ḷ', ['ฦๅ']='ḹ', -- Multipart
['เ']='e', ['ไ']='ai', ['โ']='o', ['เา']='au', [dc('กฺ')]='', [dc('ก์')]='', ['ะ']='a',
[dc('กึ')]='iṃ', -- Induced by jackbooted I/O
-- Lao
[dc('ກັ')]='a', ['າ']='ā', [dc('ກິ')]='i', [dc('ກີ')]='ī', [dc('ກຸ')]='u', [dc('ກູ')]='ū',
-- ['ฤ']='ṛ', ['ฤๅ')]='ṝ', ['ฦ']='ḷ', ['ฦๅ']='ḹ', -- Multipart
['ເ']='e', ['ໄ']='ai', ['ໂ']='o', [dc('ເກົາ')]='au', [dc('ກ຺')]='', [dc('ກ໌')]='',
['ະ']='a',
[dc('ກຶ')]='iṃ', -- Induced by jackbooted I/O
-- Results of subscripts - for 2nd level special subscripts.
['ṭ']='ṭ', ['n']='n', ['p']='p', ['m']='m',
['y']='y', ['r']='r', ['l']='l', ['w']='w', ['s']='s', ['h']='h',
}
local tt = {
-- Bengali independent vowels
['অ']='a', ['আ']='ā', ['ই']='i', ['ঈ']='ī', ['উ']='u', ['ঊ']='ū', ['ঋ']='ṛ', ['ৠ']='ṝ',
['ঌ']='ḷ', ['ৡ']='ḹ', ['এ']='e', ['ঐ']='ai', ['ও']='o', ['ঔ']='au',
-- chandrabindu, anusvara, visarga & avagraha
[dc('কঁ')]='m̐', [dc('কং')]='ṃ', ['ঃ']='ḥ', ['ঽ']='’',
--numerals
['০']='0', ['১']='1', ['২']='2', ['৩']='3', ['৪']='4', ['৫']='5', ['৬']='6', ['৭']='7', ['৮']='8', ['৯']='9',
-- Myanmar independent vowels
['အ']='a', ['အာ']='ā', ['ဣ']='i', ['ဤ']='ī', ['ဥ']='u', ['ဦ']='ū', ['ၒ']='ṛ', ['ၓ']='ṝ',
['ၔ']='ḷ', ['ၕ']='ḹ', ['ဧ']='e', ['အဲ']='ai', ['ဩ']='o', ['ဪ']='au', -- 2 of these are multi-character keys!
-- Mon
['ဣဳ'] = 'ī', ['ဥု'] = 'ū', ['ဨ'] = 'e',
-- Shan
['ဢ'] = 'a', ['ဢႃ'] = 'ā', ['ဢိ'] = 'i', ['ဢီ'] = 'ī', ['ဢု'] = 'u', ['ဢူ'] = 'ū',
['ဢေ'] = 'e', ['ဢေႃ'] = 'o', ['ဢဲ'] = 'ai', ['ဢော်'] = 'au',
-- chandrabindu, anusvara, visarga & avagraha
-- [dc('က')]='m̐',
[dc('ကံ')]='ṃ', ['း']='ḥ',
-- ['']='’',
--numerals
['၀']='0', ['၁']='1', ['၂']='2', ['၃']='3', ['၄']='4', ['၅']='5', ['၆']='6', ['၇']='7', ['၈']='8', ['၉']='9',
-- Lanna independent vowels
['ᩋ']='a', ['ᩋᩣ']='ā', ['ᩍ']='i', ['ᩎ']='ī', ['ᩏ']='u', ['ᩐ']='ū', ['ᩂ']='ṛ', -- ['']='ṝ',
['ᩄ']='ḷ',
-- ['']='ḹ',
['ᩑ']='e', ['ᩒ']='o', ['ᩋᩰ'] = 'o', ['ᩋᩮᩣ']='o', ['ᩐᩣ'] = 'au', ['ᩋᩱ'] = 'ai',
-- ['']='ai', ['']='au',
-- chandrabindu, anusvara, visarga & avagraha
-- [dc('')]='m̐',
[dc('ᨠᩴ')]='ṃ', ['ᩡ']='ḥ', [dc('ᨠᩘ')]='ṅ',
-- ['']='’',
--numerals
['᪀']='0', ['᪁']='1', ['᪂']='2', ['᪃']='3', ['᪄']='4', ['᪅']='5', ['᪆']='6', ['᪇']='7', ['᪈']='8', ['᪉']='9',
['᪐']='0', ['᪑']='1', ['᪒']='2', ['᪓']='3', ['᪔']='4', ['᪕']='5', ['᪖']='6', ['᪗']='7', ['᪘']='8', ['᪙']='9',
-- Khmer independent vowels
['អ']='a', ['អា']='ā', ['ឥ']='i', ['ឦ']='ī', ['ឧ']='u', ['ឨ']='ū', ['ឫ']='ṛ', ['ឬ']='ṝ',
['ឭ']='ḷ', ['ឮ']='ḹ', ['ឯ']='e', ['ឰ']='ai', ['ឱ']='o', ['ឲ']='o', ['ឳ']='au',
-- chandrabindu, anusvara, visarga & avagraha
-- [dc('ក')]='m̐',
[dc('កំ')]='ṃ', ['ះ']='ḥ',
-- ['']='’',
--numerals
['០']='0', ['១']='1', ['២']='2', ['៣']='3', ['៤']='4', ['៥']='5', ['៦']='6', ['៧']='7', ['៨']='8', ['៩']='9',
['៰']='0', ['៱']='1', ['៲']='2', ['៳']='3', ['៴']='4', ['៵']='5', ['៶']='6', ['៷']='7', ['៸']='8', ['៹']='9',
-- Thai miscellanea
-- independent vowels
['ฤ']='ṛ', ['ฤๅ']='ṝ', ['ฦ']='ḷ', ['ฦๅ']='ḹ',
-- chandrabindu, anusvara, visarga & avagraha
-- [dc('ក')]='m̐',
[dc('กํ')]='ṃ', ['ะ']='ḥ',
-- ['']='’',
--numerals
['๐']='0', ['๑']='1', ['๒']='2', ['๓']='3', ['๔']='4', ['๕']='5', ['๖']='6', ['๗']='7', ['๘']='8', ['๙']='9',
-- Lao miscellanea
-- chandrabindu, anusvara, visarga & avagraha
-- [dc('ក')]='m̐',
[dc('ກໍ')]='ṃ', ['ະ']='ḥ',
-- ['']='’',
--numerals
['໐']='0', ['໑']='1', ['໒']='2', ['໓']='3', ['໔']='4', ['໕']='5', ['໖']='6', ['໗']='7', ['໘']='8', ['໙']='9',
-- All scripts
--punctuation
['॥']='.', ['။']='.', ['᪩']='.', ['᪫']='.', ['៕']='.', ['๚']='.', --double danda
['।']='.', ['၊']='.', ['᪨']='.', ['᪪']='.', ['។']='.', ['ฯ']='.', ['ຯ']='.', --danda
--Vedic extensions
['ᳵ']='x', ['ᳶ']='f',
--Om
-- ['ॐ']='oṃ',
--reconstructed
['*'] = '',
}
-- Also handle subscript consonants encoded as marks.
local S = dc('ကျကြကွကှကၞကၟကၠ').. -- Myanmar subscripts
dc('ᨠᩕᨠᩖᨠᩛᨠᩜᨠᩝᨠᩞ') -- Lanna subscripts
-- consonants and part 1 of NFC-multi-part independent vowels.
local C = '[কখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযরলवळশষসহৰৱ'.. -- Bengali
'ကခဂဃငစဆဇဈဉဋဌဍဎဏတထဒဓနပဖဗဘမယရလဝဠၐၑသဟညဿအ'.. -- Myanmar Part 1
'ၚၛၵၶၷꧠၸꧡၹꧢၺꩦꩧꩨꩩꧣၻꩪၼၽၿꧤꩮႁဢဣဥ'.. -- Myanmar Part 2 (Mon and Shan)
'ᨠᨡᨣᨥᨦᨧᨨᨩᨫᨬᨭᨮᨯᨰᨱᨲᨳᨴᨵᨶᨷᨸᨹᨻᨽᨾᨿᩁᩃᩅᩊᩆᩇᩈᩉᩔᩋᩐ'.. -- Lanna
'កខគឃងចឆជឈញដឋឌឍណតថទធនបផពភមយរលវឡឝសឞហអ'.. -- Khmer
'กขคฆงจฉชฌญฏฐฑฒณตถทธนปผพภมยรลวศษสหฬอฤฦ'.. -- Thai.
'ກຂຄຆງຈຉຊຌຎຏຐຑຒຓຕຖທຘນປຜພຠມຍຢຣລວຨຩສຫຬອ'.. -- Lao
'ດບ'.. -- Backstop for Lao
S..']['..u(0x09bc, 0x200d)..']?' -- And allow Bengali nukta or necessary ZWJ.
-- One character diacritics
local dia =
dc('[কাকিকীকুকূকৃকৄকৢকৣকেকৈকোকৌক্'.. -- Bengali
'ကာကါကိကီကုကူကၖကၗကၘကၙကေကဲက္က်ကဳကႃ'.. -- Myanmar
'ᨠᩣᨠᩤᨠᩥᨠᩦᨠᩩᨠᩪᩂᩄᨠᩮᨠᩱᨠᩰᨠ᩠ᨠ᩺ᨠ᩼'.. -- Lanna
'ᨠᩫᩢ'.. -- Lanna diacritics in second or third place.
'កាកិកីកុកូកេកៃកោកៅក្ក៑'.. -- Khmer
'กักุิกูีเโไาๅฤฦกฺกึก์'.. -- Thai
'ກັກຸິກູີເກົາໂໄກ຺ກຶກ໌'.. -- Lao
']')
local diax = {}
local ti = table.insert;
ti(diax, '(')
ti(diax, dia) ti(diax, '?')
ti(diax, dia) ti(diax, '?')
ti(diax, dia) ti(diax, '?')
ti(diax, dia) ti(diax, '?)')
diax = table.concat(diax)
local explicit = nil
if options and options.impl then
if options.impl == 'yes' then
explicit = false
elseif options.impl == 'no' then
explicit = true
end
end
if sc == 'Khmr' then
dep_liquid = '('..C..dc(')(ក្)')..'([ឫឬឭឮ])'; -- Avoid gsub in gsub bug.
text = gsub(
text, dep_liquid,
function(c, j, d) return consonants[c]..d end
)
-- Regularise robat
robat_fix3 = '('..C..dc('ក្')..C..dc('ក្')..C..')('..dc('ក៌)')
robat_fix2 = '('..C..dc('ក្')..C..')('..dc('ក៌)')
robat_fix1 = '('..C..')('..dc('ក៌)')
derobatted = 'រ្'..'%1'
text = gsub(text, robat_fix3, derobatted)
text = gsub(text, robat_fix2, derobatted)
text = gsub(text, robat_fix1, derobatted)
elseif sc == 'Thai' or sc == 'Laoo' then
local v1 = dc('[กัກັ]')
local v2 = dc('[กัะກັະ]')
local va = dc('[กฺ]')
if lang == 'sa' then
if match(text, v1) then explicit = true end -- SARA A is visarga!
else
if match(text, v2) then explicit = true end
end
local yLao, nuktaed
if sc == 'Laoo' then
if options and options.y then
if options.y == 'yaa' or options.y == 'ຢ' then
yLao = 'yaa'
elseif options.y == 'yung' or options.y == 'ຍ' then
yLao = 'yung'
end
end
if not yLao then
if match(text, 'ຢ') then
yLao = 'yaa'
else
yLao = 'yung'
end
end
if explicit then
nuktaed = match(text, u(0xeba))
else
local str
if lang == 'sa' then
str = dc('ກ຺[ກັາກຸິກູີ]')
else
str = dc('ກ຺[ກັາກຸິກູີະ]')
end
nuktaed = match(text, str)
end
if nuktaed then -- Convert to extended alphabet
rs = {
["ຄ຺"] = "ຆ", ["ສ຺"] = "ຉ", ["ຊ຺"] = "ຌ", ["ຍ຺"] = "ຎ",
["ຕ຺"] = "ຏ", ["ຖ຺"] = "ຐ", ["ດ"] = "ຑ", ["ນ຺"] = "ຓ",
["ທ຺"] = "ຘ", ["ພ຺"] = "ຠ", ["ລ຺"] = "ຬ", ["ງ຺"] = dc("ໍກ"),
}
text = gsub(text, '[ຄສຊຍຕຖດນທພລງ]'..u(0xeba)..'?', rs)
explicit = true
end
if yLao == 'yaa' then text = gsub(text, 'ຍ', 'ຎ') end
end
if match(text, va) then explicit = false end
if explicit == nil then
-- It looks as though gsub (from dc()) and match interfere, so need local variables.
local ngf1=dc('[กักิกุກັກິກຸ][งງ]$')
local ngf2=dc('[กักิกุກັກິກຸ][งງ] ')
if (match(text, ngf1) or match(text, ngf2)) then explicit = true end
end
if not explicit then
diax = gsub(diax, '[ฤฦ]', 'า') -- Treat as ฤ and ฦ consonants.
local search = '([เโไເໂໄ])('..C..')(['..u(0x0e3a, 0xeba)..'])'
local longswap = function(p, c, v) return c..v..p end
text = gsub(text, search, longswap)
text = gsub(text, search, longswap)
end
if false and sc == 'Laoo' then -- Keep around for future debugging
local nr = 'F'
if nuktaed then nr = 'T' end
if yLao then
nr = nr .. yLao
else
nr = nr .. 'y?'
end
nr = nr .. '-'
if not options or not options.impl then
if explicit == nil then
text = 'GN-'..nr..text
elseif explicit == false then
text = 'GI-'..nr..text
else
text = 'GE-'..nr..text
end
elseif options.impl == 'both' then
if explicit == nil then
text = 'N-'..nr..text
elseif explicit == false then
text = 'I-'..nr..text
else
text = 'E-'..nr..text
end
elseif options.impl == 'yes' then
text = 'Y-'..nr..text
elseif options.impl == 'no' then
text = 'N-'..nr..text
elseif options.impl then
text = options.impl .. nr .. text
end
end
local pair = '([เโไເໂໄ])('..C..')'
text = gsub(text, pair, '%2%1')
if explicit and lang ~= 'sa' then -- SARA A is a vowel.
diax = '([ะະ'..string.sub(diax,3)
end
if explicit and sc == 'Laoo' then -- Clean up clusters
ass = {
["ກຄ"] = "ຄຄ", ["ດຈ"] = "ຈຈ", ["ດຊ"] = "ຊຊ", ["ດມ"] = "ສມ",
["ດຕ"] = "ຕຕ", ["ດຖ"] = "ຕຖ", ["ດທ"] = "ທທ", ["ດສ"] = "ສສ",
["ຍຈ"] = "ຎຈ", ["ຍສ"] = "ຎຉ", ["ຍຊ"] = "ຎຊ",
["ນຈ"] = "ນຈ", ["ນສ"] = "ຎຉ", ["ນຊ"] = "ຎຊ", ["ນຍ"] = "ຎຎ",
["ບປ"] = "ປປ", ["ບຜ"] = "ປຜ", ["ບພ"] = "ພພ", ["ບ"] = "ປ",
}
text = gsub(text, '[ກດບຍນ][ຄຕຖທປຜພສລຈສຊຍມ]?', ass)
end
end
if sc == 'Lana' then
-- Disambiguate lanna combining loop below.
cl_search = dc('[ᨲᨻᨾ]ᨠᩛ')
text = gsub(text, cl_search,
{['ᨲᩛ']='ᨲ᩠ᨳ', ['ᨻᩛ']='ᨻ᩠ᨻ', ['ᨾᩛ']='ᨾ᩠ᨻ'})
end
if sc == 'Mymr' or sc == 'Lana' then
local fn = function(c, d) return consonants[c]..d end
local search = '('..C..')(['..S..'])'
text = gsub(text, search, fn);
text = gsub(text, search, fn); -- and again
end
if sc == 'Beng' then
-- Aberrant conversion:
text = gsub(text, u(0x09b2, 0x9cd, 0x9bc, 0x9cd, 0x9b9), 'ḷহ') -- raw
text = gsub(text, u(0x09b2, 0x9bc, 0x9cd, 0x9cd, 0x9b9), 'ḷহ') -- NFC
-- Proper conversion:
text = gsub(text, u(0x09b2, 0x9cd, 0x9bc, 0x9b9), 'ḷহ') -- not NFC
-- text = gsub(text, u(0x09b2, 0x9bc, 0x9cd, 0x9b9), 'ḷহ') -- NFC
end
text = gsub(text, '('..C..')'..diax,
function(c, d)
local val = tt[c..d]
if val then return val end
local cn = consonants[c]
if not cn then return 'X('..c..')' end
if d ~= "" then
return cn .. (diacritics[d] or 'NIL('..d..')')
elseif explicit then
return cn
else
return cn .. 'a'
end
end
)
text = gsub(text, '.', tt)
-- Bodge alphabetic Thai and Lao anusvara
if explicit and text then
text = gsub(text, 'ṅ$', 'ṃ')
text = gsub(text, 'ṅ([^kg])', 'ṃ%1')
end
else
text = nil -- Not ready for use yet!
end
return text
end
function export.tr(text, lang, sc)
return export.trwo(text, lang, sc, {})
end
return export
4vf0en4jq3yat5kzq8561akqsiban59
Modul:pra-Deva-translit
828
148135
379492
2026-10-18T03:53:03Z
Hakimi97
2668
Import Lua from [[en:Module:pra-Deva-translit]] (oldid=83109528); preserve attribution
379492
Scribunto
text/plain
local export = {}
local consonants = {
['क']='k', ['ख']='kh', ['ग']='g', ['घ']='gh', ['ङ']='ṅ',
['च']='c', ['छ']='ch', ['ज']='j', ['झ']='jh', ['ञ']='ñ',
['ट']='ṭ', ['ठ']='ṭh', ['ड']='ḍ', ['ढ']='ḍh', ['ण']='ṇ',
['त']='t', ['थ']='th', ['द']='d', ['ध']='dh', ['न']='n',
['प']='p', ['फ']='ph', ['ब']='b', ['भ']='bh', ['म']='m',
['य']='y', ['र']='r', ['ल']='l', ['व']='v', ['ळ']='ḷ',
['श']='ś', ['ष']='ṣ', ['स']='s', ['ह']='h',
['य़']='ẏ',
}
local diacritics = {
['ा']='ā', ['ि']='i', ['ी']='ī', ['ु']='u', ['ू']='ū', ['ृ']='ṛ', ['ॄ']='ṝ',
['ॢ']='ḷ', ['ॣ']='ḹ', ['ॆ']='ĕ', ['े']='e', ['ै']='ai', ['ॊ']='ŏ', ['ो']='o', ['ौ']='au', ['्']='',
}
local diatrema = { -- vowels with diaereis added in transliteration
['इ']='ï', ['उ']='ü',
}
local tt = {
-- vowels
['अ']='a', ['आ']='ā', ['इ']='i', ['ई']='ī', ['उ']='u', ['ऊ']='ū', ['ऋ']='ṛ', ['ॠ']='ṝ',
['ऌ']='ḷ', ['ॡ']='ḹ', ['ऎ']='ĕ', ['ए']='e', ['ऐ']='ai', ['ऒ']='ŏ', ['ओ']='o', ['औ']='au',
-- chandrabindu
['ँ']='m̐', --until a better method is found
-- anusvara
['ं']='ṃ', --until a better method is found
--numerals
['०']='0', ['१']='1', ['२']='2', ['३']='3', ['४']='4', ['५']='5', ['६']='6', ['७']='7', ['८']='8', ['९']='9',
--punctuation
['॥']='.', --double danda
['।']='.', --danda
--Om
['ॐ']='oṃ',
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
if sc ~= "Deva" then
return nil
end
text = mw.ustring.gsub(text, '(े)([अ-ह][़]?)(्)([अ-ह][़]?)', 'ॆ%2%3%4')
text = mw.ustring.gsub(text, '(ए)([अ-ह][़]?)(्)([अ-ह][़]?)', 'ऎ%2%3%4')
text = mw.ustring.gsub(text, '(ो)([अ-ह][़]?)(्)([अ-ह][़]?)', 'ॊ%2%3%4')
text = mw.ustring.gsub(text, '(ओ)([अ-ह][़]?)(्)([अ-ह][़]?)', 'ऒ%2%3%4')
text = mw.ustring.gsub(
text,
'([क-ह][़]?)'..
'([ािीुूृॄॢॣॆेैॊोौ्]?)'..
'([इउ]?)',
function(c, d, e)
if d == "" and e ~= "" then
if tt[e] == "i" or tt[e] == "u" then return consonants[c] .. 'a' .. tt[e] .. '̈'
else return consonants[c] .. 'a' .. tt[e] end
elseif e ~= "" then
return consonants[c] .. diacritics[d] .. tt[e]
elseif d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
-- Adjacent vowel letters needing dieresis
text = mw.ustring.gsub(text, '([अ])([इउ])', function(a, b) return tt[a]..diatrema[b] end)
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
076onl5pfffby6vjcztxfco56dlso1r
Modul:pra-Knda-translit
828
148136
379493
2026-10-18T03:54:09Z
Hakimi97
2668
Import Lua from [[en:Module:pra-Knda-translit]] (oldid=81446831); preserve attribution
379493
Scribunto
text/plain
local export = {}
local consonants = {
--consonants
['ಕ']='k', ['ಖ']='kh', ['ಗ']='g', ['ಘ']='gh', ['ಙ']='ṅ',
['ಚ']='c', ['ಛ']='ch', ['ಜ']='j', ['ಝ']='jh', ['ಞ']='ñ',
['ಟ']='ṭ', ['ಠ']='ṭh', ['ಡ']='ḍ', ['ಢ']='ḍh', ['ಣ']='ṇ',
['ತ']='t', ['ಥ']='th', ['ದ']='d', ['ಧ']='dh', ['ನ']='n',
['ಪ']='p', ['ಫ']='ph', ['ಬ']='b', ['ಭ']='bh', ['ಮ']='m',
['ಯ']='y', ['ರ']='r', ['ಲ']='l', ['ವ']='v', ['ಳ']='ḷ',
['ಶ']='ś', ['ಷ']='ṣ', ['ಸ']='s', ['ಹ']='h',
['ಯ಼']='ẏ',
}
local diacritics = {
--matras
['ಾ']='ā', ['ಿ']='i', ['ೀ']='ī', ['ು']='u', ['ೂ']='ū', ['ೃ']='ṛ', ['ೄ']='ṝ',
['ೢ']='l̥', ['ೣ']='l̥̄', ['ೆ']='ĕ', ['ೇ']='e', ['ೈ']='ai', ['ೊ']='ŏ', ['ೋ']='o', ['ೌ']='au', ['್']='',
}
local tt = {
--vowels
['ಅ']='a', ['ಆ']='ā', ['ಇ']='i', ['ಈ']='ī', ['ಉ']='u', ['ಊ']='ū', ['ಋ']='ṛ', ['ೠ']='ṝ',
['ಌ']='l̥', ['ೡ']='l̥̄', ['ಎ']='ĕ', ['ಏ']='e', ['ಐ']='ai', ['ಒ']='ŏ', ['ಓ']='o', ['ಔ']='au',
-- chandrabindu
['ಁ']='m̐', --until a better method is found
-- anusvara
['ಂ']='ṃ', --until a better method is found
-- visarga
['ಃ']='ḥ',
--numerals
['೦']='0', ['೧']='1', ['೨']='2', ['೩']='3', ['೪']='4', ['೪']='5', ['೬']='6', ['೭']='7', ['೮']='8', ['೯']='9',
--punctuation
['।']='.', --danda
['॥']='.' --double danda
}
local ttrema = { -- With diaeresis
['ಇ']='ï', ['ಉ']='ü',
}
function export.tr(text, lang, sc)
if sc ~= "Knda" then
return nil
end
text = mw.ustring.gsub(
text,
'([ಕ-ಹ][಼]?)'..
'([ಾ-ೣ]?)'..
'([ಇಉ]?)',
function(c, d, e)
if d == "" and e ~= "" then
return consonants[c] .. 'a' .. ttrema[e]
elseif e ~= "" then
return consonants[c] .. diacritics[d] .. tt[e]
elseif d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
-- Adjacent vowel letters needing dieresis
text = mw.ustring.gsub(
text,
'([ಅ])([ಇಉ])',
function(a, b) return tt[a]..ttrema[b] end)
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
4nmfjbakz7am4wab3s077hjya6uqmbi
Modul:rue-sortkey
828
148137
379494
2026-10-18T03:55:14Z
Hakimi97
2668
Import Lua from [[en:Module:rue-sortkey]] (oldid=69968931); preserve attribution
379494
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a, b, c = u(0xF000), u(0xF001), u(0xF002)
local oneChar = {
["ґ"] = "г" .. a, ["є"] = "е" .. a, ["ё"] = "е" .. b, ["і"] = "и", ["ї"] = "и" .. a, ["ы"] = "и" .. c, ["ѣ"] = "щ" .. a, ["ь"] = "я" .. a, ["ъ"] = "я" .. b
}
function export.makeSortKey(text, lang, sc)
text = mw.ustring.gsub(mw.ustring.lower(text), "и", "и" .. b) -- ensure "и" comes after "і" and "ї"
return mw.ustring.upper(mw.ustring.gsub(text, ".", oneChar))
end
return export
hhdpy9mdvczt24hb06kvjqstxe2btz8
Modul:rut-translit
828
148138
379495
2026-10-18T03:56:20Z
Hakimi97
2668
Import Lua from [[en:Module:rut-translit]] (oldid=83650200); preserve attribution
379495
Scribunto
text/plain
local gsub = mw.ustring.gsub
local u = require("Module:string utilities").char
local export = {}
local tt = {
["б"]="b", ["п"]="p", ["ф"]="f", ["д"]="d", ["т"]="t", ["ц"]="c",
["з"]="z", ["с"]="s", ["ч"]="č", ["ж"]="ž", ["ш"]="š", ["г"]="g",
["к"]="k", ["х"]="ꭓ", ["ъ"]="ʔ", ["м"]="m", ["н"]="n", ["р"]="r",
["л"]="l", ["в"]="v", ["й"]="j", ["ю"]="ju", ["я"]="ja", ["ё"]="jo",
["и"]="i", ["е"]="je", ["э"]="e", ["а"]="a", ["ы"]="ɨ", ["о"]="o", ["у"]="u",
["Б"]="B", ["П"]="P", ["Ф"]="F", ["Д"]="D", ["Т"]="T", ["Ц"]="C",
["З"]="Z", ["С"]="S", ["Ч"]="Č", ["Ж"]="Ž", ["Ш"]="Š", ["Г"]="G",
["К"]="K", ["Х"]="Ꭓ", ["Ъ"]="ʔ", ["М"]="M", ["Н"]="N", ["Р"]="R",
["Л"]="L", ["В"]="V", ["Й"]="J", ["Ю"]="Ju", ["Я"]="Ja", ["Ё"]="Jo",
["И"]="I", ["Е"]="Je", ["Э"]="E", ["А"]="A", ["Ы"]="Ɨ", ["О"]="O", ["U"]="U",
}
local roundings = {
'([тцчкТЦЧК]ӏ)в',
'([кхгКХГ]ъ)в',
'([цсшчгкхЦСШЧГКХ])в',
'([дД]ж)в', '([хХ]ь)в',
}
local digraphs = {
['пӏ'] = 'ṗ', ['Пӏ'] = 'Ṗ',
['тӏ'] = 'ṭ', ['Тӏ'] = 'Ṭ',
['дз'] = 'ʒ', ['Дз'] = 'Ʒ',
['цӏ'] = 'c̣', ['Цӏ'] = 'C̣',
['дж'] = 'ǯ', ['Дж'] = 'Ǯ',
['чӏ'] = 'č̣', ['Чӏ'] = 'Č̣',
['кӏ'] = 'ḳ', ['Кӏ'] = 'Ḳ',
['гӏ'] = 'ɣ', ['Гӏ'] = 'Ɣ',
['хь'] = 'x', ['Хь'] = 'X',
['хӏ'] = 'ħ', ['Хӏ'] = 'Ħ',
['къ'] = 'q:', ['Къ'] = 'Q:',
['хъ'] = 'q', ['Хъ'] = 'Q',
['кь'] = 'q̇', ['Кь'] = 'Q̇',
['гъ'] = 'ʁ', ['Гъ'] = 'ʁ',
['гь'] = 'h', ['Гь'] = 'H',
['аь'] = 'ä', ['Аь'] = 'Ä',
['уь'] = 'ü', ['Уь'] = 'Ü',
['([ауыАУЫ])ӏ'] = '%1ˤ',
}
function export.tr(text, lang, sc)
if sc ~= "Cyrl" then
return nil
end
-- Convert capital to lowercase palochka. Lowercase is found in tables
-- above.
text = gsub(text, u(0x4C0), u(0x4CF))
-- Non-initial е is not je.
text = gsub(text, "([Ё-ӏ])е", "%1e")
for _, rounding in ipairs(roundings) do
text = gsub(text, rounding, "%1ʷ")
end
for digraph, translit in pairs(digraphs) do
text = gsub(text, digraph, translit)
end
text = gsub(text, "[Ё-ӏ]", tt)
return text
end
return export
5p650u7pxvsg7ms0wy7p63ty5btpmao
Modul:sa-Beng-translit
828
148139
379496
2026-10-18T03:57:26Z
Hakimi97
2668
Import Lua from [[en:Module:sa-Beng-translit]] (oldid=79050679); preserve attribution
379496
Scribunto
text/plain
local export = {}
local consonants = {
['ক']='k', ['খ']='kh', ['গ']='g', ['ঘ']='gh', ['ঙ']='ṅ',
['চ']='c', ['ছ']='ch', ['জ']='j', ['ঝ']='jh', ['ঞ']='ñ',
['ট']='ṭ', ['ঠ']='ṭh', ['ড']='ḍ', ['ঢ']='ḍh', ['ণ']='ṇ',
['ত']='t', ['থ']='th', ['দ']='d', ['ধ']='dh', ['ন']='n',
['প']='p', ['ফ']='ph', ['ব']='b', ['ভ']='bh', ['ম']='m',
['য']='y', ['য়']='y', ['ৰ']='r', ['র']='r', ['ল']='l', ['ল়']='ḷ', ['ৱ']='v',
['শ']='ś', ['ষ']='ṣ', ['স']='s', ['হ']='ḣ', ['য়']='ẏ',
}
local diacritics = {
['া']='ā', ['ি']='i', ['ী']='ī', ['ু']='u', ['ূ']='ū', ['ৃ']='ṛ', ['ৄ']='ṝ',
['ৢ']='ḷ', ['ৣ']='ḹ', ['ে']='e', ['ৈ']='ai', ['ো']='o', ['ৌ']='au', ['্']='',
}
local tt = {
-- vowels
['অ']='a', ['আ']='ā', ['ই']='i', ['ঈ']='ī', ['উ']='u', ['ঊ']='ū', ['ঋ']='ṛ', ['ৠ']='ṝ',
['ঌ']='ḷ', ['ৡ']='ḹ', ['এ']='e', ['ঐ']='aì', ['ও']='o', ['ঔ']='aù',
-- chandrabindu
['ঁ']='m̐', --until a better method is found
-- anusvara
['ং']='ṃ', --until a better method is found
-- visarga
['ঃ']='ḥ',
--
['ৎ']='t',
-- avagraha
['ঽ']='’',
--numerals
['૦']='০', ['૧']='১', ['૨']='২', ['૩']='৩', ['૪']='৪', ['૫']='৫', ['૬']='৬', ['૭']='৭', ['૮']='৮', ['૯']='৯',
--punctuation
['॥']='.', --double danda
['।']='.', --danda
--Vedic extensions
-- ['ᳵ']='x', ['ᳶ']='f',
--Om
['ওঁ']='oṃ',
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = string.gsub(text, '্ব', '্ৱ')
text = mw.ustring.gsub(
text,
'([কখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযৰরলৱশষসহv]়?)'.. -- য় and ল় are composition exclusions!
'([ািীুূৃৄৢৣেৈোৌ্]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
text = string.gsub(text, "([dgḣmr])v", "%1b")
text = string.gsub(text, "ḣ", "h")
text = string.gsub(text, "ai", "aï")
text = string.gsub(text, "au", "aü")
text = string.gsub(text, "aì", "ai")
text = string.gsub(text, "aù", "au")
return text
end
return export
qskjhbnyu0gy6mjd346f63ieulmimjc
Modul:sa-Gujr-translit
828
148140
379497
2026-10-18T03:58:32Z
Hakimi97
2668
Import Lua from [[en:Module:sa-Gujr-translit]] (oldid=62931705); preserve attribution
379497
Scribunto
text/plain
local export = {}
local consonants = {
['ક']='k', ['ખ']='kh', ['ગ']='g', ['ઘ']='gh', ['ઙ']='ṅ',
['ચ']='c', ['છ']='ch', ['જ']='j', ['ઝ']='jh', ['ઞ']='ñ',
['ટ']='ṭ', ['ઠ']='ṭh', ['ડ']='ḍ', ['ઢ']='ḍh', ['ણ']='ṇ',
['ત']='t', ['થ']='th', ['દ']='d', ['ધ']='dh', ['ન']='n',
['પ']='p', ['ફ']='ph', ['બ']='b', ['ભ']='bh', ['મ']='m',
['ય']='y', ['ર']='r', ['લ']='l', ['વ']='v', ['ળ']='ḷ',
['શ']='ś', ['ષ']='ṣ', ['સ']='s', ['હ']='h',
}
local diacritics = {
['ા']='ā', ['િ']='i', ['ી']='ī', ['ુ']='u', ['ૂ']='ū', ['ૃ']='ṛ', ['ૄ']='ṝ',
['ૢ']='ḷ', ['ૣ']='ḹ', ['ે']='e', ['ૈ']='ai', ['ો']='o', ['ૌ']='au', ['્']='',
}
local tt = {
-- vowels
['અ']='a', ['આ']='ā', ['ઇ']='i', ['ઈ']='ī', ['ઉ']='u', ['ઊ']='ū', ['ઋ']='ṛ', ['ૠ']='ṝ',
['ઌ']='ḷ', ['ૡ']='ḹ', ['એ']='e', ['ઐ']='ai', ['ઓ']='o', ['ઔ']='au',
-- chandrabindu
['ઁ']='m̐', --until a better method is found
-- anusvara
['ં']='ṃ', --until a better method is found
-- visarga
['ઃ']='ḥ',
-- avagraha
['ઽ']='’',
--numerals
['૦']='0', ['૧']='1', ['૨']='2', ['૩']='3', ['૪']='4', ['૫']='5', ['૬']='6', ['૭']='7', ['૮']='8', ['૯']='9',
--punctuation
['॥']='.', --double danda
['।']='.', --danda
--Vedic extensions
['ᳵ']='x', ['ᳶ']='f',
--Om
['ૐ']='oṃ',
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([કખગઘઙચછજઝઞટઠડઢણતથદધનપફબભમયરલવળશષસહ])'..
'([ાિીુૂૃૄૢૣેૈોૌ્]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
9h9a4wl8xp0sfds2u6r19mq4tapj9tz
Modul:sa-Guru-translit
828
148141
379498
2026-10-18T03:59:38Z
Hakimi97
2668
Import Lua from [[en:Module:sa-Guru-translit]] (oldid=82439311); preserve attribution
379498
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local gsub = m_str_utils.gsub
local consonants = {
['ਕ']='k', ['ਖ']='kh', ['ਗ']='g', ['ਘ']='gh', ['ਙ']='ṅ',
['ਚ']='c', ['ਛ']='ch', ['ਜ']='j', ['ਝ']='jh', ['ਞ']='ñ',
['ਟ']='ṭ', ['ਠ']='ṭh', ['ਡ']='ḍ', ['ਢ']='ḍh', ['ਣ']='ṇ',
['ਤ']='t', ['ਥ']='th', ['ਦ']='d', ['ਧ']='dh', ['ਨ']='n',
['ਪ']='p', ['ਫ']='ph', ['ਬ']='b', ['ਭ']='bh', ['ਮ']='m',
['ਯ']='y', ['ਰ']='r', ['ਲ']='l', ['ਵ']='v', ['ਲ਼']='ḷ',
['ਸ਼']='ś', ['ਸ਼']='ṣ', ['ਸ']='s', ['ਹ']='h',
}
local diacritics = {
['ਾ']='ā', ['ਿ']='i', ['ੀ']='ī', ['ੁ']='u', ['ੂ']='ū', ['੍']='ṛ', ['ୄ']='ṝ',
['ୢ']='ḷ', ['ୣ']='ḹ', ['ੇ']='e', ['ੈ']='ai', ['ੋ']='o', ['ੌ']='au', ['੍']='',
}
local tt = {
-- vowels
["ਅ"] = "a", ["ਆ"] = "ā",
["ਇ"] = "i", ["ਈ"] = "ī",
["ਉ"] = "u", ["ਊ"] = "ū",
["ਏ"] = "e", ["ਐ"] = "ai",
["ਓ"] = "o", ["ਔ"] = "au",
-- chandrabindu
['ਁ']='m̐', --until a better method is found
-- anusvara
['ਂ']='ṃ', --until a better method is found
-- visarga
['ਃ']='ḥ',
-- avagraha
['ऽ']='’',
--numerals
["੦"] = "0", ["੧"] = "1", ["੨"] = "2", ["੩"] = "3", ["੪"] = "4", ["੫"] = "5", ["੬"] = "6", ["੭"] = "7", ["੮"] = "8", ["੯"] = "9",
--punctuation
['॥']='.', --double danda
['।']='.', --danda
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = gsub(
text,
'([ਸਹਕਖਗਘਙਚਛਜਝਞਟਠਡਢਣਤਥਦਧਨਪਫਬਭਮਯਰਲਵ])'..
'([ਾਿੀੁੂ੍ୄୢୣੇੈੋੌ੍]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = gsub(text, '.', tt)
return text
end
return export
hvxsg0u8w7aljun9gu2prvy4ot0vxwx
Modul:sa-Java-translit
828
148142
379499
2026-10-18T04:00:44Z
Hakimi97
2668
Import Lua from [[en:Module:sa-Java-translit]] (oldid=62432414); preserve attribution
379499
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local consonants = {
['ꦏ']='k', ['ꦑ']='kh', ['ꦒ']='g', ['ꦓ']='gh', ['ꦔ']='ṅ',
['ꦕ']='c', ['ꦖ']='ch', ['ꦗ']='j', ['ꦙ']='jh', ['ꦚ']='ñ',
['ꦛ']='ṭ', ['ꦜ']='ṭh', ['ꦝ']='ḍ', ['ꦞ']='ḍh', ['ꦟ']='ṇ',
['ꦠ']='t', ['ꦡ']='th', ['ꦢ']='d', ['ꦣ']='dh', ['ꦤ']='n',
['ꦥ']='p', ['ꦦ']='ph', ['ꦧ']='b', ['ꦨ']='bh', ['ꦩ']='m',
['ꦪ']='y', ['ꦫ']='r', ['ꦭ']='l', ['ꦮ']='v', -- ['ળ']='ḷ',
['ꦯ']='ś', ['ꦰ']='ṣ', ['ꦱ']='s', ['ꦲ']='h',
-- Include subscript ('medial') consonants for translation only.
['ꦿ']='r', ['ꦾ']='y',
}
local diacritics = {
['ꦴ']='ā', ['ꦶ']='i', ['ꦷ']='ī', ['ꦸ']='u', ['ꦹ']='ū', ['ꦽ']='ṛ', ['ꦽꦴ']='ṝ',
['꧀ꦊ']='ḷ', ['꧀ꦋ']='ḹ', ['ꦺ']='e', ['ꦻ']='ai', ['ꦺꦴ']='o', ['ꦵ']='o', ['ꦻꦴ']='au', ['꧀']='',
-- In general, include results of second level diacritics. I think not needed for Javanese.
-- ['y']='y', ['r']='r',
}
local tt = {
-- vowels
['ꦄ']='a', ['ꦄꦴ']='ā', ['ꦆ']='i', ['ꦇ']='ī', ['ꦈ']='u', ['ꦈꦴ']='ū', ['ꦉ']='ṛ', ['ꦉꦴ']='ṝ',
['ꦊ']='ḷ', ['ꦋ']='ḹ', ['ꦌ']='e', ['ꦍ']='ai', ['ꦎ']='o', ['ꦎꦴ']='au',
-- chandrabindu
['ꦀ']='m̐', --until a better method is found
-- anusvara
['ꦁ']='ṃ', --until a better method is found
-- visarga
['ꦃ']='ḥ',
-- avagraha
-- ['ઽ']='’',
-- others
['ꦂ']='r',
--numerals
['꧐']='0', ['꧑']='1', ['꧒']='2', ['꧓']='3', ['꧔']='4', ['꧕']='5', ['꧖']='6', ['꧗']='7', ['꧘']='8', ['꧙']='9', ['꧇']='',
--punctuation
['꧉']='.', --double danda
['꧈']='.', --danda
--Vedic extensions
-- ['ᳵ']='x', ['ᳶ']='f',
--Om
['ꦎꦴꦀ']='oṃ',
--reconstructed
['*'] = '',
}
-- List the consonants
local S = 'ꦾꦿ' -- Subscript y and r.
local C = 'ꦏꦑꦒꦓꦔꦕꦖꦗꦙꦚꦛꦜꦝꦞꦟꦠꦡꦢꦣꦤꦥꦦꦧꦨꦩꦪꦫꦭꦮꦯꦰꦱꦲ'..S
function export.tr(text, lang, sc)
-- Handle subscript consonants
local fn = function(c, d) return consonants[c]..d end
local search = '(['..C..'])(['..S..'])'
text = gsub(text, search, fn);
text = gsub(text, search, fn); -- and again
text = gsub(
text,
'(['..C..S..'])'..
'(꧀?[ꦴꦶꦷꦸꦹꦽꦊꦋꦺꦻꦵ꧀]?ꦴ?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.ꦴ', tt) -- Two part independent vowels.
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
qq4991ft7hrmlstnqhh8lutioffiil6
Modul:sa-Knda-translit
828
148143
379500
2026-10-18T04:01:50Z
Hakimi97
2668
Import Lua from [[en:Module:sa-Knda-translit]] (oldid=62931743); preserve attribution
379500
Scribunto
text/plain
local export = {}
local consonants = {
['ಕ']='k', ['ಖ']='kh', ['ಗ']='g', ['ಘ']='gh', ['ಙ']='ṅ',
['ಚ']='c', ['ಛ']='ch', ['ಜ']='j', ['ಝ']='jh', ['ಞ']='ñ',
['ಟ']='ṭ', ['ಠ']='ṭh', ['ಡ']='ḍ', ['ಢ']='ḍh', ['ಣ']='ṇ',
['ತ']='t', ['ಥ']='th', ['ದ']='d', ['ಧ']='dh', ['ನ']='n',
['ಪ']='p', ['ಫ']='ph', ['ಬ']='b', ['ಭ']='bh', ['ಮ']='m',
['ಯ']='y', ['ರ']='r', ['ಲ']='l', ['ವ']='v', ['ಳ']='ḷ',
['ಶ']='ś', ['ಷ']='ṣ', ['ಸ']='s', ['ಹ']='h',
}
local diacritics = {
['ಾ']='ā', ['ಿ']='i', ['ೀ']='ī', ['ು']='u', ['ೂ']='ū', ['ೃ']='ṛ', ['ೄ']='ṝ',
['ೢ']='ḷ', ['ೣ']='ḹ', ['ೇ']='e', ['ೈ']='ai', ['ೋ']='o', ['ೌ']='au', ['್']='',
}
local tt = {
-- vowels
['ಅ']='a', ['ಆ']='ā', ['ಇ']='i', ['ಈ']='ī', ['ಉ']='u', ['ಊ']='ū', ['ಋ']='ṛ', ['ೠ']='ṝ',
['ಌ']='ḷ', ['ೡ']='ḹ', ['ಏ']='e', ['ಐ']='ai', ['ಓ']='o', ['ಔ']='au',
-- chandrabindu
['ಁ']='m̐', --until a better method is found
-- anusvara
['ಂ']='ṃ', --until a better method is found
-- visarga
['ಃ']='ḥ',
-- avagraha
['ಽ']='’',
--numerals
['೦']='0', ['೧']='1', ['೨']='2', ['೩']='3', ['೪']='4', ['೫']='5', ['೬']='6', ['೭']='7', ['೮']='8', ['೯']='9',
--punctuation
['॥']='.', --double danda
['।']='.', --danda
--Vedic extensions
['ೱ']='x', ['ೲ']='f',
--Om
['ಓಂ']='oṃ',
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([ಕಖಗಘಙಚಛಜಝಞಟಠಡಢಣತಥದಧನಪಫಬಭಮಯರಲವಳಶಷಸಹ])'..
'([ಾಿೀುೂೃೄೢೣೇೈೋೌ್]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
qbcmp6o0atlsgg84gmficsb64zfwktf
Modul:sa-Kthi-translit
828
148144
379501
2026-10-18T04:02:56Z
Hakimi97
2668
Import Lua from [[en:Module:sa-Kthi-translit]] (oldid=85081782); preserve attribution
379501
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local gsub = m_str_utils.gsub
local match = m_str_utils.match
local toNFC = mw.ustring.toNFC
local u = m_str_utils.char
local consonants = {
['𑂍'] = 'k', ['𑂎'] = 'kh', ['𑂏'] = 'g', ['𑂐'] = 'gh', ['𑂑'] = 'ṅ',
['𑂒'] = 'c', ['𑂓'] = 'ch', ['𑂔'] = 'j', ['𑂕'] = 'jh', ['𑂖'] = 'ñ',
['𑂗'] = 'ṭ', ['𑂘'] = 'ṭh', ['𑂙'] = 'ḍ', ['𑂛'] = 'ḍh', ['𑂝'] = 'ṇ',
['𑂞'] = 't', ['𑂟'] = 'th', ['𑂠'] = 'd', ['𑂡'] = 'dh', ['𑂢'] = 'n',
['𑂣'] = 'p', ['𑂤'] = 'ph', ['𑂥'] = 'b', ['𑂦'] = 'bh', ['𑂧'] = 'm',
['𑂨'] = 'y', ['𑂩'] = 'r', ['𑂪'] = 'l', ['𑂫'] = 'v', ['𑂫'] = 'v', ['ळ'] = 'ḷ',
['𑂬'] = 'ś', ['𑂭'] = 'ṣ', ['𑂮'] = 's', ['𑂯'] = 'h',
['𑂚'] = 'ṛ', ['𑂚'] = 'ṛ', ['𑂜'] = 'ṛh', ['𑂜'] = 'ṛh',
-- ['𑂔𑂹𑂖'] = 'gy',
}
local diacritics = {
['𑂱'] = 'i', ['𑂳'] = 'u', ['𑂵'] = 'e', ['𑂷'] = 'o',
['𑂰'] = 'ā', ['𑂲'] = 'ī', ['𑂴'] = 'ū', ['𑃂'] = 'r̥',
['𑂶'] = 'ai', ['𑂸'] = 'au',
-- virama
['𑂹'] = '',
}
local diatrema = {
['𑂅'] = 'ï', ['𑂇'] = 'ü',
}
local tt = {
-- vowels
['𑂃'] = 'a', ['𑂅'] = 'i', ['𑂇'] = 'u', ['𑂉'] = 'e', ['𑂋'] = 'o',
['𑂄'] = 'ā', ['𑂆'] = 'ī', ['𑂈'] = 'ū',
['𑂊'] = 'ai', ['𑂌'] = 'au',
['ॐ'] = 'om',
-- chandrabindu
['𑂀'] = 'm̐',
-- anusvara
['𑂁'] = 'ṃ',
-- visarga
['𑂂'] = 'ḥ',
--numerals
['०'] = '0', ['१'] = '1', ['२'] = '2', ['३'] = '3', ['४'] = '4',
['५'] = '5', ['६'] = '6', ['७'] = '7', ['८'] = '8', ['९'] = '9',
--punctuation
['𑃀'] = '.', -- danda
["𑃁"] = ".", -- double danda
['+'] = '', -- compound separator
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = gsub(
text,
'([𑂍-𑂯])'..
'([𑂰-𑂹𑃂]?)'..
'([𑂅𑂇]?)',
function(c, d, e)
if d == "" and e ~= "" then
return consonants[c] .. 'a' .. diatrema[e]
elseif e ~= "" then
return consonants[c] .. diacritics[d] .. tt[e]
elseif d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
-- Adjacent vowel letters needing dieresis
text = gsub(text, '([𑂃])([𑂅𑂇])', function(a, b) return tt[a]..diatrema[b] end)
text = gsub(text, '.', tt)
return toNFC(text)
end
return export
0iiqdvlrnkh9xhm8sku9bmheut1r2zm
Modul:sa-Mlym-translit
828
148145
379502
2026-10-18T04:04:02Z
Hakimi97
2668
Import Lua from [[en:Module:sa-Mlym-translit]] (oldid=73063920); preserve attribution
379502
Scribunto
text/plain
local export = {}
local consonants = {
['ക']='k', ['ഖ']='kh', ['ഗ']='g', ['ഘ']='gh', ['ങ']='ṅ',
['ച']='c', ['ഛ']='ch', ['ജ']='j', ['ഝ']='jh', ['ഞ']='ñ',
['ട']='ṭ', ['ഠ']='ṭh', ['ഡ']='ḍ', ['ഢ']='ḍh', ['ണ']='ṇ',
['ത']='t', ['ഥ']='th', ['ദ']='d', ['ധ']='dh', ['ന']='n',
['പ']='p', ['ഫ']='ph', ['ബ']='b', ['ഭ']='bh', ['മ']='m',
['യ']='y', ['ര']='r', ['ല']='l', ['വ']='v', ['ള']='ḷ',
['ശ']='ś', ['ഷ']='ṣ', ['സ']='s', ['ഹ']='h',
}
local diacritics = {
['ാ']='ā', ['ി']='i', ['ീ']='ī', ['ു']='u', ['ൂ']='ū', ['ൃ']='ṛ', ['ൄ']='ṝ',
['ൢ']='ḷ', ['ൣ']='ḹ', ['േ']='e', ['ൈ']='ai', ['ോ']='o', ['ൗ']='au', ['്']='',
}
local tt = {
-- vowels
['അ']='a', ['ആ']='ā', ['ഇ']='i', ['ഈ']='ī', ['ഉ']='u', ['ഊ']='ū', ['ഋ']='ṛ', ['ൠ']='ṝ',
['ഌ']='ḷ', ['ൡ']='ḹ', ['ഏ']='e', ['ഐ']='ai', ['ഓ']='o', ['ഔ']='au',
-- chillus, consonants that never take vowels
['ൺ']='ṇ' , ['ൻ']='ṉ' , ['ർ']='r' , ['ൽ']='l' , ['ൾ']='ḷ' , ['ൿ']='k' , ['ൔ']='m', ['ൕ']='y', ['ൖ']='ḻ',
['ൎ']='ṟ',
-- chandrabindu
['ഁ']='m̐', --until a better method is found
-- anusvara
['ം']='ṃ', --until a better method is found
-- visarga
['ഃ']='ḥ',
-- avagraha
['ഽ']='’',
--numerals
['൦']='0', ['൧']='1', ['൨']='2', ['൩']='3', ['൪']='4', ['൫']='5', ['൬']='6', ['൭']='7', ['൮']='8', ['൯']='9',
--punctuation
['॥']='.', --double danda
['।']='.', --danda
--Vedic extensions
-- ['ᳵ']='x', ['ᳶ']='f',
--Om
['ഓം']='oṃ',
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([കഖഗഘങചഛജഝഞടഠഡഢണതഥദധനപഫബഭമയരലവളശഷസഹ])'..
'([ാിീുൂൃൄൢൣേൈോൗ്]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
l44gud53n8un8ghdrj9otza69aklmya
Modul:sa-Modi-translit
828
148146
379503
2026-10-18T04:05:08Z
Hakimi97
2668
Import Lua from [[en:Module:sa-Modi-translit]] (oldid=62933225); preserve attribution
379503
Scribunto
text/plain
local export = {}
local consonants = {
['𑘎']='k', ['𑘏']='kh', ['𑘐']='g', ['𑘑']='gh', ['𑘒']='ṅ',
['𑘓']='c', ['𑘔']='ch', ['𑘕']='j', ['𑘖']='jh', ['𑘗']='ñ',
['𑘘']='ṭ', ['𑘙']='ṭh', ['𑘚']='ḍ', ['𑘛']='ḍh', ['𑘜']='ṇ',
['𑘝']='t', ['𑘞']='th', ['𑘟']='d', ['𑘠']='dh', ['𑘡']='n',
['𑘢']='p', ['𑘣']='ph', ['𑘤']='b', ['𑘥']='bh', ['𑘦']='m',
['𑘧']='y', ['𑘨']='r', ['𑘩']='l', ['𑘪']='v', ['𑘯']='ḷ',
['𑘫']='ś', ['𑘬']='ṣ', ['𑘭']='s', ['𑘮']='h',
}
local diacritics = {
['𑘰']='ā', ['𑘱']='i', ['𑘲']='ī', ['𑘳']='u', ['𑘴']='ū', ['𑘵']='ṛ', ['𑘶']='ṝ',
['𑘷']='ḷ', ['𑘸']='ḹ', ['𑘹']='e', ['𑘺']='ai', ['𑘻']='o', ['𑘼']='au', ['𑘿']='',
}
local tt = {
-- vowels
['𑘀']='a', ['𑘁']='ā', ['𑘂']='i', ['𑘃']='ī', ['𑘄']='u', ['𑘅']='ū', ['𑘆']='ṛ', ['𑘇']='ṝ',
['𑘈']='ḷ', ['𑘉']='ḹ', ['𑘊']='e', ['𑘋']='ai', ['𑘌']='o', ['𑘍']='au',
-- chandrabindu
['𑙀']='m̐', --until a better method is found
-- anusvara
['𑘽']='ṃ', --until a better method is found
-- visarga
['𑘾']='ḥ',
-- avagraha
['ऽ']='’',
--numerals
['𑙐']='0', ['𑙑']='1', ['𑙒']='2', ['𑙓']='3', ['𑙔']='4', ['𑙕']='5', ['𑙖']='6', ['𑙗']='7', ['𑙘']='8', ['𑙙']='9',
--punctuation
['𑙂']='.', --double danda
['𑙁']='.', --danda
--Vedic extensions
['ᳵ']='x', ['ᳶ']='f',
--Om
['𑘌𑘦𑘿']='oṃ',
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([𑘎𑘏𑘐𑘑𑘒𑘓𑘔𑘕𑘖𑘗𑘘𑘙𑘚𑘛𑘜𑘝𑘞𑘟𑘠𑘡𑘢𑘣𑘤𑘥𑘦𑘧𑘨𑘩𑘪𑘫𑘬𑘭𑘮𑘯])'..
'([𑘰𑘱𑘲𑘳𑘴𑘵𑘶𑘷𑘸𑘹𑘺𑘻𑘼𑘿]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
cerifu1twgozoziu4flpiv0rr5bsv6t
Modul:sa-Orya-translit
828
148147
379504
2026-10-18T04:06:14Z
Hakimi97
2668
Import Lua from [[en:Module:sa-Orya-translit]] (oldid=49531262); preserve attribution
379504
Scribunto
text/plain
local export = {}
local consonants = {
['କ']='k', ['ଖ']='kh', ['ଗ']='g', ['ଘ']='gh', ['ଙ']='ṅ',
['ଚ']='c', ['ଛ']='ch', ['ଜ']='j', ['ଝ']='jh', ['ଞ']='ñ',
['ଟ']='ṭ', ['ଠ']='ṭh', ['ଡ']='ḍ', ['ଢ']='ḍh', ['ଣ']='ṇ',
['ତ']='t', ['ଥ']='th', ['ଦ']='d', ['ଧ']='dh', ['ନ']='n',
['ପ']='p', ['ଫ']='ph', ['ବ']='b', ['ଭ']='bh', ['ମ']='m',
['ଯ']='y', ['ୟ']='y', ['ର']='r', ['ଲ']='l', ['ଳ']='ḷ', ['ଵ']='v',
['ଶ']='ś', ['ଷ']='ṣ', ['ସ']='s', ['ହ']='h',
}
local diacritics = {
['ା']='ā', ['ି']='i', ['ୀ']='ī', ['ୁ']='u', ['ୂ']='ū', ['ୃ']='ṛ', ['ୄ']='ṝ',
['ୢ']='ḷ', ['ୣ']='ḹ', ['େ']='e', ['ୈ']='ai', ['ୋ']='o', ['ୌ']='au', ['୍']='',
}
local tt = {
-- vowels
['ଅ']='a', ['ଆ']='ā', ['ଇ']='i', ['ଈ']='ī', ['ଉ']='u', ['ଊ']='ū', ['ଋ']='ṛ', ['ୠ']='ṝ',
['ଌ']='ḷ', ['ୡ']='ḹ', ['ଏ']='e', ['ଐ']='ai', ['ଓ']='o', ['ଔ']='au',
-- chandrabindu
['ଁ']='m̐', --until a better method is found
-- anusvara
['ଂ']='ṃ', --until a better method is found
-- visarga
['ଃ']='ḥ',
-- avagraha
['ଽ']='’',
--numerals
['૦']='୦', ['૧']='୧', ['૨']='୨', ['૩']='୩', ['૪']='୪', ['૫']='୫', ['૬']='୬', ['૭']='୭', ['૮']='୮', ['૯']='୯',
--punctuation
['॥']='.', --double danda
['।']='.', --danda
--Vedic extensions
-- ['ᳵ']='x', ['ᳶ']='f',
--Om
['ଓମ୍']='oṃ',
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([କଖଗଘଙଚଛଜଝଞଟଠଡଢଣତଥଦଧନପଫବଭମଯୟରଲଳଵଶଷସହ])'..
'([ାିୀୁୂୃୄୢୣେୈୋୌ୍]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
1xltjrjmmfh82k7fdgcg64xic1pla0g
Modul:sa-Taml-translit
828
148148
379505
2026-10-18T04:07:20Z
Hakimi97
2668
Import Lua from [[en:Module:sa-Taml-translit]] (oldid=78034202); preserve attribution
379505
Scribunto
text/plain
local export = {}
local function dc(text)
return string.gsub(string.gsub(text, 'க', ''), '𑌕', '') end -- 'drop carrier'
local consonants = {
['க']='k' , ['ங']='ṅ' , ['ச']='c' , ['ஞ']='ñ' , ['ட']='ṭ' , ['ண']='ṇ' , ['த']='t' ,
['ந']='n' , ['ப']='p', ['ம']='m' , ['ய']='y' , ['ர']='r' , ['ல']='l' , ['வ']='v' ,
['ழ']='ḻ' , ['ள']='ḷ' , ['ற']='ṟ' ,
['ன']='n' , -- So only contextual distinction between ந and ன.
['ஶ']='ś' , ['ஜ']='j' , ['ஷ']='ṣ' ,
['ஸ']='s' , ['ஹ']='h' ,
-- ['ஃப']='f' , ['ஃஜ']='z', ['ஃஸ']='ks' , ['ஃக ']='x',
['ஃ']='ḥ' , ['ௐ']='о̄m',
-- Consonants modified by spacing superscript digit. Be liberal.
['க¹']='k', ['க²']='kh', ['க³']='g', ['க⁴']='gh',
['ச¹']='c', ['ச²']='ch', ['ச³']='j', ['ச⁴']='jh',
['ஜ¹']='j', ['ஜ²']='jh',
['ட¹']='ṭ', ['ட²']='ṭh', ['ட³']='ḍ', ['ட⁴']='ḍh',
['த¹']='t', ['த²']='th', ['த³']='d', ['த⁴']='dh',
['ப¹']='p', ['ப²']='ph', ['ப³']='b', ['ப⁴']='bh',
['ம²']='ṃ', ['ம³']='m̐', ['ர²']='Ⓡ', ['ல²']='Ⓛ',
-- Consonants modified by spacing subscript digit. Be liberal.
['க₁']='k', ['க₂']='kh', ['க₃']='g', ['க₄']='gh',
['ச₁']='c', ['ச₂']='ch', ['ச₃']='j', ['ச₄']='jh',
['ஜ₁']='j', ['ஜ₂']='jh',
['ட₁']='ṭ', ['ட₂']='ṭh', ['ட₃']='ḍ', ['ட₄']='ḍh',
['த₁']='t', ['த₂']='th', ['த₃']='d', ['த₄']='dh',
['ப₁']='p', ['ப₂']='ph', ['ப₃']='b', ['ப₄']='bh',
['ம₂']='ṃ', ['ம₃']='m̐', ['ர₂']='Ⓡ', ['ல₂']='Ⓛ',
}
local diacritics = { -- Obliterate Tamil length contrast in mid vowels later.
['ா']= 'ā' , ['ி']='i' , ['ீ']='ī' , ['ு']='u' , ['ூ']='ū' , ['ெ']='e' ,
['ே']='ē' , ['ை']='ai' , ['ொ']='o' , ['ோ']='ō' , ['ௌ']='au',
['்']='', -- pulli, suppresses the inherent vowel "a"
-- Grantha syllabic consonants get used:
['𑍃']='ṛ', ['𑍄']='ṝ', ['𑍢']='ḷ', ['𑍣']='ḹ',
-- no diacritic
[''] = 'a',
}
local nonconsonants = {
-- vowels
['அ']='’a' , ['ஆ']='’ā' , ['இ']='’i' , ['ஈ']='’ī' , ['உ']='’u' , ['ஊ']='’ū' ,
['எ']='’e' , ['ஏ']='’ē' , ['ஐ']='’ai' , ['ஒ']='’o' , ['ஓ']='’ō' , ['ஔ']='’au' , ['ௐ']='о̄m',
-- other symbols
['ஃ']='ḥ', [dc('கஂ')] = 'ṃ', ['𑌃'] = 'ḥ',
-- syllabic consonants (Grantha)ː
['𑌋']='ṛ', ['𑍠']='ṝ', ['𑌌']='ḷ', ['𑍡']='ḹ',
}
local syll2 = {
['Ⓡu']='ṛ', ['Ⓡū']='ṝ', ['Ⓛu']='ḷ', ['Ⓛū']='ḹ',
}
-- translit any words or phrases
function export.tr(text, lang, sc)
-- Special vowel-killing diacritics
local pattern = "[மயலவ][dc(கஂ⃰𑌕𑌁)]" -- gsub on gsub arguments tends to fail!
text = mw.ustring.gsub(text, pattern, {
['மஂ'] = "ṃ", -- Desirable to get more and independent examples.
['ம⃰'] = " ṃ ",
['ய𑌁'] = "y̐", ['ல𑌁'] = "l̐", ['வ𑌁'] = "v̐",
})
local nukta = '([¹²³⁴₁₂₃₄]?)'
local anusvara = dc('([கஂ𑌕𑌂]?)')
local vowel = dc('([கா-க்𑌕𑍃𑌕𑍄𑌕𑍢𑌕𑍣]?)')
text = mw.ustring.gsub(
text,
'(ஃ?)([க-ஹ])'..nukta..vowel..nukta..'([ாௗ]?)'..nukta..anusvara..nukta,
function(h, c, n1, d, n2, d2, n3, av, n4)
local cn = c .. n1 .. n2 .. n3 .. n4
local da = d..d2
if d2 ~= "" then da = mw.ustring.toNFC(da) end
return (consonants[h..cn] or (consonants[h] or "") .. (consonants[cn] or cn)) ..
(diacritics[da] or da) .. av
end)
text = mw.ustring.gsub(text, '.', nonconsonants)
text = string.gsub(text, 'ē', 'e')
text = string.gsub(text, 'ō', 'o')
text = mw.ustring.gsub(text, '[ⓇⓁ][uū]', syll2)
text = string.gsub(text, '^’', '')
text = mw.ustring.gsub(text, '([%s%p])’', '%1')
return text
end
return export
7j5xjesn5xb69nziha6twc7mvba643y
Modul:sa-Telu-translit
828
148149
379506
2026-10-18T04:08:26Z
Hakimi97
2668
Import Lua from [[en:Module:sa-Telu-translit]] (oldid=77800649); preserve attribution
379506
Scribunto
text/plain
local gsub = mw.ustring.gsub
local export = {}
local consonants = {
['క']='k', ['ఖ']='kh', ['గ']='g', ['ఘ']='gh', ['ఙ']='ṅ',
['చ']='c', ['ఛ']='ch', ['జ']='j', ['ఝ']='jh', ['ఞ']='ñ',
['ట']='ṭ', ['ఠ']='ṭh', ['డ']='ḍ', ['ఢ']='ḍh', ['ణ']='ṇ',
['త']='t', ['థ']='th', ['ద']='d', ['ధ']='dh', ['న']='n',
['ప']='p', ['ఫ']='ph', ['బ']='b', ['భ']='bh', ['మ']='m',
['య']='y', ['ర']='r', ['ల']='l', ['వ']='v', ['ళ']='ḷ',
['శ']='ś', ['ష']='ṣ', ['స']='s', ['హ']='h',
}
local diacritics = {
['ా']='ā', ['ి']='i', ['ీ']='ī', ['ు']='u', ['ూ']='ū', ['ృ']='ṛ', ['ౄ']='ṝ',
['ౢ']='ḷ', ['ౣ']='ḹ', ['ే']='e', ['ై']='ai', ['ో']='o', ['ౌ']='au', ['్']='',
}
local tt = {
-- vowels
['అ']='a', ['ఆ']='ā', ['ఇ']='i', ['ఈ']='ī', ['ఉ']='u', ['ఊ']='ū', ['ఋ']='ṛ', ['ౠ']='ṝ',
['ఌ']='ḷ', ['ౡ']='ḹ', ['ఏ']='e', ['ఐ']='ai', ['ఓ']='o', ['ఔ']='au',
-- Nakaara Pollu
['ౝ']='n',
-- chandrabindu
['ఁ']='m̐', --until a better method is found
-- anusvara
['ం']='ṃ', --until a better method is found
-- visarga
['ః']='ḥ',
-- avagraha
['ఽ']='’',
--numerals
['౦']='0', ['౧']='1', ['౨']='2', ['౩']='3', ['౪']='4', ['౫']='5', ['౬']='6', ['౭']='7', ['౮']='8', ['౯']='9',
--punctuation
['॥']='.', --double danda
['।']='.', --danda
--Vedic extensions
-- ["ᳵ"] = "ᳵ", ["ᳶ"] = "ᳶ",
--Om
['ఓం']='oṃ',
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = gsub(
text,
'([కఖగఘఙచఛజఝఞటఠడఢణతథదధనపఫబభమయరలవళశషసహ])'..
'([ాిీుూృౄౢౣేైోౌ్]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = gsub(text, '.', tt)
return text
end
return export
17yg3n6e23mtyigdsqruscy4mkvg9en
Modul:saz-translit
828
148150
379507
2026-10-18T04:09:32Z
Hakimi97
2668
Import Lua from [[en:Module:saz-translit]] (oldid=83129589); preserve attribution
379507
Scribunto
text/plain
local export = {}
local consonants = {
['ꢒ']='k', ['ꢓ']='kh', ['ꢔ']='g', ['ꢕ']='gh', ['ꢖ']='ṅ',
['ꢗ']='c', ['ꢘ']='ch', ['ꢙ']='j', ['ꢚ']='jh', ['ꢛ']='ñ',
['ꢜ']='ṭ', ['ꢝ']='ṭh', ['ꢞ']='ḍ', ['ꢟ']='ḍh', ['ꢠ']='ṇ',
['ꢡ']='t', ['ꢢ']='th', ['ꢣ']='d', ['ꢤ']='dh', ['ꢥ']='n',
['ꢦ']='p', ['ꢧ']='ph', ['ꢨ']='b', ['ꢩ']='bh', ['ꢪ']='m',
['ꢫ']='y', ['ꢬ']='r', ['ꢭ']='l', ['ꢮ']='v', ['ꢯ']='ś',
['ꢰ']='ṣ', ['ꢱ']='s', ['ꢲ']='h', ['ꢳ']='ḷ',
}
local diacritics = {
['ꢵ']= 'ā', ['ꢶ']='i', ['ꢷ']='ī', ['ꢸ']='u', ['ꢹ']='ū', ['ꢺ']='ṛ', ['ꢻ']='ṝ', ['ꢼ']='ḷ', ['ꢽ']='ḹ',
['ꢾ']='e', ['ꢿ']='ē', ['ꣀ']='ai', ['ꣁ']='o', ['ꣂ']='ō', ['ꣃ']='au', ['꣄']='',
}
local nonconsonants = {
-- vowels
['ꢂ']='a', ['ꢃ']='ā', ['ꢄ']='i', ['ꢅ']='ī', ['ꢆ']='u', ['ꢇ']='ū',
['ꢈ']='ṛ', ['ꢉ']='ṝ', ['ꢊ']='ḷ', ['ꢋ']='ḹ', ['ꢌ']='e', ['ꢍ']='ē',
['ꢎ']='ai', ['ꢏ']='o', ['ꢐ']='ō', ['ꢑ']='au',
-- other symbols
['ꢀ']='ṃ', -- anusvara
['ꢁ']='ḥ', -- visarga
['ꢴ']='h',
['ꣅ']='◌̃',
['꣎']='.',
-- digits
['꣐'] = '0', ['꣑'] = '1', ['꣒'] = '2', ['꣓'] = '3', ['꣔'] = '4',
['꣕'] = '5', ['꣖'] = '6', ['꣗'] = '7', ['꣘'] = '8', ['꣙'] = '9',
}
-- translit any words or phrases
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([ꢒꢓꢔꢕꢖꢗꢘꢙꢚꢛꢜꢝꢞꢟꢠꢡꢢꢣꢤꢥꢦꢧꢨꢩꢪꢫꢬꢭꢮꢯꢰꢱꢲꢳ])'..
'([ꢵꢶꢷꢸꢹꢺꢻꢼꢽꢾꢿꣀꣁꣂꣃ꣄ꢴ]?)',
function(c, d)
-- mw.log('match', c, d)
c = consonants[c] or c
if d == "" then
return c .. 'a'
else
return c .. (diacritics[d] or d)
end
end)
text = mw.ustring.gsub(text, '.', nonconsonants)
return text
end
return export
nsnalzxlhex9149tgjej3b63xtco23v
Modul:sd-Arab-translit
828
148151
379508
2026-10-18T04:10:38Z
Hakimi97
2668
Import Lua from [[en:Module:sd-Arab-translit]] (oldid=91734503); preserve attribution
379508
Scribunto
text/plain
--- Taken from [[Module:pa-Arab-translit]]
local m_str_utils = require("Module:string utilities")
local U = m_str_utils.char
local gsub = m_str_utils.gsub
local export = {}
local zabar = U(0x64E)
local zer = U(0x650)
local pesh = U(0x64F)
local tashdid = U(0x651) -- also called shadda
local jazm = "ْ"
local hamza = 'ء'
local alif = 'ا'
local vav = 'و'
local ye = 'ي'
local he = 'ه'
local nun = 'ن'
local aspirates = '[ڙمنڻجگلn]'
local diacritics = '[' .. zabar .. zer .. pesh .. jazm .. ']'
local diacritics_or_alif = '[' .. zabar .. zer .. pesh .. jazm .. alif .. ']'
local diacritics_or_matres = '[' .. zabar .. zer .. pesh .. jazm .. alif .. vav .. ye .. ']'
local not_diacritics = '[^' .. zabar .. zer .. pesh .. jazm .. ']'
local mapping = {
["آ"] = 'ā', ["ب"] = 'b', ["ٻ"] = 'ḇ', ["ڀ"] = 'bh', ["ت"] = 't', ["ٿ"] = 'th',
["ٽ"] = 'ṭ', ["ٺ"] = 'ṭh', ["ث"] = 's̱', ["پ"] = 'p', ["ج"] = 'j', ["ڄ"] = 'j̄',
["ڃ"] = "ñ", ["چ"] = 'c', ["ڇ"] = 'ch', ["ح"] = 'ḥ', ["خ"] = 'x',
["د"] = 'd', ["ڌ"] = 'dh', ["ڏ"] = 'ḏ', ["ڊ"] = 'ḍ', ["ڍ"] = 'ḍh', ["ذ"] = 'ẕ',
["ر"] = 'r', ['ڙ'] = "ṛ", ["ز"] = 'z', ["ژ"] = 'ž', ["س"] = 's',
["ش"] = 'ś', ["ص"] = 'ṣ', ["ض"] = 'ẓ', ["ط"] = 't̤', ["ظ"] = 'z̤', ["ع"] = 'ʻ',
["غ"] = 'ġ', ["ف"] = 'f', ["ڦ"] = 'ph', ["ق"] = 'q', ["ڪ"] = 'k', ["ک"] = 'kh',
["گ"] = 'g', ["ڳ"] = 'g̠', ["ڱ"] = 'ṅ', ["ل"] = 'l',
["م"] = 'm', ["ن"] = 'n', ["ڻ"] = 'ṇ',
["و"] = 'v', ["ہ"] = 'h', ["ي"] = 'y', ["۔"] = ".", ["ں"] = 'ṉ', ["ݪ"] = 'ḷ',
["۾"] = 'mẽ', ["۽"] = 'a͠i',
["ھ"] = "h", ["ه"] = "",
["ؤ"] = "'o",
-- diacritics
[zabar] = "a",
[zer] = "i",
[pesh] = "u",
[jazm] = "", -- also sukun - no vowel
[U(0x200C)] = "-", -- ZWNJ (zero-width non-joiner)
-- ligatures
["ﻻ"] = "lā",
["ﷲ"] = "allāh",
-- kashida
["ـ"] = "-", -- kashida, no sound
-- hamza
[hamza] = "", -- nothing
["ئ"] = "",
-- numerals
["۱"] = "1", ["۲"] = "2", ["۳"] = "3", ["۴"] = "4", ["۵"] = "5",
["۶"] = "6", ["۷"] = "7", ["۸"] = "8", ["۹"] = "9", ["۰"] = "0",
-- punctuation (leave on separate lines)
["؟"] = "?", -- question mark
["،"] = ",", -- comma
["؛"] = ";", -- semicolon
["«"] = '“', -- quotation mark
["»"] = '”', -- quotation mark
["٪"] = "%", -- percent
["؉"] = "‰", -- per mille
["٫"] = ".", -- decimals
["٬"] = ",", -- thousand
["ۓ"] = "-ye",
["ۀ"] = "h-e" -- he ye (in izafat)
}
function export.tr(text, lang, sc)
-- nun with diacritics / matres is consonant, else nasalisation
text = gsub(text, nun .. '(' .. diacritics_or_matres .. ')', 'n%1')
text = gsub(text, nun, '̃')
-- handle initial او (= o) so alif doesn't later become ā
text = gsub(text, alif .. vav, 'o')
-- alif
text = gsub(text, alif .. zabar, 'a')
text = gsub(text, alif .. zer, 'i')
text = gsub(text, alif .. pesh, 'u')
text = gsub(text, zabar .. alif, 'ā')
-- aspirates should have diacritics moved after
text = gsub(text, he .. '(' .. diacritics_or_alif .. ')', 'h%1')
text = gsub(text, he .. he .. '(' .. not_diacritics .. ')', he .. '%1')
text = gsub(text, he .. he .. '$', he)
text = gsub(text, '(' .. aspirates .. ')(' .. diacritics .. ')' .. he, '%1' .. he .. '%2')
-- vav + ye: DO VOWEL RULES FIRST (fixes لَوْنگُ)
text = gsub(text, zabar .. vav, 'au')
text = gsub(text, pesh .. vav, 'ū')
text = gsub(text, zabar .. ye, 'ai')
text = gsub(text, zer .. ye, 'ī')
-- extra consonant heuristics demanded by your tests
text = gsub(text, vav .. ye, 'v' .. ye) -- وي... -> ve...
text = gsub(text, ye .. vav .. '$', ye .. 'v') -- ...يو -> ...ev
-- now mark consonantal vav/ye when they have their own marks
text = gsub(text, vav .. '(' .. diacritics_or_alif .. ')', 'v%1')
text = gsub(text, ye .. '(' .. diacritics_or_alif .. ')', 'y%1')
-- default case
text = gsub(text, vav, 'o')
text = gsub(text, ye, 'e')
-- all rules
text = gsub(text, '.', mapping)
-- remaining alif
text = gsub(text, alif, 'ā')
return text
end
return export
lm3zpqdnc76a5cwkc6lk1pubru7vtod
Modul:sel-nor-translit
828
148152
379509
2026-10-18T04:11:43Z
Hakimi97
2668
Import Lua from [[en:Module:sel-nor-translit]] (oldid=84155913); preserve attribution
379509
Scribunto
text/plain
local export = {}
local tab = {
["А"]="A", ["а"]="a", ["Б"]="B", ["б"]="b",
["В"]="W", ["в"]="w", ["Г"]="G", ["г"]="g",
["Д"]="D", ["д"]="d", ["Е"]="Je", ["е"]="je",
["Ё"]="Jo", ["ё"]="jo", ["Ж"]="Ž", ["ж"]="ž",
["З"]="Z", ["з"]="z", ["И"]="I", ["и"]="i",
["Й"]="J", ["й"]="j", ["К"]="K", ["к"]="k",
["Ӄ"]="Q", ["ӄ"]="q", ["Л"]="L", ["л"]="l",
["М"]="M", ["м"]="m", ["Н"]="N", ["н"]="n",
["Ӈ"]="Ŋ", ["ӈ"]="ŋ", ["О"]="O", ["о"]="o",
["Ө"]="Å", ["ө"]="å", ["П"]="P", ["п"]="p",
["Р"]="R", ["р"]="r", ["С"]="S", ["с"]="s",
["Т"]="T", ["т"]="t", ["У"]="U", ["у"]="u",
["Ӱ"]="Ü", ["ӱ"]="ü", ["Ф"]="F", ["ф"]="f",
["Х"]="X", ["х"]="x", ["Ц"]="C", ["ц"]="c",
["Ч"]="Ć", ["ч"]="ć", ["Ш"]="Š", ["ш"]="š",
["Щ"]="Ś", ["щ"]="ś", ["Ы"]="Y", ["ы"]="y",
["Э"]="E", ["э"]="e", ["Ю"]="Ju", ["ю"]="ju",
["Я"]="Ja", ["я"]="ja", ["ъ"]="", ["ь"]="j"
}
function export.tr(text, lang, sc)
return (mw.ustring.gsub(text, '.' ,tab))
end
return export
oy9c33ete48n9es6c0hi4guyz6puzol
Modul:sel-sou-translit
828
148153
379510
2026-10-18T04:12:49Z
Hakimi97
2668
Import Lua from [[en:Module:sel-sou-translit]] (oldid=83978174); preserve attribution
379510
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local macron = u(0x0304)
local acute = u(0x0300)
local tt = {
["А"]='A', ["а"]='a',
["Ӓ"]="’a", ["ӓ"]="’a",
["Б"]='B', ["б"]='b',
["В"]='W', ["в"]='w',
["Г"]='G', ["г"]='g',
["Ӷ"]='Ģ', ["ӷ"]='ģ',
["Д"]='D', ["д"]='d',
["Е"]='Je', ["е"]='je',
["Ё"]="Jo", ["ё"]="jo",
["Ж"]='Ž', ["ж"]='ž',
["Җ"]='Ǯ', ["җ"]='ǯ',
["З"]='Z', ["з"]='z',
["И"]='I', ["и"]='i',
["И̇"]="Ï", ["и̇"]="ї",
["Й"]="J", ["й"]="j",
["К"]='K', ["к"]='k',
["Ӄ"]='Q', ["ӄ"]='q',
["Л"]='L', ["л"]='l',
["М"]='M', ["м"]='m',
["Н"]='N', ["н"]='n',
["Ӈ"]="Ŋ", ["ӈ"]="ŋ",
["О"]='O', ["о"]='o',
["Ӧ"]='Ö', ["ӧ"]='ö',
["П"]='P', ["п"]='p',
["Р"]='R', ["р"]='r',
["С"]='S', ["с"]='s',
["Т"]='T', ["т"]='t',
["У"]='U', ["у"]='u',
["Ӱ"]='Ü', ["ӱ"]='ü',
["Ӯ"]="Ū", ["ӯ"]="ū",
["Ф"]='F', ["ф"]='f',
["Х"]='X', ["х"]='x',
["Ҳ"]="X", ["ҳ"]="x",
["Ц"]='C', ["ц"]='c',
["Ч"]='Č', ["ч"]='č',
["Ш"]='Š', ["ш"]='š',
["Щ"]="Šč", ["щ"]="šč",
["Ы"]="Y", ["ы"]="y",
["Ъ"]="", ["ъ"]="",
["Ь"]="’", ["ь"]="’",
["Э"]="E", ["э"]="e",
["Ю"]="Ju", ["ю"]="ju",
["Я"]="Ja", ["я"]="ja",
}
local vowel = "аӓеёиӣоӧуӱӯыэюяАӒЕЁИӢОӦУӰӮЫЭЮЯ"
function export.tr(text, lang, sc)
-- initial j + vowels
text = mw.ustring.gsub(text, "^" .. "я" .. macron, "jā")
text = mw.ustring.gsub(text, "^" .. "е" .. macron, "je")
text = mw.ustring.gsub(text, "^" .. "ӣ", "jī")
text = mw.ustring.gsub(text, "^" .. "ю" .. macron, "jū")
text = mw.ustring.gsub(text, "^" .. "Я" .. macron, "Jā")
text = mw.ustring.gsub(text, "^" .. "Е" .. macron, "Jē")
text = mw.ustring.gsub(text, "^" .. "Ӣ", "Jī")
text = mw.ustring.gsub(text, "^" .. "Ю" .. macron, "Jū")
text = mw.ustring.gsub(text, " " .. "я" .. macron, "jā")
text = mw.ustring.gsub(text, " " .. "е" .. macron, "je")
text = mw.ustring.gsub(text, " " .. "ӣ", "jī")
text = mw.ustring.gsub(text, " " .. "ю" .. macron, "jū")
text = mw.ustring.gsub(text, " " .. "Я" .. macron, "Jā")
text = mw.ustring.gsub(text, " " .. "Е" .. macron, "Jē")
text = mw.ustring.gsub(text, " " .. "Ӣ", "Jī")
text = mw.ustring.gsub(text, " " .. "Ю" .. macron, "Jū")
return (mw.ustring.gsub(text, '.', tt))
end
return export
9u7bwzo2lficrxjhqb6nc39imhyad0x
Modul:sia-translit
828
148154
379511
2026-10-18T04:13:55Z
Hakimi97
2668
Import Lua from [[en:Module:sia-translit]] (oldid=72832865); preserve attribution
379511
Scribunto
text/plain
local export = {}
local U = mw.ustring.char
local rsubn = mw.ustring.gsub
local macron = U(0x0304)
local tt = {
["А"]='A', ["а"]='a',
["Ӓ"]="Ä", ["ӓ"]="ä",
["А̊"]="Å", ["а̊"]="å",
["Б"]='B', ["б"]='b',
["В"]='V', ["в"]='v',
["Ѵ"]='W', ["ѵ"]='w',
["Г"]='G', ["г"]='g',
["Д"]='D', ["д"]='d',
["Е"]='Je', ["е"]='je',
["Ё"]="Jo", ["ё"]="jo",
["Ж"]='Ž', ["ж"]='ž',
["З"]='Z', ["з"]='z',
["Һ"]="H", ["һ"]="h", ["ʼ"]="h",
["И"]='I', ["и"]='i',
["Ӣ"]="Ī", ["ӣ"]="ī",
["Й"]="J", ["й"]="j",
["Ј"]="J̥", ["ј"]="j̥", ["Ҋ"]="J̥", ["ҋ"]="j̥",
["К"]='K', ["к"]='k',
["К̌"]='Ǩ', ["к̌"]='ǩ',
["Л"]='L', ["л"]='l',
["М"]='M', ["м"]='m',
["Н"]='N', ["н"]='n',
["Ӊ"]="N̥", ["ӊ"]="n̥",
["Ӈ"]="Ŋ", ["ӈ"]="ŋ",
["О"]='O', ["о"]='o',
["П"]='P', ["п"]='p',
["Р"]='R', ["р"]='r',
["С"]='S', ["с"]='s',
["Т"]='T', ["т"]='t',
["У"]='U', ["у"]='u',
["Ӯ"]="Ū", ["ӯ"]="ū",
["Ф"]='F', ["ф"]='f',
["Х"]='X', ["х"]='x',
["Ц"]='C', ["ц"]='c',
["Ч"]='Č', ["ч"]='č',
["Ш"]='Š', ["ш"]='š',
["Щ"]="Šč", ["щ"]="šč",
["Ы"]="Y", ["ы"]="y",
["Ӹ"]="Ï", ["ӹ"]="ï",
["Ъ"]="", ["ъ"]="",
["Ь"]="’", ["ь"]="’", ["Ҍ"]= "’", ["ҍ"]="’",
["Э"]="E", ["э"]="e",
["Ӭ"]="’E", ["ӭ"]="’e",
["Ю"]="Ju", ["ю"]="ju",
["Я"]="Ja", ["я"]="ja",
}
local vowel = "аӓеёиӣоуӯыӹэӭюяАӒЕЁИӢОУӮЫӸЭӬЮЯ"
function export.tr(text, lang, sc)
text = rsubn(text, "^" .. "я" .. macron, "jā")
text = rsubn(text, "^" .. "е" .. macron, "jē")
text = rsubn(text, "^" .. "Я" .. macron, "Jā")
text = rsubn(text, "^" .. "Е" .. macron, "Jē")
text = rsubn(text, " " .. "я" .. macron, " jā")
text = rsubn(text, " " .. "e" .. macron, " jē")
text = rsubn(text, " " .. "Я" .. macron, " jā")
text = rsubn(text, " " .. "E" .. macron, " jē")
text = rsubn(text, "([^" .. vowel .. "НнЪъЬьҌҍ])е", "%1ьэ")
text = rsubn(text, "([^" .. vowel .. "НнЪъЬьҌҍ])ё", "%1ьо")
text = rsubn(text, "([^" .. vowel .. "НнЪъЬьҌҍ])ю", "%1ьу")
text = rsubn(text, "([^" .. vowel .. "НнЪъЬьҌҍ])я", "%1ьа")
text = rsubn(text, "([^" .. vowel .. "НнЪъЬьҌҍ])Е", "%1ЬЭ")
text = rsubn(text, "([^" .. vowel .. "НнЪъЬьҌҍ])Ё", "%1ЬО")
text = rsubn(text, "([^" .. vowel .. "НнЪъЬьҌҍ])Ю", "%1ЬУ")
text = rsubn(text, "([^" .. vowel .. "НнЪъЬьҌҍ])Я", "%1ЬА")
text = rsubn(text, "([нН])ь", "%1й")
text = rsubn(text, "НЬ", "НЙ")
text = rsubn(text, "([лЛ])ҍ", "%1й")
text = rsubn(text, "Лҍ", "ЛЙ")
text = rsubn(text, '.', tt)
return text
end
return export
22m240ghx8zuopxb9yrqsnmue00sfqk
Modul:sje-sortkey
828
148155
379512
2026-10-18T04:15:01Z
Hakimi97
2668
Import Lua from [[en:Module:sje-sortkey]] (oldid=79050720); preserve attribution
379512
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a, b = u(0xF000), u(0xF001)
local oneChar = {
["á"] = "a" .. a, ["đ"] = "d" .. a, ["ŋ"] = "n" .. a, ["ŧ"] = "t" .. a, ["å"] = "z" .. a, ["ä"] = "z" .. b
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar))
end
return export
5ce2mdyxnkjvoce33x28s1rwtcf0aw2
Modul:sjt-translit
828
148156
379513
2026-10-18T04:16:07Z
Hakimi97
2668
Import Lua from [[en:Module:sjt-translit]] (oldid=89158011); preserve attribution
379513
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local macron = u(0x0304)
local tt = {
["А"]='A', ["а"]='a',
["Ӓ"]="’a", ["ӓ"]="’a",
["Б"]='B', ["б"]='b',
["В"]='V', ["в"]='v',
["Г"]='G', ["г"]='g',
["Д"]='D', ["д"]='d',
["Е"]='Je', ["е"]='je',
["Ё"]="Jo", ["ё"]="jo",
["Ж"]='Ž', ["ж"]='ž',
["З"]='Z', ["з"]='z',
["Һ"]="H", ["һ"]="h", ["ʼ"]="h",
["И"]='I', ["и"]='i',
["Ӣ"]="Ī", ["ӣ"]="ī",
["Ӥ"]="’Ï", ["ӥ"]="’ï",
["Й"]="J", ["й"]="j",
["Ј"]="J̥", ["ј"]="j̥", ["Ҋ"]="J̥", ["ҋ"]="j̥",
["К"]='K', ["к"]='k',
["Л"]='L', ["л"]='l',
["Ӆ"]='L̥', ["ӆ"]='l̥',
["М"]='M', ["м"]='m',
["Ӎ"]="M̥", ["ӎ"]="m̥",
["Н"]='N', ["н"]='n',
["Ӊ"]="N̥", ["ӊ"]="n̥",
["Ӈ"]="Ŋ", ["ӈ"]="ŋ",
["О"]='O', ["о"]='o',
["П"]='P', ["п"]='p',
["Р"]='R', ["р"]='r',
["Ҏ"]="R̥", ["ҏ"]="r̥",
["С"]='S', ["с"]='s',
["Т"]='T', ["т"]='t',
["У"]='U', ["у"]='u',
["Ӯ"]="Ū", ["ӯ"]="ū",
["Ф"]='F', ["ф"]='f',
["Х"]='H', ["х"]='x',
["Ц"]='C', ["ц"]='c',
["Ч"]='Č', ["ч"]='č',
["Ш"]='Š', ["ш"]='š',
["Щ"]="Šč", ["щ"]="šč",
["Ы"]="Ï", ["ы"]="ï",
["Ӹ"]="’Ï", ["ӹ"]="’ï",
["Ъ"]="", ["ъ"]="",
["Ь"]="ʼ", ["ь"]="ʼ", ["Ҍ"]= "ʼ", ["ҍ"]="ʼ",
["Э"]="E", ["э"]="e",
["Ӭ"]="’E", ["ӭ"]="’e",
["Ю"]="Ju", ["ю"]="ju",
["Я"]="Ja", ["я"]="ja",
}
local vowel = "аӓеёиӥӣоуӯыӹэӭюяАӒЕЁӤӢОУӮЫӸЭӬЮЯ"
local consonant = "БбВвГгДдЖжЗзКкЛлӅӆМмӍӎНнӉӊӇӈПпРрҎҏСсТтХхҺһЦцЧчШшЩщ"
function export.tr(text, lang, sc)
-- initial palatal n + long vowel
text = mw.ustring.gsub(text, "([Нн])я" .. macron, "%1jā")
text = mw.ustring.gsub(text, "([Нн])ёа" .. macron, "%1jåå")
text = mw.ustring.gsub(text, "([Нн])ёа", "%1jå")
-- digraphs ie and ea
text = mw.ustring.gsub(text, "([" .. consonant .. "])е" .. macron, "%1ie")
text = mw.ustring.gsub(text, "([" .. consonant .. "])я" .. macron, "%1ea")
-- initial ни → njï, if followed by two consonants
text = mw.ustring.gsub(text, "^ни([".. consonant .."][".. consonant .."])", "njï%1")
-- combinations
text = mw.ustring.gsub(text, "^айй([".. consonant .."])а", "ajj%1a")
text = mw.ustring.gsub(text, "^аҋҋ([".. consonant .."])", "aj̥j̥%1")
text = mw.ustring.gsub(text, "^([".. consonant .."])айй([".. consonant .."])а", "%1ajj%2a")
text = mw.ustring.gsub(text, "^([".. consonant .."])аҋҋ([".. consonant .."])", "%1aj̥j̥%2")
text = mw.ustring.gsub(text, "^([".. consonant .."])а$", "%1a")
-- initial х → h
text = mw.ustring.gsub(text, "^" .. "х", "h")
text = mw.ustring.gsub(text, "^" .. "Х", "H")
text = mw.ustring.gsub(text, " " .. "х", " h")
text = mw.ustring.gsub(text, " " .. "Х", " H")
-- initial j + vowels
text = mw.ustring.gsub(text, "^" .. "ю" .. macron, "jū")
text = mw.ustring.gsub(text, "^" .. "я" .. macron, "jā")
text = mw.ustring.gsub(text, "^" .. "ӣ", "ji")
text = mw.ustring.gsub(text, "^" .. "е" .. macron, "jie")
text = mw.ustring.gsub(text, "^" .. "ё" .. macron, "jō")
text = mw.ustring.gsub(text, "^" .. "Ю" .. macron, "Jū")
text = mw.ustring.gsub(text, "^" .. "Я" .. macron, "Jā")
text = mw.ustring.gsub(text, "^" .. "Ӣ", "Ji")
text = mw.ustring.gsub(text, "^" .. "Е" .. macron, "Jie")
text = mw.ustring.gsub(text, "^" .. "ё" .. macron, "Jō")
text = mw.ustring.gsub(text, " " .. "ю" .. macron, " jū")
text = mw.ustring.gsub(text, " " .. "я" .. macron, " jea")
text = mw.ustring.gsub(text, " " .. "ӣ", " ji")
text = mw.ustring.gsub(text, " " .. "e" .. macron, " jie")
text = mw.ustring.gsub(text, " " .. "ё" .. macron, " jō")
text = mw.ustring.gsub(text, " " .. "Ю" .. macron, " jū")
text = mw.ustring.gsub(text, " " .. "Я" .. macron, " jea")
text = mw.ustring.gsub(text, " " .. "Ӣ", " ji")
text = mw.ustring.gsub(text, " " .. "E" .. macron, " jie")
text = mw.ustring.gsub(text, " " .. "Ё" .. macron, " jō")
text = mw.ustring.gsub(text, "че", "če")
text = mw.ustring.gsub(text, "йе", "jje")
-- hard sign between same consonants
text = mw.ustring.gsub(text, "във", "v'v")
text = mw.ustring.gsub(text, "лъл", "l'l")
text = mw.ustring.gsub(text, "мъм", "m'm")
text = mw.ustring.gsub(text, "нън", "n'n")
text = mw.ustring.gsub(text, "със", "s's")
text = mw.ustring.gsub(text, "тът", "t't")
-- soft/semi-soft/hard signs
text = mw.ustring.gsub(text, "([".. consonant .."])([ьҍъ])е", "%1%2je")
text = mw.ustring.gsub(text, "([".. consonant .."])([ьҍъ])ё", "%1%2jo")
text = mw.ustring.gsub(text, "([".. consonant .."])([ьҍъ])ю", "%1%2ju")
text = mw.ustring.gsub(text, "([".. consonant .."])([ьҍъ])я", "%1%2ja")
-- long a
text = mw.ustring.gsub(text, "а" .. macron, "ā")
text = mw.ustring.gsub(text, "А" .. macron, "Ā")
-- final а
text = mw.ustring.gsub(text, "([".. consonant .."])%1" .. "а" .. "$", "%1%1a")
text = mw.ustring.gsub(text, "([".. consonant .."])%1([".. consonant .."])" .. "а" .. "$", "%1%1%2a")
text = mw.ustring.gsub(text, "йй([".. consonant .."])" .. "а" .. "$", "jj%1a")
text = mw.ustring.gsub(text, "ҋҋ([".. consonant .."])" .. "а" .. "$", "j̥j̥%1a")
text = mw.ustring.gsub(text, "йя" .. "$", "jja")
-- endings
text = mw.ustring.gsub(text, "адҍ" .. "$", "ad’")
text = mw.ustring.gsub(text, "эдҍ" .. "$", "âd’")
text = mw.ustring.gsub(text, "чедҍ" .. "$", "čâd’")
text = mw.ustring.gsub(text, "йедҍ" .. "$", "jâd’")
text = mw.ustring.gsub(text, "([БбВвГгДдЖжЗзКкЛлӅӆМмӍӎӉӊӇӈПпРрҎҏСсТтХхЦцШшЩщ])ем" .. "$", "%1’âm")
text = mw.ustring.gsub(text, "([БбВвГгДдЖжЗзКкЛлӅӆМмӍӎӉӊӇӈПпРрҎҏСсТтХхЦцШшЩщ])эм" .. "$", "%1âm")
text = mw.ustring.gsub(text, "чем" .. "$", "čâm")
text = mw.ustring.gsub(text, "эл" .. "$", "âl")
text = mw.ustring.gsub(text, "ас" .. "$", "as")
text = mw.ustring.gsub(text, "ань" .. "$", "anj")
text = mw.ustring.gsub(text, "ант" .. "$", "ant")
-- palatalization
text = mw.ustring.gsub(text, "([БбВвГгДдЖжЗзКкЛлӅӆМмӍӎӇӈПпРрҎҏСсТтХхЦцШшЩщ])е", "%1’e")
text = mw.ustring.gsub(text, "([БбВвГгДдЖжЗзКкЛлӅӆМмӍӎӇӈПпРрҎҏСсТтХхЦцШшЩщ])ё", "%1’o")
text = mw.ustring.gsub(text, "([БбВвГгДдЖжЗзКкЛлӅӆМмӍӎӇӈПпРрҎҏСсТтХхЦцШшЩщ])ю", "%1’u")
text = mw.ustring.gsub(text, "([БбВвГгДдЖжЗзКкЛлӅӆМмӍӎӇӈПпРрҎҏСсТтХхЦцШшЩщ])я", "%1’a")
-- palatal н
text = mw.ustring.gsub(text, "([НнӉӊ])е", "%1je")
text = mw.ustring.gsub(text, "([НнӉӊ])ё", "%1jo")
text = mw.ustring.gsub(text, "([НнӉӊ])ю", "%1ju")
text = mw.ustring.gsub(text, "([НнӉӊ])я", "%1ja")
-- дз → ʒ
text = mw.ustring.gsub(text, "дз", "ʒ")
-- дж → ǯ
text = mw.ustring.gsub(text, "дж", "ǯ")
-- oa
text = mw.ustring.gsub(text, "оа", "oa")
-- а (before final consonants and й)
text = mw.ustring.gsub(text, "а([".. consonant .."])" .. "$", "a%1")
text = mw.ustring.gsub(text, "ай" .. "$", "aj")
-- replacing the remaining (cyrillic) a's with â's
text = mw.ustring.gsub(text, "а", "â")
return (mw.ustring.gsub(text, '.', tt))
end
return export
latc2rw2iuhfmd9dv7en0mkigdysodv
Modul:sju-sortkey
828
148157
379514
2026-10-18T04:17:13Z
Hakimi97
2668
Import Lua from [[en:Module:sju-sortkey]] (oldid=69969083); preserve attribution
379514
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a, b, c = u(0xF000), u(0xF001), u(0xF002)
local oneChar = {
["á"] = "a" .. a, ["đ"] = "d" .. a, ["ï"] = "i" .. a, ["ŋ"] = "n" .. a, ["ŧ"] = "t" .. a, ["ü"] = "u" .. a, ["å"] = "z" .. a, ["ä"] = "z" .. b, ["ö"] = "z" .. c
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar))
end
return export
celfjwyf4dir5zho8cie7z7xaz05uud
Modul:sma-sortkey
828
148158
379515
2026-10-18T04:18:19Z
Hakimi97
2668
Import Lua from [[en:Module:sma-sortkey]] (oldid=69968892); preserve attribution
379515
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a, b, c = u(0xF000), u(0xF001), u(0xF002)
local oneChar = {
["ï"] = "i" .. a, ["æ"] = "z" .. a, ["ä"] = "z" .. a, ["ø"] = "z" .. b, ["ö"] = "z" .. b, ["å"] = "z" .. c
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar))
end
return export
9uw1xjoz1haiv6ju835pesrtd8tkhmd
Modul:smj-sortkey
828
148159
379516
2026-10-18T04:19:25Z
Hakimi97
2668
Import Lua from [[en:Module:smj-sortkey]] (oldid=79050740); preserve attribution
379516
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a, b = u(0xF000), u(0xF001)
local oneChar = {
["á"] = "a" .. a, ["ŋ"] = "n" .. a, ["ń"] = "n" .. a, ["ñ"] = "n" .. a, ["å"] = "z" .. a, ["æ"] = "z" .. b, ["ä"] = "z" .. b
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar))
end
return export
t4we7brtcsx9vyblc4efnuszgxy791o
Modul:smn-sortkey
828
148160
379517
2026-10-18T04:20:31Z
Hakimi97
2668
Import Lua from [[en:Module:smn-sortkey]] (oldid=79050741); preserve attribution
379517
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a, b, c = u(0xF000), u(0xF001), u(0xF002)
local oneChar = {
["â"] = "a" .. a, ["č"] = "c" .. a, ["đ"] = "d" .. a, ["ŋ"] = "n" .. a, ["š"] = "s" .. a, ["ž"] = "z" .. a, ["ä"] = "z" .. b, ["á"] = "z" .. c
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar))
end
return export
6aezniy4q4k15y5purpg3ukoew2hu0n
Modul:sms-sortkey
828
148161
379518
2026-10-18T04:21:37Z
Hakimi97
2668
Import Lua from [[en:Module:sms-sortkey]] (oldid=79050742); preserve attribution
379518
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a, b, c = u(0xF000), u(0xF001), u(0xF002)
local oneChar = {
["â"] = "a" .. a, ["č"] = "c" .. a, ["ʒ"] = "c" .. b, ["ǯ"] = "c" .. c, ["đ"] = "d" .. a, ["ǧ"] = "g" .. a, ["ǥ"] = "g" .. b, ["ǩ"] = "k" .. a, ["ŋ"] = "n" .. a, ["õ"] = "o" .. a, ["š"] = "s" .. a, ["ž"] = "z" .. a, ["å"] = "z" .. b, ["ä"] = "z" .. c
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar))
end
return export
5w71pmba6vvwltum336ecus7ndxgdy3
Modul:srh-translit
828
148162
379519
2026-10-18T04:22:42Z
Hakimi97
2668
Import Lua from [[en:Module:srh-translit]] (oldid=92307461); preserve attribution
379519
Scribunto
text/plain
local export = {}
local data = {}
-- Uyghur-based Arabic alphabet used for Sarikoli, mapped to the Latin
-- letters of the Pakhalina Sarikoli Latin alphabet (matched via IPA).
-- Note: a few Pakhalina "Latin" letters are actually borrowed Cyrillic
-- letters (ы), used because there was no distinct Latin letter
-- available for those sounds; this is intentional, not a typo.
data["Arab"] = {
-- hamza carrier (word-initial vowel marker, purely orthographic)
["ئ"] = "'",
-- bare vowel letters
["ا"] = "o", -- ئا /ɔ/
["ە"] = "a", -- ئە /ɑ, ɛ/
["ۇ"] = "u", -- ئۇ /u/
["ۈ"] = "ы", -- ئۈ /ɯ/
["ې"] = "e", -- ئې /e/
["ى"] = "i", -- ئى /i/
-- consonants
["ب"] = "b",
["پ"] = "p",
["ت"] = "t",
["ث"] = "ϑ",
["ج"] = "ǰ",
["چ"] = "č",
["خ"] = "x",
["ݗ"] = "x̌",
["څ"] = "c",
["ځ"] = "ʒ",
["د"] = "d",
["ذ"] = "δ",
["ر"] = "r",
["ز"] = "z",
["ژ"] = "ž",
["س"] = "s",
["ش"] = "š",
["غ"] = "ɣ",
["ݝ"] = "ɣ̆",
["ف"] = "f",
["ڤ"] = "v",
["ق"] = "q",
["ك"] = "k",
["گ"] = "g",
["ڭ"] = "ng",
["ل"] = "l",
["م"] = "m",
["ن"] = "n",
["ھ"] = "h",
["ه"] = "a", -- plain Arabic heh (U+0647), distinct from ھ (heh doachashmee, U+06BE) above; marks a schwa vowel, not the consonant /h/
["ۋ"] = "w",
["ي"] = "y",
-- punctuation
["؟"] = "?",
["،"] = ",",
["؛"] = ";",
["ـ"] = "-",
}
function export.tr(text, lang, sc)
if not sc then
sc = require("Module:languages").getByCode(lang):findBestScript(text):getCode()
end
if sc ~= "Arab" then
return nil
end
-- strip zero-width non-joiner: purely a rendering aid that forces a
-- letter into its non-joining form (e.g. مادهر), no phonemic value
text = mw.ustring.gsub(text, mw.ustring.char(0x200C), "")
-- remove word-initial hamza (purely orthographic, not phonemic)
text = mw.ustring.gsub(text, "^\216\166(.)", "%1")
text = mw.ustring.gsub(text, "%s\216\166(.)", " %1")
-- disambiguate genuine ن+گ (n+g) from ڭ (ŋ), which both would
-- otherwise transliterate to the same "ng" sequence
text = mw.ustring.gsub(text, "(ن)(گ)", "%1'%2")
text = mw.ustring.gsub(text, '.', data["Arab"])
return text
end
return export
fstf13sp76i4xvmf8uzre0uk4wt982n
Modul:tab-sortkey
828
148163
379520
2026-10-18T04:23:48Z
Hakimi97
2668
Import Lua from [[en:Module:tab-sortkey]] (oldid=69968908); preserve attribution
379520
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a, b, c, d = u(0xF000), u(0xF001), u(0xF002), u(0xF003)
local oneChar = {
["ё"] = "е" .. a
}
local twoChars = {
["аь"] = "а" .. a, ["гг"] = "г" .. a, ["гъ"] = "г" .. b, ["гь"] = "г" .. c, ["жв"] = "ж" .. a, ["кк"] = "к" .. a, ["къ"] = "к" .. b, ["кь"] = "к" .. c, ["кӏ"] = "к" .. d, ["пп"] = "п" .. a, ["пӏ"] = "п" .. b, ["тт"] = "т" .. a, ["тӏ"] = "т" .. b, ["уь"] = "у" .. a, ["хъ"] = "х" .. a, ["хь"] = "х" .. b, ["цц"] = "ц" .. a, ["цӏ"] = "ц" .. b, ["чв"] = "ч" .. a, ["чч"] = "ч" .. b, ["чӏ"] = "ч" .. c, ["шв"] = "ш" .. a
}
function export.makeSortKey(text, lang, sc)
text = mw.ustring.lower(text)
for from, to in pairs(twoChars) do
text = mw.ustring.gsub(text, from, to)
end
return mw.ustring.upper(mw.ustring.gsub(text, ".", oneChar))
end
return export
i82f9j7btnd1efhun8r1kikg85iep20
Modul:tcy-Tutg-translit
828
148164
379521
2026-10-18T04:24:54Z
Hakimi97
2668
Import Lua from [[en:Module:tcy-Tutg-translit]] (oldid=85518286); preserve attribution
379521
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local consonants = {
[''] = 'k', [''] = 'kh', [''] = 'g', [''] = 'gh', ['']='ṅ',
[''] = 'c', [''] = 'ch', [''] = 'j', [''] = 'jh', ['']='ñ',
[''] = 'ṭ', [''] = 'ṭh', [''] = 'ḍ', [''] = 'ḍh', ['']='ṇ',
[''] = 't', [''] = 'th', [''] = 'd', [''] = 'dh', ['']='n',
[''] = 'p', [''] = 'ph', [''] = 'b', [''] = 'bh' , ['']='m',
[''] = 'y', [''] = 'r', [''] = 'r', [''] = 'l', [''] = 'ḷ', [''] = 'v', [''] = 'ś', [''] = 'ṣ', [''] = 's', [''] = 'h',
}
local diacritics = {
[''] = 'ā', [''] = 'i', [''] = 'ī',[''] = 'u', [''] = 'ū',
[''] = 'r̥', [''] ='r̥̄', [''] ='l̥', [''] = 'l̥̄', [''] = 'ē', [''] = 'ai', [''] = 'ō', [''] = 'au', [''] = '', [''] = '',
}
local tt = {
-- vowels
[''] = 'a', [''] ='ā' , [''] ='i' , [''] = 'ī' , [''] = 'u' , [''] = 'ū' ,
[''] = 'r̥', [''] ='r̥̄', [''] ='l̥', [''] = 'l̥̄', [''] = 'ē', [''] ='ai', [''] ='ō', [''] = 'au',
-- other symbols
[''] = 'ṁ',-- avagraha
[''] = 'ṁ',-- anusvara
[''] = 'ḥ' , -- visarga
[''] = 'ōm' , -- om
}
-- translit any words or phrases
function export.tr(text, lang, sc)
local VIRAMA = ''
-- final virama rules
if lang == "tcy" then
text = gsub(text, VIRAMA .. "([%,%.%!%?%:%;]?)$", VIRAMA .. "ŭ%1")
text = gsub(text, VIRAMA .. "([%,%.%!%?%:%;]?) ", VIRAMA .. "ŭ%1 ")
end
text = gsub(
text,
'([])'..
'([]?)',
function(c, d)
if d == "" then
return consonants[c] ..'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = gsub(text,'.', tt)
-- anusvara
text = gsub(text,'ṁ([kgṅ])','ṅ%1')
text = gsub(text,'ṁ([cjñ])','ñ%1')
text = gsub(text,'ṁ([ṭḍṇ])','ṇ%1')
text = gsub(text,'ṁ([tdn])','n%1')
text = gsub(text,'ṁ([pbm])','m%1')
return text
end
return export
jlnpzeijd3e6kqt3drw729vm7i3w918
Modul:tkr-translit
828
148165
379522
2026-10-18T04:26:00Z
Hakimi97
2668
Import Lua from [[en:Module:tkr-translit]] (oldid=83676306); preserve attribution
379522
Scribunto
text/plain
local gsub = mw.ustring.gsub
local u = require("Module:string utilities").char
local export = {}
function export.tr(text, lang, sc)
if sc ~= "Cyrl" then
return nil
end
-- Convert capital to lowercase palochka. Lowercase is found in tables.
text = gsub(text, u(0x4C0), u(0x4CF))
-- Digraphs with soft and hard sign.
text = gsub(text, "([хХ])х([ьъ])", "%1%2:")
text = gsub(text, "[гкхГКХ][ьъ]", {
["гь"]="h", ["Гь"]="H",
["гъ"]="ʁ", ["Гъ"]="ʁ",
["кь"]="qӏ", ["Кь"]="Qӏ",
["къ"]="q:", ["Къ"]="Q:",
["хь"]="x", ["Хь"]="X",
["хъ"]="q", ["Хъ"]="Q",
})
-- Дж and гӏ digraphs.
text = gsub(gsub(text, "дж", "ǯ"), "Дж", "Ǯ")
text = gsub(gsub(text, "гӏ", "ɣ"), "Гӏ", "Ɣ")
-- Geminate consonants.
text = gsub(text, "[птцчксхПТЦЧКСХ][птцчксх]", {
["пп"]="п:", ["Пп"]="П:",
["тт"]="т:", ["Тт"]="Т:",
["цц"]="ц:", ["Цц"]="Ц:",
["чч"]="ч:", ["Чч"]="Ч:",
["кк"]="к:", ["Кк"]="К:",
["сс"]="с:", ["Сс"]="С:",
["хх"]="х:", ["Хх"]="Х:",
})
-- General consonants.
text = gsub(text, "[птцчксшщхнлдзжгъбфмрвПТЦЧКСШЩХНЛДЗЖГЪБФМРВ]", {
["п"]="p", ["П"]="P",
["т"]="t", ["Т"]="T",
["ц"]="c", ["Ц"]="C",
["ч"]="č", ["Ч"]="Č",
["к"]="k", ["К"]="K",
["с"]="s", ["С"]="S",
["ш"]="š", ["Ш"]="Š",
["щ"]="š:", ["Щ"]="Š:",
["х"]="ꭓ", ["Х"]="Ꭓ",
["н"]="n", ["Н"]="N",
["л"]="l", ["Л"]="L",
["д"]="d", ["Д"]="D",
["з"]="z", ["З"]="Z",
["ж"]="ž", ["Ж"]="Ž",
["г"]="g", ["Г"]="G",
["ъ"]="ʔ", ["Ъ"]="ʔ",
["б"]="b", ["Б"]="B",
["ф"]="f", ["Ф"]="F",
["м"]="m", ["М"]="M",
["р"]="r", ["Р"]="R",
["в"]="v", ["В"]="V",
})
-- Palatised consonants.
text = gsub(text, "([tckdgszxnlTCKDGSZXNL]ӏ?)(:?)([иеёюя])", function (con, gem, vow)
return con .. "ʲ" .. gem .. (({ ["ё"]="о", ["ю"]="у", ["я"]="a" })[vow] or vow)
end)
-- Rounded consonants.
text = gsub(text, "([tcčkqǯgzšžxꭓʁTCČKQǮGZŠŽXꞳ]ӏ?:?)v", "%1ʷ")
-- Iotated е.
text = gsub(text, "%f[%a]е", "je")
text = gsub(text, "%f[%a]Е", "Je")
-- Ejective consonants.
text = gsub(text, "[ptcčkgqPTCČKGQ]ӏ", {
["pӏ"]="ṗ", ["Pӏ"]="Ṗ",
["tӏ"]="ṭ", ["Tӏ"]="Ṭ",
["cӏ"]="c̣", ["Cӏ"]="C̣",
["čӏ"]="č̣", ["Čӏ"]="Č̣",
["kӏ"]="ḳ", ["Kӏ"]="Ḳ",
["qӏ"]="q̇", ["Qӏ"]="Q̇",
})
-- Umlaut vowels.
text = gsub(text, "[аоуАОУ]ь", {
["аь"]="ä", ["Аь"]="Ä",
["оь"]="ö", ["Оь"]="Ö",
["уь"]="ü", ["Уь"]="Ü",
})
-- Glottalised vowels.
text = gsub(text, "([аоуыАОУЫ])ӏ", "%1ˤ")
-- Long и.
text = gsub(gsub(text, "ий", "ī"), "Ий", "Ī")
-- General vowels.
text = gsub(text, "[йиеэаыоуюяё’ЙИЕЭАЫОУЮЯЁ]", {
["й"]="j", ["Й"]="J",
["и"]="i", ["И"]="I",
["е"]="e", ["Е"]="E",
["э"]="e", ["Э"]="E",
["а"]="a", ["А"]="A",
["ы"]="ɨ", ["Ы"]="Ɨ",
["о"]="o", ["О"]="O",
["у"]="u", ["У"]="U",
["ю"]="ju", ["Ю"]="Ju",
["я"]="ja", ["Я"]="Ja",
["ё"]="jo", ["Ё"]="Jo",
["’"]="ʲ",
})
return text
end
return export
cvzxfe6l70s4ce6iyomvkmbnn7xxdli
Modul:tl-translit
828
148166
379523
2026-10-18T04:27:06Z
Hakimi97
2668
Import Lua from [[en:Module:tl-translit]] (oldid=85428280); preserve attribution
379523
Scribunto
text/plain
local export = {}
local consonants = {
['ᜃ']='k', ['ᜄ']='g', ['ᜅ']='ng',
['ᜆ']='t', ['ᜇ']='d', ['ᜈ']='n',
['ᜉ']='p', ['ᜊ']='b', ['ᜋ']='m',
['ᜌ']='y', ['ᜎ']='l', ['ᜏ']='w',
['ᜐ']='s', ['ᜑ']='h', ['ᜍ']='r',
['ᜟ']='r'
}
local diacritics = {
['ᜒ']='i', ['ᜓ']='u', ['᜔']='', ['᜕'] = ''
}
local tt = {
-- vowels
['ᜀ']='a', ['ᜁ']='i', ['ᜂ']='u',
--punctuation
['᜶']='.', -- kulit and pamudpod
['᜵']=',' -- single kulit and pamudpod
}
function export.tr(text, lang, sc, override)
if sc ~= "Tglg" then
return nil
end
local separate_dr = false
if string.find(text, 'ᜍ') then
separate_dr = true
end
text = mw.ustring.gsub(text,'([ᜃ᜔ᜄ᜔ᜅ᜔ᜆ᜔ᜈ᜔ᜉ᜔ᜊ᜔ᜋ᜔ᜌ᜔ᜎ᜔ᜏ᜔ᜐ᜔])'..'([ᜀᜁᜂ])','%1-%2')
text = mw.ustring.gsub(
text,
'([ᜃ-ᜑᜟ])'..
'([ᜒᜓ᜔᜕]?)'..
'([ᜀ-ᜂ]?)',
function(c, d, e)
if d == "" and e ~= "" then
if tt[e] == "i" or tt[e] == "u" then return consonants[c] .. 'a' .. tt[e] .. ''
else return consonants[c] .. 'a' .. tt[e] end
elseif e ~= "" then
return consonants[c] .. diacritics[d] .. tt[e]
elseif d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
--convert intervocalic D to R
if not separate_dr then
while true do
local new_text = text
-- text = mw.ustring.gsub(text,"([aiu])d([aiu])","%1r%2")
-- Testing Classical Tagalog d~r rule instead of modern intervocalic rule
text = mw.ustring.gsub(text,"([aiuyw])d","%1r")
text = mw.ustring.gsub(text,"([bkdghlmnprstwy])([bkgpt])d([aiu])","%1%2r%3")
text = mw.ustring.gsub(text,"^([bkgpt])d([aiu])","%1r%2")
text = mw.ustring.gsub(text,"([^aiu])dd","%1dr")
text = mw.ustring.gsub(text,"^dd","dr")
if text == new_text then
break
end
end
end
--remove hyphen between vowels
text = mw.ustring.gsub(text,"([aiu])-([aiu])","%1%2")
text = mw.ustring.gsub(text,
'([ᜒᜓ᜔᜕])',
function(c)
return '-' .. diacritics[c]
end)
-- Attempt final syllable "o" instead of "u"
text = mw.ustring.gsub(text,"([u])([^aeiou ]*)([ ])","o%2%3")
text = mw.ustring.gsub(text,"([u])([^aeiou ]*)$","o%2")
text = mw.ustring.gsub(text,"([u])([o])","o%2")
-- iy" and "uw" diphthong is basically near impossible to that is assumed to be an "ey" and "ow" instead
text = mw.ustring.gsub(text,"iy([^aeiou])","ey%1")
text = mw.ustring.gsub(text,"iy$","ey")
text = mw.ustring.gsub(text,"uw([^aeiou])","ow%1")
text = mw.ustring.gsub(text,"uw$","ow")
-- text = mw.ustring.gsub(text,"([^aiuds ])yi","%1ye")
-- text = mw.ustring.gsub(text,"([^aiu ])wu","%1wo")
text = mw.ustring.gsub(text, "◌", "-a")
text = mw.ustring.gsub(text, " ([,.])", "%1")
return text
end
return export
554cni7ol9f8v66qulh8l08xkcgrjof
Modul:tru-translit
828
148167
379524
2026-10-18T04:28:12Z
Hakimi97
2668
Import Lua from [[en:Module:tru-translit]] (oldid=88032889); preserve attribution
379524
Scribunto
text/plain
local export = {}
local U = require("Module:string/char")
local rsub = mw.ustring.gsub
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
-- apply rsub() repeatedly until no change
local function rsub_repeatedly(term, foo, bar)
while true do
local new_term = rsub(term, foo, bar)
if new_term == term then
return term
end
term = new_term
end
end
local rbasa_below = U(0x737)
local pthaha_below = U(0x731)
local rbasa = U(0x736)
local zqapha = U(0x733)
local pthaha = U(0x730)
local vowel_diacritics_capture = "([" .. rbasa_below .. pthaha_below .. rbasa .. zqapha .. pthaha .. "])"
-- we declare consonants representing vowels (matres lectionis) as constants to mitigate differences in how mixing
-- right-to-left and left-to-right characters in the same line appears in an IDE vs wiktionary. Since matres is used in
-- concatenation via the .. operator, "ܘ" .. "ܐ" on wiktionary would render as "ܐ" .. "ܘ" in an IDE
local alaph = U(0x710)
local waw = U(0x718)
local yudh = U(0x71D)
local combining_diaeresis = U(0x308)
local combining_tilde_below = U(0x330)
local qushshaya = U(0x741)
local rukkakha = U(0x742)
local tt_transpose_punc = {
-- left/right single/double quotes
["“"] = "”",
["”"] = "“",
["‘"] = "’",
["’"] = "‘",
["؟"] = "?", -- question mark
["«"] = '“', -- quotation mark
["»"] = '”', -- quotation mark
["،"] = ",", -- comma
["؛"] = ";", -- semicolon
-- skewed colons from https://r12a.github.io/scripts/syrc/tru.html#phrase
["܇"] = ',',
["܆"] = ';'
}
local tt_transpose_punc_keys = ''
for key, _ in pairs(tt_transpose_punc) do tt_transpose_punc_keys = tt_transpose_punc_keys .. key end
local fix = {
{ vowel_diacritics_capture .. qushshaya, qushshaya .. "%1" },
{ vowel_diacritics_capture .. rukkakha, rukkakha .. "%1" },
{ vowel_diacritics_capture .. combining_tilde_below, combining_tilde_below .. "%1" },
-- partition punctuation marks so "starts with" and "ends with" substitutions work
{"([".. tt_transpose_punc_keys .. "()!.:\"'])", "#%1#"},
}
local tt = {
["ܦ"] = "f", ["ܒ"] = "b", ["ܬ"] = "t", ["ܛ"] = "ṭ", ["ܕ"] = "d", ["ܟ"] = "k",
["ܓ"] = "g", ["ܩ"] = "q", ["ܔ"] = "j", ["ܣ"] = "s", ["ܨ"] = "ṣ", ["ܙ"] = "z",
["ܫ"] = "š", ["ܚ"] = "ḥ", ["ܥ"] = "c", ["ܗ"] = "h", ["ܡ"] = "m", ["ܢ"] = "n",
["ܪ"] = "r", ["ܠ"] = "l",
}
local tt_next = {
[waw] = "w",
[yudh] = "y",
[rbasa_below] = "ë",
[pthaha_below] = "ä",
[rbasa] = "e",
[zqapha] = "o",
[pthaha] = "a",
}
local consonants = "fbtṭdkgqjsṣzščḥchmnrlvžpvṯḏxġ" .. yudh .. waw
local consonants_group = "([" .. consonants .. "])"
local special_cases = {
-- { matching_aii_text, latin_substitution }
--
-- the # symbol pads the start and end of a word, consider the follow examples for matching_aii_text
-- #float# only float matches
-- #float words starting with float like float or floats match
-- float# words ending with float like float or afloat match
-- float words containing float like float, floats, afloat and refloats match
{"ܡܳܪܝ#", "mor#"},
}
function export.tr(text, lang, sc)
text = rsub(text, " | ", "# | #")
text = "##" .. rsub(text, " ", "# #") .. "##"
text = rsub(text, "ـ", "")
text = rsub(text, combining_diaeresis, "")
for _, sub in ipairs(fix) do text = rsub(text, unpack(sub)) end
-- Special cases
for _, sub in ipairs(special_cases) do text = rsub(text, unpack(sub)) end
text = rsub(text, "ܫ" .. combining_tilde_below, "č")
text = rsub(text, "ܙ" .. combining_tilde_below, "ž")
text = rsub(text, "ܦ" .. qushshaya, "p")
text = rsub(text, "ܒ" .. rukkakha, "v")
text = rsub(text, "ܬ" .. rukkakha, "ṯ")
text = rsub(text, "ܕ" .. rukkakha, "ḏ")
text = rsub(text, "ܟ" .. rukkakha, "x")
text = rsub(text, "ܓ" .. rukkakha, "ġ")
text = rsub(text, ".", tt_transpose_punc)
text = rsub(text, ".", tt)
text = rsub_repeatedly(text, consonants_group .. waw .. consonants_group, "%1u%2")
text = rsub_repeatedly(text, consonants_group .. yudh .. consonants_group, "%1i%2")
text = rsub(text, "#" .. waw .. consonants_group, "#u%1")
text = rsub(text, "#" .. yudh .. consonants_group, "#i%1") -- this needs a test case
text = rsub(text, alaph .. pthaha .. waw .. "#", "#aw")
text = rsub(text, alaph .. pthaha .. yudh .. "#", "#ay")
text = rsub(text, "#" .. alaph .. waw, "#u")
text = rsub(text, "#" .. alaph .. yudh, "#i")
text = rsub(text, pthaha .. waw .. "#", "aw#") --<ܝܳܬܰܘ> = yotaw, not yotau
text = rsub(text, pthaha .. yudh .. "#", "ay#") --<ܚܙܰܝ> = ḥzay, not ḥzai
text = rsub(text, waw .. "#", "u#")
text = rsub(text, yudh .. "#", "i#")
text = rsub(text, pthaha .. alaph .. "#", "a#")
text = rsub(text, rbasa .. alaph .. "#", "e#")
text = rsub(text, zqapha .. alaph .. "#", "o#")
text = rsub(text, alaph .. "#", "o#")
text = rsub(text, alaph, "")
text = rsub(text, ".", tt_next)
text = rsub(text, "cc", "c")
text = rsub(text, "ḥḥ", "ḥ")
text = rsub(text, "šš", "š")
text = rsub(text, "ṯṯ", "ṯ")
text = rsub(text, "xx", "x")
text = rsub(text, "#", "")
return text
end
return export
ssgp32viokcx4175v9eju674wa069cm
Modul:tzl-sortkey
828
148168
379525
2026-10-18T04:29:18Z
Hakimi97
2668
Import Lua from [[en:Module:tzl-sortkey]] (oldid=69969955); preserve attribution
379525
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a = u(0xF000)
local remove_diacritics = u(0x0300) .. "-" .. u(0x0303) .. u(0x0308) .. u(0x030A) .. u(0x0327) -- grave, acute, circumflex, tilde, diaeresis, ring above, cedilla
local oneChar = {
["ð"] = "d" .. a, ["ß"] = "ss", ["þ"] = "z" .. a
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.toNFC(mw.ustring.gsub(mw.ustring.toNFD(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar)), "[" .. remove_diacritics .. "]", "")))
end
return export
4a4nkggv02inwhmhhei0p86r2rm2w8j
Modul:uby-sortkey
828
148169
379526
2026-10-18T04:30:24Z
Hakimi97
2668
Import Lua from [[en:Module:uby-sortkey]] (oldid=79050810); preserve attribution
379526
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a, b, c, d, e, f, g, h, i, j, k, l, m, n, o = u(0xF000), u(0xF001), u(0xF002), u(0xF003), u(0xF004), u(0xF005), u(0xF006), u(0xF007), u(0xF008), u(0xF009), u(0xF00A), u(0xF00B), u(0xF00C), u(0xF00D), u(0xF00E)
local oneChar = {
["ӷ"] = "г" .. c, ["ҕ"] = "г" .. d, ["ё"] = "е" .. a, ["ҙ"] = "з" .. b, ["ӡ"] = "з" .. d, ["қ"] = "к" .. c, ["ҟ"] = "к" .. f, ["ӄ"] = "к" .. k, ["ԯ"] = "л" .. a, ["ԥ"] = "п" .. b, ["ҧ"] = "п" .. c, ["ҫ"] = "с" .. b, ["ҭ"] = "т" .. b, ["ҳ"] = "х" .. e, ["ҵ"] = "ц" .. d, ["ҷ"] = "ч" .. a, ["ҽ"] = "ч" .. b, ["ҿ"] = "ч" .. c, ["ҩ"] = "ы" .. a, ["џ"] = "ы" .. b, ["ә"] = "ь" .. a
}
local twoChars = {
["б'"] = "б" .. a, ["в'"] = "в" .. a, ["гь"] = "г" .. a, ["гә"] = "г" .. b, ["ӷь"] = "г" .. e, ["ҕь"] = "г" .. f, ["ӷә"] = "г" .. g, ["ҕә"] = "г" .. h, ["ӷ'"] = "г" .. i, ["ҕ'"] = "г" .. j, ["дә"] = "д" .. a, ["жь"] = "ж" .. a, ["жә"] = "ж" .. b, ["зә"] = "з" .. a, ["ҙә"] = "з" .. c, ["ӡь"] = "з" .. e, ["ӡә"] = "з" .. f, ["ӡ'"] = "з" .. g, ["кь"] = "к" .. a, ["кә"] = "к" .. b, ["қь"] = "к" .. d, ["қә"] = "к" .. e, ["ҟь"] = "к" .. g, ["ҟә"] = "к" .. h, ["ҟ'"] = "к" .. i, ["ӄь"] = "к" .. l, ["ӄә"] = "к" .. m, ["ӄ'"] = "к" .. n, ["ԯь"] = "л" .. b, ["м'"] = "м" .. a, ["п'"] = "п" .. a, ["ԥ'"] = "п" .. d, ["ҧ'"] = "п" .. e, ["сә"] = "с" .. a, ["ҫә"] = "с" .. c, ["тә"] = "т" .. a, ["ҭә"] = "т" .. c, ["ф'"] = "ф" .. a, ["хь"] = "х" .. a, ["хә"] = "х" .. b, ["х'"] = "х" .. c, ["ҳә"] = "х" .. f, ["ць"] = "ц" .. a, ["цә"] = "ц" .. b, ["ц'"] = "ц" .. c, ["ҵь"] = "ц" .. e, ["ҵә"] = "ц" .. f, ["ҵ'"] = "ц" .. g, ["шь"] = "ш" .. a, ["шә"] = "ш" .. b, ["џь"] = "ы" .. c
}
local threeChars = {
["ӷ'ә"] = "г" .. k, ["ҕ'ә"] = "г" .. l, ["ҟ'ә"] = "к" .. j, ["ӄ'ә"] = "к" .. o, ["х'ә"] = "х" .. d
}
function export.makeSortKey(text, lang, sc)
text = mw.ustring.lower(text)
for from, to in pairs(threeChars) do
text = mw.ustring.gsub(text, from, to)
end
for from, to in pairs(twoChars) do
text = mw.ustring.gsub(text, from, to)
end
return mw.ustring.upper(mw.ustring.gsub(text, ".", oneChar))
end
return export
ltx5jpphuzxdjrbw7x7eqlbcalo8ol8
Modul:uby-translit
828
148170
379527
2026-10-18T04:31:30Z
Hakimi97
2668
Import Lua from [[en:Module:uby-translit]] (oldid=93581336); preserve attribution
379527
Scribunto
text/plain
local u = require("Module:string/char")
local export = {}
local GRAVE, ACUTE, CIRC, BREVE, CARON, DOTBELOW = u(0x300), u(0x301), u(0x302), u(0x306), u(0x30C), u(0x323)
local accent = "[" .. GRAVE .. ACUTE .. CIRC .. BREVE .. CARON .. DOTBELOW .. "]"
local tt = {
["а"] = "a", ["б"] = "b", ["в"] = "v", ["г"] = "g", ["ӷ"] = "ğ", ["ҕ"] = "ğ", ["д"] = "d", ["е"] = "e", ["ё"] = "jo", ["ж"] = "ẑ", ["з"] = "z", ["ҙ"] = "ź", ["ӡ"] = "dz", ["и"] = "i", ["й"] = "j", ["к"] = "kʼ", ["қ"] = "k", ["ҟ"] = "qʼ", ["ӄ"] = "q", ["л"] = "l", ["ԯ"] = "lˢ", ["м"] = "m", ["н"] = "n", ["о"] = "o", ["п"] = "pʼ", ["ԥ"] = "p", ["ҧ"] = "p", ["р"] = "r", ["с"] = "s", ["ҫ"] = "ś", ["т"] = "tʼ", ["ҭ"] = "t", ["у"] = "u", ["ф"] = "f", ["х"] = "x", ["ҳ"] = "h", ["ц"] = "c", ["ҵ"] = "cʼ", ["ч"] = "č", ["ҷ"] = "čʼ", ["ҽ"] = "ĉ", ["ҿ"] = "ĉʼ", ["ш"] = "ŝ", ["ы"] = "ə", ["ҩ"] = "jʷ", ["џ"] = "dẑ", ["ь"] = "ʲ", ["ә"] = "ʷ", ["э"] = "e", ["ю"] = "ju", ["я"] = "ja", ["ӏ"] = "ʔ",
["А"] = "A", ["Б"] = "B", ["В"] = "V", ["Г"] = "G", ["Ӷ"] = "Ğ", ["Ҕ"] = "Ğ", ["Д"] = "D", ["Е"] = "E", ["Ё"] = "Jo", ["Ж"] = "Ẑ", ["З"] = "Z", ["Ҙ"] = "Ź", ["Ӡ"] = "Dz", ["И"] = "I", ["Й"] = "J", ["К"] = "Kʼ", ["Қ"] = "K", ["Ҟ"] = "Qʼ", ["Ӄ"] = "Q", ["Л"] = "L", ["Ԯ"] = "Lˢ", ["М"] = "M", ["Н"] = "N", ["О"] = "O", ["П"] = "Pʼ", ["Ԥ"] = "P", ["Ҧ"] = "P", ["Р"] = "R", ["С"] = "S", ["Ҫ"] = "Ś", ["Т"] = "Tʼ", ["Ҭ"] = "T", ["У"] = "U", ["Ф"] = "F", ["Х"] = "X", ["Ҳ"] = "H", ["Ц"] = "C", ["Ҵ"] = "Cʼ", ["Ч"] = "Č", ["Ҷ"] = "Čʼ", ["Ҽ"] = "Ĉ", ["Ҿ"] = "Ĉʼ", ["Ш"] = "Ŝ", ["Ы"] = "Ə", ["Ҩ"] = "Jʷ", ["Џ"] = "Dẑ", ["Ь"] = "ʲ", ["Ә"] = "ʷ", ["Э"] = "E", ["Ю"] = "Ju", ["Я"] = "Ja", ["Ӏ"] = "Ɂ"
}
local digraphs = {
["w'"] = "ẉ", ["жә"] = "žʷ", ["шә"] = "šʷ", ["цә"] = "ćʷ", ["ҵә"] = "ćʷʼ", ["ӡә"] = "dźʷ", ["б'"] = "ḅ", ["в'"] = "ṿ", ["ӷ'"] = "ğ̣", ["ҕ'"] = "ğ̣", ["жь"] = "ž", ["ӡь"] = "dź", ["ӡ'"] = "dź", ["ҟ'"] = "q̣ʼ", ["ӄ'"] = "q̣", ["ԯь"] = "lˢʼ", ["м'"] = "ṃ", ["п'"] = "p̣ʼ", ["ԥ'"] = "p̣", ["ф'"] = "fʼ", ["х'"] = "x̣", ["ць"] = "ć", ["ц'"] = "ć", ["ҵь"] = "ćʼ", ["ҵ'"] = "ćʼ", ["шь"] = "š", ["џь"] = "dž",
["W'"] = "Ẉ", ["Жә"] = "Žʷ", ["Шә"] = "Šʷ", ["Цә"] = "Ćʷ", ["Ҵә"] = "Ćʷʼ", ["Ӡә"] = "Dźʷ", ["Б'"] = "Ḅ", ["В'"] = "Ṿ", ["Ӷ'"] = "Ğ̣", ["Ҕ'"] = "Ğ̣", ["Жь"] = "Ž", ["Ӡь"] = "Dź", ["Ӡ'"] = "Dź", ["Ҟ'"] = "Q̣ʼ", ["Ӄ'"] = "Q̣", ["Ԯь"] = "Lˢʼ", ["М'"] = "Ṃ", ["П'"] = "P̣ʼ", ["Ԥ'"] = "P̣", ["Ф'"] = "Fʼ", ["Х'"] = "X̣", ["Ць"] = "Ć", ["Ц'"] = "Ć", ["Ҵь"] = "Ćʼ", ["Ҵ'"] = "Ćʼ", ["Шь"] = "Š", ["Џь"] = "Dž"
}
function export.tr(text, lang, sc)
local UTF8_char = "[%z\1-\127\194-\244][\128-\191]*"
-- Convert uppercase palochka to lowercase, along with any "false" palochkas (entered as Latin "I" or "l", Greek "Ι" or Cyrillic "І"). Lowercase palochka is found in tables above.
text = mw.ustring.gsub(text, "[IlΙІӀ]", "ӏ")
-- Contextual substitution of "w" for "у", "j" for "и" and "j" before "е". NOTE: These break with string.gsub, so must use mw.ustring.gsub.
text = mw.ustring.gsub(text, "у([аеиоуыэ])", "w%1")
text = mw.ustring.gsub(text, "У([аеиоуыэ])", "W%1")
text = mw.ustring.gsub(text, "([аеёиоуыэюяАЕЁИОУЫЭЮЯ])у", "%1w")
text = mw.ustring.gsub(text, "и([аеиоуыэ])", "j%1")
text = mw.ustring.gsub(text, "И([аеиоуыэ])", "J%1")
text = mw.ustring.gsub(text, "([аеёиоуыэюяАЕЁИОУЫЭЮЯ])и", "%1j")
text = mw.ustring.gsub(text, "([аеёиоуыэюяАЕЁИОУЫЭЮЯ])е", "%1jе")
for digraph, replacement in pairs(digraphs) do
text = string.gsub(text, digraph, replacement)
end
text = string.gsub(text, UTF8_char, tt)
-- Reposition apostrophes then decompose.
text = mw.ustring.toNFD(mw.ustring.gsub(mw.ustring.gsub(text, "ʼʲ", "ʲʼ"), "ʼʷ", "ʷʼ"))
-- When double letters both have a modifier letter and/or an apostrophe, only show on the second for readability purposes.
for letter in string.gmatch("abcdefghijklmnopqrstuvxzəʔABCDEFGHIJKLMNOPQRSTUVXZƏɁ", UTF8_char) do
text = mw.ustring.gsub(text, letter .. "(" .. accent .. "?" .. accent .. "?)([ʲˢʷ]?[ʲʷ]?ʼ?)" .. mw.ustring.lower(letter) .. "%1%2", letter .. "%1" .. mw.ustring.lower(letter) .. "%1%2")
end
-- Remove consecutive j/ʲ and w/ʷ then recompose.
return mw.ustring.toNFC(mw.ustring.gsub(mw.ustring.gsub(text, "ʲ?([Jj])ʲ?", "%1"), "ʷ?([Ww])ʷ?", "%1"))
end
return export
8j52wbrc4be8rm5yt16b0vv0388yxxe
Modul:udm-sortkey
828
148171
379528
2026-10-18T04:32:36Z
Hakimi97
2668
Import Lua from [[en:Module:udm-sortkey]] (oldid=79050815); preserve attribution
379528
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a = u(0xF000)
local oneChar = {
["ё"] = "е" .. a, ["ӝ"] = "ж" .. a, ["ӟ"] = "з" .. a, ["ӥ"] = "и" .. a, ["ӧ"] = "о" .. a, ["ӵ"] = "ч" .. a
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar))
end
return export
9hdcen4m3aiyw35eise3an7700nhrut
Modul:ulc-sortkey
828
148172
379529
2026-10-18T04:33:42Z
Hakimi97
2668
Import Lua from [[en:Module:ulc-sortkey]] (oldid=69968983); preserve attribution
379529
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a, b = u(0xF000), u(0xF001)
local oneChar = {
["ё"] = "е" .. a, ["ӈ"] = "н" .. b
}
local twoChars = {
["дʼ"] = "д" .. a, ["нʼ"] = "н" .. a
}
function export.makeSortKey(text, lang, sc)
text = mw.ustring.lower(text)
for from, to in pairs(twoChars) do
text = mw.ustring.gsub(text, from, to)
end
return mw.ustring.upper(mw.ustring.gsub(text, ".", oneChar))
end
return export
b5pbmcedmp637nsiri6s1fnpd2wg6md
Modul:urj-koo-translit
828
148173
379530
2026-10-18T04:34:47Z
Hakimi97
2668
Import Lua from [[en:Module:urj-koo-translit]] (oldid=71611208); preserve attribution
379530
Scribunto
text/plain
local export = {}
local tab = {
-- Anbur
["𐍐"]="a", ["𐍑"]="b", ["𐍒"]="g", ["𐍓"]="d", ["𐍔"]="e",
["𐍕"]="ž", ["𐍖"]="ǯ", ["𐍗"]="z", ["𐍘"]="ʒ́", ["𐍙"]="j",
["𐍚"]="k", ["𐍛"]="l", ["𐍜"]="m", ["𐍝"]="n",
["𐍞"]="ô", ["𐍟"]="p", ["𐍠"]="r", ["𐍡"]="s", ["𐍢"]="t",
["𐍣"]="v", ["𐍤"]="č", ["𐍥"]="š", ["𐍦"]="č",
["𐍧"]="ju", ["𐍨"]="y", ["𐍩"]="o", ["𐍪"]="o", ["𐍫"]="f", ["𐍬"]="x",
["𐍭"]="ʒ́", ["𐍮"]="v", ["𐍯"]="y", ["𐍰"]="je", ["𐍱"]="ê", ["𐍲"]="jê",
["𐍳"]="ju", ["𐍴"]="ja", ["𐍵"]="ja", ["𐍶"]="a", ["𐍷"]="d", ["𐍸"]="z",
["𐍹"]="n", ["𐍺"]="s", ["̀"]="",
-- capital Cyrillic
["А"]="A", ["Б"]="B", ["В"]="V", ["Г"]="G", ["Д"]="D", ["Е"]="E", ["Ж"]="Ž",
["З"]="Z", ["Ѕ"]="Ʒ́", ["И"]="I", ["І"]="I", ["К"]="K", ["Л"]="L", ["М"]="M",
["Н"]="N", ["О"]="O", ["Ѡ"]="O", ["П"]="P", ["Р"]="R", ["С"]="S", ["Т"]="T",
["Ꙋ"]="U", ["У"]="U", ["Ф"]="F", ["Х"]="X", ["Ц"]="C", ["Ч"]="Č", ["Ш"]="Š",
["Щ"]="Št", ["Ъ"]="", ["Ꙑ"]="Y", ["Ы"]="Y", ["Ь"]="ʹ", ["Ѣ"]="E", ["Ю"]="Ju",
["Ꙗ"]="Ja", ["Я"]="Ja", ["Ѧ"]="Ja",
-- lowercase Cyrillic
["а"]="a", ["б"]="b", ["в"]="v", ["г"]="g", ["д"]="d", ["е"]="e", ["ж"]="ž",
["з"]="z", ["ѕ"]="ʒ́", ["и"]="i", ["і"]="i", ["к"]="k", ["л"]="l", ["м"]="m",
["н"]="n", ["о"]="o", ["ѡ"]="o", ["п"]="p", ["р"]="r", ["с"]="s", ["т"]="t",
["ꙋ"]="u", ["у"]="u", ["ф"]="f", ["х"]="x", ["ц"]="c", ["ч"]="č", ["ш"]="š",
["щ"]="št", ["ъ"]="", ["ꙑ"]="y", ["ы"]="y", ["ь"]="ʹ", ["ѣ"]="e", ["ю"]="ju",
["ꙗ"]="ja", ["я"]="ja", ["ѧ"]="ja"
}
function export.tr(text, lang, sc)
local language = lang
-- palatalisation
text = mw.ustring.gsub(text, "𐍓̀", "ď")
text = mw.ustring.gsub(text, "𐍕̀", "ź")
text = mw.ustring.gsub(text, "𐍛̀", "ľ")
text = mw.ustring.gsub(text, "𐍝̀", "ň")
text = mw.ustring.gsub(text, "𐍥̀", "ś")
text = mw.ustring.gsub(text, "𐍢̀", "ť")
text = mw.ustring.gsub(text, "𐍤̀", "ć")
text = mw.ustring.gsub(text, "𐍙̈", "i")
text = mw.ustring.gsub(text, "𐍣̈", "u")
return (mw.ustring.gsub(text,'.',tab))
end
return export
omykwjfihjuy3vvt4w6d0xigaanh841
Modul:uum-translit
828
148174
379531
2026-10-18T04:35:53Z
Hakimi97
2668
Import Lua from [[en:Module:uum-translit]] (oldid=91559653); preserve attribution
379531
Scribunto
text/plain
local export = {}
local tab = {
["А"]="A", ["Б"]="B", ["В"]="V", ["Г"]="Ğ", ["Ґ"]="G", ["Д"]="D", ["Е"]="Ä", ["Ж"]="J", ["З"]="Z", ["И"]="İ",
["Й"]="Y", ["К"]="K", ["Л"]="L", ["М"]="M", ["Н"]="N", ["Ң"]="Ñ", ["О"]="O", ["Ӧ"]="Ö", ["П"]="P", ["Р"]="R",
["С"]="S", ["Т"]="T", ["У"]="U", ["Ӱ"]="Ü", ["Ф"]="F", ["Х"]="X", ["Һ"]="H", ["Ц"]="Ț", ["Ч"]="Ç", ["Ш"]="Ş",
["Щ"]="Şç", ["Ы"]="I", ["Э"]="E", ["Ь"]="ʼ",
["а"]="a", ["б"]="b", ["в"]="v", ["г"]="ğ", ["ґ"]="g", ["д"]="d", ["е"]="ä", ["ж"]="j", ["з"]="z", ["и"]="i",
["й"]="y", ["к"]="k", ["л"]="l", ["м"]="m", ["н"]="n", ["ң"]="ñ", ["о"]="o", ["ӧ"]="ö", ["п"]="p", ["р"]="r",
["с"]="s", ["т"]="t", ["у"]="u", ["ӱ"]="ü", ["ф"]="f", ["х"]="x", ["һ"]="h", ["ц"]="ț", ["ч"]="ç", ["ш"]="ş",
["щ"]="şç", ["ы"]="ı", ["э"]="e", ["ь"]="ʼ",
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(text, "Д([Жж])", "C")
text = mw.ustring.gsub(text, "дж", "c")
text = mw.ustring.gsub(text, "Тʼ", "Ky")
text = mw.ustring.gsub(text, "тʼ", "ky")
text = mw.ustring.gsub(text, "Дʼ", "Gy")
text = mw.ustring.gsub(text, "дʼ", "gy")
text = mw.ustring.gsub(text, "Нʼ", "Ny")
text = mw.ustring.gsub(text, "нʼ", "ny")
text = mw.ustring.gsub(text, "Лʼ", "Ly")
text = mw.ustring.gsub(text, "лʼ", "ly")
return (mw.ustring.gsub(text, '.' ,tab))
end
return export
p6whqy6k25vlgv7ku2d8n2txblndeen
Modul:vmf-sortkey
828
148175
379532
2026-10-18T04:36:59Z
Hakimi97
2668
Import Lua from [[en:Module:vmf-sortkey]] (oldid=69969958); preserve attribution
379532
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local remove_diacritics = u(0x0300) .. "-" .. u(0x0302) .. u(0x0308) .. u(0x030A) -- grave, acute, circumflex, diaeresis, ring above, cedilla
local oneChar = {
["ß"] = "ss"
}
function export.makeSortKey(text, lang, sc)
return mw.ustring.upper(mw.ustring.toNFC(mw.ustring.gsub(mw.ustring.toNFD(mw.ustring.gsub(mw.ustring.lower(text), ".", oneChar)), "[" .. remove_diacritics .. "]", "")))
end
return export
o9kso4umx6qkz6q6yg86j1zpzhyk7za
Modul:wbl-translit
828
148176
379533
2026-10-18T04:38:05Z
Hakimi97
2668
Import Lua from [[en:Module:wbl-translit]] (oldid=92392993); preserve attribution
379533
Scribunto
text/plain
local export = {}
-- Base letters (no diacritic), lower- and upper-case.
local tt = {
["а"]="a", ["б"]="b", ["в"]="v", ["г"]="g", ["ғ"]="ɣ", ["д"]="d",
["е"]="e", ["ж"]="ž", ["з"]="z", ["и"]="i", ["ӣ"] = "ī", ["й"]="y", ["к"]="k",
["қ"]="q", ["л"]="l", ["м"]="m", ["н"]="n", ["о"]="o", ["п"]="p",
["р"]="r", ["с"]="s", ["т"]="t", ["у"]="u", ["ф"]="f", ["х"]="x",
["ҳ"]="h", ["ц"]="c", ["ч"]="č", ["ҷ"]="ǰ", ["ш"]="š", ["ә"]="ә",
["ы"]="ы",
["А"]="A", ["Б"]="B", ["В"]="V", ["Г"]="G", ["Ғ"]="Γ", ["Д"]="D",
["Е"]="E", ["Ж"]="Ž", ["З"]="Z", ["И"]="I", ["Ӣ"] = "Ī", ["Й"]="Y", ["К"]="K",
["Қ"]="Q", ["Л"]="L", ["М"]="M", ["Н"]="N", ["О"]="O", ["П"]="P",
["Р"]="R", ["С"]="S", ["Т"]="T", ["У"]="U", ["Ф"]="F", ["Х"]="X",
["Ҳ"]="H", ["Ц"]="C", ["Ч"]="Č", ["Ҷ"]="J̌", ["Ш"]="Š", ["Ә"]="Ә",
["Ы"]="Ы",
}
-- Base letter + combining diacritic -> a different Latin letter.
-- Checked before the single-letter table above.
local mapping = {
["в̌"] = "w", ["В̌"] = "W",
["ғ̌"] = "ɣ̌", ["Ғ̌"] = "Γ̌",
["д̌"] = "δ", ["Д̌"] = "Δ",
["д̣"] = "ḍ", ["Д̣"] = "Ḍ",
["ж̣"] = "ẓ̌", ["Ж̣"] = "Ẓ̌",
["з̌"] = "ӡ", ["З̌"] = "Ӡ",
["т̌"] = "ϑ", ["Т̌"] = "Θ",
["т̣"] = "ṭ", ["Т̣"] = "Ṭ",
["х̌"] = "x̌", ["Х̌"] = "X̌",
["ч̣"] = "č̣", ["Ч̣"] = "Č̣",
["ҷ̣"] = "ǰ̣", ["Ҷ̣"] = "J̣̌",
["ш̣"] = "ṣ̌", ["Ш̣"] = "Ṣ̌",
}
function export.tr(text, lang, sc)
if sc == "Latn" then
return nil
end
-- Normalize to NFC first so base+combining-mark keys in `mapping`
-- reliably match regardless of the normalization form the page
-- text happens to be in.
text = mw.ustring.toNFC(text or "")
for char, translit in pairs(mapping) do
text = mw.ustring.gsub(text, char, translit)
end
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
awfo37jmf6yglv818tm1ddu5ar83njy
Modul:wlm-sortkey
828
148177
379534
2026-10-18T04:39:11Z
Hakimi97
2668
Import Lua from [[en:Module:wlm-sortkey]] (oldid=90370334); preserve attribution
379534
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local a = u(0xF000)
local remove_diacritics = u(0x0300) .. "-" .. u(0x0302) .. u(0x0308) .. "'" -- grave, acute, circumflex, diaeresis, apostrophe
local oneChar = {
["k"] = "c"
}
local twoChars = {
["ch"] = "c" .. a, ["dd"] = "d" .. a, ["ff"] = "f" .. a, ["ll"] = "l" .. a, ["ph"] = "p" .. a, ["rh"] = "r" .. a, ["th"] = "t" .. a
}
local threeChars = {
["ngh"] = "g" .. a
}
function export.makeSortKey(text, lang, sc)
text = mw.ustring.lower(text)
for from, to in pairs(threeChars) do
text = mw.ustring.gsub(text, from, to)
end
for from, to in pairs(twoChars) do
text = mw.ustring.gsub(text, from, to)
end
return mw.ustring.upper(mw.ustring.toNFC(mw.ustring.gsub(mw.ustring.toNFD(mw.ustring.gsub(text, ".", oneChar)), "[" .. remove_diacritics .. "]", ""))) -- decompose, remove appropriate diacritics, then recompose again
end
return export
ofbrvuy006obg7gppomrydjtvu7udcs
Modul:xas-translit
828
148178
379535
2026-10-18T04:40:17Z
Hakimi97
2668
Import Lua from [[en:Module:xas-translit]] (oldid=83978171); preserve attribution
379535
Scribunto
text/plain
local export = {}
local tab = {
["А"]="A", ["а"]="a", ["Б"]="B", ["б"]="b", ["Г"]="G", ["г"]="g",
["Д"]="D", ["д"]="d", ["Е"]="E", ["е"]="e", ["Ж"]="Ž", ["ж"]="ž", ["З"]="Z", ["з"]="z",
["И"]="I", ["и"]="i", ["Й"]="J", ["й"]="j", ["К"]="K", ["к"]="k", ["Л"]="L", ["л"]="l",
["М"]="M", ["м"]="m", ["Н"]="N", ["н"]="n", ["Ӈ"]="Ŋ", ["ӈ"]="ŋ", ["О"]="O", ["о"]="o",
["Ӧ"]="Ö", ["ӧ"]="ö", ["Ө"]="Ə̂", ["ө"]="ə̂", ["П"]="P", ["п"]="p", ["Р"]="R", ["р"]="r",
["С"]="S", ["с"]="s", ["Т"]="T", ["т"]="t", ["У"]="U", ["у"]="u", ["Ӱ"]="Ü", ["ӱ"]="ü",
["Х"]="X", ["х"]="x", ["Ч"]="Ć", ["ч"]="ć", ["Ш"]="Š", ["ш"]="š", ["ь"]="", ["ʼ"]="ʔ",
["Ы"]="I̭", ["ы"]="i̭", ["В"]="W", ["в"]="w", ["Ә"]="Ə", ["ә"]="ə",
["Я"]="A", ["я"]="a", ["Ё"]="O", ["ё"]="o", ["Ю"]="U", ["ю"]="u",
}
function export.tr(text, lang, sc)
local language = lang
-- soft consonants
text = mw.ustring.gsub(text, "С([ь])", "Ś%1")
text = mw.ustring.gsub(text, "с([ь])", "ś%1")
text = mw.ustring.gsub(text, "З([ь])", "Ź%1")
text = mw.ustring.gsub(text, "з([ь])", "ź%1")
text = mw.ustring.gsub(text, "Н([ь])", "Ń%1")
text = mw.ustring.gsub(text, "н([ь])", "ń%1")
text = mw.ustring.gsub(text, "Л([ь])", "Ĺ%1")
text = mw.ustring.gsub(text, "л([ь])", "ĺ%1")
text = mw.ustring.gsub(text, "Дж", "Ʒ́")
text = mw.ustring.gsub(text, "дж", "ʒ́")
text = mw.ustring.gsub(text, "([ПпТтКк])х", "%1ʰ")
return (mw.ustring.gsub(text,'.',tab))
end
return export
0jnx6wqhc4tfjlgljhzgap0gusg350f
Modul:xcv-translit
828
148179
379536
2026-10-18T04:41:23Z
Hakimi97
2668
Import Lua from [[en:Module:xcv-translit]] (oldid=84628864); preserve attribution
379536
Scribunto
text/plain
local u = mw.ustring.char
local ACUTE = u(0x0301)
local MACRON = u(0x0304)
local DOTABOVE = u(0x0307)
local DIAER = u(0x0308)
local CARON = u(0x030C)
local str_gsub, ugsub = string.gsub, mw.ustring.gsub
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local UTF8char = '[\1-\127\194-\244][\128-\191]*'
local export = {}
local tab = {
["А"]='A', ["а"]='a', ["Б"]='B', ["б"]='b', ["В"]='W', ["в"]='w', ["Г"]='G', ["г"]='g',
["Д"]='D', ["д"]='d', ["Е"]='Je', ["е"]='je', ["Ё"]='Jo', ["ё"]='jo', ["Ж"]='Ž', ["ж"]='ž',
["З"]='Z', ["з"]='z', ["І"]='Ï', ["і"]='ï', ["И"]='I', ["и"]='i', ["Й"]='J', ["й"]='j',
["К"]='K', ["к"]='k', ["Л"]='L', ["л"]='l', ["М"]='M', ["м"]='m', ["Н"]='N', ["н"]='n',
["О"]='O', ["о"]='o', ["П"]='P', ["п"]='p', ["Р"]='R', ["р"]='r', ["С"]='S', ["с"]='s',
["Т"]='T', ["т"]='t', ["У"]='U', ["у"]='u', ["Ф"]='F', ["ф"]='f', ["Х"]='Q', ["х"]='q',
["Ц"]='C', ["ц"]='c', ["Ч"]='Č', ["ч"]='č', ["Ш"]='Š', ["ш"]='š', ["Щ"]='Ś', ["щ"]='ś',
["Ъ"]='ʺ', ["ъ"]='ʺ', ["Ы"]='Y', ["ы"]='y', ["Ь"]='ʹ', ["ь"]='ʹ', ["Э"]='E', ["э"]='e',
["Ю"]='Ju', ["ю"]='ju', ["Я"]='ja', ["я"]='ja', ["Ѣ"]='Ě', ["ѣ"]='ě',
}
local other = {
{ 'Аа', 'Ā' }, { 'аа', 'ā' }, --long "а"
{ 'Ее', 'Jē'}, { 'ее', 'jē'}, --long "е"
{ 'Ии', 'Ī' }, { 'ии', 'ī' }, --long "и"
{ 'Оо', 'Ō' }, { 'оо', 'ō' }, --long "о"
{ 'Уу', 'Ū' }, { 'уу', 'ū' }, --long "у"
{ 'Ээ', 'Ē' }, { 'ээ', 'ē' }, --long "э"
{ 'Ъ%-', '%-' }, { 'ъ%-', '%-' }, --final "ъ"
{ 'Ъ ', ' ' }, { 'ъ ', ' ' }, --final "ъ"
{ 'Ъ$', '' }, { 'ъ$', '' }, --final "ъ"
{ '([БВГДЖЗЙКЛМНПРСТФХЦЧШЩбвгджзйклмнпрстфхцчшщ])Е', '%1E'}, --post-consonantal E
{ '([БВГДЖЗЙКЛМНПРСТФХЦЧШЩбвгджзйклмнпрстфхцчшщ])е', '%1e'}, --post-consonantal e
{ '([БВГДЖЗЙКЛМНПРСТФХЦЧШЩбвгджзйклмнпрстфхцчшщ])Ее', '%1Ē'}, --post-consonantal long E
{ '([БВГДЖЗЙКЛМНПРСТФХЦЧШЩбвгджзйклмнпрстфхцчшщ])ее', '%1ē'}, --post-consonantal long e
}
function export.tr(text, lang, sc)
for i, replacement in ipairs(other) do
text = str_gsub(text, unpack(replacement))
end
return (str_gsub(text, UTF8char, tab))
end
return export
h6c46gv4zj2t1aqtn5gf2zeamlbxtf9
Modul:xmr-translit
828
148180
379537
2026-10-18T04:42:29Z
Hakimi97
2668
Import Lua from [[en:Module:xmr-translit]] (oldid=60368172); preserve attribution
379537
Scribunto
text/plain
local export = {}
local chars = {
["𐦠"] = "a", ["𐦀"] = "a",
["𐦡"] = "e", ["𐦁"] = "e",
["𐦣"] = "o", ["𐦃"] = "o",
["𐦢"] = "i", ["𐦂"] = "i",
["𐦤"] = "y", ["𐦄"] = "y",
["𐦥"] = "w", ["𐦅"] = "w",
["𐦦"] = "b", ["𐦆"] = "b",
["𐦧"] = "p", ["𐦈"] = "p",
["𐦨"] = "m", ["𐦉"] = "m",
["𐦩"] = "n", ["𐦊"] = "n",
["𐦪"] = "ne", ["𐦌"] = "ne",
["𐦫"] = "r", ["𐦎"] = "r", ["𐦏"] = "r",
["𐦬"] = "l", ["𐦐"] = "l",
["𐦭"] = "ḫ", ["𐦑"] = "ḫ",
["𐦮"] = "ẖ", ["𐦒"] = "ẖ",
["𐦱"] = "se", ["𐦕"] = "se",
["𐦯"] = "s", ["𐦓"] = "s",
["𐦲"] = "k", ["𐦖"] = "k",
["𐦳"] = "q", ["𐦗"] = "q",
["𐦴"] = "t", ["𐦘"] = "t",
["𐦵"] = "te", ["𐦚"] = "te",
["𐦶"] = "to", ["𐦜"] = "to",
["𐦷"] = "d", ["𐦝"] = "d",
}
function export.tr(text, lang, sc)
return (mw.ustring.gsub(text, '.', chars))
end
return export
cv3t8mcdy1353oz7g99bkk9j2lgve9p
Modul:xwo-translit
828
148181
379538
2026-10-18T04:43:35Z
Hakimi97
2668
Import Lua from [[en:Module:xwo-translit]] (oldid=84263612); preserve attribution
379538
Scribunto
text/plain
local export = {}
local MACRON = mw.ustring.char(0x0304)
local tt = {
["ᠠ"] = "a", ["ᡄ"] = "e", ["ᡅ"] = "i", ["ᡆ"] = "o", ["ᡇ"] = "u",
["ᡈ"] = "ö", ["ᡉ"] = "ü",
["ᡋ"] = "b", ["ᡌ"] = "p", ["ᡏ"] = "m", ["ᠯ"] = "l",
["ᠰ"] = "s", ["ᠱ"] = "š", ["ᠨ"] = "n", ["ᡍ"] = "x",
["ᡎ"] = "ɣ", ["ᡐ"] = "t", ["ᡑ"] = "d", ["ᡔ"] = "c",
["ᡒ"] = "č", ["ᡓ"] = "ǰ", ["ᡕ"] = "y", ["ᠷ"] = "r",
["ᡖ"] = "w", ["ᡙ"] = "h", ["ᡘ"] = "gh", ["ᡗ"] = "q",
["ᡚ"] = "ž", ["ᡛ"] = "ń", ["ᡜ"] = "dz", ["ᡊ"] = "ng",
["ᠴ"] = "z",
["ᡃ"] = MACRON, [""] = "-", ["︖"] = "?", ["︕"] = "!",
["᠂"] = ",", ["᠃"] = ".", [" "] = "-", ["᠊"] = "-"
}
function export.tr(text, lang, sc)
local velar_conv = { ["x"] = "k", ["ɣ"] = "g" }
text = mw.ustring.gsub(text, ".", tt)
text = mw.ustring.gsub(text, "([xɣ])(.?)", function(velar, vowel)
return ((mw.ustring.match(vowel, "[eiöü ]") or vowel == "")
and mw.ustring.gsub(velar, "[xɣ]", velar_conv) or velar) .. vowel end)
text = mw.ustring.gsub(text, "zi", "ji")
return text
end
return export
n270095x0qv52mjkoql40vyqw6qjt2p
Modul:yah-translit
828
148182
379539
2026-10-18T04:44:41Z
Hakimi97
2668
Import Lua from [[en:Module:yah-translit]] (oldid=76786148); preserve attribution
379539
Scribunto
text/plain
local export = {}
local tt = {
["а"] = "a", ["А"] = "A",
["ā"] = "ā", ["Ā"] = "Ā",
["б"] = "b", ["Б"] = "B",
["в"] = "v", ["В"] = "V",
["г"] = "g", ["Г"] = "G",
["ѓ"] = "ǵ", ["Ѓ"] = "Ǵ",
["ғ"] = "ɣ", ["Ғ"] = "Ɣ",
["д"] = "d", ["Д"] = "D",
["е"] = "e", ["Е"] = "E",
["ә"] = "ə", ["Ә"] = "Ə",
["ж"] = "ž", ["Ж"] = "Ž",
["з"] = "z", ["З"] = "Z",
["и"] = "i", ["И"] = "I",
["й"] = "y", ["Й"] = "Y",
["к"] = "k", ["К"] = "K",
["ќ"] = "ḱ", ["Ќ"] = "Ḱ",
["қ"] = "q", ["Қ"] = "Q",
["л"] = "l", ["Л"] = "L",
["м"] = "m", ["М"] = "M",
["н"] = "n", ["Н"] = "N",
["о"] = "o", ["О"] = "O",
["п"] = "p", ["П"] = "P",
["р"] = "r", ["Р"] = "R",
["с"] = "s", ["С"] = "S",
["т"] = "t", ["Т"] = "T",
["у"] = "u", ["У"] = "U",
["ф"] = "f", ["Ф"] = "F",
["х"] = "x", ["Х"] = "X",
["ҳ"] = "h", ["Ҳ"] = "H",
["ц"] = "c", ["Ц"] = "C",
["ч"] = "č", ["Ч"] = "Č",
["ҷ"] = "ǰ", ["Ҷ"] = "J̌",
["ш"] = "š", ["Ш"] = "Š",
["э"] = "e", ["Э"] = "E",
}
local mapping = {
["а̄"] = "ā", ["А̄"] = "Ā",
["в̌"] = "w", ["В̌"] = "W",
["д̌"] = "δ", ["Д̌"] = "Δ",
["ѓ"] = "ǵ", ["Ѓ"] = "Ǵ",
["й"] = "y", ["Й"] = "Y",
["ќ"] = "ḱ", ["Ќ"] = "Ḱ",
["т̌"] = "θ", ["Т̌"] = "Θ",
}
function export.tr(text, lang, sc)
if sc == "Latn" then
return nil
end
for char, translit in pairs(mapping) do
text = mw.ustring.gsub(text, char, translit)
end
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export
cgu08aouzz7yy0ac9bnhciy19qlz7p1
Modul:ybi-translit
828
148183
379540
2026-10-18T04:45:46Z
Hakimi97
2668
Import Lua from [[en:Module:ybi-translit]] (oldid=81718074); preserve attribution
379540
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local match = mw.ustring.match
local conv = {
-- consonants
['क'] = 'k',
['ख'] = 'kh',
['ग'] = 'g',
['घ'] = 'gh',
['ङ'] = 'ṅ',
['च'] = 'c',
['छ'] = 'ch',
['ज'] = 'j',
['झ'] = 'jh',
['ञ'] = 'ñ',
['ट'] = 'ṭ',
['ठ'] = 'ṭh',
['ड'] = 'ḍ',
['ढ'] = 'ḍh',
['ण'] = 'ṇ',
['त'] = 't',
['थ'] = 'th',
['द'] = 'd',
['ध'] = 'dh',
['न'] = 'n',
['प'] = 'p',
['फ'] = 'ph',
['ब'] = 'b',
['भ'] = 'bh',
['म'] = 'm',
['य'] = 'y',
['र'] = 'r',
['ल'] = 'l',
['व'] = 'w',
['श'] = 'ś',
['ष'] = 'ṣ',
['स'] = 's',
['ह'] = 'h',
['क़'] = 'q',
['ख़'] = 'x',
['ग़'] = 'ġ',
['ऴ'] = 'ḻ',
['ळ'] = 'ḷ',
['ज़'] = 'z',
['श़'] = 'ž',
['झ़'] = 'ž',
['ड़'] = 'ṛ',
['ढ़'] = 'ṛh',
['फ़'] = 'f',
['थ़'] = 'θ',
['द़'] = 'ð',
['ऩ'] = 'ṉ',
['ऱ'] = 'ṟ',
['ॽ'] = "'",
['व़'] = 'V',
['ॹ'] = 'ž',
-- vowel diacritics
['ि'] = 'i',
['ु'] = 'u',
['े'] = 'e',
['ो'] = 'o',
['ा'] = 'ā',
['ी'] = 'ī',
['ू'] = 'ū',
['ृ'] = 'r̥',
['ॄ'] = 'r̥̄',
['ॢ'] = 'l̥',
['ॣ'] = 'l̥̄',
['ै'] = 'ai',
['ौ'] = 'au',
['ॉ'] = 'ŏ',
['ॅ'] = 'ĕ',
-- vowel signs
['अ'] = 'a',
['इ'] = 'i',
['उ'] = 'u',
['ए'] = 'e',
['ओ'] = 'o',
['आ'] = 'ā',
['ई'] = 'ī',
['ऊ'] = 'ū',
['ऋ'] = 'r̥',
['ॠ'] = 'r̥̄',
['ऌ'] = 'l̥',
['ॡ'] = 'l̥̄',
['ऐ'] = 'ai',
['औ'] = 'au',
['ऑ'] = 'ŏ',
['ॲ'] = 'ĕ',
['ऍ'] = 'ĕ',
-- chandrabindu
['ँ'] = '̃',
-- anusvara
['ं'] = 'ṃ',
-- visarga (length)
['ः'] = ':',
-- virama
['्'] = '',
-- om
['ॐ'] = 'om̐',
-- zero width joiner
[''] = '',
-- zero width non joiner
[''] = '',
-- numerals
['०'] = '0',
['१'] = '1',
['२'] = '2',
['३'] = '3',
['४'] = '4',
['५'] = '5',
['६'] = '6',
['७'] = '7',
['८'] = '8',
['९'] = '9',
-- punctuation
['।'] = '.', -- danda
['॥'] = '.', -- double danda
['+'] = '', -- compound separator
-- abbreviation sign
['॰'] = '.',
}
local nasal_assim = {
['क'] = 'ङ',
['ख'] = 'ङ',
['ग'] = 'ङ',
['घ'] = 'ङ',
['च'] = 'ञ',
['छ'] = 'ञ',
['ज'] = 'ञ',
['झ'] = 'ञ',
['ट'] = 'ण',
['ठ'] = 'ण',
['ड'] = 'ण',
['ढ'] = 'ण',
['प'] = 'म',
['फ'] = 'म',
['ब'] = 'म',
['भ'] = 'म',
['म'] = 'म',
['त'] = 'न',
['थ'] = 'न',
['द'] = 'न',
['ध'] = 'न',
['न'] = 'न',
['ष'] = 'न',
['श'] = 'ङ',
['स'] = 'न',
['य'] = 'म',
['र'] = 'म',
['ल'] = 'ँ',
['व'] = 'म',
['ह'] = 'ङ',
}
local perm_cl = {
['ज्न'] = true, ['ज्ञ'] = true, ['ट्र'] = true, ['ड्र'] = true, ['ट्स'] = true, ['ड्स'] = true, ['स्ड'] = true
}
local all_cons, special_cons = 'कखगघङचछजझञटठडढणतथदधनपफबभमयरलवसशषह', 'कखगघचछजझटठडढणतथदधनपफबभमयरलवशषसह'
local vowel, vowel_sign = 'aिुृेोाीूैौॉॅॆॊॄॢॣ', 'अइउएओआईऊऋॠॡऌऐऔऑऍ'
local function rev_string(text)
local result, length = {}, mw.ustring.len(text)
for i = length, 1, -1 do
table.insert(result, mw.ustring.sub(text, i, i))
end
return table.concat(result)
end
function export.tr(text, lang, sc)
text = gsub(text, '([' .. all_cons .. ']़?)([' .. vowel .. '्]?)', function(c, d)
return c .. (d == "" and 'a' or d)
end)
for word in mw.ustring.gmatch(text, "[ऀ-ॿa]+") do
local orig_word = word
word = rev_string(word)
word = gsub(word, '^a(़?)([' .. all_cons .. '])(.)(.?)', function(opt, first, second, third)
return (((match(first, '[' .. special_cons .. ']') and match(second, 'ं')
or match(first, '[' .. special_cons .. ']') and match(second, '्') and not perm_cl[first .. second .. third])
or match(first .. second, 'य[aिुृेोाीूैौॉॅॆॊआईउऊइएऐओऔ]') or match(first .. second, 'ह[अaिुृेोाीूैौॉॅॆॊआईउऊइएऐओऔ]'))
and 'a' or "") .. opt .. first .. second .. third
end)
word = gsub(word, '(.?)ं(.)', function(succ, prev)
return succ .. (succ .. prev == "a" and "्म" or
(succ == "" and match(prev, '[' .. vowel .. ']') and "̃" or nasal_assim[succ] or "ṃ")) .. prev
end)
local escaped_orig_word = gsub(orig_word, "%+", "")
text = gsub(text, orig_word, rev_string(word))
text = gsub(text, 'ज्ञ', 'gy')
text = gsub(text, 'े़', 'ê')
text = gsub(text, 'ए़', 'ê')
end
text = gsub(text, '.़?', conv)
text = gsub(text, 'a([iu])̃', 'a͠%1')
text = gsub(text, "[<>]", "")
text = gsub(text, "ॱ", "")
text = gsub(text, 'e़', 'ê')
text = gsub(text, 'rh̥', 'hr̥')
text = mw.ustring.toNFC(text)
return text
end
return export
2zhg9sww70dkia7pqpdfgk27mvh8tz7
Modul:ykg-translit
828
148184
379541
2026-10-18T04:46:52Z
Hakimi97
2668
Import Lua from [[en:Module:ykg-translit]] (oldid=84628866); preserve attribution
379541
Scribunto
text/plain
local u = mw.ustring.char
local MACRON = u(0x0304)
local DOTABOVE = u(0x0307)
local DOTBELOW = u(0x0323)
local str_gsub, ugsub = string.gsub, mw.ustring.gsub
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local UTF8char = '[\1-\127\194-\244][\128-\191]*'
local export = {}
local tab = {
["А"]='A', ["а"]='a', ["Б"]='B', ["б"]='b', ["В"]='W', ["в"]='w',
["Г"]='G', ["г"]='g', ["Г̧̧"]='H', ["г̧"]='h', ["Ғ"]='H', ["ғ"]='h', ["Ҕ"]='H', ["ҕ"]='h', --Atlasova, Wikipedia and Kurilov all differ in this
["Д"]='D', ["д"]='d', ["И"]='I', ["и"]='i', ["Й"]='J', ["й"]='j',
["К"]='K', ["к"]='k', ["Л"]='L', ["л"]='l', ["М"]='M', ["м"]='m',
["Н"]='N', ["н"]='n', ["Ӈ"]='Ŋ', ["ӈ"]='ŋ', ["Ң"]='Ŋ', ["ң"]='ŋ', ["Ҥ"]='Ŋ', ["ҥ"]='ŋ', --Same as h above
["О"]='O', ["о"]='o', ["Ө"]='Ö', ["ө"]='ö', ["Ӧ"]='Ö', ["ӧ"]='ö',
["П"]='P', ["п"]='p', ["Р"]='R', ["р"]='r', ["С"]='S', ["с"]='s',
["Т"]='T', ["т"]='t', ["У"]='U', ["у"]='u', ["Ф"]='F', ["ф"]='f',
["Х"]='Q', ["х"]='q', ["Ч"]='Ț', ["ч"]='ț', ["Э"]='E', ["э"]='e',
-- non-native letters
["Е"]='E', ["е"]='e', ["Ё"]='Jo', ["ё"]='jo',
["Ж"]='Z', ["ж"]='z', ["З"]='Z', ["з"]='z',
["Ц"]='C', ["ц"]='c', ["Ш"]='Ş', ["ш"]='ş', ["Щ"]='Ş', ["щ"]='ş',
["Ы"]='Y', ["ы"]='y', ["Ю"]='Ju', ["ю"]='ju',
["Я"]='Ja', ["я"]='ja',
['Ъ']='', ['ъ']='', ["Ь"]="", ["ь"]=""
}
local other = {
{ 'Дь', 'D̦' },
{ 'дь', 'd̦' },
{ 'Нь', 'Ņ' },
{ 'нь', 'ņ' },
{ 'Ль', 'Ļ' },
{ 'ль', 'ļ' },
{ 'Г̧', 'H' },
{ 'г̧', 'h' },
}
function export.tr(text, lang, sc)
for i, replacement in ipairs(other) do
text = str_gsub(text, unpack(replacement))
end
-- Intrestingly the orthography(ies) don't use Cyrillic palatal vowels
return (str_gsub(text, UTF8char, tab))
end
return export
pmninpgv483pebz2vih80i51oeyklgo
Modul:yrk-for-translit
828
148185
379542
2026-10-18T04:47:58Z
Hakimi97
2668
Import Lua from [[en:Module:yrk-for-translit]] (oldid=89318813); preserve attribution
379542
Scribunto
text/plain
local export = {}
local tab = {
["А"]="A", ["Б"]="B", ["В"]="W", ["Г"]="G", ["Д"]="D", ["Е"]="Ye", ["Ё"]="Yo", ["Ж"]="Ž", ["З"]="Z", ["И"]="Yi", ["Й"]="Y", ["Ӑ"]="Ă",
["К"]="K", ["Л"]="L", ["М"]="M", ["Н"]="N", ["О"]="O", ["П"]="P", ["Р"]="R", ["С"]="S", ["Т"]="T", ["У"]="U", ["Ф"]="F", ["Ӣ"]="Yī",
["Х"]="X", ["Ц"]="C", ["Ч"]="Ć", ["Ш"]="Š", ["Щ"]="Ś", ["Ъ"]="ʺ", ["Ы"]="I", ["Ь"]="ʹ", ["Э"]="E", ["Ю"]="Yu", ["Я"]="Ya", ["Ӈ"]="Ŋ", ["Ԓ"]="Ł",
['а']='a', ['б']='b', ['в']='w', ['г']='g', ['д']='d', ['е']='ye', ['ё']='yo', ['ж']='ž', ['з']='z', ['и']='yi', ['й']='y', ["ӑ"]="ă", ["Ӭ"]="Ä",
['к']='k', ['л']='l', ['м']='m', ['н']='n', ['о']='o', ['п']='p', ['р']='r', ['с']='s', ['т']='t', ['у']='u', ['ф']='f', ["ӣ"]="yī",
['х']='x', ['ц']='c', ['ч']='ć', ['ш']='š', ['щ']='ś', ['ъ']='ʺ', ['ы']='i', ['ь']='ʹ', ['э']='e', ['ю']='yu', ['я']='ya', ["ӈ"]="ŋ", ["ԓ"]="ł",
["ˮ"]="q", ["ʼ"]="h", ['Ӯ']='Ū', ['ӯ']='ū', ["ӭ"]="ä",
}
function export.tr(text, lang, sc)
return (mw.ustring.gsub(text, '.' ,tab))
end
return export
paxpoju06o7ty1hhq26e30assydyp7f
Modul:ysr-translit
828
148186
379543
2026-10-18T04:49:04Z
Hakimi97
2668
Import Lua from [[en:Module:ysr-translit]] (oldid=83109542); preserve attribution
379543
Scribunto
text/plain
local export = {}
local u = mw.ustring.char
local gsub = mw.ustring.gsub
local RING = u(0x030A)
local single_letter_replacements = {
["А"]='A', ["а"]='a', ["В"]='V', ["в"]='v',
["Е"]='E', ["е"]='e', ["Ё"]='Jo', ["ё"]='jo',
["Г"]='G', ["г"]='g', ["Ў"]='W',["ў"]='w', ["Ԝ"]='W',["ԝ"]='w', ["Ӷ"]='Ǧ',["ӷ"]='ǧ',
["И"]='I', ["и"]='i', ["Ӣ"]='Ī', ["ӣ"]='ī',
["Й"]='J', ["й"]='j', ["К"]='K', ["к"]='k', ["Л"]='L', ["л"]='l', ["Ӄ"]='Q', ["ӄ"]='q',
["М"]='M', ["м"]='m', ["Н"]='N', ["н"]='n', ["Ӈ"]='Ŋ', ["ӈ"]='ŋ', ["О"]='O', ["о"]='o',
["П"]='P', ["п"]='p', ["Р"]='R', ["р"]='r', ["С"]='S', ["с"]='s',
["Т"]='T', ["т"]='t', ["У"]='U', ["у"]='u', ["Х"]='H', ["х"]='h',
["Ч"]='Č', ["ч"]='č', ["Ӽ"]='X̌', ["ӽ"]='x̌',["Ы"]='Y', ["ы"]='y',
["Э"]='Ə', ["э"]='ə', ["Ю"]='Ju', ["ю"]='ju',["Я"]='Ja', ["я"]='ja', ['Ъ']='ʺ', ['ъ']='ʺ',
-- NOT PRESENT IN THE ORIGINAL LATINISATION --
-- non-native letters
["Ж"]='Z', ["ж"]='z', ["З"]='Ž', ["з"]='ž',
["Ц"]='C', ["ц"]='c', ["Ш"]='Š', ["ш"]='š', ["Щ"]='Šč', ["щ"]='šč',
["Ь"]="’", ["ь"]="’",["Ф"]='F', ["ф"]='f',
["Б"]='B', ["б"]='ʙ',["Д"]='D', ["д"]='d',
-- non-standard letters
["Ҕ"]='Γ', ["ҕ"]='γ', ["Ҥ"]='Ŋ', ["ҥ"]='ŋ',
["Ӄ"]='Q', ["ӄ"]='q', ["Ҕ"]='Ǧ', ["ҕ"]='ǧ',
}
function export.tr(text, lang, sc)
text = gsub(text, ".", single_letter_replacements)
text = gsub(text, "([ЙйЛлНн])ъ", "%1" .. RING)
return text
end
return export
fvuvo5mmpnxoy2jq1sf091w6xmhxdtv
Modul:yux-translit
828
148187
379544
2026-10-18T04:50:10Z
Hakimi97
2668
Import Lua from [[en:Module:yux-translit]] (oldid=84628867); preserve attribution
379544
Scribunto
text/plain
local u = mw.ustring.char
local MACRON = u(0x0304)
local DOTABOVE = u(0x0307)
local DOTBELOW = u(0x0323)
local str_gsub, ugsub = string.gsub, mw.ustring.gsub
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local UTF8char = '[\1-\127\194-\244][\128-\191]*'
local export = {}
local tab = {
["А"]='A', ["а"]='a', ["Б"]='B', ["б"]='b', ["В"]='W', ["в"]='w',
["Г"]='G', ["г"]='g', ["Ҕ"]='H', ["ҕ"]='h', ["Д"]='D', ["д"]='d',
["Ж"]='Ž', ["ж"]='ž', ["И"]='I', ["и"]='i', ["Й"]='J', ["й"]='j',
["К"]='K', ["к"]='k', ["Л"]='L', ["л"]='l', ["М"]='M', ["м"]='m',
["Н"]='N', ["н"]='n', ["Ҥ"]='Ŋ', ["ҥ"]='ŋ', ["О"]='O', ["о"]='o',
["Ө"]='Ø', ["ө"]='ø', ["П"]='P', ["п"]='p', ["Р"]='R', ["р"]='r',
["Т"]='T', ["т"]='t', ["У"]='U', ["у"]='u', ["Ф"]='F', ["ф"]='f',
["Х"]='Q', ["х"]='q', ["Ч"]='Č', ["ч"]='č', ["Ш"]='Š', ["ш"]='š',
["Э"]='E', ["э"]='e',
-- non-native letters
["Е"]='Je', ["е"]='je',
["Ё"]='Jo', ["ё"]='jo',
["З"]='Z', ["з"]='z',
["Ц"]='C', ["ц"]='c',
["Щ"]='Ś', ["щ"]='ś',
["Ы"]='Y', ["ы"]='y',
["Ю"]='Ju', ["ю"]='ju',
["Я"]='Ja', ["я"]='ja',
['Ъ']="ʺ", ['ъ']="ʺ",
["Ь"]='ʹ', ["ь"]='ʹ',
["С"]='S', ["с"]='s'
}
local other = {
{ 'Аа', 'Ā' },
{ 'аа', 'ā' },
{ 'Ээ', 'Ē' },
{ 'ээ', 'ē' },
{ 'Ии', 'Ī' },
{ 'ии', 'ī' },
{ 'Оо', 'Ō' },
{ 'оо', 'ō' },
{ 'Уу', 'Ū' },
{ 'уу', 'ū' },
{ 'Өө', 'Ø̄'},
{ 'өө', 'ø̄'},
{ 'Оу', 'Ow'},
{ 'оу', 'ow'},
}
function export.tr(text, lang, sc)
for i, replacement in ipairs(other) do
text = str_gsub(text, unpack(replacement))
end
return (str_gsub(text, UTF8char, tab))
end
return export
jql2broz6dogabdahpihelq873hsn4f
Modul:za-sortkey
828
148188
379545
2026-10-18T04:51:16Z
Hakimi97
2668
Import Lua from [[en:Module:za-sortkey]] (oldid=83089447); preserve attribution
379545
Scribunto
text/plain
local export = {}
local u = require("Module:string/char")
local UTF8_char = "[%z\1-\127\194-\244][\128-\191]*"
local a, b, c, d, e, f, g = u(0xF000), u(0xF001), u(0xF002), u(0xF003)
local b2 = u(0xF100)
local g2, g3 = u(0xF200), u(0xF201)
local m2, m4 = u(0xF300), u(0xF301)
local n2, n4, n6, n7, n8 = u(0xF400), u(0xF401), u(0xF402), u(0xF403), u(0xF404)
local remove_diacritics = "'" -- apostrophe
local oneCharInit = {
["z"] = "2", ["ƨ"] = "2!", ["j"] = "3", ["з"] = "3!", ["x"] = "4", ["ч"] = "4!", ["q"] = "5", ["ƽ"] = "5!", ["ƅ"] = "6!"
}
local twoCharsInit = {
["by"] = b2, ["gv"] = g2, ["gy"] = g3, ["mb"] = m2, ["my"] = m4, ["nd"] = n2, ["ng"] = n4, ["ŋv"] = n7, ["ny"] = n8
}
local threeCharsInit = {
["ngv"] = n6
}
local conditionalTones1 = {
["h"] = "6"
}
local conditionalTones2 = {
["m"] = "m1", ["n"] = "n1", [n4] = n4 .. "1", ["ŋ"] = "ŋ1", ["k"] = "k7", ["p"] = "p7", ["t"] = "t7", ["b"] = "b8", ["d"] = "d8", ["g"] = "g8"
}
local oneCharFinal = {
["ə"] = "a" .. a .. "!", [b2] = "b" .. a, [g2] = "g" .. a, [g3] = "g" .. b, [m2] = "m" .. a, ["ƃ"] = "m" .. a .. "!", [m4] = "m" .. b, [n2] = "n" .. a, ["ƌ"] = "n" .. a .. "!", [n4] = "n" .. b, ["ŋ"] = "n" .. b .. "!", [n6] = "n" .. c, [n7] = "n" .. c .. "!", [n8] = "n" .. d, ["ɵ"] = "o" .. a .. "!", ["ɯ"] = "w!"
}
local twoCharsFinal = {
["ae"] = "a" .. a, ["oe"] = "o" .. a
}
function export.makeSortKey(text, lang, sc)
local origText = text
text = mw.ustring.lower(text)
-- convert any consonant clusters to single characters, which is necessary for later regexes, and unconditional tone letters to numbers
for from, to in pairs(threeCharsInit) do
text = text:gsub(from, to)
end
for from, to in pairs(twoCharsInit) do
text = text:gsub(from, to)
end
text = text:gsub(UTF8_char, oneCharInit)
-- conditionally convert any conditional tone letters to numbers (e.g. "h" can be a consonant or a tone letter)
for from, to in pairs(conditionalTones1) do
text = text:gsub(from .. "$", to)
text = mw.ustring.gsub(text, from .. "([^1-8aeiouwəɵɯ])", to .. "%1")
end
-- conditionally add a tone number to any syllable-final consonants which do not have them
for from, to in pairs(conditionalTones2) do
text = text:gsub(from .. "$", to)
text = mw.ustring.gsub(text, from .. "([^1-8aeiouwəɵɯ])", to .. "%1")
end
-- conditionally add a tone number to any syllable-final vowels which do not have them
text = mw.ustring.gsub(text, "([^1-8%s%p])$", "%11")
text = mw.ustring.gsub(text, "([1-8][" .. a .. "-" .. d .. "])1$", "%1")
text = mw.ustring.gsub(text, "([aeiouwəɵɯ])([^1-8aeiouwəɵɯ][^1-8])", "%11%2")
-- convert clusters and non-ASCII characters to final form, to achieve correct order
for from, to in pairs(twoCharsFinal) do
text = text:gsub(from, to)
end
text = text:gsub(UTF8_char, oneCharFinal)
-- move "!" to the end and remove any duplicates, to ensure old orthography terms are sorted immediately after their new equivalents
for old in text:gmatch("!") do text = text:gsub("(!)(.+)", "%2%1") end
text = text:gsub("!+", "!")
-- if tone 5 is substituted for tone 1 in pronunciation, also substitute in sortkey (i.e. as though "q" were written)
local page = mw.title.new(origText):getContent() or ""
if mw.ustring.match(page, "{{za%-pron|.*new_bor=1}}") or mw.ustring.match(page, "{{za%-pron|.*new_bor=y}}") then
text = mw.ustring.gsub(text, "1", "5")
-- if the page has the old orthography template, then check the modern orthography page and substitute if present there (i.e. as though "ƽ" were written)
elseif mw.ustring.match(page, "{{za%-1957 spelling of|.*}}") then
local parentPage = mw.title.new(mw.ustring.match(page, "{{za%-1957 spelling of|(.-)}}")):getContent() or ""
if mw.ustring.match(parentPage, "{{za%-pron|.*new_bor=1}}") or mw.ustring.match(parentPage, "{{za%-pron|.*new_bor=y}}") then
text = mw.ustring.gsub(text, "1", "5" .. a)
end
elseif mw.ustring.match(page, "{{za%-1957 orthography of|.*}}") then
local parentPage = mw.title.new(mw.ustring.match(page, "{{za%-1957 orthography of|(.-)}}")):getContent() or ""
if mw.ustring.match(parentPage, "{{za%-pron|.*new_bor=1}}") or mw.ustring.match(parentPage, "{{za%-pron|.*new_bor=y}}") then
text = mw.ustring.gsub(text, "1", "5" .. a)
end
end
-- decompose, remove appropriate diacritics, then recompose again
return mw.ustring.upper(mw.ustring.toNFC(mw.ustring.gsub(mw.ustring.toNFD(text), "[" .. remove_diacritics .. "]", "")))
end
local za = require("Module:languages").getByCode("za")
local function tag(text)
return require("Module:script utilities").tag_text(text, za)
end
local showsubst1 = {
["0"] = "⁰", ["1"] = "¹", ["2"] = "²", ["3"] = "³", ["4"] = "⁴", ["5"] = "⁵", ["6"] = "⁶", ["7"] = "⁷", ["8"] = "⁸"
}
local showsubst2 = {
["2!"] = "²ᵃ", ["3!"] = "³ᵃ", ["4!"] = "⁴ᵃ", ["5!"] = "⁵ᵃ", ["6!"] = "⁶ᵃ", ["A" .. a] = "A₂", ["A" .. a .. "!"] = "A₂ₐ", ["B" .. a] = "B₂", ["G" .. a] = "G₂", ["G" .. b] = "G₃", ["M" .. a] = "M₂", ["M" .. a .. "!"] = "M₂ₐ", ["M" .. b] = "M₃", ["N" .. a] = "N₂", ["N" .. a .. "!"] = "N₂ₐ", ["N" .. b] = "N₃", ["N" .. b .. "!"] = "N₃ₐ", ["N" .. c] = "N₄", ["N" .. c .. "!"] = "N₄ₐ", ["N" .. d] = "N₅", ["O" .. a] = "O₂", ["O" .. a .. "!"] = "O₂ₐ", ["W!"] = "Wₐ"
}
function export.showSortkey(frame)
local output = {}
for _, word in ipairs(frame.args) do
local sc = za:findBestScript(word):getCode()
local sortkey = export.makeSortKey(word, "za", sc)
for from, to in pairs(showsubst2) do
sortkey = mw.ustring.gsub(sortkey, from, to)
end
for from, to in pairs(showsubst1) do
sortkey = mw.ustring.gsub(sortkey, from, to)
end
local example = "\n* <code>" .. sortkey .. "</code>\n: " .. tag(word)
table.insert(output, example)
end
return table.concat(output)
end
function export.showSorting(frame)
local terms = {}
for _, term in ipairs(frame.args) do
table.insert(terms, term)
end
local makeSortKey = require("Module:memoize")(export.makeSortKey)
local function comp(term1, term2)
return makeSortKey(term1) < makeSortKey(term2)
end
table.sort(terms, comp)
for i, term in pairs(terms) do
local sc = za:findBestScript(term):getCode()
local sortkey = export.makeSortKey(term, "za", sc)
for from, to in pairs(showsubst2) do
sortkey = mw.ustring.gsub(sortkey, from, to)
end
for from, to in pairs(showsubst1) do
sortkey = mw.ustring.gsub(sortkey, from, to)
end
terms[i] = "\n* " .. tag(term) .. " (<code>" .. sortkey .. "</code>)"
end
return table.concat(terms)
end
return export
7fspcd3fkp7ekgg073u5qoplshh6q5a
Modul:zkt-translit
828
148189
379546
2026-10-18T04:52:22Z
Hakimi97
2668
Import Lua from [[en:Module:zkt-translit]] (oldid=77210155); preserve attribution
379546
Scribunto
text/plain
local export = {}
local data = mw.loadData("Module:zkt-translit/data")
function export.tr(text, lang, sc)
-- Remove text formatting.
text = text:gsub("\244[\128-\191][\128-\191][\128-\191]", "")
local trtab = {}
i = 0
for char in mw.ustring.gmatch(text, ".") do
i = i + 1
if char == "𘬀" and i > 1 then
table.insert(trtab, trtab[i-1])
else
table.insert(trtab, data[char] or "?")
end
end
local check = table.concat(trtab)
_, count = mw.ustring.gsub(check, "?", "")
if count == mw.ustring.len(check) then
return nil
else
return "*" .. table.concat(trtab, " ")
end
end
return export
sb1ro22i3p1hud8bcw1vfuwajgwgy73
Modul:zle-ort-Arab-translit
828
148190
379547
2026-10-18T04:53:28Z
Hakimi97
2668
Import Lua from [[en:Module:zle-ort-Arab-translit]] (oldid=89786249); preserve attribution
379547
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local match = mw.ustring.match
local sub = mw.ustring.sub
local U = mw.ustring.char
-- Arabic diacritics
local fatha = U(0x64E)
local damma = U(0x64F)
local kasra = U(0x650)
local shadda = U(0x651)
local sukun = U(0x652)
local sup_alif = U(0x670)
local sub_alif = U(0x656)
local vowels = fatha..sup_alif..kasra..sub_alif..damma
-- Arabic and Arabic-Extended A
local range = string.format("%s-%s%s-%s", U(0x600), U(0x6FF), U(0x8A0), U(0x8FF))
-- Latin diacritics
local dot_above = U(0x0307)
local replacements = {
-- vowels
["آ"] = "ã", [sup_alif] = "ȧ", [sub_alif] = "i", [fatha] = "e",
[kasra] = "i", [damma] = "u", [sukun] = "",
-- consonants
["ب"] = "b", ["و"] = "v", ["ه"] = "h", ["غ"] = "g", ["د"] = "d",
["ج"] = "dž", ["ࢮ"] = "dzʹ", ["ژ"] = "ž", ["ض"] = "z", ["ظ"] = "ẓ",
["ز"] = "zʹ", ["ذ"] = "ẓʹ", ["ي"] = "j", ["ى"] = "j", ["ق"] = "k", ["ك"] = "kʹ",
["ل"] = "l", ["م"] = "m", ["ن"] = "n", ["پ"] = "p", ["ر"] = "r",
["ص"] = "s", ["ث"] = "sʹ", ["س"] = "ṣʹ", ["ڛ"] = "s̱ʹ", ["ط"] = "t",
["ت"] = "tʹ", ["ف"] = "f", ["ح"] = "x", ["خ"] = "x̣", ["ࢯ"] = "c",
["چ"] = "č", ["ش"] = "š", ["ا"] = "", ["ع"] = "ʽ", ["ء"] = "ʼ", ["ـ"] = "",
["ڬ"] = "g̣", ["ڭ"] = "nʹ", ["ة"] = "ṭʹ",
}
local long_vowels = {
[fatha.."ا"] = "a",
[fatha.."و"] = "o",
[damma.."و"] = "ū",
[fatha.."ي"] = "ā", [fatha.."ى"] = "ā",
[kasra.."ي"] = "ī", [kasra.."ى"] = "ī",
[sup_alif.."ي"] = "ā"..dot_above, [sup_alif.."ى"] = "ā"..dot_above,
[sub_alif.."ي"] = "ī"..dot_above, [sub_alif.."ى"] = "ī"..dot_above,
}
function export.tr(text, lang, sc)
-- Reorder the shadda before other harakat.
text = gsub(text, "(["..vowels.."])"..shadda, shadda.."%1")
-- The only three-character replacement, damma + waw + alif, is handled separately.
text = gsub(text, damma.."وا", damma.."و"..dot_above)
-- Convert long vowels.
local match_diacritic = "["..vowels..sukun.."]"
text = gsub(text, "(["..vowels.."][اويى])()", function (from, pos)
-- Only convert if the long vowel letter has no diacritic on top of it.
if not match(sub(text, pos, pos), match_diacritic) then
return long_vowels[from]
end
end)
-- Initial alif + fatha transcribed as [a].
text = gsub(text, "%f["..range.."aoūāī"..dot_above.."]ا"..fatha, "a")
-- Preceding alif palatises [l], [m] and [n].
text = gsub(text, "ا([لمن])", "%1ʹ")
text = gsub(text, ".", replacements)
text = gsub(text, "(.)"..shadda, "%1%1")
return text
end
return export
26z8q8zxw3g9k3oezyz42slr4e8ms3z
Modul:ket-utils
828
148191
379548
2026-10-18T05:49:20Z
Hakimi97
2668
Mencipta laman baru dengan kandungan '--[[ Wiktionary's scientific Cyrillic notation for Ket is identical to the attested standard Ket orthography with the addition of: 1. the acute, grave and macron for tones 2. the middle dot when a vowel has middle length but no macron 3. the breve on top of <г> and <ӷ> to indicate they are fricative 4. <ь> before vowels <е и ы ъ> to indicate a precedent palatisation 5. text in parentheses, omitted in Cyrillic --]] local export = {} l...'
379548
Scribunto
text/plain
--[[
Wiktionary's scientific Cyrillic notation for Ket is identical to
the attested standard Ket orthography with the addition of:
1. the acute, grave and macron for tones
2. the middle dot when a vowel has middle length but no macron
3. the breve on top of <г> and <ӷ> to indicate they are fricative
4. <ь> before vowels <е и ы ъ> to indicate a precedent palatisation
5. text in parentheses, omitted in Cyrillic
--]]
local export = {}
local ugsub = mw.ustring.gsub
local ufind = mw.ustring.find
local uupper = mw.ustring.upper
local ulower = mw.ustring.lower
local uNFC = mw.ustring.toNFC
local uNFD = mw.ustring.toNFD
local u = require("Module:string/char")
local grave = u(0x0300)
local acute = u(0x0301)
local circumflex = u(0x0302)
local macron = u(0x0304)
local breve = u(0x0306)
local input_marks = macron..acute..breve..grave.."·"
local cyrl_vowels = "аяеэиыоёөъәую"
local cyrl_ambiguous_vowels = "еиыъ" -- ambiguous about the precedint palatisation
local cyrl_letters = cyrl_vowels.."ьмбпвнтдслрйӈкгӄӷх" .. "жзшфцчщ"
local all_cyrl_letters = "ʼ"..cyrl_letters
local cap_cyrl_letters = mw.ustring.upper(cyrl_letters)
local palatalisation = "Y"
local one_cyrl_to_lat = {
["ʼ"] = "ˀ",
["ь"] = palatalisation,
-- VOWELS
["а"] = "a",
["я"] = palatalisation.."a",
["е"] = "e",
["э"] = "e",
["и"] = "i",
["ы"] = "ɨ",
["о"] = "o",
["ё"] = palatalisation.."o",
["ө"] = "o"..macron,
["ъ"] = "ʌ",
["ә"] = "ʌ"..macron,
["у"] = "u",
["ю"] = palatalisation.."u",
-- CONSONANTS
-- Labial
["м"] = "m",
["б"] = "b",
["п"] = "p",
["в"] = "v",
-- Alveolar
["н"] = "n",
["т"] = "t",
["д"] = "d",
["с"] = "s",
["л"] = "ł",
["р"] = "r",
-- Palatal
["й"] = "y",
-- Velar
["ӈ"] = "ŋ",
["к"] = "k",
["г"] = "g",
-- Uvular
["ӄ"] = "q",
["ӷ"] = "ġ",
-- Glottal
["х"] = "h",
-- Borrowed
["ж"] = "ž",
["з"] = "z",
["ш"] = "š",
["ф"] = "f",
["ц"] = "c",
["ч"] = "č",
["щ"] = "šč",
}
local function selective_decomposition(str)
return ugsub(str, "[ӣӯѐѝӢӮЀЍ]", uNFD)
end
function export.scientific_to_latin(str)
-- Separate macrons from glyphs.
str = selective_decomposition(str)
-- Bring everything to lowercase.
str = ugsub(str, "["..cap_cyrl_letters.."]", function(char)
return "^"..ulower(char)
end)
-- Deal with unpredictable fricative or occlusive г and ӷ.
str = ugsub(str, "([гӷ])"..breve, { ["г"] = "ɣ", ["ӷ"] = "ɣ̇" })
-- Make ambiguous vowels always palatise after vowels.
str = ugsub(str,
"(["..cyrl_vowels.."])(["..input_marks.."]?)(["..cyrl_ambiguous_vowels.."])",
function (first_vowel, mark, second_vowel)
if first_vowel ~= second_vowel then
return first_vowel..mark..palatalisation..second_vowel
end
end
)
-- Handle the main substitutions.
str = ugsub(str, "["..all_cyrl_letters.."]", one_cyrl_to_lat)
-- Put a middle dot after a vowel with macron.
str = ugsub(str, "(.)"..macron, "%1"..macron.."·")
-- Put a circumflex on all long vowels.
str = ugsub(str, "([aeiɨoʌu])%1", "%1"..circumflex..":")
-- Consider long vowels of other tones as long if written twice.
str = ugsub(str, "([aeiɨoʌu])(["..acute..grave.."])%1", "%1%2:")
-- Make the small <y> if not after consonants.
str = ugsub(str, "([nsłr])"..palatalisation, "%1’")
str = ugsub(str, palatalisation, "y")
-- Bring capital letters back.
str = ugsub(str, "%^(.)", function(char)
return uupper(char)
end)
return str
end
function export.scientific_to_cyrillic(str)
-- This avoid <й> from being decomposed.
str = uNFC(str)
-- Make sure the right codepoint is used.
if ufind(str, "['’]") then
error("Please use the encoding ʼ MODIFIER LETTER APOSTROPHE (U+02BC)")
end
-- Separate macrons from glyphs.
str = selective_decomposition(str)
-- Strips accents and middle dot.
str = ugsub(str, "["..grave..acute..macron..breve.."·]", "")
-- Hides palatisation before inherently palatising vowels.
str = ugsub(str, "ь(["..cyrl_ambiguous_vowels.."])", "%1")
-- Remove texts in parentheses.
str = ugsub(str, "%(.-%)", "")
return str
end
-- Function names readable by [[Module:languages]].
export.tr = export.scientific_to_latin
export.stripDiacritics = export.scientific_to_cyrillic
export.makeDisplayText = export.scientific_to_cyrillic
return export
6n58c6ixzaufcnh7dqnb1ftyh2c8gyb
Pengguna:Uwais Athrun
2
148192
379550
2026-10-18T06:38:00Z
Uwais Athrun
11607
/* */ my profile
379550
wikitext
text/x-wiki
A Silveran (Perak) birth to preserve my own dialect in here.
If no one does it. Then let me do it
qmpzq92mdra4fxoo2ljuzej39p46u8f
Wikikamus:ms/harta karun
4
148193
379554
2026-10-18T11:41:29Z
Hakimi97
2668
Mencipta lema baharu
379554
wikitext
text/x-wiki
==Bahasa {{bahasa|ms}}==
===Frasa===
{{inti|ms|frasa}}
# {{label|1=ms|2=dialek|3=Malaysia}} harta yang tertimbus dan tidak dituntut oleh sesiapa.
#* {{cp|ms|Ahmad menemui '''harta karun''' di bawah pokok gergasi depan rumahnya.}}
3ny8s6u657qinca2yge5e63rekaujuu
379556
379554
2026-10-18T11:43:07Z
Hakimi97
2668
Membuang "bullet point" berlebihan
379556
wikitext
text/x-wiki
==Bahasa {{bahasa|ms}}==
===Frasa===
{{inti|ms|frasa}}
# {{label|1=ms|2=dialek|3=Malaysia}} harta yang tertimbus dan tidak dituntut oleh sesiapa.{{cp|ms|Ahmad menemui '''harta karun''' di bawah pokok gergasi depan rumahnya.}}
91bjb07l38fgcjzchqxi73iz673amwe
379557
379556
2026-10-18T11:43:43Z
Hakimi97
2668
/* Frasa */ Pembetulan tatabahasa
379557
wikitext
text/x-wiki
==Bahasa {{bahasa|ms}}==
===Frasa===
{{inti|ms|frasa}}
# {{label|1=ms|2=dialek|3=Malaysia}} harta yang tertimbus dan tidak dituntut oleh sesiapa.{{cp|ms|Ahmad menemukan '''harta karun''' di bawah pokok gergasi depan rumahnya.}}
tl2oz95vgoc5bafq4ref1tle8tl2yh5
Wikikamus:ms/ate
4
148194
379555
2026-10-18T11:43:00Z
Uwais Athrun
11607
/* */ Sumbangan perkataan Perak
379555
wikitext
text/x-wiki
'''Ate -''' Nanti, habis tu, pembuka kata
Contoh ayat :
"Ate tumpor le kome" (nanti tumpaslah kalian)
==Bahasa {{bahasa|ms}}==
===Kata kerja===
{{inti|ms|kata kerja}}
# {{label|1=ms|2=dialek|3=Johor}} contoh
rrb70f12wz4oe4h5xl5vx2royj673mt
379558
379555
2026-10-18T11:44:27Z
Uwais Athrun
11607
379558
wikitext
text/x-wiki
'''Ate -''' Nanti, habis tu, pembuka kata
Contoh ayat :
"Ate tumpor le kome" (nanti tumpaslah kalian)
<sub>Dialek Perak</sub>
==Bahasa {{bahasa|ms}}==
===Kata kerja===
{{inti|ms|kata kerja}}
# {{label|1=ms|2=dialek|3=Johor}} contoh
5oiael0x0ae7luvum351aa11lkxbpn0