Module:sa-Knda-translit
Jump to navigation
Jump to search
- The following documentation is located at Module:sa-Knda-translit/documentation. [edit] Categories were auto-generated by Module:module categorization. [edit]
- Useful links: subpage list • links • transclusions • testcases • sandbox
This module will transliterate Sanskrit language text per WT:SA TR.
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:sa-Knda-translit/testcases.
Functions
tr(text, lang, sc)
- Transliterates a given piece of
text
written in the script specified by the codesc
, and language specified by the codelang
. - When the transliteration fails, returns
nil
.
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