Selasa, 20 Oktober 2026
07:45 WIB
TERKINI
Lampung Tengah Kebakaran Landa TPA Bandarjaya Lampung Tengah, Gas Metan Diduga Pemicu Utama Pesawaran Pesawaran Jadi Pelopor Lampung, Lantik Pengurus Abpednas di 11 Kecamatan Lampung Tengah Asap Tebal TPA Bandar Jaya Picu Tabrakan Beruntun di Tol Trans-Sumatera, Dua Korban Luka Lampung Prakiraan Cuaca Lampung 19 Oktober 2026: Waspada Hujan Malam Hari Lampung Aktivitas Gunung Anak Krakatau Tetap Siaga, Kegempaan Terus Terjadi Universitas Teknokrat Indonesia Mahasiswa Universitas Teknokrat Raih Empat Gelar Bergengsi di Kompetisi Bahasa Inggris Nasional Pesisir Barat Pesisir Barat Jalin Kemitraan Strategis, Dorong Akses Pendidikan Tinggi Terjangkau Universitas Teknokrat Indonesia Teknokrat dan PMD Pesawaran Bersinergi Wujudkan Desa Digital Berkelanjutan Humaniora Memperkuat Hak Konstitusional Perempuan Adat untuk Kedaulatan Bangsa Pesawaran Lampung Dorong Rantai Pasok Hijau Kakao, Kopi, Lada ke Pasar Global Lampung Tengah Kebakaran Landa TPA Bandarjaya Lampung Tengah, Gas Metan Diduga Pemicu Utama Pesawaran Pesawaran Jadi Pelopor Lampung, Lantik Pengurus Abpednas di 11 Kecamatan Lampung Tengah Asap Tebal TPA Bandar Jaya Picu Tabrakan Beruntun di Tol Trans-Sumatera, Dua Korban Luka Lampung Prakiraan Cuaca Lampung 19 Oktober 2026: Waspada Hujan Malam Hari Lampung Aktivitas Gunung Anak Krakatau Tetap Siaga, Kegempaan Terus Terjadi Universitas Teknokrat Indonesia Mahasiswa Universitas Teknokrat Raih Empat Gelar Bergengsi di Kompetisi Bahasa Inggris Nasional Pesisir Barat Pesisir Barat Jalin Kemitraan Strategis, Dorong Akses Pendidikan Tinggi Terjangkau Universitas Teknokrat Indonesia Teknokrat dan PMD Pesawaran Bersinergi Wujudkan Desa Digital Berkelanjutan Humaniora Memperkuat Hak Konstitusional Perempuan Adat untuk Kedaulatan Bangsa Pesawaran Lampung Dorong Rantai Pasok Hijau Kakao, Kopi, Lada ke Pasar Global

Modul:Infobox multi-lingual name

Wikimedia module

