Rabu, 28 Oktober 2026
07:46 WIB
TERKINI
Bandar Lampung Harga Singkong Lampung Meroket, Petani Nikmati Keuntungan Rp45 Juta per Hektare Bandar Lampung BSU 2026 Segera Disalurkan: Rp900 Ribu dan Analisis Pakar Terkait Tantangan Pekerja Bandar Lampung Optimisme Harga Singkong Lampung 2027: Bibit dan Pupuk Kunci Utama Bandar Lampung Krisis Asap dan Ribuan Titik Panas: WALHI Desak Audit Ekologis TNWK Bandar Lampung Polda Lampung Luncurkan Operasi Patuh Krakatau 2026: 702 Personel Siap Tingkatkan Disiplin Lalu Lintas Bandar Lampung Pembakaran Sampah Diduga Picu Kebakaran Lahan di Panjang Bandar Lampung Bandar Lampung Waspada Hujan Ringan: Prakiraan Cuaca Lampung Sepanjang 24 Oktober 2026 Bandar Lampung Penundaan Pembahasan APBD Lampung 2027: Berkas dan Data Terkini Jadi Kunci Bandar Lampung Fokus Pendidikan dan Ekonomi Desa, Lampung Matangkan APBD 2027 Bandar Lampung Polisi Hadir di Jalanan: Ratusan Makan Siang Gratis Eratkan Hubungan Warga Bandar Lampung Bandar Lampung Harga Singkong Lampung Meroket, Petani Nikmati Keuntungan Rp45 Juta per Hektare Bandar Lampung BSU 2026 Segera Disalurkan: Rp900 Ribu dan Analisis Pakar Terkait Tantangan Pekerja Bandar Lampung Optimisme Harga Singkong Lampung 2027: Bibit dan Pupuk Kunci Utama Bandar Lampung Krisis Asap dan Ribuan Titik Panas: WALHI Desak Audit Ekologis TNWK Bandar Lampung Polda Lampung Luncurkan Operasi Patuh Krakatau 2026: 702 Personel Siap Tingkatkan Disiplin Lalu Lintas Bandar Lampung Pembakaran Sampah Diduga Picu Kebakaran Lahan di Panjang Bandar Lampung Bandar Lampung Waspada Hujan Ringan: Prakiraan Cuaca Lampung Sepanjang 24 Oktober 2026 Bandar Lampung Penundaan Pembahasan APBD Lampung 2027: Berkas dan Data Terkini Jadi Kunci Bandar Lampung Fokus Pendidikan dan Ekonomi Desa, Lampung Matangkan APBD 2027 Bandar Lampung Polisi Hadir di Jalanan: Ratusan Makan Siang Gratis Eratkan Hubungan Warga Bandar Lampung

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