মডিউল:to-IPA
অবয়ব
এই মডিউলের জন্য মডিউল:to-IPA/নথি-এ নথিপত্র তৈরি করা হয়ে থাকতে পারে
local export = {}
local adjust1 = {
['ā'] = 'aː', ['ē'] = 'eː', ['ī'] = 'iː', ['ō'] = 'oː', ['ū'] = 'uː', ['ʻ'] = 'ʔ',
['á'] = 'ˈa', ['é'] = 'ˈe', ['í'] = 'ˈi', ['ó'] = 'ˈo', ['ú'] = 'ˈu',
}
function export.to_IPA(text)
text = mw.ustring.lower(text)
text = mw.ustring.gsub(text, '[aeiouāēīōūáéíóú]', '%0.')
text = mw.ustring.gsub(text, 'ng', 'ŋ')
text = mw.ustring.gsub(text, '[āēīōūʻáéíóú]', adjust1)
text = mw.ustring.gsub(text, '([%lŋʔ])(ˈ)', '%2%1')
text = mw.ustring.gsub(text, '[%s%-]', '')
text = mw.ustring.gsub(text, '%.$', '')
return text
end
function export.show(frame)
local args = frame:getParent().args
local page_title = mw.title.getCurrentTitle().text
local text = args[1] or page_title
local qualifier = args['q'] or nil
local transcription = export.to_IPA(text)
local IPA_text
if transcription then
IPA_text = require('Module:IPA').format_IPA_full(
require('Module:languages').getByCode('to'),
{ { pron = '/' .. transcription .. '/' } })
end
return '* ' .. (qualifier and require("Module:qualifier").format_qualifier{qualifier} .. ' ' or '')
.. IPA_text
end
return export