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