--showflags= value to the |labeln= parameter value for TODO: convert showflag to a comma delimited list instead of these peculiar codes? local label_map = { ['bp'] = 'Bbánlám Pìngyīm', ['bpmf'] = 'Bopomofo', ['gan'] = 'Gan', ['gd'] = 'Guangdong Romanization', ['h'] = 'Hakka', ['hsn'] = 'Xiang', ['j'] = 'Jyutping', ['lmz'] = 'ShanghaineseRomanization', ['p'] = 'Pinyin', ['phfs'] = 'Pha̍k-fa-sṳ', ['poj'] = 'Hokkien POJ', ['psic'] = 'Sichuanese Pinyin', ['tl'] = 'Tâi-lô', ['toi'] = 'Taishanese', ['tp'] = 'Tongyong Pinyin', ['w'] = 'Wade-Giles', ['wuu'] = 'Wu', ['xej'] = 'Xiao\'erjing', ['y'] = 'Kantonca Yale', } --showflags= value to an index into label_map for child infobox |labeln= value and to map |showflags= vale to the correct parameter for use in child infobox |datan= paramter Implementation deatils of |showflag= are in dispute see: Template_talk:Infobox_Chinese#Rfc_on_fixing_the_template_showflag linked conversation is at: Template_talk:Infobox_Chinese/Archive_4#Showflag broken local transl_map = { -- maps |showflag= value to label from label_map table and data from matching parameter name ['bp'] = {['etiket1'] = 'bp', ['veri1'] = 'bp'}, ['bpmf'] = {['etiket1'] = 'bpmf', ['veri1'] = 'bpmf'}, ['gan'] = {['etiket1'] = 'gan', ['veri1'] = 'gan'}, ['gdp'] = {['etiket1'] = 'gd', ['veri1'] = 'gd', ['etiket2'] = 'p', ['veri2'] = 'p'}, ['h'] = {['etiket1'] = 'h', ['veri1'] = 'h'}, ['hsn'] = {['etiket1'] = 'hsn', ['veri1'] = 'hsn'}, ['j'] = {['etiket1'] = 'j', ['veri1'] = 'j'}, ['jp'] = {['etiket1'] = 'j', ['veri1'] = 'j', ['etiket2'] = 'p', ['veri2'] = 'p'}, ['jy'] = {['etiket1'] = 'j', ['veri1'] = 'j', ['etiket2'] = 'y', ['veri2'] = 'y'}, ['jyp'] = {['etiket1'] = 'j', ['veri1'] = 'j', ['etiket2'] = 'y', ['veri2'] = 'y', ['etiket3'] = 'p', ['veri3'] = 'p'}, ['lmz'] = {['etiket1'] = 'lmz', ['veri1'] = 'lmz'}, ['p'] = {['etiket1'] = 'p', ['veri1'] = 'p'}, ['phfs'] = {['etiket1'] = 'phfs', ['veri1'] = 'phfs'}, ['phsn'] = {['etiket1'] = 'p', ['veri1'] = 'p', ['etiket2'] = 'hsn', ['veri2'] = 'hsn'}, ['pj'] = {['etiket1'] = 'p', ['veri1'] = 'p', ['etiket2'] = 'j', ['veri2'] = 'j'}, ['poj'] = {['etiket1'] = 'poj', ['veri1'] = 'poj'}, ['psic'] = {['etiket1'] = 'p', ['veri1'] = 'p', ['etiket2'] = 'sic', ['veri2'] = 'sic'}, ['pwuu'] = {['etiket1'] = 'p', ['veri1'] = 'p', ['etiket2'] = 'wuu', ['veri2'] = 'wuu'}, ['py'] = {['etiket1'] = 'p', ['veri1'] = 'p', ['etiket2'] = 'y', ['veri2'] = 'y'}, ['tl'] = {['etiket1'] = 'tl', ['veri1'] = 'tl'}, ['toip'] = {['etiket1'] = 'toi', ['veri1'] = 'toi', ['etiket2'] = 'p', ['veri2'] = 'p'}, ['tp'] = {['etiket1'] = 'tp', ['veri1'] = 'tp'}, ['wp'] = {['etiket1'] = 'w', ['veri1'] = 'w', ['etiket2'] = 'p', ['veri2'] = 'p'}, ['wuu'] = {['etiket1'] = 'wuu', ['veri1'] = 'wuu'}, ['y'] = {['etiket1'] = 'y', ['veri1'] = 'y'}, ['yj'] = {['etiket1'] = 'y', ['veri1'] = 'y', ['etiket2'] = 'j', ['veri2'] = 'j'}, ['xej'] = { ['etiket1'] = 'xej', ['veri1'] = 'xej', -- ???? what to do about this; template calls {} on this value }, ['xejp'] = { ['etiket1'] = 'xej', ['veri1'] = 'xej', -- ???? template does not call {} on this value; why? ['etiket2'] = 'p', ['veri2'] = 'p' }, } ----------------------------< K E Y S >---------------------------------------------------------------------- local keys = { -- table of xscript table keys calls ar = 'arabic', bo = 'tibetan', hokkien = 'hokkien', ja = 'japanese', ko = 'korean', mn = 'mongolian', ru = 'russian', ug = 'uyghur', } ----------------------------< X S C R I P T >---------------------------------------------------------------- table that holds the various transcription headers and labels used by transcriptions indexed in this table are lower case versions of the header display text without punctuation (if any) TODO: add support for transl transliteration standard parameter; akin to local xscript = { ['standard mandarin'] = { -- lower case version of the header display text ['başlık'] = 'Standard Mandarin', -- text to be displayed if headers are displayed ['t'] = { -- table of labels and their associated data parameter {'Pinyin', 'p'}, -- label is Pinyin, data is taken from |p= parameter {'Bopomofo','bpmf'}, {'Gwoyeu Romatzyh', 'gr'}, {'Wade-Giles', 'w'}, {'Tongyong Pinyin', 'tp'}, {'Yale romanizasyonu|Yale romanizasyonu', 'myr'}, {'MPS2', 'mps'}, {'IPA', 'mi'} } }, ['diğer mandarin'] = { ['başlık'] = 'other Mandarin', ['t'] = { {'Xiao\'erjing', 'xej'}, {'Dungan','zh-dungan'}, {'Sichuanese Pinyin', 'sic'}, } }, ['wu'] = { ['başlık'] = 'Wu', ['t'] = { {'Romanization', 'wuu'}, {'ShanghaineseRomanization', 'lmz'}, {'WenzhouneseRomanisation', 'ouji'}, {'Suzhounese', 'suz'}, } }, ['gan'] = { ['başlık'] = 'Gan', ['t'] = { {'Romanization', 'gan'}, } }, ['xiang'] = { ['başlık'] = 'Xiang', ['t'] = { {'IPA', 'hsn'}, } }, ['hakka'] = { ['başlık'] = 'Hakka', ['t'] = { {'Romanization', 'h'}, {'Pha̍k-fa-sṳ', 'phfs'}, } }, ['yue cantonese'] = { ['başlık'] = 'Yue: Cantonese', ['t'] = { {'Yale romanizasyonu', 'y'}, {'Jyutping', 'j'}, {'Sidney Lau', 'sl'}, {'Canton Romanization', 'gd'}, {'Hong Kong Romanisation', 'hk'}, {'Macau Romanization', 'mo'}, {'IPA', 'ci'}, } }, ['diğer yue'] = { ['başlık'] = 'diğer Yue', ['t'] = { {'Taishanese', 'toi'}, } }, ['güney min'] = { ['başlık'] = 'Southern Min', ['t'] = { {'Hokkien POJ', 'poj'}, {'Tâi-lô', 'tl'}, {'Bbánlám pìngyīm', 'bp'}, {'Teochew Peng\'im', 'teo'}, {'Hainanese Romanization', 'hain'}, {'Leizhou Romanization', 'lizu'}, } }, ['doğu min'] = { ['başlık'] = 'Eastern Min', ['t'] = { {'Fuzhou BUC', 'buc'}, } }, ['pu-xian min'] = { ['başlık'] = 'Pu-Xian Min', ['t'] = { {'Hinghwa BUC', 'hhbuc'}, } }, ['kuzey min'] = { ['başlık'] = 'Northern Min', ['t'] = { {'Jian\'ou Romanized', 'mblmc'}, } }, ['eski mandarin'] = { ['başlık'] = 'Old Mandarin', ['t'] = { {'Romanized \'Phags-pa', 'phagspa-latin'}, } }, ['orta çince'] = { ['başlık'] = 'Middle Chinese', ['t'] = { {'Middle Chinese', 'mc'}, {'Early Middle Chinese', 'emc'}, {'Late Middle Chinese', 'lmc'}, } }, ['eski çince'] = { ['başlık'] = 'Old Chinese', ['t'] = { {'Baxter (1992)', 'oc-b92'}, {'Baxter-Sagart (2014)', 'oc-bs'}, {'Zhengzhang', 'oc-zz'}, } }, --------< non-Chinese transcriptions >-------- ['arapça'] = { ['başlık'] = nil, -- ; doesn't use header ['t'] = { {'Chat', 'chat'}, -- TODO: standardize on lowercase parameter names {'Chat', 'Chat'}, {'ALA-LC', 'ala-lc'}, {'ALA-LC', 'ALA-LC'}, {'ISO', 'iso'}, {'ISO', 'ISO'}, {'DIN', 'din'}, {'DIN', 'DIN'}, } }, ['hokkien'] = { ['başlık'] = nil, -- ; doesn't use header ['t'] = { {'Tâi-lô', 'tl'}, {'Bbánpìng', 'bp'}, {'IPA', 'hokkienipa'}, } }, ['japonca'] = { ['başlık'] = nil, -- ; doesn't use header ['t'] = { {'Romanization', 'romaji'}, {'Revised Hepburn', 'revhep'}, {'Traditional Hepburn', 'tradhep'}, {'Kunrei-shiki', 'kunrei'}, {'Nihon-shiki', 'nihon'}, } }, ['korece'] = { ['başlık'] = nil, -- ; doesn't use header ['t'] = { {'Revised Romanization', 'rr'}, {'McCune-Reischauer', 'mr'}, {'IPA', 'koreanipa'}, } }, ['moğolca'] = { ['başlık'] = nil, -- ; doesn't use header ['t'] = { {'SASM/GNC', 'monr'}, } }, ['rusça'] = { ['başlık'] = nil, -- ; doesn't use header ['t'] = { {'Scientific', 'scientific'}, {'Scientific', 'Scientific'}, {'ISO', 'iso'}, {'ISO', 'ISO'}, {'GOST 71', 'gost'}, {'GOST 71', 'GOST'}, {'BGN/PCGN', 'bgn/pcgn'}, {'BGN/PCGN', 'BGN/PGCN'}, } }, ['tibetçe'] = { ['başlık'] = nil, -- ; doesn't use header ['t'] = { {'Wylie', 'wylie'}, {'THL', 'thdl'}, {'Tibetan Pinyin', 'zwpy'}, {'Lhasa IPA', 'lhasa'}, } }, ['uygurca'] = { ['başlık'] = nil, -- ; doesn't use header ['t'] = { {'Latin Yëziqi', 'uly'}, {'Yengi Yeziⱪ', 'uyy'}, {'SASM/GNC', 'sgs'}, {'Siril Yëziqi', 'usy'}, {'Uyghur IPA', 'uipa'}, } }, } ----------------------------< I B O X _ Z H Z H _ E N U M _ P A R A M S >------------------------------------ local ibox_zhzh_enum_params = { -- 'p', 'hp', 'xej' are special case enum parameters 'c', 't', 's', 'l', 'tp', 'w', 'mi', 'myr', 'psp', 'myale', 'gr', 'bpmf', 'mps', 'zh-dungan', 'sic', 'y', 'j', 'sl', 'gd', 'hk', 'mo', 'ci', 'toi', 'gan', 'wuu', 'ouji', 'suz', 'hsn', 'h', 'phfs', 'poj', 'tl', 'bp', 'buc', 'hhbuc', 'mblmc', 'lmz', 'teo', 'lizu', 'hain', 'mc', 'emc', 'lmc', 'oc-bs', 'oc-zz', 'oc-b92', -- only supported in the first ibox zhzh; why? 'lao', 'khm', 'tet' -- not supported by ibox zh/zh why are they here? } --chinese_header= for the first ibox zh/zh gets filled from |name1= but the second gets its name from |altname= and then the third from |altname3=. All of these parameter names should be replaced with |chinese_header= followed by |chinese_header2= ... like all of the other enumerated parameters local zh_hdr_names = { [2] = {'diğerad', 'Alternatif Çince ad'}, [3] = {'diğerad3', 'İkinci alternatif Çince ad'}, [4] = {'diğerad4', 'Üçüncü alternatif Çince ad'}, [5] = {'diğerad5', 'Dördüncü'}, [6] = {'diğerad6', 'Beşinci alternatif Çince ad'}, }; ----------------------------< E X P O R T E D T A B L E S >------------------------------------------------ return { ibox_zhzh_enum_params = ibox_zhzh_enum_params, keys = keys, label_map = label_map, transl_map = transl_map, xscript = xscript, zh_hdr_names = zh_hdr_names, }