Masaram Gondi transliteration module.
This module will transliterate Gondi language text.
The module should preferably not be called directly from templates or other modules.
To use it from a template, use {{xlit}}
.
Within a module, use Module:languages#Language:transliterate.
For testcases, see Module:gon-Gonm-translit/testcases.
tr(text, lang, sc)
text
written in the script specified by the code sc
, and language specified by the code lang
.nil
.Module:gon-Gonm-translit/testcases:
All tests passed. (refresh)
Text | Expected | Actual | Comments | |
---|---|---|---|---|
𑴦𑴶 | r̥ | r̥ | independent <r̥> represented by independent <r> + dependent <r̥> | |
𑴨𑴘𑵂𑴳 | vaṛī | vaṛī | <ṛ> represented as 𑴘𑵂 | |
𑴀𑴎𑵅𑴎 | agga | agga | virama | |
𑴌𑴱𑴖𑵄 | kāṭ | kāṭ | word-final halanta | |
𑴌𑴵𑴥𑵄𑴫𑴱 | kūysā | kūysā | word-medial halanta | |
𑴀𑵆𑴝𑴽 | ardo | ardo | repha | |
𑴑𑴱𑴠𑵇𑴱 | cāprā | cāprā | ra-kāra | |
𑴆𑵃 | ĕ | ĕ | <ऍ> ĕ independent | |
𑴁𑵃 | ŏ | ŏ | <ऑ> ŏ independent | |
𑴌𑵃 | kĕ | kĕ | <ऍ> ĕ dependent | |
𑴌𑴱𑵃 | kŏ | kŏ | <ऑ> ŏ dependent |
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 .. 'a'
else
return consonants .. diacritics
end
end)
text = gsub(text, '.', tt)
-- anusvara
text = gsub(text, 'ṁ()', 'ṅ%1')
text = gsub(text, 'ṁ()', 'ñ%1')
text = gsub(text, 'ṁ()', 'ṇ%1')
text = gsub(text, 'ṁ()', 'n%1')
text = gsub(text, 'ṁ()', 'm%1')
text = gsub(text, 'rr̥', 'r̥') -- 𑴦𑴶 is independent r̥
text = gsub(text, '𑵆', 'r') -- repha
text = gsub(text, '̃', 'ĕ') -- <ऍ> ĕ independent and dependent
text = gsub(text, 'ā̃', 'ŏ') -- <ऑ> ŏ independent and dependent
return text
end
return export