"模組:POJ" pán-pún chi-kan bô-kāng--ê tē-hng

刪去的內容 新增的內容
Elmruthó-lūn | kòng-hiàn
無編輯摘要
Elmruthó-lūn | kòng-hiàn
kái-siān kap chù-sek.
Tē 1 chōa:
-- Pún bô͘-cho͘ kā it-poaⁿ Lô-má-jī kap sò͘-jī pian-e̍k chò Tâi-oân-ōe Pe̍h-ōe-jī.
-- This Module is set for Taiwanese Hokkien Latin alphabet "Peh-oe-ji", to convert tone numbers into diacritics.
-- Example: " Peh8-oe7-ji7" would be converted into--> "Pe̍h-ōe-jī"
-- Chhiáⁿ sú-iōng "Pang-nô͘:POJ" lâi kek-oa̍h.
-- Invoked and used by Template:POJ
 
local p = {}
 
-- Kā siaⁿ-tiāu sò͘-jī choán-oāⁿ chò piàn-im hû-hō.
-- Converting tone numbers into diacritics
-- Called byHo͘ selectVowel() ho͘-kiò.
function attachTone(a, n)
n = tonumber(n)
Tē 70 chōa:
end
if a == "NgN" then
local upperN = {"N", "Ń", "Ǹ", "N", "N̂", "Ň", "N̄", "N̍"}
if (n>=1 and n<=8) then return upperN[n] end
Tē 76 chōa:
end
if a == "ngn" then
local lowerN = {"n", "n&#769;", "n&#768;", "n", "n&#770;", "n&#780;", "n&#772;", "n&#781;"}
if (n>=1 and n<=8) then return lowerN[n] end
Tē 105 chōa:
return a
end
 
return a
end
 
-- Koat-tēng tó chi̍t-ê goân-im ài thiap piàn-im hû-hō.
-- Deciding which vowel should be attached with diacritics
-- Thiap siaⁿ-tiāu ê chiàu-pâi: oa_, oe_, o, e, a, u, i, ng, m.
-- Í-hā ê chiàu-pâi nā kái-piàn, su-chhut ē bô-kâng.
function selectVowel(chara, n)
if not chara then return end
-- oa_
return
oax = {
end
'Oai',
'oai',
'Oan',
'oan',
'Oah', --5
'oah',
'Oak',
'oak',
'Oat',
'oat', --10
'Oap',
'oap'
}
for i=1, #oax do
if rplce:find(oax[i]) then return rplce:gsub('a', attachTone('a', n)) end
end
OAx = {
-- Tone-attaching priority: oa_, oe_, o, e, a, u, i, ng, m.
'OAI',
-- Output will be different by the order below.
'OAN',
'OAH',
-- "oa_"
if chara:find( 'OaiOAK') then,
'OAT', --5
return chara:gsub("a", attachTone("a", n))
'OAP',
end
}
if chara:find('oai') then
for i=1, #OAx do
return chara:gsub("a", attachTone("a", n))
if rplce:find(OAx[i]) then return rplce:gsub('A', attachTone('A', n)) end
end
if chara:find('OAI') then
return chara:gsub("A", attachTone("A", n))
end
if chara:find('Oan') then
return chara:gsub("a", attachTone("a", n))
end
if chara:find('oan') then
return chara:gsub("a", attachTone("a", n))
end
if chara:find('OAN') then
return chara:gsub("A", attachTone("A", n))
end
if chara:find('Oah') then
return chara:gsub("a", attachTone("a", n))
end
if chara:find('oah') then
return chara:gsub("a", attachTone("a", n))
end
if chara:find('OAH') then
return chara:gsub("A", attachTone("A", n))
end
if chara:find('Oak') then
return chara:gsub("a", attachTone("a", n))
end
if chara:find('oak') then
return chara:gsub("a", attachTone("a", n))
end
if chara:find('OAK') then
return chara:gsub("A", attachTone("A", n))
end
if chara:find('Oat') then
return chara:gsub("a", attachTone("a", n))
end
if chara:find('oat') then
return chara:gsub("a", attachTone("a", n))
end
if chara:find('OAT') then
return chara:gsub("A", attachTone("A", n))
end
if chara:find('Oap') then
return chara:gsub("a", attachTone("a", n))
end
if chara:find('oap') then
return chara:gsub("a", attachTone("a", n))
end
if chara:find('OAP') then
return chara:gsub("A", attachTone("A", n))
end
-- "oe_"
if chara:find('Oeh') then
return chara:gsub("e", attachTone("e", n))
end
if chara:find('oeh') then
return chara:gsub("e", attachTone("e", n))
end
if chara:find('OEH') then
return chara:gsub("E", attachTone("E", n))
end
if chara:find('Oek') then
return chara:gsub("e", attachTone("e", n))
end
if chara:find('oek') then
return chara:gsub("e", attachTone("e", n))
end
if chara:find('OEK') then
return chara:gsub("E", attachTone("E", n))
end
if chara:find('Oet') then
return chara:gsub("e", attachTone("e", n))
end
if chara:find('oet') then
return chara:gsub("e", attachTone("e", n))
end
if chara:find('OET') then
return chara:gsub("E", attachTone("E", n))
end
if chara:find('Oep') then
return chara:gsub("e", attachTone("e", n))
end
if chara:find('oep') then
return chara:gsub("e", attachTone("e", n))
end
if chara:find('OEP') then
return chara:gsub("E", attachTone("E", n))
end
-- o, e, a, u, i, ng, m
if chara:find('Oo') then
return chara:gsub("Oo", attachTone("Oo", n))
end
if chara:find('oo') then
return chara:gsub("oo", attachTone("oo", n))
end
if chara:find('OO') then
return chara:gsub("OO", attachTone("Oo", n))
end
if chara:find('O') then
return chara:gsub("O", attachTone("O", n))
end
if chara:find('o') then
return chara:gsub("o", attachTone("o", n))
end
if chara:find('E') then
return chara:gsub("E", attachTone("E", n))
end
if chara:find('e') then
return chara:gsub("e", attachTone("e", n))
end
if chara:find('A') then
return chara:gsub("A", attachTone("A", n))
end
if chara:find('a') then
return chara:gsub("a", attachTone("a", n))
end
if chara:find('U') then
return chara:gsub("U", attachTone("U", n))
end
if chara:find('u') then
return chara:gsub("u", attachTone("u", n))
end
 
