Module:Infobox multi-lingual name/data
MyWikiBiz, Author Your Legacy — Friday December 27, 2024
Jump to navigationJump to searchDocumentation for this module may be created at Module:Infobox multi-lingual name/data/doc
--[[--------------------------< L A B E L _ M A P >------------------------------------------------------------ Table to map |showflags= value to the |labeln= parameter value for {{Infobox}} TODO: convert showflag to a comma delimited list instead of these peculiar codes? ]] local label_map = { ['bp'] = '[[Bbánlám pìngyīm|Bbánlám Pìngyīm]]', ['bpmf'] = '[[Bopomofo]]', ['gan'] = '[[Gan Chinese|Gan]]', ['gd'] = '[[Guangdong Romanization]]', ['h'] = '[[Guangdong Romanization#Hakka|Hakka]]', ['hsn'] = '[[Xiang Chinese|Xiang]]', ['j'] = '[[Jyutping]]', ['lmz'] = '[[Shanghainese]]<br />[[Long-short (romanization)|Romanization]]', ['p'] = '[[Hanyu Pinyin]]', ['phfs'] = '[[Pha̍k-fa-sṳ]]', ['poj'] = '[[Hokkien]] [[Pe̍h-ōe-jī|POJ]]', ['psic'] = '[[Sichuanese Mandarin|Sichuanese]] [[Sichuanese Pinyin|Pinyin]]', ['tl'] = '[[Taiwanese Romanization System|Tâi-lô]]', ['toi'] = '[[Taishanese]]', ['tp'] = '[[Tongyong Pinyin]]', ['w'] = '[[Wade–Giles]]', ['wuu'] = '[[Wu Chinese|Wu]]', ['xej'] = '[[Xiao\'erjing]]', ['y'] = '[[Cantonese]] [[Yale romanization of Cantonese|Yale]]', } --[[--------------------------< T R A N S L _ M A P >---------------------------------------------------------- Table to map |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'] = {['label1'] = 'bp', ['data1'] = 'bp'}, ['bpmf'] = {['label1'] = 'bpmf', ['data1'] = 'bpmf'}, ['gan'] = {['label1'] = 'gan', ['data1'] = 'gan'}, ['gdp'] = {['label1'] = 'gd', ['data1'] = 'gd', ['label2'] = 'p', ['data2'] = 'p'}, ['h'] = {['label1'] = 'h', ['data1'] = 'h'}, ['hsn'] = {['label1'] = 'hsn', ['data1'] = 'hsn'}, ['j'] = {['label1'] = 'j', ['data1'] = 'j'}, ['jp'] = {['label1'] = 'j', ['data1'] = 'j', ['label2'] = 'p', ['data2'] = 'p'}, ['jy'] = {['label1'] = 'j', ['data1'] = 'j', ['label2'] = 'y', ['data2'] = 'y'}, ['jyp'] = {['label1'] = 'j', ['data1'] = 'j', ['label2'] = 'y', ['data2'] = 'y', ['label3'] = 'p', ['data3'] = 'p'}, ['lmz'] = {['label1'] = 'lmz', ['data1'] = 'lmz'}, ['p'] = {['label1'] = 'p', ['data1'] = 'p'}, ['phfs'] = {['label1'] = 'phfs', ['data1'] = 'phfs'}, ['phsn'] = {['label1'] = 'p', ['data1'] = 'p', ['label2'] = 'hsn', ['data2'] = 'hsn'}, ['pj'] = {['label1'] = 'p', ['data1'] = 'p', ['label2'] = 'j', ['data2'] = 'j'}, ['poj'] = {['label1'] = 'poj', ['data1'] = 'poj'}, ['psic'] = {['label1'] = 'p', ['data1'] = 'p', ['label2'] = 'sic', ['data2'] = 'sic'}, ['pwuu'] = {['label1'] = 'p', ['data1'] = 'p', ['label2'] = 'wuu', ['data2'] = 'wuu'}, ['py'] = {['label1'] = 'p', ['data1'] = 'p', ['label2'] = 'y', ['data2'] = 'y'}, ['tl'] = {['label1'] = 'tl', ['data1'] = 'tl'}, ['toip'] = {['label1'] = 'toi', ['data1'] = 'toi', ['label2'] = 'p', ['data2'] = 'p'}, ['tp'] = {['label1'] = 'tp', ['data1'] = 'tp'}, ['wp'] = {['label1'] = 'w', ['data1'] = 'w', ['label2'] = 'p', ['data2'] = 'p'}, ['wuu'] = {['label1'] = 'wuu', ['data1'] = 'wuu'}, ['y'] = {['label1'] = 'y', ['data1'] = 'y'}, ['yj'] = {['label1'] = 'y', ['data1'] = 'y', ['label2'] = 'j', ['data2'] = 'j'}, ['xej'] = { ['label1'] = 'xej', ['data1'] = 'xej', -- ???? what to do about this; template calls {{lang|zh-Arab|{{{xej}}}}} on this value }, ['xejp'] = { ['label1'] = 'xej', ['data1'] = 'xej', -- ???? template does not call {{lang|zh-Arab|{{{xej}}}}} on this value; why? ['label2'] = 'p', ['data2'] = '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 {{transl|lang code|standard code|text|italic=??}} ]] local xscript = { ['standard mandarin'] = { -- lower case version of the header display text ['header'] = '[[Standard Chinese|Standard Mandarin]]', -- text to be displayed if headers are displayed ['t'] = { -- table of labels and their associated data parameter {'[[Hanyu Pinyin]]', 'p'}, -- label is [[Hanyu Pinyin]], data is taken from |p= parameter {'[[Bopomofo]]','bpmf'}, {'[[Spelling in Gwoyeu Romatzyh|Gwoyeu Romatzyh]]', 'gr'}, {'[[Wade–Giles]]', 'w'}, {'[[Tongyong Pinyin]]', 'tp'}, {'[[Yale romanization of Mandarin|Yale Romanization]]', 'myr'}, {'[[Mandarin Phonetic Symbols II|MPS2]]', 'mps'}, {'[[Help:IPA/Mandarin|IPA]]', 'mi'} } }, ['other mandarin'] = { ['header'] = '[[Mandarin Chinese|other Mandarin]]', ['t'] = { {'[[Xiao\'erjing]]', 'xej'}, {'[[Dungan language|Dungan]]','zh-dungan'}, {'[[Sichuanese Mandarin|Sichuanese]] [[Sichuanese Pinyin|Pinyin]]', 'sic'}, } }, ['wu'] = { ['header'] = '[[Wu Chinese|Wu]]', ['t'] = { {'Romanization', 'wuu'}, {'[[Shanghainese]]<br />Romanization', 'lmz'}, {'[[Wenzhounese]]<br />[[Wenzhounese romanisation|Romanisation]]', 'ouji'}, {'[[Suzhounese]]', 'suz'}, } }, ['gan'] = { ['header'] = '[[Gan Chinese|Gan]]', ['t'] = { {'Romanization', 'gan'}, } }, ['xiang'] = { ['header'] = '[[Xiang Chinese|Xiang]]', ['t'] = { {'IPA', 'hsn'}, } }, ['hakka'] = { ['header'] = '[[Hakka Chinese|Hakka]]', ['t'] = { {'[[Guangdong Romanization#Hakka|Romanization]]', 'h'}, {'[[Pha̍k-fa-sṳ]]', 'phfs'}, } }, ['yue cantonese'] = { ['header'] = '[[Cantonese|Yue: Cantonese]]', ['t'] = { {'[[Yale romanization of Cantonese|Yale Romanization]]', 'y'}, {'[[Jyutping]]', 'j'}, {'[[Sidney Lau romanisation|Sidney Lau]]', 'sl'}, {'[[Guangdong Romanization|Canton Romanization]]', 'gd'}, {'[[Hong Kong Government Cantonese Romanisation|Hong Kong Romanisation]]', 'hk'}, {'[[Cantonese#Romanization|Macau Romanization]]', 'mo'}, {'[[Help:IPA/Cantonese|IPA]]', 'ci'}, } }, ['other yue'] = { ['header'] = '[[Yue Chinese|other Yue]]', ['t'] = { {'[[Taishanese]]', 'toi'}, } }, ['southern min'] = { ['header'] = '[[Southern Min]]', ['t'] = { {'[[Hokkien]] [[Pe̍h-ōe-jī|POJ]]', 'poj'}, {'[[Taiwanese Romanization System|Tâi-lô]]', 'tl'}, {'[[Bbánlám pìngyīm|Bbánlám Pìngyīm]]', 'bp'}, {'[[Teochew dialect|Teochew]] [[Guangdong Romanization#Teochew|Peng\'im]]', 'teo'}, {'[[Hainanese]] Romanization', 'hain'}, {'[[Leizhou Min|Leizhou]] Romanization', 'lizu'}, } }, ['eastern min'] = { ['header'] = '[[Eastern Min]]', ['t'] = { {'[[Fuzhou dialect|Fuzhou]] [[Foochow Romanized|BUC]]', 'buc'}, } }, ['pu-xian min'] = { ['header'] = '[[Pu-Xian Min]]', ['t'] = { {'[[Pu-Xian Min|Hinghwa]] [[Hinghwa Romanized|BUC]]', 'hhbuc'}, } }, ['northern min'] = { ['header'] = '[[Northern Min]]', ['t'] = { {'[[Jian\'ou dialect|Jian\'ou]] [[Kienning Colloquial Romanized|Romanized]]', 'mblmc'}, } }, ['old mandarin'] = { ['header'] = '[[Old Mandarin]]', ['t'] = { {'Romanized \'Phags-pa', 'phagspa-latin'}, } }, ['middle chinese'] = { ['header'] = '[[Middle Chinese]]', ['t'] = { {'[[Middle Chinese]]', 'mc'}, {'[[Middle Chinese#Early Middle Chinese|Early Middle Chinese]]', 'emc'}, {'[[Middle Chinese#Late Middle Chinese|Late Middle Chinese]]', 'lmc'}, } }, ['old chinese'] = { ['header'] = '[[Old Chinese]]', ['t'] = { {'[[Reconstructions_of_Old_Chinese#Baxter (1992)|Baxter (1992)]]', 'oc-b92'}, {'[[Reconstructions of Old Chinese#Baxter–Sagart (2014)|Baxter–Sagart (2014)]]', 'oc-bs'}, {'[[Reconstructions of Old Chinese#Zhengzhang (1981–1995)|Zhengzhang]]', 'oc-zz'}, } }, --------< non-Chinese transcriptions >-------- ['arabic'] = { ['header'] = nil, -- {{Infobox Chinese/Arabic}}; doesn't use header ['t'] = { {'[[Arabic chat alphabet|Chat]]', 'chat'}, -- TODO: standardize on lowercase parameter names {'[[Arabic chat alphabet|Chat]]', 'Chat'}, {'[[ALA-LC romanization|ALA-LC]]', 'ala-lc'}, {'[[ALA-LC romanization|ALA-LC]]', 'ALA-LC'}, {'[[ISO 233|ISO]]', 'iso'}, {'[[ISO 233|ISO]]', 'ISO'}, {'[[DIN 31635|DIN]]', 'din'}, {'[[DIN 31635|DIN]]', 'DIN'}, } }, ['hokkien'] = { ['header'] = nil, -- {{Infobox Chinese/Hokkien}}; doesn't use header ['t'] = { {'[[Taiwanese Romanization System|Tâi-lô]]', 'tl'}, {'[[Bbánlám pìngyīm|Bbánpìng]]', 'bp'}, {'[[Help:IPA for Hokkien|IPA]]', 'hokkienipa'}, } }, ['japanese'] = { ['header'] = nil, -- {{Infobox Chinese/Japanese}}; doesn't use header ['t'] = { {'[[Romanization of Japanese|Romanization]]', 'romaji'}, {'[[Hepburn romanization|Revised Hepburn]]', 'revhep'}, {'[[Hepburn romanization|Traditional Hepburn]]', 'tradhep'}, {'[[Kunrei-shiki romanization|Kunrei-shiki]]', 'kunrei'}, {'[[Nihon-shiki romanization|Nihon-shiki]]', 'nihon'}, } }, ['korean'] = { ['header'] = nil, -- {{Infobox Chinese/Korean}}; doesn't use header ['t'] = { {'[[Revised Romanization of Korean|Revised Romanization]]', 'rr'}, {'[[McCune–Reischauer]]', 'mr'}, {'[[Help:IPA/Korean|IPA]]', 'koreanipa'}, } }, ['mongolian'] = { ['header'] = nil, -- {{Infobox Chinese/Mongolian}}; doesn't use header ['t'] = { {'[[SASM/GNC romanization#Mongolian|SASM/GNC]]', 'monr'}, } }, ['russian'] = { ['header'] = nil, -- {{Infobox Chinese/Russian}}; doesn't use header ['t'] = { {'[[Scientific transliteration of Cyrillic|Scientific]]', 'scientific'}, {'[[Scientific transliteration of Cyrillic|Scientific]]', 'Scientific'}, {'[[ISO 9|ISO]]', 'iso'}, {'[[ISO 9|ISO]]', 'ISO'}, {'[[GOST 16876-71|GOST 71]]', 'gost'}, {'[[GOST 16876-71|GOST 71]]', 'GOST'}, {'[[BGN/PCGN romanization of Russian|BGN/PCGN]]', 'bgn/pcgn'}, {'[[BGN/PCGN romanization of Russian|BGN/PCGN]]', 'BGN/PGCN'}, } }, ['tibetan'] = { ['header'] = nil, -- {{Infobox Chinese/Tibetan}}; doesn't use header ['t'] = { {'[[Wylie transliteration|Wylie]]', 'wylie'}, {'[[THL Simplified Phonetic Transcription|THL]]', 'thdl'}, {'[[Tibetan pinyin|Tibetan Pinyin]]', 'zwpy'}, {'[[Standard Tibetan|Lhasa]] [[Help:IPA/Tibetan|IPA]]', 'lhasa'}, } }, ['uyghur'] = { ['header'] = nil, -- {{Infobox Chinese/Uyghur}}; doesn't use header ['t'] = { {'[[Uyghur Latin alphabet|Latin Yëziqi]]', 'uly'}, {'[[Uyghur New Script|Yengi Yeziⱪ]]', 'uyy'}, {'[[SASM/GNC romanization#Uyghur|SASM/GNC]]', 'sgs'}, {'[[Uyghur Cyrillic alphabet|Siril Yëziqi]]', 'usy'}, {'Uyghur [[Wikipedia: IPA|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? } --[[--------------------------< Z H _ H D R _ N A M E S >------------------------------------------------------ this table fixes an oddity in the ibox zh/zh header name parameters. |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] = {'altname', 'Alternative Chinese name'}, [3] = {'altname3', 'Second alternative Chinese name'}, [4] = {'altname4', 'Third alternative Chinese name'}, [5] = {'altname5', 'Fourth alternative Chinese name'}, [6] = {'altname6', 'Fifth alternative Chinese name'}, }; --[[--------------------------< 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, }