local p={}
local basic=mw.html.create'table'
:css{
['border-collapse']='collapse',
['text-align']='center',
['border']='2px solid #aaaaaa',
['font-size']='110%',
['width']='auto',
}
:attr('cellpadding','8')
:attr('rules','all')
local rows=0 --该参数不为每个函数单独定制,是为了配合ch,否则,它将无法识别rows。
local function ch(chunk,title,arg,settings)
settings=settings or {}
if arg then
chunk
:tag'tr'
:tag'th'
:wikitext(title)
:done()
:tag'td'
:wikitext(settings.isipa==true and '/'..arg..'/' or arg)
:attr(settings.isipa==true and {
title='国际音标发音',
class='ipa',
style='cursor:help',
} or {})
:done()
:done()
rows=rows+1
end
end
function p.guoyu(f)
rows=0
f=f or mw.getCurrentFrame()
local args=f:getParent().args
local chunk=basic
local rows=0 --列数,如果一列都没有,则不生成表格。
chunk
:tag'tr'
:tag'th'
:attr('colspan','2')
:wikitext'[[Wiktionary:漢語發音表記#國語/普通話|國語/普通話]]'
:done()
:done()
-- 汉语拼音,如果不存在则不生成这一行
do
local pinyin= args.pinyin
or args['汉语拼音']
or args['漢語拼音']
or args['拼音']
pinyin=pinyin and require'Module:Pinyin'.topinyin(pinyin) or nil
if pinyin then
chunk
:tag'tr'
:tag'th'
:wikitext'[[:w:汉语拼音|汉语拼音]]'
:done()
:tag'td'
:wikitext(pinyin)
:attr('lang','zh-latn')
:done()
:done()
rows=rows+1
end
end
-- 注音符号,如果不存在则不生成这一行
do
local zhuyin= args.zhuyin
or args['注音符号']
or args['注音符號']
or args['注音']
if zhuyin then
chunk
:tag'tr'
:tag'th'
:wikitext'[[:w:注音符号|注音符号]]'
:done()
:tag'td'
:wikitext(zhuyin)
:attr('lang','zh-bopo')
:done()
:done()
rows=rows+1
end
end
-- 国际音标,如果不存在则不生成这一行
do
local yinbiao= args.ipa
or args['音标']
or args['国际音标']
or args['音標']
or args['國際音標']
if yinbiao then
chunk
:tag'tr'
:tag'th'
:wikitext'[[Wiktionary:国际音标|国际音标]]'
:done()
:tag'td'
:wikitext('/'..yinbiao..'/')
:attr{
title='国际音标发音',
class='ipa',
style='cursor:help',
}
:done()
:done()
rows=rows+1
end
end
-- 音频文件,如果不存在则不生成这一行
do
local audio= args.audio
or args['音频文件']
or args['音频']
or args['音頻文件']
or args['音頻']
if audio then
chunk
:tag'tr'
:tag'th'
:wikitext"'''音频文件'''"
:done()
:tag'td'
:wikitext(f:expandTemplate{title='audio1',args={audio}})
:done()
:done()
rows=rows+1
end
end
-- 通用拼音,如果不存在则不生成这一行
do
local tongyong= args.tongyong
or args['通用']
or args['通用拼音']
if tongyong then
chunk
:tag'tr'
:tag'th'
:wikitext'[[:w:通用拼音|通用拼音]]'
:done()
:tag'td'
:wikitext(tongyong)
:done()
:done()
rows=rows+1
end
end
-- 威妥玛拼音拼音,如果不存在则不生成这一行
do
local wade= args.wade
or args['威妥玛']
or args['威妥玛拼音']
or args['威妥瑪']
or args['威妥瑪拼音']
if wade then
chunk
:tag'tr'
:tag'th'
:wikitext'[[:w:威妥玛拼音|威妥玛拼音]]'
:done()
:tag'td'
:wikitext(wade)
:done()
:done()
rows=rows+1
end
end
-- 注音第二式,如果不存在则不生成这一行
do
local z2= args.z2
or args['注音第二式']
if z2 then
chunk
:tag'tr'
:tag'th'
:wikitext'[[:w:注音第二式|注音第二式]]'
:done()
:tag'td'
:wikitext(z2)
:done()
:done()
rows=rows+1
end
end
-- 耶鲁拼音,如果不存在则不生成这一行
do
local yale= args.yale
or args['耶鲁拼音']
or args['耶魯拼音']
if yale then
chunk
:tag'tr'
:tag'th'
:wikitext'[[:w:耶鲁拼音|耶鲁式]]'
:done()
:tag'td'
:wikitext(yale)
:done()
:done()
rows=rows+1
end
end
-- 国语罗马字,如果不存在则不生成这一行
do
local gy= args.gy
or args['国语罗马字']
or args['國語羅馬字']
if gy then
chunk
:tag'tr'
:tag'th'
:wikitext'[[:w:国语罗马字|国语罗马字]]'
:done()
:tag'td'
:wikitext(gy)
:done()
:done()
rows=rows+1
end
end
if rows==0 then
return ''
else
return tostring(chunk)
end
rows=0
end
function p.yueyu(f)
rows=0
f=f or mw.getCurrentFrame()
local args=f:getParent().args
local chunk=basic
chunk
:tag'tr'
:tag'th'
:attr('colspan','2')
:wikitext'[[Wiktionary:汉语發音表記#粵語|粵語]]'
:done()
:done()
ch(chunk,'[[:w:香港语言学学会粤语拼音方案|粤拼]]',args.jyut or args['香港语言学学会粤语拼音'])
ch(chunk,'[[:w:广州话拼音方案|广州话拼音]]',args.gz or args.guangzhou or args.guangdong or args['广州话拼音'])
ch(chunk,'[[:w:教育学院拼音方案|教育学院拼音]]',args.scp or args['教育学院拼音'])
ch(chunk,'[[:w:耶鲁粤语拼音|耶鲁粤语拼音]]',args.y or args['耶鲁粤语拼音'])
ch(chunk,'[[:w:刘锡祥拼音|刘锡祥拼音]]',args.l or args['刘锡祥拼音'])
ch(chunk,'[[:w:广东话拼音|广东话拼音]]',args.penk or args['广东话拼音'])
ch(chunk,'国际音标发音',args.yueipa or args['粤语国际音标'] or args['粵語國際音標'],{isipa=true})
if rows==0 then
return ''
else
return tostring(chunk)..(args.nocategory=='1' and '' or '[[Category:粤语]]')
end
rows=0
end
function p.mindong(f)
rows=0
f=f or mw.getCurrentFrame().args
local args=f:getParent().args
local chunk=basic
chunk
:tag'tr'
:tag'th'
:attr('colspan','2')
:wikitext'[[Wiktionary:汉语發音表記#閩東語|閩東語]]'
:done()
:done()
ch(chunk,'[[:w:平話字|平話字]]',args.buc or args['闽东语平话字'] or args['平话字'] or args['閩東語平話字'] or args['平話字'])
ch(chunk,'[[Wiktionary:国际音标|國際音標]]',args.cdoipa or args['闽东语国际音标'] or args['閩東語國際音標'],{isipa=true})
if rows==0 then
return ''
else
return tostring(chunk)..(args.nocategory=='1' and '' or '[[Category:闽东语]]')
end
rows=0
end
function p.minnan(f)
rows=0
f=f or mw.getCurrentFrame().args
local args=f:getParent().args
local chunk=basic
chunk
:tag'tr'
:tag'th'
:attr('colspan','2')
:wikitext'[[Wiktionary:汉语發音表記#閩南語|閩南語]]'
:done()
:done()
ch(chunk,'[[:w:白话字|白话字]]',args.pojj or args['闽南语白话字'] or args['閩南語白話字'] or args['白话字'] or args['白話字'])
ch(chunk,'[[:w:台湾方言音符号|台湾方言音符号]]', args.eb or args['台湾方言符号'] or args['台灣方言符號'])
ch(chunk,'[[:w:台湾闽南语罗马字拼音方案|臺羅拼音]]',args.tl or args['台湾闽南语罗马字拼音'] or args['台灣閩南語羅馬字拼音'] or args['台罗拼音'] or args['台羅拼音'] or args['臺羅拼音'])
ch(chunk,'[[:w:台语通用拼音|台语通用拼音]]',args.t or args['台语通用拼音'] or args['台語通用拼音'])
ch(chunk,'[[:w:台语现代文|台语现代文]]',args.mlt or args['台語現代文'] or args['台语现代文'])
ch(chunk,'[[:w:普实台文|普实台文]]',args.ps or args['普实台文'] or args['普實臺文'])
ch(chunk,'[[Wiktionary:国际音标|国际音标]]',args.mimipa or args['闽南语国际音标'] or args['閩南語國際音標'],{isipa=true})
if rows==0 then
return ''
else
return tostring(chunk)..(args.nocategory=='1' and '' or '[[Category:闽南语]]')
end
rows=0
end
return p