if chara:find('I') then
-- oe_
return chara:gsub("I", attachTone("I", n))
oex = {
end
'Oei',
if chara:find('i') then
'oei',
return chara:gsub("i", attachTone("i", n))
'Oen',
end
'oen',
if chara:find('Ng') then
'Oeh', --5
return chara:gsub("N", attachTone("Ng", n))
'oeh',
'Oek',
'oek',
'Oet',
'oet', --10
'Oep',
'oep'
}
for i=1, #oex do
if rplce:find(oex[i]) then return rplce:gsub('e', attachTone('e', n)) end
end
if chara:find('NG') then
OEx = {
return chara:gsub("N", attachTone("Ng", n))
'OEI',
'OEN',
'OEH',
'OEK',
'OET', --5
'OEP',
}
for i=1, #OEx do
if rplce:find(OEx[i]) then return rplce:gsub('E', attachTone('E', n)) end
end
 
if chara:find('ng') then
-- o, e, a, u, i, ng, m
return chara:gsub("n", attachTone("ng", n))
local oeauingm = {
'oo',
'Oo',
'OO',
'o',
'O', --5
'e',
'E',
'a',
'A',
'u', --10
'U',
'i',
'I',
'ng',
'Ng', --15
'NG',
'm',
'M'
}
local chara = {
'oo',
'Oo',
'Oo',
'o',
'O', --5
'e',
'E',
'a',
'A',
'u', --10
'U',
'i',
'I',
'n',
'N', --15
'N',
'm',
'M'
}
for i=1, #oeauingm do
if rplce:find(oeauingm[i]) then
return rplce:gsub(chara[i], attachTone(chara[i], n))
end
end
if chara:find('M') then
return chara:gsub("M", attachTone("M", n))
end
if chara:find('m') then
return chara:gsub("m", attachTone("m", n))
end
end
function p.POJ(frame)
local input = frame.args[1]
if not input then return end
return
end
local out = input:gsub("([%a]+)(%d)", selectVowel):gsub("nn", "&#8319;"):gsub("NN", "&#8319;"):gsub("oo", "o&#856;"):gsub("Oo", "O&#856;"):gsub("OO", "O&#856;")
return (out)