Bagikan:
Dokumentasi modulbuatsegarkan
Anda dapat membuat halaman dokumentasi untuk buat pada modul Scribunto ini.
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
--[[
TODO:
		all non-English text wrapped in {{lang}}?
		distingush various scripts?  Kanji is ja-Hani ...
		every child infobox should support translit / transcription parameter(s)
		every child infobox should have a literal meaning parameter
		revise parameter names to be IETF language code or obvious derivations thereof
		for error messaging create a separate ibox? else messages are not necessarily visible
]]
require('strict');
localdata=mw.loadData('Module:Infobox multi-lingual name/data');
locallang_mod=require('Module:Lang');-- for various functions and templates provided by Module:Lang
localgetArgs=require('Module:Arguments').getArgs;
--[[--------------------------< I S _ S E T >------------------------------------------------------------------
Returns true if argument is set; false otherwise. Argument is 'set' when it exists (not nil) or when it is not an empty string.
]]
localfunctionis_set(var)
returnnot(var==nilorvar=='');
end
--[[--------------------------< A N Y _ S E T >----------------------------------------------------------------
Returns true if any member of the table is set; false otherwise. Argument is 'set' when it exists (not nil) or when it is not an empty string.
]]
localfunctionany_set(t)
for_,vinpairs(t)do
ifis_set(v)then
returntrue;
end
end
returnfalse;
end
--[[--------------------------< S H O W F L A G >--------------------------------------------------------------
This function handles the |showflag= parameter from the template {{Infobox Chinese}}.  That template passes the
value to {{Infobox Chinese/Chinese}} which calls this function.  This function does not take any frame parameters
but it does require a copy of the frame so that it can expand {{Infobox}}.  All arguments used by this function
come from the args table in the function call
returns a child infobox or an empty string
]]
localfunctionshowflag(frame,args)
localshow_flag=args.showflag;
ifnotis_set(show_flag)then
return'';-- |showflag= not set so nothing to do; return empty string
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
infobox_args['child']='yes';-- showflag infoboxen are always children
infobox_args['labelstyle']='font-weight:normal';-- and always have this label style
ifdata.transl_map[show_flag]then
locali=1;
while(1)do
locallabeln='label'..i;-- make label index that matches |labeln= parameter 
localdatan='data'..i;-- make data index that matches |datan= parameter 
ifnotdata.transl_map[show_flag][labeln]then
break;-- not found then done
end
infobox_args[labeln]=data.label_map[data.transl_map[show_flag][labeln]];-- add |labeln=<label text / wikilink>
infobox_args[datan]=args[data.transl_map[show_flag][datan]];-- add |datan={{{data}}}
i=i+1;-- bump to next label / data pair
end
else
return'';-- |showflag= value invalid; TODO: return error message?
end
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[--------------------------< A D D _ L A B E L _ D A T A _ P A I R >----------------------------------------
Adds a label parameter and matching data parameter to infobox arguments table; bumps the enumerator on return
]]
localfunctionadd_label_data_pair(infobox_args,label,data,i)
ifis_set(data)then
infobox_args['label'..i]=label;-- make an enumerated label parameter
infobox_args['data'..i]=data;-- make an enumerated data parameter
returni+1;-- return bumped enumerator
end
returni;-- if here, no data so no need to add label or bump enumerator
end
--[[--------------------------< A D D _ T R A N S C R I P T I O N >--------------------------------------------
This function does that repetative work when assembling the parameter list for {{Infobox}} template
inputs are:
	infobox_args - table of infobox parameters
	args - args table from the {{#invoke:}} frame
	idx - index into xscript table
	show - pseudo-boolean (true or nil) header display flag; when true display the header
	i - enumerator for {{infobox}} parameters |headern=, |labeln=, |datan=; in this application i continually
		increments; there are no gaps as there are in the original template
	lang - language code used by {{tlansl}} - must be valid IETF code
returns i for the next time this function is called
]]
localfunctionadd_transcription(infobox_args,args,idx,show,i,lang)
infobox_args['header'..i]=showanddata.xscript[idx].header;-- if headers are displayed
i=i+1;-- bump the enumerator
for_,vinipairs(data.xscript[idx].t)do-- each label / data pair in the xscript subtable
i=add_label_data_pair(infobox_args,v[1],is_set(args[v[2]])andlang_mod._transl({lang,args[v[2]],italic='no'}),i);-- enumerator is bumped here
end
returni;-- and done
end
--[[--------------------------< T R A N S C R I P T I O N S _ Z H >--------------------------------------------
transcriptions support for {{Infobox Chinese/Chinese}}.  This function adds headers and label data pairs to
infobox_arg table according to which parameters are set
returns the enumerator in case it is needed
]]
localfunctiontranscriptions_zh(infobox_args,args,show,i)
ifany_set({args.p,args.bpmf,args.gr,args.w,args.tp,args.myr,args.mps,args.mi})then
i=add_transcription(infobox_args,args,'standard mandarin',show,i,'zh');
end
ifany_set({args.xej,args['zh-dungan'],args.sic})then
i=add_transcription(infobox_args,args,'other mandarin',show,i,'zh');
end
ifany_set({args.wuu,args.lmz,args.ouji,args.suz})then-- ???? ouji was not included here in original template; why?
i=add_transcription(infobox_args,args,'wu',show,i,'wuu');
end
ifis_set(args.gan)then
i=add_transcription(infobox_args,args,'gan',show,i,'gan');
end
ifis_set(args.hsn)then
i=add_transcription(infobox_args,args,'xiang',show,i,'hsn');
end
ifany_set({args.h,args.phfs})then
i=add_transcription(infobox_args,args,'hakka',show,i,'hak');
end
ifany_set({args.y,args.ci,args.j,args.sl,args.gd,args.hk,args.mo})then-- ???? sl, hk, mo not here in original; why?
i=add_transcription(infobox_args,args,'yue cantonese',show,i,'yue');
end
ifis_set(args.toi)then
i=add_transcription(infobox_args,args,'other yue',show,i,'yue');
end
ifany_set({args.poj,args.tl,args.bp,args.teo,args.hain,args.lizu})then-- ???? bp not here in original; why?
i=add_transcription(infobox_args,args,'southern min',show,i,'nan');
end
ifis_set(args.buc)then
i=add_transcription(infobox_args,args,'eastern min',show,i,'cdo');
end
ifis_set(args.hhbuc)then
i=add_transcription(infobox_args,args,'pu-xian min',show,i,'cpx');
end
ifis_set(args.mblmc)then
i=add_transcription(infobox_args,args,'northern min',show,i,'mnp');
end
ifis_set(args['phagspa-latin'])then-- phagspa is a script
i=add_transcription(infobox_args,args,'old mandarin',show,i,'zh');
end
ifany_set({args.mc,args.emc,args.lmc})then
i=add_transcription(infobox_args,args,'middle chinese',show,i,'ltc');
end
ifany_set({args['oc-b92'],args['oc-bs'],args['oc-zz']})then
i=add_transcription(infobox_args,args,'old chinese',show,i,'och');
end
returni;-- return current state of the enumerator
end
--[[--------------------------< T R A N S C R I P T I O N S >--------------------------------------------------
This function handles the transcription infobox called by various {{Infobox Chinese/xxx}}.  Creates header and
label / data pairs according to the presence of certain parameters provided to {{Infobox Chinese}}
]]
localfunctiontranscriptions(frame,args,lang)
ifnotargsthen
args=frame.args;
end
localshow='no'~=args.hideornil;-- make boolean-ish for controlling display of headers; |hide=no means show transcriptions without collapsed header
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
locali=1;-- enumerator used with {{infobox}} |headern=, |labeln=, and |datan= parameters
ifshowthen
infobox_args['subbox']='yes';
infobox_args['above']='Transkripsi';
else
infobox_args['child']='yes';
end
infobox_args['bodyclass']='collapsible collapsed';
infobox_args['bodystyle']='display:inline-table; text-align: left;';
infobox_args['abovestyle']='font-size: 100%; text-align: left; background-color: #f9ffbc;';-- TODO: #define various colors in a common config location; and function?
infobox_args['headerstyle']='background-color: #dcffc9;';-- TODO: #define various colors in a common config location; and function?
infobox_args['labelstyle']='font-weight:normal;';
if'zh'==langthen
transcriptions_zh(infobox_args,args,show,i);-- special case because there are various headers etc
else
add_transcription(infobox_args,args,data.keys[lang],show,i,lang);
end
returnframe:expandTemplate({title='Infobox',args=infobox_args});-- render the infobox and done
end
--[[--------------------------< I B O X _ B O I L E R P L A T E >----------------------------------------------
boilerplate style settings for the various child infoboxen (not for transcription infoboxen) beause they are
mostly the same child-infobox to child-infobox
TODO: |headercolor= is set to its default color in {{Infobox Chinese}}.  Better here than there isn't it?  less 
maintenence headache when a default value is set in only one place; override in the highest level appropriate
but leave the default here.  in the higher-level template(s) remove |headercolor= default values
]]
localfunctionibox_boilerplate(infobox_args,args)
infobox_args['child']='yes';
localh_color;
ifis_set(args.headercolor)then
h_color=args.headercolor;
else
h_color='#b0c4de'-- TODO: #define various colors in a common config location; and / or function?
end
infobox_args['headerstyle']='background-color: '..h_color..';';
ifis_set(args.fontstyle)then-- ???? |fontstyle= not a documented parameter; supported by {{Infobox Chinese/Korean}} and {{Infobox Chinese/Vietnamese}}
infobox_args['labelstyle']='font-weight:'..fontstyle..';';
else
infobox_args['labelstyle']='font-weight:normal;';
end
end
--[[--------------------------< I B O X _ M L N _ Z H >--------------------------------------------------------
bypasses {{Infobox Chinese/Chinese}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_zh}}
]]
localfunctionibox_mln_zh(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args)
if'none'~=args.headerand'none'~=args.chinese_headerthen
infobox_args['header1']=args.headerorargs.chinese_headeror'Nama Tionghoa';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Bahasa Tionghoa|Bahasa Tionghoa]]',is_set(args.c)andlang_mod._lang({'zh-Hani',args.c,size='1rem'}),i)
if'st'==args.orderthen
i=add_label_data_pair(infobox_args,'[[Karakter Tionghoa sederhana|Aksara Tionghoa Sederhana]]',is_set(args.s)andlang_mod._lang({'zh-Hans',args.s,size='1rem'}),i)
i=add_label_data_pair(infobox_args,'[[Karakter Tionghoa tradisional|Aksara Tionghoa Tradisional]]',is_set(args.t)andlang_mod._lang({'zh-Hant',args.t,size='1rem'}),i)
else
i=add_label_data_pair(infobox_args,'[[Karakter Tionghoa tradisional|Aksara Tionghoa Tradisional]]',is_set(args.t)andlang_mod._lang({'zh-Hant',args.t,size='1rem'}),i)
i=add_label_data_pair(infobox_args,'[[Karakter Tionghoa sederhana|Aksara Tionghoa Sederhana]]',is_set(args.s)andlang_mod._lang({'zh-Hans',args.s,size='1rem'}),i)
end
ifis_set(args.phagspa)then-- ???? this parameter isn't passed from {{Infobox Chinese}} to {{infobox Chinese/Chinese}}
i=add_label_data_pair(infobox_args,'[[\'Phags-pa script|Aksara \'Phags-pa]]',frame:expandTemplate({title='Phagspa',args={'h',args.phagspa,args['phagspa-latin'],size=12}}),i)
end
infobox_args['data'..i]=showflag(frame,args);-- needs frame so that it can frame:expandTemplate()
i=i+1;
-- ???? why is this transliteration here and not part of the transcription list?
i=add_label_data_pair(infobox_args,'[[Romanisasi pos Tionghoa|Romanisasi pos Tionghoa]]',is_set(args.psp)andargs.pspornil,i)
i=add_label_data_pair(infobox_args,'Makna harfiah',is_set(args.l)andargs.lornil,i)
if'no'==args.hidethen
infobox_args['rowstyle'..i]='display:none;';
infobox_args['rowcellstyle'..i]='display:none;';
end
ifany_set({args.c,args.t,args.p,args.s,args.phagspa})then-- ???? phagspa not passed into {{infobox Chinese/Chinese}}  Why?
infobox_args['data'..i]=transcriptions(frame,args,'zh');-- needs frame so that it can frame:expandTemplate()
end
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ A R >---------------------------------------------------------
implements {{Infobox Chinese/Arabic}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_ar}}
Template:Infobox_Arabic_term/testcases
TODO: standardize on lowercase parameter names for transcriptions
]]
localfunctionibox_mln_ar(frame,args)
ifnotargsthen
args=getArgs(frame);--, {removeBlanks = false}?
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.arabic_headerthen
infobox_args['header1']=args.headerorargs.arabic_headeror'Nama Arab';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Bahasa Arab|Bahasa Arab]]',is_set(args.arabic)andargs.arabicornil,i)
i=add_label_data_pair(infobox_args,'[[Romanisasi bahasa Arab|Romanisasi bahasa Arab]]',is_set(args.arabic_rom)andargs.arabic_romornil,i)
i=add_label_data_pair(infobox_args,'[[Bantuan:IPA untuk bahasa Arab|IPA]]',is_set(args.arabic_ipa)andargs.arabic_ipaornil,i)
i=add_label_data_pair(infobox_args,'Makna harfiah',is_set(args.arabic_lit)andargs.arabic_litornil,i)
ifany_set({args.chat,args.Chat,args['ala-lc'],args['ALA-LC'],args.iso,args.ISO,args.din,args.DIN})then
infobox_args['data'..i]=transcriptions(frame,args,'ar');-- needs frame so that it can frame:expandTemplate()
end
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ B L A N K >---------------------------------------------------
implements {{Infobox Chinese/Blank}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_blank}}
]]
localfunctionibox_mln_blank(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
localietf_tag=lang_mod._is_ietf_tag(args.lang);
localname_from_tag=ietf_tagandlang_mod._name_from_tag({args.lang})ornil;
if'none'~=args.lang_hdrand'none'~=args.headerand'none'~=args.blank_headerthen
ifis_set(args.lang_hdr)oris_set(args.header)oris_set(args.blank_header)then-- if one of these
infobox_args['header1']=args.lang_hdrorargs.headerorargs.blank_header;-- make a header from it
elseifietf_tagthen
infobox_args['header1']=name_from_tag..' nama';-- make a header from the language name
else
infobox_args['header1']=args.lang..' nama';-- not a code so use whatever text is in {{{lang}}}
end
end
locali=2;
locallabel;
localdata;
ifname_from_tagthen
ifis_set(args.lang_article)then
label=table.concat({-- make a linked label from provided article name
'[[',
args.lang_article,
'|',
args.lang_labelorname_from_tag,
']]'
});
else
label=args.lang_labelorlang_mod._name_from_tag({args.lang,['link']='yes'})-- let lang module make the correct linked label
end
data=lang_mod._lang({args.lang,args.lang_content});
else
label=args.lang_labelorargs.lang;-- fall back
data=args.lang_content;
end
i=add_label_data_pair(infobox_args,label,data,i);
ifis_set(args.lang_rom)andietf_tagthen
i=add_label_data_pair(infobox_args,args.lang_stdor'Romanisasi',lang_mod._transl({args.lang,args.lang_rom}),i);
end
i=add_label_data_pair(infobox_args,'IPA',args.lang_ipa,i);
i=add_label_data_pair(infobox_args,'Makna harfiah',args.lang_lit,i);
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ B O >---------------------------------------------------------
implements {{Infobox Chinese/Tibetan}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_bo}}
]]
localfunctionibox_mln_bo(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.tibetan_headerthen
infobox_args['header1']=args.headerorargs.tibetan_headeror'Nama Tibet';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Aksara Tibet|Aksara Tibet]]',is_set(args.tib)andframe:expandTemplate({title='Bo-textonly',args={lang='bo',args.tib}})ornil,i)
i=add_label_data_pair(infobox_args,'Makna harfiah',is_set(args.literal_tibetan)andargs.literal_tibetanornil,i)
ifany_set({args.wylie,args.thdl,args.zwpy,args.lhasa})then
infobox_args['data'..i]=transcriptions(frame,args,'bo');-- needs frame so that it can frame:expandTemplate()
end
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ D N G >-------------------------------------------------------
implements {{Infobox Chinese/Dunganese}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_dng}}
]]
localfunctionibox_mln_dng(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.dunganese_headerthen
infobox_args['header1']=args.headerorargs.dunganese_headeror'Nama Dungan';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Bahasa Dungan|Bahasa Dungan]]',is_set(args.dungan)andargs.dunganornil,i)
i=add_label_data_pair(infobox_args,'[[Xiao\'erjing]]',is_set(args['dungan-xej'])andargs['dungan-xej']ornil,i)
i=add_label_data_pair(infobox_args,'[[Romanisasi|Romanisasi]]',is_set(args['dungan-latin'])andargs['dungan-latin']ornil,i)
i=add_label_data_pair(infobox_args,'[[Hanzi]]',is_set(args['dungan-han'])andargs['dungan-han']ornil,i)
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ H O K K I E N >-----------------------------------------------
implements {{Infobox Chinese/Hokkien}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_hokkien}}
Template:Infobox Hokkien name/testcases
]]
localfunctionibox_mln_hokkien(frame,args)
ifnotargsthen
args=getArgs(frame);--, {removeBlanks = false}?
end
localshow='no'~=args.hideornil;-- make boolean-ish for controlling display of headers; |hide=no means show transcriptions without collapsed header
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.hokkien_headerthen
infobox_args['header1']=args.headerorargs.hokkien_headeror'Nama Hokkien';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Hàn-jī]]',is_set(args.hanji)andlang_mod._lang({'nan',args.hanji,size='115%'})ornil,i);
i=add_label_data_pair(infobox_args,'[[Pe̍h-ōe-jī]]',is_set(args.poj)andlang_mod._lang({'nan',args.poj,size='115%'})ornil,i);
i=add_label_data_pair(infobox_args,'[[Hàn-lô]]',is_set(args.hanlo)andlang_mod._lang({'nan',args.hanlo,size='115%'})ornil,i);
i=add_label_data_pair(infobox_args,'Makna harfiah',is_set(args.lm)andargs.lmornil,i)
ifshowthen
ifany_set({args.tl,args.bp,args.hokkienipa})then
infobox_args['data'..i]=transcriptions(frame,args,'hokkien');-- needs frame so that it can frame:expandTemplate()
end
else
i=add_label_data_pair(infobox_args,'[[Sistem Romanisasi Taiwan|Tâi-lô]]',is_set(args.tl)andargs.tlornil,i)
i=add_label_data_pair(infobox_args,'[[Bbánlám pìngyīm|Bbánpìng]]',is_set(args.bp)andargs.bpornil,i)
i=add_label_data_pair(infobox_args,'[[Bantuan:IPA untuk Hokkien|IPA]]',is_set(args.hokkienipa)andargs.hokkienipaornil,i)
end
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ J A >---------------------------------------------------------
implements {{Infobox Chinese/Japanese}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_ja}}
]]
localfunctionibox_mln_ja(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.japanese_headerthen
infobox_args['header1']=args.headerorargs.japanese_headeror'Nama Jepang';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Kanji]]',is_set(args.kanji)andlang_mod._lang({'ja',args.kanji})ornil,i)
i=add_label_data_pair(infobox_args,'[[Kana]]',is_set(args.kana)andlang_mod._lang({'ja',args.kana})ornil,i)
i=add_label_data_pair(infobox_args,'[[Hiragana]]',is_set(args.hiragana)andlang_mod._lang({'ja',args.hiragana})ornil,i)
i=add_label_data_pair(infobox_args,'[[Katakana]]',is_set(args.katakana)andlang_mod._lang({'ja',args.katakana})ornil,i)
i=add_label_data_pair(infobox_args,'[[Kyūjitai]]',is_set(args.kyujitai)andlang_mod._lang({'ja',args.kyujitai})ornil,i)
i=add_label_data_pair(infobox_args,'[[Shinjitai]]',is_set(args.shinjitai)andlang_mod._lang({'ja',args.shinjitai})ornil,i)
i=add_label_data_pair(infobox_args,'Makna harfiah',is_set(args.lja)andlang_mod._lang({'ja',args.lja})ornil,i)
ifany_set({args.romaji,args.revhep,args.tradhep,args.kunrei,args.nihon})then
infobox_args['data'..i]=transcriptions(frame,args,'ja');-- needs frame so that it can frame:expandTemplate()
end
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ K O >---------------------------------------------------------
implements {{Infobox Chinese/Korean}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_ko}}
]]
localfunctionibox_mln_ko(frame,args)
ifnotargsthen
args=frame.args;
end
localshow='no'~=args.hideornil;-- make boolean-ish for controlling display of headers; |hide=no means show transcriptions without collapsed header
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.korean_headerthen
infobox_args['header1']=args.headerorargs.korean_headeror'Nama Korea';
end
locali=2;
if'yes'==args.northkoreathen
i=add_label_data_pair(infobox_args,'[[Hangul|Chosŏn\'gŭl]]',is_set(args.hangul)andlang_mod._lang({'ko',args.hangul,size='1rem'})ornil,i)
elseif'old'==args.northkoreathen
i=add_label_data_pair(infobox_args,'[[Hunminjeongeum]]',is_set(args.hangul)andlang_mod._lang({'ko',args.hangul,size='1rem'})ornil,i)
else
i=add_label_data_pair(infobox_args,'[[Hangul]]',is_set(args.hangul)andlang_mod._lang({'ko',args.hangul,size='1rem'})ornil,i)
end
if'yes'==args.northkoreathen
i=add_label_data_pair(infobox_args,'[[Hanja|Hanja]]',is_set(args.hanja)andlang_mod._lang({'ko',args.hanja,size='1rem'})ornil,i)
else
i=add_label_data_pair(infobox_args,'[[Hanja]]',is_set(args.hanja)andlang_mod._lang({'ko',args.hanja,size='1rem'})ornil,i)
end
i=add_label_data_pair(infobox_args,'Makna harfiah',is_set(args.lk)andargs.lkornil,i)
ifshowthen
ifany_set({args.mr,args.rr})then
infobox_args['data'..i]=transcriptions(frame,args,'ko');-- needs frame so that it can frame:expandTemplate()
end
else
i=add_label_data_pair(infobox_args,'[[Revisi Romanisasi bahasa Korea|Romanisasi Revisi]]',is_set(args.rr)andlang_mod._transl({'ko','rr',args.rr})ornil,i)
i=add_label_data_pair(infobox_args,'[[McCune–Reischauer]]',is_set(args.mr)andlang_mod._transl({'ko','mr',args.mr})ornil,i)
i=add_label_data_pair(infobox_args,'[[Bantuan:IPA/Bahasa Korea|IPA]]',is_set(args.koreanipa)andargs.koreanipaornil,i)
end
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ M N >---------------------------------------------------------
implements {{Infobox Chinese/Mongolian}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_mn}}
]]
localfunctionibox_mln_mn(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.mongolian_headerthen
infobox_args['header1']=args.headerorargs.mongolian_headeror'Nama Mongolia';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Aksara Kiril Mongolia|Aksara Kiril Mongolia]]',
is_set(args.mon)andlang_mod._lang({'mn',args.mon})ornil,i)
--	i = add_label_data_pair (infobox_args, '[[Mongolian language|Mongolian]]',	-- TODO: weird construct in original template; is this one required?
--		is_set (args.mong) and lang_mod._lang ({'mn', frame:expandTemplate ({title='MongolUnicode', args = {args.mong}}) }) or nil, i)
i=add_label_data_pair(infobox_args,'[[Aksara Mongolia|Aksara Mongolia]]',
is_set(args.mong)andlang_mod._lang({'mn',frame:expandTemplate({title='MongolUnicode',args={args.mong}})})ornil,i)
ifis_set(args.monr)then
infobox_args['data'..i]=transcriptions(frame,args,'mn');-- needs frame so that it can frame:expandTemplate()
end
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ M N C >-------------------------------------------------------
implements {{Infobox Chinese/Manchu}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_mnc}}
]]
localfunctionibox_mln_mnc(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.manchu_headerthen
infobox_args['header1']=args.headerorargs.manchu_headeror'Nama Manchu';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Aksara Manchu|Aksara Manchu]]',is_set(args.mnc)andframe:expandTemplate({title='ManchuSibeUnicode',args={lang='mnc',args.mnc}})ornil,i)
i=add_label_data_pair(infobox_args,'[[Transliterasi bahasa Manchu|Romanisasi]]',is_set(args.mnc_rom)andargs.mnc_romornil,i)
i=add_label_data_pair(infobox_args,'[[Transliterasi bahasa Manchu|Abkai]]',is_set(args.mnc_a)andargs.mnc_aornil,i)
i=add_label_data_pair(infobox_args,'[[Transliterasi bahasa Manchu|Möllendorff]]',is_set(args.mnc_v)andargs.mnc_vornil,i)
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ M Y >---------------------------------------------------------
implements {{Infobox Chinese/Burmese}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_my}}
]]
localfunctionibox_mln_my(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.burmese_headerthen
infobox_args['header1']=args.headerorargs.burmese_headeror'Nama Burma';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Bahasa Burma|Bahasa Burma]]',is_set(args.my)andargs.myornil,i)
i=add_label_data_pair(infobox_args,'[[Wikipedia:IPA untuk bahasa Burma|IPA]]',is_set(args.bi)andargs.biornil,i)
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ R U >---------------------------------------------------------
implements {{Infobox Chinese/Russian}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_ru}}
]]
localfunctionibox_mln_ru(frame,args)
ifnotargsthen
args=getArgs(frame);
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.russian_headerthen
infobox_args['header1']=args.headerorargs.russian_headeror'Nama Rusia';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Bahasa Rusia|Bahasa Rusia]]',is_set(args.rus)andlang_mod._lang({'ru',args.rus})ornil,i);
i=add_label_data_pair(infobox_args,'[[Romanisasi bahasa Rusia|Romanisasi bahasa Rusia]]',is_set(args.rusr)andlang_mod._lang({'ru-Latn',args.rusr})ornil,i);--TODO: use transl instead?
i=add_label_data_pair(infobox_args,'[[Wikipedia:IPA untuk bahasa Rusia|IPA]]',is_set(args.rusipa)andargs.rusipaornil,i);
i=add_label_data_pair(infobox_args,'Makna harfiah',is_set(args.ruslit)andargs.ruslitornil,i);
ifany_set({args.scientific,args.Scientific,args.iso,args.ISO,args.gost,args.GOST,args['bgn/pcgn'],args['BGN/PCGN']})then
infobox_args['data'..i]=transcriptions(frame,args,'ru');-- needs frame so that it can frame:expandTemplate()
end
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ T H >---------------------------------------------------------
implements {{Infobox Chinese/Thai}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_th}}
]]
localfunctionibox_mln_th(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.thai_headerthen
infobox_args['header1']=args.headerorargs.thai_headeror'Nama Thai';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Bahasa Thai|Bahasa Thai]]',(is_set(args.th)oris_set(args.tha))andlang_mod._lang({'th',args.thorargs.tha})ornil,i)
i=add_label_data_pair(infobox_args,'[[Sistem Romanisasi Umum Kerajaan Thai|RTGS]]',is_set(args.rtgs)andlang_mod._transl({'th','rtgs',args.rtgs})ornil,i)
i=add_label_data_pair(infobox_args,'Romanisasi',is_set(args.rom)andlang_mod._transl({'th',args.rom})ornil,i)
i=add_label_data_pair(infobox_args,'[[Alfabet Fonetik Internasional|IPA]]',is_set(args.ipa)andargs.ipa,i)
i=add_label_data_pair(infobox_args,'Makna harfiah',is_set(args.lit)andargs.lit,i)
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ U G >---------------------------------------------------------
implements {{Infobox Chinese/Uyghur}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_ug}}
]]
localfunctionibox_mln_ug(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.uyghur_headerthen
infobox_args['header1']=args.headerorargs.uyghur_headeror'Nama Uighur';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Bahasa Uighur|Bahasa Uighur]]',is_set(args.uig)andframe:expandTemplate({title='ug-textonly',args={args.uig}})ornil,i)
i=add_label_data_pair(infobox_args,'Makna harfiah',is_set(args.lu)andargs.luornil,i)
ifany_set({args.uly,args.uyy,args.sgs,args.usy,args.uipa})then
infobox_args['data'..i]=transcriptions(frame,args,'ug');-- needs frame so that it can frame:expandTemplate()
end
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ V I >---------------------------------------------------------
implements {{Infobox Chinese/Vietnamese}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_vi}}
]]
localfunctionibox_mln_vi(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.vietnamese_headerthen
infobox_args['header1']=args.headerorargs.vietnamese_headeror'Nama Vietnam';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Bahasa Vietnam|Bahasa Vietnam]]',is_set(args.vie)andlang_mod._lang({'vi',args.vie})ornil,i)
i=add_label_data_pair(infobox_args,'[[Alfabet Vietnam|Alfabet Vietnam]]',is_set(args.qn)andlang_mod._lang({'vi',args.qn})ornil,i)
i=add_label_data_pair(infobox_args,'[[Hán-Nôm]]',is_set(args.hn)andlang_mod._lang({'vi-Hani',args.hn})ornil,i)
i=add_label_data_pair(infobox_args,'[[Chữ Hán]]',is_set(args.chuhan)andlang_mod._lang({'vi-Hani',args.chuhan})ornil,i)
i=add_label_data_pair(infobox_args,'[[Chữ Nôm]]',is_set(args.chunom)andlang_mod._lang({'vi-Hani',args.chunom})ornil,i)
i=add_label_data_pair(infobox_args,'Makna harfiah',is_set(args.lqn)andargs.lqnornil,i)
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ Z A >---------------------------------------------------------
implements {{Infobox Chinese/Zhuang}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_za}}
]]
localfunctionibox_mln_za(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
ibox_boilerplate(infobox_args,args);
if'none'~=args.headerand'none'~=args.zhuang_headerthen
infobox_args['header1']=args.headerorargs.zhuang_headeror'Nama Zhuang';
end
locali=2;
i=add_label_data_pair(infobox_args,'[[Bahasa Zhuang|Bahasa Zhuang]]',is_set(args.zha)and('<span style="font-family: Arial Unicode MS, sans-serif;">'..args.zha..'</span>')ornil,i)
i=add_label_data_pair(infobox_args,'[[Bahasa Zhuang|Ortografi 1957]]',is_set(args.zha57)andargs.zha57ornil,i)
i=add_label_data_pair(infobox_args,'[[Sawndip]]',is_set(args.sd)andargs.sdornil,i)
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ H E A D E R >-------------------------------------------------
bypasses {{Infobox Chinese/Header}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_header}}
]]
localfunctionibox_mln_header(frame,args)
ifnotargsthen
args=getArgs(frame);
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
infobox_args['decat']='yes';
infobox_args['child']=is_set(args.child)andargs.childor'yes';
--	infobox_args['bodystyle'] = is_set (args.float) and 'float: left; clear: left; margin: 0 1em 1em 0;' or nil;
--	infobox_args['bodyclass'] =  is_set (args.collapse) and ('collapsible' .. ('yes' == args.collapse and ' collapsed' or '')) or nil;
localh_color;
ifis_set(args.headercolor)then
h_color=args.headercolor;
else
h_color='#b0c4de'-- TODO: #define various colors in a common config location; and function?
end
--	infobox_args['subheaderstyle'] = 'font-size: 125%; background-color:' .. h_color .. ';';
--	infobox_args['subheader'] = is_set (args.title) and args.title or mw.title.getCurrentTitle().text;
infobox_args['image']=frame:callParserFunction({name='#invoke:InfoboxImage',
args=
{
'InfoboxImage',
image=args.pic,
sizedefault='frameless',
size=args.picsize,
upright=args.picupright,
alt=args.picaltorargs.pictooltip
}
});
infobox_args['caption']=is_set(args.piccap)andargs.piccapornil;
infobox_args['image2']=frame:callParserFunction({name='#invoke:InfoboxImage',
args=
{
'InfoboxImage',
image=args.pic2,
sizedefault='frameless',
size=args.picsize2,
upright=args.picupright2,
alt=args.picalt2orargs.pictooltip2
}
});
infobox_args['caption2']=is_set(args.piccap2)andargs.piccap2ornil;
infobox_args['headerstyle']='background-color:'..h_color;
infobox_args['headerstyle']='width: 50%; white-space: nowrap';
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ M L N _ F O O T E R >-------------------------------------------------
bypasses {{Infobox Chinese/Footer}}
Module entry point
{{#invoke:Infobox multi-lingual name|ibox_mln_footer}}
]]
localfunctionibox_mln_footer(frame,args)
ifnotargsthen
args=frame.args;
end
localinfobox_args={};-- table to hold arguments for frame:expandTemplate()
infobox_args['decat']='yes';
infobox_args['child']=is_set(args.child)andargs.childor'yes';
infobox_args['bodystyle']='';-- present in wikisource template but not assigned a value there
infobox_args['below']=args.footnote;
returnframe:expandTemplate({title='Infobox',args=infobox_args});
end
--[[-------------------------< I B O X _ Z H Z H _ E N U M _ P A R A M S _ G E T >----------------------------
]]
localfunctionibox_zhzh_enum_params_get(args,i)
localibox_args={};
localcount=0;-- counts how many args got added to ibox_args {}
for_,vinipairs(data.ibox_zhzh_enum_params)do-- add enumerated parameters
ifargs[v..i]then-- only when there is an assigned value
ibox_args[v]=args[v..i];-- add
count=count+1;-- and tally
end
end
return0~=countandibox_argsornil;-- if table is empty return nil as a flag
end
--[[--------------------------< A R >--------------------------------------------------------------------------
----< A R A B I C >----
]]
localfunctionar(frame,args)
ifis_set({args.arabic,args.arabic_rom,args.arabic_ipa,args.arabic_lit})then
localibox_args={
['arabic_header']=args['arabic_header']or'Nama Arab',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['arabic']=args.arabic,
['arabic_rom']=args.arabic_rom,
['arabic_ipa']=args.arabic_ipa,
['arabic_lit']=args.arabic_litorargs['literal meaning'],-- 'literal meaning' is from {{Infobox Arabic term}}; itis param name a good idea?  TODO: unify parameter names
['chat']=args.chatorargs.Chat,-- TODO: unify parameter names
['ala-lc']=args['ala-lc']orargs['ALA-LC'],-- TODO: unify parameter names
['iso']=args.isoorargs.ISO,-- TODO: unify parameter names
['din']=args.dinorargs.DIN-- TODO: unify parameter names
}
returnibox_mln_ar(frame,ibox_args);
end
end
--[[--------------------------< A S >--------------------------------------------------------------------------
----< A S S A M E S E >----
]]
localfunctionas(frame,args)
ifargs.asorargs.asmthen
localibox_args={
['lang_hdr']=args['as-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='as',
['lang_content']=args.asorargs.asm,
['lang_ipa']=args['as-ipa'],
['lang_rom']=args['as-rom'],
['lang_std']=args['as-std'],
['lang_lit']=args['as-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< B N >--------------------------------------------------------------------------
----< B E N G A L I >----
]]
localfunctionbn(frame,args)
ifargs.bnorargs.benthen
localibox_args={
['lang_hdr']=args['bn-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='bn',
['lang_content']=args.bnorargs.ben,
['lang_ipa']=args['bn-ipa'],
['lang_rom']=args['bn-rom'],
['lang_std']=args['bn-std'],
['lang_lit']=args['bn-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< B O >--------------------------------------------------------------------------
----< T I B E T A N >----
]]
localfunctionbo(frame,args)
ifany_set({args.tib,args.wylie,args.thdl,args.zwpy,args.lhasa})then
localibox_args={
['tibetan_header']=args['tibetan_header']or'Nama Tibet',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args.hide,
['tib']=args.tib,
['wylie']=args.wylie,
['thdl']=args.thdl,
['zwpy']=args.zwpy,
['lhasa']=args.lhasa,
}
returnibox_mln_bo(frame,ibox_args);
end
end
--[[--------------------------< D N G >------------------------------------------------------------------------
----< D U N G A N E S E >----
]]
localfunctiondng(frame,args)
ifany_set({args.dungan,args['dungan-xej'],args['dungan-han']})then
localibox_args={
['dunganese_header']=args['dunganese_header']or'Nama Dungan',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['dungan']=args.dungan,
['dungan-xej']=args['dungan-xej'],
['dungan-han']=args['dungan-han'],
['dungan-latin']=args['dungan-latin'],
}
returnibox_mln_dng(frame,ibox_args);
end
end
--[[--------------------------< H I >--------------------------------------------------------------------------
----< H I N D I >----
]]
localfunctionhi(frame,args)
ifargs.hiorargs.hinthen
localibox_args={
['lang_hdr']=args['hi-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='hi',
['lang_content']=args.hiorargs.hin,
['lang_ipa']=args['hi-ipa'],
['lang_rom']=args['hi-rom'],
['lang_std']=args['hi-std'],
['lang_lit']=args['hi-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< I D >--------------------------------------------------------------------------
----< I N D O N E S I A N >----
]]
localfunctionid(frame,args)
ifargs.idorargs.indthen
localibox_args={
['lang_hdr']=args['id-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='id',
['lang_content']=args.idorargs.ind,
['lang_ipa']=args['id-ipa'],
['lang_rom']=args['id-rom'],
['lang_std']=args['id-std'],
['lang_lit']=args['id-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< J A >--------------------------------------------------------------------------
----< J A P A N E S E >----
]]
localfunctionja(frame,args)
localchildren={};
ifany_set({args.kanji,args.kana,args.hiragana,args.katakana,args.kyujitai,args.shinjitai,args.lja})then
localibox_args={
['japanese_header']=args['japanese_header']or'Nama Jepang',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args.hide,
['kanji']=args.kanji,
['kyujitai']=args.kyujitai,
['shinjitai']=args.shinjitai,
['kana']=args.kana,
['hiragana']=args.hiragana,
['katakana']=args.katakana,
['romaji']=args.romaji,
['revhep']=args.revhep,
['tradhep']=args.tradhep,
['kunrei']=args.kunrei,
['nihon']=args.nihon,
['lja']=args.lja
}
table.insert(children,ibox_mln_ja(frame,ibox_args));
end
fori=2,6do
ifany_set({args['kanji'..i],args['kana'..i],args['hiragana'..i],args['katakana'..i],args['kyujitai'..i],args['shinjitai'..i],args['lja'..i]})then
localibox_args={
['japanese_header']=args['japanese_header'..i]or'Nama Jepang alternatif',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args.hide,
['kanji']=args['kanji'..i],
['kyujitai']=args['kyujitai'..i],
['shinjitai']=args['shinjitai'..i],
['kana']=args['kana'..i],
['hiragana']=args['hiragana'..i],
['katakana']=args['katakana'..i],
['romaji']=args['romaji'..i],
['revhep']=args['revhep'..i],
['tradhep']=args['tradhep'..i],
['kunrei']=args['kunrei'..i],
['nihon']=args['nihon'..i],
['lja']=args['lja'..i]
}
table.insert(children,ibox_mln_ja(frame,ibox_args));
end
end
returntable.concat(children)or'';-- big string of ja infoboxen or an empty string if nothing was done here
end
--[[--------------------------< K M >--------------------------------------------------------------------------
----< K H M E R >----
]]
localfunctionkm(frame,args)
ifargs.kmorargs.khmthen
localibox_args={
['lang_hdr']=args['km-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='km',
['lang_content']=args.kmorargs.khm,
['lang_ipa']=args['km-ipa'],
['lang_rom']=args['km-rom'],
['lang_std']=args['km-std'],
['lang_lit']=args['km-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< K O 1 >------------------------------------------------------------------------
TODO: handle ko same way as enumerated zh?
----< K O R E A N  (1) >----
]]
localfunctionko1(frame,args)
localchildren={};
ifany_set({args.hanja,args.hangul})then
localibox_args={
['korean_header']=args['korean_header']or'Nama Korea',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args.hide,
['hangul']=args.hangul,
['hanja']=args.hanja,
['rr']=args.rr,
['mr']=args.mr,
['northkorea']=args.northkorea,
['lk']=args.lk,
}
table.insert(children,ibox_mln_ko(frame,ibox_args));
end
fori=2,6do
ifany_set({args['hanja'..i],args['hangul'..i]})then
localibox_args={
['korean_header']=args['korean_header'..i]or'Nama Korea alternatif',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args['hide'],
['hangul']=args['hangul'..i],
['hanja']=args['hanja'..i],
['rr']=args['rr'..i],
['mr']=args['mr'..i],
['northkorea']=args['northkorea'..i],
['lk']=args['lk'..i],
}
table.insert(children,ibox_mln_ko(frame,ibox_args));
end
end
returntable.concat(children)or'';
end
--[[--------------------------< K O 2 >------------------------------------------------------------------------
TODO: handle ko same way as enumerated zh?
----< K O R E A N  (2) >----
]]
localfunctionko2(frame,args)
localchildren={};
ifany_set({args.cnhanja,args.cnhangul})then
localibox_args={
['korean_header']=args['cnkorean_header']or'Nama Korea Tionghoa',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args.hide,
['hangul']=args.cnhangul,
['hanja']=args.cnhanja,
['rr']=args.cnrr,
['mr']=args.cnmr,
['northkorea']='yes',
['lk']=args.cnlk,
}
table.insert(children,ibox_mln_ko(frame,ibox_args));
end
fori=2,6do
ifany_set({args['cnhanja'..i],args['cnhangul'..i]})then
localibox_args={
['korean_header']=args['cnkorean_header'..i]or'Nama Korea Tionghoa alternatif',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args['hide'],
['hangul']=args['cnhangul'..i],
['hanja']=args['cnhanja'..i],
['rr']=args['cnrr'..i],
['mr']=args['cnmr'..i],
['northkorea']='yes',
['lk']=args['cnlk'..i],
}
table.insert(children,ibox_mln_ko(frame,ibox_args));
end
end
returntable.concat(children)or'';
end
--[[--------------------------< K O 3 >------------------------------------------------------------------------
TODO: handle ko same way as enumerated zh?
----< K O R E A N  (3) >----
]]
localfunctionko3(frame,args)
localchildren={};
ifany_set({args.nkhanja,args.nkhangul})then
localibox_args={
['korean_header']=args['nkkorean_header']or'Nama Korea Utara',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args.hide,
['hangul']=args.nkhangul,
['hanja']=args.nkhanja,
['rr']=args.nkrr,
['mr']=args.nkmr,
['northkorea']='yes',
['lk']=args.nklk,
}
table.insert(children,ibox_mln_ko(frame,ibox_args));
end
fori=2,6do
ifany_set({args['nkhanja'..i],args['nkhangul'..i]})then
localibox_args={
['korean_header']=args['nkkorean_header'..i]or'Nama Korea Utara alternatif',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args['hide'],
['hangul']=args['nkhangul'..i],
['hanja']=args['nkhanja'..i],
['rr']=args['nkrr'..i],
['mr']=args['nkmr'..i],
['northkorea']='yes',
['lk']=args['nklk'..i],
}
table.insert(children,ibox_mln_ko(frame,ibox_args));
end
end
returntable.concat(children)or'';
end
--[[--------------------------< K O 4 >------------------------------------------------------------------------
TODO: handle ko same way as enumerated zh?
----< K O R E A N  (4) >----
]]
localfunctionko4(frame,args)
localchildren={};
ifany_set({args.skhanja,args.skhangul})then
localibox_args={
['korean_header']=args['skkorean_header']or'Nama Korea Selatan',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args.hide,
['hangul']=args.skhangul,
['hanja']=args.skhanja,
['rr']=args.skrr,
['mr']=args.skmr,
['northkorea']=nil,
['lk']=args.sklk,
}
table.insert(children,ibox_mln_ko(frame,ibox_args));
end
fori=2,6do
ifany_set({args['skhanja'..i],args['skhangul'..i]})then
localibox_args={
['korean_header']=args['skkorean_header'..i]or'Nama Korea Selatan alternatif',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args['hide'],
['hangul']=args['skhangul'..i],
['hanja']=args['skhanja'..i],
['rr']=args['skrr'..i],
['mr']=args['skmr'..i],
['northkorea']=nil,
['lk']=args['sklk'..i],
}
table.insert(children,ibox_mln_ko(frame,ibox_args));
end
end
returntable.concat(children)or'';
end
--[[--------------------------< L O >--------------------------------------------------------------------------
----< L A O >----
]]
localfunctionlo(frame,args)
ifargs.loorargs.laothen
localibox_args={
['lang_hdr']=args['lo-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='lo',
['lang_content']=args.loorargs.lao,
['lang_ipa']=args['lo-ipa'],
['lang_rom']=args['lo-rom'],
['lang_std']=args['lo-std'],
['lang_lit']=args['lo-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< M N >--------------------------------------------------------------------------
----< M O N G O L I A N >----
]]
localfunctionmn(frame,args)
ifany_set({args.mong,args.mon})then
localibox_args={
['mongolian_header']=args['mongolian_header']or'Nama Mongolia',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args.hide,
['mon']=args.mon,
['mong']=args.mong,
['monr']=args.monr,
}
returnibox_mln_mn(frame,ibox_args);
end
end
--[[--------------------------< M N C >------------------------------------------------------------------------
----< M A N C H U >----
]]
localfunctionmnc(frame,args)
ifany_set({args.mnc_rom,args.mnc})then
localibox_args={
['manchu_header']=args['manchu_header']or'Nama Manchu',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['mnc']=args.mnc,
['mnc_rom']=args.mnc_rom,
['mnc_a']=args.mnc_a,
['mnc_v']=args.mnc_v,
}
returnibox_mln_mnc(frame,ibox_args);
end
end
--[[--------------------------< M S >--------------------------------------------------------------------------
----< M A L A Y >----
]]
localfunctionms(frame,args)
ifargs.msorargs.msathen
localibox_args={
['lang_hdr']=args['ms-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='ms',
['lang_content']=args.msorargs.msa,
['lang_ipa']=args['ms-ipa'],
['lang_rom']=args['ms-rom'],
['lang_std']=args['ms-std'],
['lang_lit']=args['ms-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< M Y >--------------------------------------------------------------------------
----< B U R M E S E >----
]]
localfunctionmy(frame,args)
ifargs.mythen
localibox_args={
['burmese_header']=args['burmese_header']or'Nama Burma',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['my']=args.my,
['bi']=args.bi,
}
returnibox_mln_my(frame,ibox_args);
end
end
--[[--------------------------< N E >--------------------------------------------------------------------------
----< N E P A L I >----
]]
localfunctionne(frame,args)
ifargs.neorargs.nepthen
localibox_args={
['lang_hdr']=args['ne-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='ne',
['lang_content']=args.neorargs.nep,
['lang_ipa']=args['ne-ipa'],
['lang_rom']=args['ne-rom'],
['lang_std']=args['ne-std'],
['lang_lit']=args['ne-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< P I >--------------------------------------------------------------------------
----< P A L I >----
]]
localfunctionpi(frame,args)
ifargs.piorargs.plithen
localibox_args={
['lang_hdr']=args['pi-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='pi',
['lang_content']=args.piorargs.pli,
['lang_ipa']=args['pi-ipa'],
['lang_rom']=args['pi-rom'],
['lang_std']=args['pi-std'],
['lang_lit']=args['pi-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< P T >--------------------------------------------------------------------------
----< P O R T U G U E S E >----
]]
localfunctionpt(frame,args)
ifargs.ptorargs.porthen
localibox_args={
['lang_hdr']=args['pt-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='pt',
['lang_lbl']=args['pt-label'],
['lang_content']=args.ptorargs.por,
['lang_ipa']=args['pt-ipa'],
['lang_rom']=args['pt-rom'],
['lang_std']=args['pt-std'],
['lang_lit']=args['pt-lit'],
['lang_lit']=args['pt-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< P R A >------------------------------------------------------------------------
----< P R A K R I T >----
]]
localfunctionpra(frame,args)
ifargs.prathen
localibox_args={
['lang_hdr']=args['pra-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='pra',
['lang_content']=args.pra,
['lang_ipa']=args['pra-ipa'],
['lang_rom']=args['pra-rom'],
['lang_std']=args['pra-std'],
['lang_lit']=args['pra-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< R U >--------------------------------------------------------------------------
----< R U S S I A N >----
]]
localfunctionru(frame,args)
ifany_set({args.rus,args.russian})then-- TODO: unify parameter names
localibox_args={
['russian_header']=args['russian_header']or'Nama Rusia',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['rus']=args.rusorargs.russian,
['rusr']=args.rusr,
['rusipa']=args.rusipaorargs['native pronunciation'],-- TODO: unify parameter names
['ruslit']=args.ruslitorargs['literal meaning'],-- TODO: unify parameter names
['scientific']=args.scientific,
['iso']=args.iso,
['gost']=args.gost,
['bgn/pcgn']=args['bgn/pcgn'],
}
returnibox_mln_ru(frame,ibox_args);
end
end
--[[--------------------------< S A >--------------------------------------------------------------------------
----< S A N S K R I T >----
]]
localfunctionsa(frame,args)
ifargs.saorargs.santhen
localibox_args={
['lang_hdr']=args['sa-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='sa',
['lang_content']=args.saorargs.san,
['lang_ipa']=args['sa-ipa'],
['lang_rom']=args['sa-rom'],
['lang_std']=args['sa-std'],
['lang_lit']=args['sa-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< T A >--------------------------------------------------------------------------
----< T A M I L >----
]]
localfunctionta(frame,args)
ifargs.taorargs.tamthen
localibox_args={
['lang_hdr']=args['ta-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='ta',
['lang_content']=args.taorargs.tam,
['lang_ipa']=args['ta-ipa'],
['lang_rom']=args['ta-rom'],
['lang_std']=args['ta-std'],
['lang_lit']=args['ta-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< T E T >------------------------------------------------------------------------
----< T E T U M >----
]]
localfunctiontet(frame,args)
ifargs.tetthen
localibox_args={
['lang_hdr']=args['tet-hdr'],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='tet',
['lang_content']=args.tet,
['lang_ipa']=args['tet-ipa'],
['lang_rom']=args['tet-rom'],
['lang_std']=args['tet-std'],
['lang_lit']=args['tet-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< T H >--------------------------------------------------------------------------
----< T H A I >----
]]
localfunctionth(frame,args)
ifargs.thorargs.thathen
localibox_args={
['thai_header']=args['thai_header']or'Nama Thai',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['header']=args['th-hdr'],
['th']=args.thorargs.tha,
['rtgs']=args.rtgs,
['ipa']=args['th-ipa'],
['rom']=args['th-rom'],
['std']=args['th-std'],
['lit']=args['th-lit'],
}
returnibox_mln_th(frame,ibox_args);
end
end
--[[--------------------------< T L >--------------------------------------------------------------------------
----< F I L I P I N O >----
]]
localfunctiontl(frame,args)
--	if args.tl or args.tgl then
ifargs.tglthen
localibox_args={
--			['blank_header'] = 'Filipino name',
['lang_hdr']=args['tl-hdr']or'Nama Filipino',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']='tl',
--			['lang_content'] = args.tl or args.tgl,								-- tl is used for Taiwanese Romanization System of Hokkien
['lang_content']=args.tgl,
['lang_ipa']=args['tl-ipa'],
['lang_rom']=args['tl-rom'],
['lang_std']=args['tl-std'],
['lang_lit']=args['tl-lit'],
}
returnibox_mln_blank(frame,ibox_args);
end
end
--[[--------------------------< U G >--------------------------------------------------------------------------
----< U Y G H U R >----
]]
localfunctionug(frame,args)
ifargs.uigthen
localibox_args={
['uyghur_header']=args['uyghur_header']or'Nama Uighur',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args.hide,
['uig']=args.uig,
['lu']=args.lu,
['uly']=args.uly,
['uyy']=args.uyy,
['sgs']=args.sgs,
['usy']=args.usy,
['uipa']=args.uipa,
}
returnibox_mln_ug(frame,ibox_args);
end
end
--[[--------------------------< V I >--------------------------------------------------------------------------
----< V I E T N A M E S E >----
]]
localfunctionvi(frame,args)
ifany_set({args.qn,args.vie,args.chuhan})then
localibox_args={
['vietnamese_header']=args['vietnamese_header']or'Nama Vietnam',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['vie']=args.vie,
['qn']=args.qn,
['hn']=args.hn,
['chuhan']=args.chuhan,
['chunom']=args.chunom,
['lqn']=args.lqn,
}
returnibox_mln_vi(frame,ibox_args);
end
end
--[[--------------------------< Z A >--------------------------------------------------------------------------
----< Z H U A N G >----
]]
localfunctionza(frame,args)
ifargs.zhathen
localibox_args={
['zhuang_header']=args['zhuang_header']or'Nama Zhuang',
['headercolor']=args['child-hdr-color']orargs.headercolor,
['hide']=args.hide,
['zha']=args.zha,
['zha57']=args.zha57,
['sd']=args.sd,
}
returnibox_mln_za(frame,ibox_args);
end
end
--[[--------------------------< Z H >--------------------------------------------------------------------------
----------< C H I N E S E >----------
]]
localfunctionzh(frame,args)
localchildren={};
ifany_set({args.c,args.t,args.p,args.s})then-- first infobox zh/zh
localibox_args=ibox_zhzh_enum_params_get(args,'');-- get the enumerated parameters (here enumerator is empty string)
ifibox_argsthen
ibox_args['hide']=args.hide;
ibox_args['showflag']=args.showflag;
ibox_args['order']=args.order;
ibox_args['p']=args.porargs.hp;-- add special case parameters
ibox_args['xej']=args.xejandlang_mod._lang({'zh-Arab',args.xej});
if'yes'==args.childthen
ibox_args['chinese_header']=args['chinese_header']orargs.name1;-- show the header name from parameter or default name from ibox_mln_zh()
elseifany_set({-- when any of these are set there will be other child infoboxen so ...
args.hangul,args.hanja,args.kana,args.kanji,args.hiragana,
args.katakana,args.kyujitai,args.shinjitai,args.tam,args.hin,
args.san,args.pli,args.tgl,args.msa,args.mnc,args.mon,args.mong,
args.por,args.rus,args.tha,args.tib,args.qn,args.uig,args.vie,
args.chuhan,args.chunom,args.hn,args.zha,args['dungan-xej'],
args.dungan,args.lao,args.khm,args.tet,args.lang1,args.lang2,
args.lang3,args.lang4,args.lang5,args.lang6,args.lang7,args.lang8,
args.lang9,args.lang10,args.lang11,
})then
ibox_args['chinese_header']=args['chinese_header']orargs.name1;-- ... show the header name from parameter or default name from ibox_mln_zh()
else
ibox_args['chinese_header']=args['chinese_header']orargs.name1or'none';-- show the header name from parameter or no header (args.name1 missing or 'empty' - nil)
end
ibox_args['headercolor']=args['child-hdr-color']orargs.headercolor;
table.insert(children,ibox_mln_zh(frame,ibox_args));
end
end
fori=2,6do
ifany_set({args['c'..i],args['t'..i],args['p'..i],args['s'..i]})then
localibox_args=ibox_zhzh_enum_params_get(args,i);-- get the enumerated parameters
ifibox_argsthen
ibox_args['hide']=args.hide;
ibox_args['showflag']=args.showflag;
ibox_args['order']=args.order;
ibox_args['p']=args['p'..i]orargs['hp'..i];-- add special case parameters
ibox_args['xej']=args['xej'..i]andlang_mod._lang({'zh-Arab',args['xej'..i]});
ifargs[data.zh_hdr_names[i][1]]then
ibox_args['chinese_header']=args[data.zh_hdr_names[i][1]];-- use value from parameter
else
ibox_args['chinese_header']=args['chinese_header'..i]ordata.zh_hdr_names[i][2];-- use the default
end
ibox_args['headercolor']=args['child-hdr-color']orargs.headercolor;
table.insert(children,ibox_mln_zh(frame,ibox_args));
end
end
end
returntable.concat(children)or'';-- big string of zh infoboxen or an empty string if nothing was done here
end
--[[==========================<< I B O X _ M L N >>============================================================
implements {{Infobox Chinese}}
TODO: do a valueFunc () on getArgs() so that when they are blank we acknowledge the blank (|name1= present with
empty string or whitespace as assigned value)
]]
localfunctionibox_mln(frame)
localargs=getArgs(frame);-- also gets parent frame params (there are no frame params for this function) TODO:, {removeBlanks = false}?
localinfobox_args={};-- table to hold arguments for ibox_mln frame:expandTemplate()
localchildren={};-- table of returned infoboxen text
----------< H E A D E R   I N F O B O X >----------
infobox_args['child']=args.child;
infobox_args['rowstyle1']='display:none;';
if'yes'~=args.childthen
localhdr_args={
['title']=args.titleormw.title.getCurrentTitle().text:gsub('%s+%b()$','');-- mimic {{PAGENAMEBASE}} (template not magic word)
['headercolor']=args.headercolor,
['float']=args.float,
['collapse']=args.collapse,
['pic']=args.picorargs.image,-- TODO: unify parameter names
['picsize']=args.picsizeorargs.imgwidth,-- TODO: unify parameter names
['picupright']=args.picupright,
['picalt']=args.picalt,
['pictooltip']=args.pictooltip,
['piccap']=args.piccaporargs.caption,-- TODO: unify parameter names
['pic2']=args.pic2,
['picsize2']=args.picsize2,
['picupright2']=args.picupright2,
['picalt2']=args.picalt2,
['pictooltip2']=args.pictooltip2,
['piccap2']=args.piccap2,
}
table.insert(children,ibox_mln_header(frame,hdr_args));
end
----------< L A N G U A G E   I N F O B O X E N >----------
locallang_iboxen={-- table of codes used in |ibox-order= and their matching function pointers
['ar']=ar,['as']=as,['bn']=bn,['bo']=bo,['dng']=dng,
['hi']=hi,['id']=id,['ja']=ja,['km']=km,['ko1']=ko1,
['ko2']=ko2,['ko3']=ko3,['ko4']=ko4,['lo']=lo,['mn']=mn,
['mnc']=mnc,['ms']=ms,['my']=my,['ne']=ne,['pi']=pi,
['pra']=pra,['pt']=pt,['ru']=ru,['sa']=sa,['ta']=ta,
['tet']=tet,['th']=th,['tl']=tl,['ug']=ug,['vi']=vi,
['za']=za,['zh']=zh
}
locallang_ibox_order={-- default list of lang ibox calling functions as used by legacy {{Infobox Chinese}}
zh,my,bo,dng,vi,th,za,ko1,ko2,ko3,ko4,mn,ja,ms,id,tl,
ug,mnc,bn,as,ne,pra,ta,hi,sa,pi,pt,ru,lo,km,tet
};
ifargs['ibox-order']then-- parameter value is comma-separated list of lang iboxen to render and their order
localt=mw.text.split(args['ibox-order'],'%s*,%s*')-- make a table from the list
lang_ibox_order={};-- reset; don't use default list
for_,vinipairs(t)do-- spin through the lang_ibox_order list in order and 
iflang_iboxen[v]then-- if there is a matching ibox function
table.insert(lang_ibox_order,lang_iboxen[v]);-- add it to the list of functions to call; TODO: error message when specified language does not exist?
end
end
end
for_,ibox_funcinipairs(lang_ibox_order)do-- call each function in the list in the list order
table.insert(children,ibox_func(frame,args)or'');-- add ibox string (or empty string when there is no ibox string)
end
----------< B L A N K #   I N F O B O X E N >----------
locali=1;-- blank ibox enumerator
whileargs['lang'..i]and(args['lang-content'..i]orargs['lang'..i..'_content'])do-- for as many ibox blank as there are ...
localibox_args={
['lang_hdr']=args['lang-hdr'..i],
['headercolor']=args['child-hdr-color']orargs.headercolor,
['lang']=args['lang'..i],
['lang_label']=args['lang-lbl'..i],
['lang_content']=args['lang-content'..i]orargs['lang'..i..'_content'],
['lang_ipa']=args['lang-ipa'..i],
['lang_rom']=args['lang-rom'..i],
['lang_std']=args['lang-std'..i],
['lang_lit']=args['lang-lit'..i],
}
table.insert(children,ibox_mln_blank(frame,ibox_args));
i=i+1;-- bump the enumerator
end
----------< F O O T E R   I N F O B O X >----------
if'yes'~=args.childthen
table.insert(children,ibox_mln_footer(frame,{['footnote']=args.footnote}));
end
----------< R E N D E R >----------
returntable.concat(children);-- concatenate all of the children together into a ginormous string
end
--[[--------------------------< E X P O R T E D   F U N C T I O N S >------------------------------------------
these not used outside of old {{Infobox Chinese}}:
	ibox_mln_dng = ibox_mln_dng,												-- {{infobox Chinese/Dunganese}}
	ibox_mln_mn = ibox_mln_mn,													-- {{infobox Chinese/Mongolian}}
	ibox_mln_mnc = ibox_mln_mnc,												-- {{infobox Chinese/Manchu}}
	ibox_mln_my = ibox_mln_my,													-- {{infobox Chinese/Burmese}}
	ibox_mln_th = ibox_mln_th,													-- {{infobox Chinese/Thai}}
	ibox_mln_ug = ibox_mln_ug,													-- {{infobox Chinese/Uyghur}}
	ibox_mln_za = ibox_mln_za,													-- {{infobox Chinese/Zhuang}}
these templates require parameter-name unification before they can directly use this module (and avoid the subtemplates):
	{{Infobox Tibetan-Chinese}} uses:
		{{Infobox Chinese/Chinese}}
		{{Infobox Chinese/Tibetan}}
	{{Infobox East Asian name}} uses:
		{{Infobox Chinese/Chinese}}
		{{Infobox Chinese/Japanese}}
		{{Infobox Chinese/Korean}}
		{{Infobox Chinese/Russian}}
		{{Infobox Chinese/Blank}}
]]
return{
ibox_mln=ibox_mln,-- {{infobox Chinese}}
ibox_mln_ar=ibox_mln_ar,-- {{infobox Chinese/Arabic}} (used in Template:Infobox Arabic term)
ibox_mln_blank=ibox_mln_blank,-- {{infobox Chinese/Blank}}
ibox_mln_bo=ibox_mln_bo,-- {{infobox Chinese/Tibetan}}
ibox_mln_footer=ibox_mln_footer,-- {{infobox Chinese/Footer}}
ibox_mln_header=ibox_mln_header,-- {{infobox Chinese/Header}}
ibox_mln_hokkien=ibox_mln_hokkien,-- {{infobox Chinese/Hokkien}} (used in Template:Infobox Hokkien name)
ibox_mln_ja=ibox_mln_ja,-- {{infobox Chinese/Japanese}}
ibox_mln_ko=ibox_mln_ko,-- {{infobox Chinese/Korean}}
ibox_mln_ru=ibox_mln_ru,-- {{infobox Chinese/Russian}} (used in Template:Infobox Russian term)
ibox_mln_vi=ibox_mln_vi,-- {{infobox Chinese/Vietnamese}} (used in Template:Infobox Vietnamese)
ibox_mln_zh=ibox_mln_zh,-- {{infobox Chinese/Chinese}}
}
Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan