မဝ်ဂျူ:Tirh-Deva-translit
မံက်ပြာကတ်
Documentation for this module may be created at မဝ်ဂျူ:Tirh-Deva-translit/doc
local export = {}
local twoChars = {
["𑒏𑓃"] = "क़", ["𑒐𑓃"] = "ख़", ["𑒑𑓃"] = "ग़", ["𑒖𑓃"] = "ज़", ["𑒛𑓃"] = "ड़", ["𑒜𑓃"] = "ढ़", ["𑒤𑓃"] = "फ़", ["𑒨𑓃"] = "य़", ["𑒪𑓃"] = "ळ",
["𑒁𑒺"] = "ऎ", ["𑒁𑒽"] = "ऒ"
}
local oneChar = {
["𑒏"] = "क", ["𑒐"] = "ख", ["𑒑"] = "ग", ["𑒒"] = "घ", ["𑒓"] = "ङ", ["𑒔"] = "च", ["𑒕"] = "छ", ["𑒖"] = "ज", ["𑒗"] = "झ", ["𑒘"] = "ञ", ["𑒙"] = "ट", ["𑒚"] = "ठ", ["𑒛"] = "ड", ["𑒜"] = "ढ", ["𑒝"] = "ण", ["𑒞"] = "त", ["𑒟"] = "थ", ["𑒠"] = "द", ["𑒡"] = "ध", ["𑒢"] = "न", ["𑒣"] = "प", ["𑒤"] = "फ", ["𑒥"] = "ब", ["𑒦"] = "भ", ["𑒧"] = "म", ["𑒨"] = "य", ["𑒩"] = "र", ["𑒪"] = "ल", ["𑒫"] = "व", ["𑒬"] = "श", ["𑒭"] = "ष", ["𑒮"] = "स", ["𑒯"] = "ह",
["𑒁"] = "अ", ["𑒂"] = "आ", ["𑒃"] = "इ", ["𑒄"] = "ई", ["𑒅"] = "उ", ["𑒆"] = "ऊ", ["𑒇"] = "ऋ", ["𑒈"] = "ॠ", ["𑒉"] = "ऌ", ["𑒊"] = "ॡ", ["𑒋"] = "ए", ["𑒌"] = "ऐ", ["𑒍"] = "ओ", ["𑒎"] = "औ",
["𑒰"] = "ा", ["𑒱"] = "ि", ["𑒲"] = "ी", ["𑒳"] = "ु", ["𑒴"] = "ू", ["𑒵"] = "ृ", ["𑒶"] = "ॄ", ["𑒷"] = "ॢ", ["𑒸"] = "ॣ", ["𑒺"] = "ॆ", ["𑒹"] = "े", ["𑒻"] = "ै", ["𑒽"] = "ॊ", ["𑒼"] = "ो", ["𑒾"] = "ौ", ["𑓂"] = "्",
["𑓀"] = "ं", ["𑓁"] = "ः", ["𑒿"] = "ँ", ["𑓄"] = "ऽ", ["𑓇"] = "ॐ", ["𑓆"] = "॰",
["𑓐"] = "०", ["𑓑"] = "१", ["𑓒"] = "२", ["𑓓"] = "३", ["𑓔"] = "४", ["𑓕"] = "५", ["𑓖"] = "६", ["𑓗"] = "७", ["𑓘"] = "८", ["𑓙"] = "९"
}
-- Override returns text even if some characters cannot be transliterated.
function export.tr(text, lang, sc, override)
local UTF8_char = "[%z\1-\127\194-\244][\128-\191]*"
local Deva = require("Module:scripts").getByCode("Deva")
for digraph, replacement in pairs(twoChars) do
text = string.gsub(text, digraph, replacement)
end
text = string.gsub(text, UTF8_char, oneChar)
local reducedText = mw.ustring.gsub(mw.ustring.gsub(text, "<.->", ""), "[%s%p\n]+", "")
if mw.ustring.len(reducedText) == Deva:countCharacters(reducedText) or override then
return text
else
return nil
end
end
return export